Find Tasks matching the provided filters.
🔒 Requires Tasks: List and Get Tasks permission.
Successful
Malformed data and/or validation errors
Invalid Authorization
You are not allowed to perform this action
Not Found
You must accept the Drata terms and conditions to use the API
Internal server error
{- "data": [
- {
- "id": 123,
- "title": "Review SOC 2 controls",
- "description": "Quarterly review of all SOC 2 Type II controls",
- "status": "INCOMPLETE",
- "taskType": "GENERAL",
- "dueDate": "2020-07-06",
- "completedAt": "2025-07-01T16:45:55.246Z",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z",
- "assigneeId": 456,
- "createdById": 789,
- "isRecurring": false,
- "assignee": {
- "id": 1,
- "firstName": "Sally",
- "lastName": "Smith",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z"
}, - "createdBy": {
- "id": 1,
- "firstName": "Sally",
- "lastName": "Smith",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z"
}, - "controls": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "risks": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "policies": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "schedule": {
- "type": "monthly",
- "interval": 1,
- "start": "2020-07-06",
- "end": "2020-07-06",
- "dayOfMonth": 15,
- "weekNumber": "SECOND_WEEK",
- "weekday": "FR",
- "daysOfWeek": [
- "MO",
- "TH"
], - "month": 3,
- "day": 20
}
}
], - "pagination": {
- "cursor": "string",
- "totalCount": 0
}
}Create a new Task.
Pass configurationId with dueDate to create the Task for one occurrence of a recurring Task, giving it an ID the other Task endpoints accept. Upcoming Tasks returns both values on any row whose sourceId is null.
Every other property comes from the recurring Task, so none may be sent with configurationId, and the occurrence is removed from the recurrence permanently.
🔒 Requires Tasks: Create Task permission.
| configurationId | number Create this Task from an occurrence of a recurring Task, as returned by This is a short-lived handle rather than a durable identifier: it is replaced whenever the recurring Task is edited, so list Upcoming Tasks and create from the value in that response rather than caching it. |
| title | string <= 255 characters Task title. Required unless |
| description | string <= 768 characters Task description |
| dueDate required | string <date> Due date. With |
| assigneeId | number ID of the User to assign the task to |
| taskType | string Default: "GENERAL" Task type |
| controlIds | Array of numbers IDs of Controls to link to this Task. Can be combined with |
| riskIds | Array of numbers IDs of Risks to link to this Task. Can be combined with |
| policyIds | Array of numbers IDs of Policies to link to this Task. Can be combined with |
Created
Malformed data and/or validation errors
Invalid Authorization
You are not allowed to perform this action
Not Found
There is a conflict in the business rules with this request
You must accept the Drata terms and conditions to use the API
Internal server error
{- "configurationId": 42,
- "title": "Review access controls",
- "description": "Quarterly review of access control policies",
- "dueDate": "2020-07-06",
- "assigneeId": 456,
- "taskType": "GENERAL",
- "controlIds": [
- 101,
- 102
], - "riskIds": [
- 201
], - "policyIds": [
- 301,
- 302
]
}{- "id": 123,
- "title": "Review SOC 2 controls",
- "description": "Quarterly review of all SOC 2 Type II controls",
- "status": "INCOMPLETE",
- "taskType": "GENERAL",
- "dueDate": "2020-07-06",
- "completedAt": "2025-07-01T16:45:55.246Z",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z",
- "assigneeId": 456,
- "createdById": 789,
- "isRecurring": false,
- "assignee": {
- "id": 1,
- "firstName": "Sally",
- "lastName": "Smith",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z"
}, - "createdBy": {
- "id": 1,
- "firstName": "Sally",
- "lastName": "Smith",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z"
}, - "controls": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "risks": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "policies": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "schedule": {
- "type": "monthly",
- "interval": 1,
- "start": "2020-07-06",
- "end": "2020-07-06",
- "dayOfMonth": 15,
- "weekNumber": "SECOND_WEEK",
- "weekday": "FR",
- "daysOfWeek": [
- "MO",
- "TH"
], - "month": 3,
- "day": 20
}
}Get details for a specific Task.
🔒 Requires Tasks: List and Get Tasks permission.
Successful
Malformed data and/or validation errors
Invalid Authorization
You are not allowed to perform this action
Not Found
You must accept the Drata terms and conditions to use the API
Internal server error
{- "id": 123,
- "title": "Review SOC 2 controls",
- "description": "Quarterly review of all SOC 2 Type II controls",
- "status": "INCOMPLETE",
- "taskType": "GENERAL",
- "dueDate": "2020-07-06",
- "completedAt": "2025-07-01T16:45:55.246Z",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z",
- "assigneeId": 456,
- "createdById": 789,
- "isRecurring": false,
- "assignee": {
- "id": 1,
- "firstName": "Sally",
- "lastName": "Smith",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z"
}, - "createdBy": {
- "id": 1,
- "firstName": "Sally",
- "lastName": "Smith",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z"
}, - "controls": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "risks": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "policies": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "schedule": {
- "type": "monthly",
- "interval": 1,
- "start": "2020-07-06",
- "end": "2020-07-06",
- "dayOfMonth": 15,
- "weekNumber": "SECOND_WEEK",
- "weekday": "FR",
- "daysOfWeek": [
- "MO",
- "TH"
], - "month": 3,
- "day": 20
}
}Update an existing Task.
🔒 Requires Tasks: Update Task permission.
| title | string <= 255 characters Task title |
| description | string or null <= 768 characters Task description. Set to null to clear. |
| dueDate | string <date> Due date |
| assigneeId | number or null ID of the User who should complete the task. Set to null to unassign. |
| controlIds | Array of numbers IDs of Controls to link to this task. Associates the task with compliance controls, making it visible in control detail views and filterable by control. Replaces all existing control links. Pass |
| riskIds | Array of numbers IDs of Risks to link. Replaces all existing links. Pass |
| policyIds | Array of numbers IDs of Policies to link. Replaces all existing links. Pass |
Successful
No Content
Malformed data and/or validation errors
Invalid Authorization
You are not allowed to perform this action
Not Found
You must accept the Drata terms and conditions to use the API
Internal server error
{- "title": "string",
- "description": "string",
- "dueDate": "2020-07-06",
- "assigneeId": 0,
- "controlIds": [
- 0
], - "riskIds": [
- 0
], - "policyIds": [
- 0
]
}{- "id": 123,
- "title": "Review SOC 2 controls",
- "description": "Quarterly review of all SOC 2 Type II controls",
- "status": "INCOMPLETE",
- "taskType": "GENERAL",
- "dueDate": "2020-07-06",
- "completedAt": "2025-07-01T16:45:55.246Z",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z",
- "assigneeId": 456,
- "createdById": 789,
- "isRecurring": false,
- "assignee": {
- "id": 1,
- "firstName": "Sally",
- "lastName": "Smith",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z"
}, - "createdBy": {
- "id": 1,
- "firstName": "Sally",
- "lastName": "Smith",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z"
}, - "controls": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "risks": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "policies": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "schedule": {
- "type": "monthly",
- "interval": 1,
- "start": "2020-07-06",
- "end": "2020-07-06",
- "dayOfMonth": 15,
- "weekNumber": "SECOND_WEEK",
- "weekday": "FR",
- "daysOfWeek": [
- "MO",
- "TH"
], - "month": 3,
- "day": 20
}
}Perform an action on a Task: complete or uncomplete.
🔒 Requires Tasks: Update Task permission.
Successful
Malformed data and/or validation errors
Invalid Authorization
You are not allowed to perform this action
Not Found
You must accept the Drata terms and conditions to use the API
Internal server error
{- "action": "complete"
}{- "id": 123,
- "title": "Review SOC 2 controls",
- "description": "Quarterly review of all SOC 2 Type II controls",
- "status": "INCOMPLETE",
- "taskType": "GENERAL",
- "dueDate": "2020-07-06",
- "completedAt": "2025-07-01T16:45:55.246Z",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z",
- "assigneeId": 456,
- "createdById": 789,
- "isRecurring": false,
- "assignee": {
- "id": 1,
- "firstName": "Sally",
- "lastName": "Smith",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z"
}, - "createdBy": {
- "id": 1,
- "firstName": "Sally",
- "lastName": "Smith",
- "createdAt": "2025-07-01T16:45:55.246Z",
- "updatedAt": "2025-07-01T16:45:55.246Z"
}, - "controls": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "risks": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "policies": {
- "data": [
- [ ]
], - "totalCount": 0
}, - "schedule": {
- "type": "monthly",
- "interval": 1,
- "start": "2020-07-06",
- "end": "2020-07-06",
- "dayOfMonth": 15,
- "weekNumber": "SECOND_WEEK",
- "weekday": "FR",
- "daysOfWeek": [
- "MO",
- "TH"
], - "month": 3,
- "day": 20
}
}Find Upcoming Tasks for a workspace. Returns Drata-assigned tasks sourced from policy renewals, vendor reviews, external evidence due dates, library document renewals, control approvals, and custom tasks.
Occurrences of recurring Tasks are included. Those with no Task created for them yet have a null sourceId and a configurationId. Create the Task by sending that configurationId and the row's dueDate to POST /workspaces/{workspaceId}/tasks. The dueDateTo filter bounds how far ahead occurrences are projected; without it they reach six months out.
Note: Vendor and policy renewal tasks are account-level and will appear identically across all workspaces for a given account.
🔒 Requires Tasks: List and Get Tasks permission.
| 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 | ||||||||
| size | number [ 1 .. 500 ] Default: 50 Number of results to return | ||||||||
| sort | string (UpcomingTaskSortEnum) Which field to sort by | ||||||||
| sortDir | string (SortDirectionEnum) The direction to sort the data | ||||||||
| includeTotalCount | boolean Include total count of all matching records in response. Only honored on the first page (when cursor is null) and when Example: includeTotalCount=false | ||||||||
| status | string (TaskStatus) Filter by Task status
| ||||||||
| taskType | string (TaskTypeEnum) Filter by Task type | ||||||||
| dueDateFrom | string <date> Filter Tasks with due date on or after this value (inclusive) Example: dueDateFrom=2020-07-06 | ||||||||
| dueDateTo | string <date> Filter Tasks with due date on or before this value (inclusive) Example: dueDateTo=2020-07-06 |
Successful
Malformed data and/or validation errors
Invalid Authorization
You are not allowed to perform this action
Not Found
You must accept the Drata terms and conditions to use the API
Internal server error
{- "data": [
- {
- "sourceId": 123,
- "name": "Acme Corp Vendor Review",
- "taskType": "VENDOR",
- "dueDate": "2020-07-06",
- "status": "INCOMPLETE",
- "completedAt": "2025-07-01T16:45:55.246Z",
- "assigneeIds": [
- 456,
- 789
], - "configurationId": 42
}
], - "pagination": {
- "cursor": "string",
- "totalCount": 0
}
}