Control Tickets

Control Tickets are remediation items in a connected ticket management system, linked to a Control so that the work closing a gap is recorded alongside the Control it affects.

List Control Tickets

List the remediation Tickets linked to a Control. Returns the state Drata holds; it does not call the connected system.

🔒 Requires Controls: List Control Tickets permission.

Securitybearer or oauth2
Request
path Parameters
workspaceId
required
number

The Workspace ID associated to the Account

controlId
required
number
query Parameters
cursor
string

This parameter is used to paginate through results. No value is needed for the first request. If there are additional results, the response will contain a pagination.cursor value that can be used in the subsequent request to retrieve the next page of results

size
number [ 1 .. 500 ]
Default: 50

Number of results to return

sort
string (SortTypeLimitedEnum)

Which field to sort by

Enum: "createdAt" "updatedAt"
sortDir
string (SortDirectionEnum)

The direction to sort the data

Enum: "ASC" "DESC"
includeTotalCount
boolean

Include total count of all matching records in response. Only honored on first page (when cursor is null).

Example: includeTotalCount=false
isDone
boolean

Filter by completion state. Omit to return both open and completed Tickets.

Example: isDone=false
Responses
200

Successful

400

Malformed data and/or validation errors

401

Invalid Authorization

403

You are not allowed to perform this action

404

Not Found

412

You must accept the Drata terms and conditions to use the API

500

Internal server error

get/workspaces/{workspaceId}/controls/{controlId}/tickets
Request samples
Response samples
application/json
{
  • "data": [
    • {
      • "id": 1,
      • "externalTicketId": "ENG-11245",
      • "isDone": false,
      • "createdAt": "2025-07-01T16:45:55.246Z",
      • "updatedAt": "2025-07-01T16:45:55.246Z",
      • "connectionId": 42,
      • "lastSyncedAt": "2025-07-01T16:45:55.246Z",
      • "completionDate": "2025-07-01T16:45:55.246Z"
      }
    ],
  • "pagination": {
    • "cursor": "string",
    • "totalCount": 0
    }
}

Link Control Ticket

Link an existing Ticket to a Control by its URL. The provider is resolved from the URL, so a Connection for that provider must already exist.

🔒 Requires Controls: Link Control Ticket permission.

Securitybearer or oauth2
Request
path Parameters
workspaceId
required
number

The Workspace ID associated to the Account

controlId
required
number
Request Body schema: application/json
required
ticketUrl
required
string

URL of an existing Ticket in a connected ticket management system. The provider is resolved from the URL, so the Connection for that provider must already exist.

Responses
201

Created

400

Malformed data and/or validation errors

401

Invalid Authorization

403

You are not allowed to perform this action

404

Not Found

409

There is a conflict in the business rules with this request

412

You must accept the Drata terms and conditions to use the API

500

Internal server error

post/workspaces/{workspaceId}/controls/{controlId}/tickets
Request samples
application/json
Response samples
application/json
{
  • "id": 1,
  • "externalTicketId": "ENG-11245",
  • "isDone": false,
  • "createdAt": "2025-07-01T16:45:55.246Z",
  • "updatedAt": "2025-07-01T16:45:55.246Z",
  • "connectionId": 42,
  • "lastSyncedAt": "2025-07-01T16:45:55.246Z",
  • "completionDate": "2025-07-01T16:45:55.246Z"
}

Unlink Control Ticket

Remove the association between a Ticket and a Control. The Ticket itself is not changed in the connected system.

🔒 Requires Controls: Unlink Control Ticket permission.

Securitybearer or oauth2
Request
path Parameters
workspaceId
required
number

The Workspace ID associated to the Account

controlId
required
number
ticketId
required
number
Responses
204

No Content

400

Malformed data and/or validation errors

401

Invalid Authorization

403

You are not allowed to perform this action

404

Not Found

412

You must accept the Drata terms and conditions to use the API

500

Internal server error

delete/workspaces/{workspaceId}/controls/{controlId}/tickets/{ticketId}
Request samples
Response samples
application/json
{
  • "name": "string",
  • "statusCode": 0,
  • "message": "string",
  • "code": 0
}