Skip to content
Kumquat
Esc
↑↓navigate↵open⌘Jpreview

Tasks Board Capacity

The capacity board’s opening request: the Ready for Production stack, everything nobody holds, then one column per person holding the work they have across Ready for Production, In Progress, Tech Check and Creative Check — with each column’s load broken down by status.

Columns are the members of the groups asked for (Clerk publicMetadata.groups), by surname, and every one of them gets a column whether they hold anything or not — which is the point of the board: an empty column is a person with capacity. Omitting groups draws every group; someone in no group at all is never a column. points is the effort score summed over everything the column holds, not over the page of cards returned with it.

unassigned is every capacity status with no assignee — work nobody owns, sectioned by status like a person’s column. Ready for Production is included, so a queued task nobody holds is in both stack and unassigned: the same convention the rest of the board follows, where stack is what is queued and a column is who holds it.

Continue any column with GET /tasks/board?cursor=… and the same rules in query: that person in assignee (or assignee with the null operator for unassigned) plus the statuses in status. The cards are one keyset stream per column, so the sections the board draws are cut out of it client-side.

Assigning is PATCH /tasks/{task_id} with assignee_id; this endpoint only reads.

GET/api/v1/tasks/board/capacity
Authorization
AuthorizationBearer token · headerrequired
or
AuthorizationOAuth2 access token · headerrequired
Query parameters
querystring | any
react-querybuilder rule group as a JSON string
sortstring | any
Sort as JSON string: {"field": ..., "direction": 1|-1}
limitinteger
cards per column
min 1 · max 50 · default: 10
searchstring | any
case-insensitive match on name / generated_name; an all-digit term matches the task number
groupsUserGroup[] | any
a column per member of these groups; repeat the param. Omitted means every group
Responses
200Successful Response
successboolean
default: true
dataTasksCapacityBoard | any
Show properties
Any of:
TasksCapacityBoard
stackBoardColumnrequired
One kanban column: its first page, how to continue it, and how many it holds in total.
Show properties
statusTaskStatusrequired
Notion "Status" for a task — the workflow-status source rolled up onto each Creative. Grouped in Notion as To-do / In progress / Complete; see the `*_STATUSES` frozensets below. **Declaration order is the board's column order**, front to back — `/tasks/board/columns` answers in it, and the frontend builds both the kanban's columns and the Status select from it (`STATUS_OPTIONS`). So this reads as the workflow does: a task passes In Progress before either check. Reordering a member here moves a column on the board.
Allowed:backlogready_for_productionin_progresstech_checkcreative_checkdonearchived
tasksTaskCard[]required
Show properties
Array of TaskCard
idstringrequired
namestringrequired
numberinteger | any
Show properties
Any of:
integer
integer
any
any
generated_namestring | any
Show properties
Any of:
string
string
any
any
statusTaskStatus
Notion "Status" for a task — the workflow-status source rolled up onto each Creative. Grouped in Notion as To-do / In progress / Complete; see the `*_STATUSES` frozensets below. **Declaration order is the board's column order**, front to back — `/tasks/board/columns` answers in it, and the frontend builds both the kanban's columns and the Status select from it (`STATUS_OPTIONS`). So this reads as the workflow does: a task passes In Progress before either check. Reordering a member here moves a column on the board.
Allowed:backlogready_for_productionin_progresstech_checkcreative_checkdonearchived
test_statusTestStatus
Allowed:not_testedin_testtestedpaused
task_typeTaskType | any
Show properties
Any of:
TaskType
string
any
any
work_streamWorkStream | any
Show properties
Any of:
WorkStream
string
any
any
product_idstring | any
Show properties
Any of:
string
string
any
any
media_typeMediaType | any
Show properties
Any of:
MediaType
string
any
any
sourceSource | any
Show properties
Any of:
Source
string
any
any
creation_complexityinteger | any
Show properties
Any of:
integer
integer
any
any
execution_complexityinteger | any
Show properties
Any of:
integer
integer
any
any
priorityinteger | any
Show properties
Any of:
integer
integer
any
any
assignee_idstring | any
Show properties
Any of:
string
string
any
any
task_owner_idstring | any
Show properties
Any of:
string
string
any
any
deadline_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
manual_launchboolean
default: false
launched_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
countinteger | any
Show properties
Any of:
integer
integer
any
any
resolutionResolution | any
Show properties
Any of:
Resolution
string
any
any
geoGeo | any
Show properties
Any of:
Geo
string
any
any
languageLanguage | any
Show properties
Any of:
Language
string
any
any
varied_elementsVariedElement[]
subjectstring | any
Show properties
Any of:
string
string
any
any
topicstring | any
Show properties
Any of:
string
string
any
any
primary_anchorPrimaryAnchor | any
Show properties
Any of:
PrimaryAnchor
string
any
any
audiencestring | any
Show properties
Any of:
string
string
any
any
awareness_stageAwarenessStage | any
Show properties
Any of:
AwarenessStage
string
any
any
messaging_angleMessagingAngle | any
Show properties
Any of:
MessagingAngle
string
any
any
hook_triggerHookTrigger | any
Show properties
Any of:
HookTrigger
string
any
any
hook_typeHookType | any
Show properties
Any of:
HookType
string
any
any
ad_formatAdFormat | any
Show properties
Any of:
AdFormat
string
any
any
traffic_flowTrafficFlow | any
Show properties
Any of:
TrafficFlow
string
any
any
started_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
submitted_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
completed_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
comment_countinteger
default: 0
creatives_totalinteger
default: 0
creatives_doneinteger
default: 0
automationTaskCardAutomation
Trimmed `TaskAutomation` for the board feed. `started_at` is here so the board can answer "is this run still alive?" the same way the detail page does — from `AUTOMATION_RUN_TIMEOUT` against the moment the run was enqueued. Without it the board had to time pending cards itself, from the moment it first *saw* them, against a threshold of its own.
Show properties
stateAutomationState | any
Show properties
Any of:
AutomationState
string
any
any
errorstring | any
Show properties
Any of:
string
string
any
any
started_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
created_atstring<date-time>required
updated_atstring<date-time>required
deleted_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
creation_pointsnumber | any
Show properties
Any of:
number
number
any
any
execution_pointsnumber | any
Show properties
Any of:
number
number
any
any
next_cursorstring | any
Show properties
Any of:
string
string
any
any
totalinteger
default: 0
unassignedCapacityLoadrequired
One column of work on the capacity board: its first page, and the load it holds broken down by status. The cards are one keyset stream in the board's sort order, not one per status — the sections the frontend draws are cut out of it client-side. Four streams per column would be four cursors and four times the queries for a column that is normally a dozen cards.
Show properties
tasksTaskCard[]required
Show properties
Array of TaskCard
idstringrequired
namestringrequired
numberinteger | any
Show properties
Any of:
integer
integer
any
any
generated_namestring | any
Show properties
Any of:
string
string
any
any
statusTaskStatus
Notion "Status" for a task — the workflow-status source rolled up onto each Creative. Grouped in Notion as To-do / In progress / Complete; see the `*_STATUSES` frozensets below. **Declaration order is the board's column order**, front to back — `/tasks/board/columns` answers in it, and the frontend builds both the kanban's columns and the Status select from it (`STATUS_OPTIONS`). So this reads as the workflow does: a task passes In Progress before either check. Reordering a member here moves a column on the board.
Allowed:backlogready_for_productionin_progresstech_checkcreative_checkdonearchived
test_statusTestStatus
Allowed:not_testedin_testtestedpaused
task_typeTaskType | any
Show properties
Any of:
TaskType
string
any
any
work_streamWorkStream | any
Show properties
Any of:
WorkStream
string
any
any
product_idstring | any
Show properties
Any of:
string
string
any
any
media_typeMediaType | any
Show properties
Any of:
MediaType
string
any
any
sourceSource | any
Show properties
Any of:
Source
string
any
any
creation_complexityinteger | any
Show properties
Any of:
integer
integer
any
any
execution_complexityinteger | any
Show properties
Any of:
integer
integer
any
any
priorityinteger | any
Show properties
Any of:
integer
integer
any
any
assignee_idstring | any
Show properties
Any of:
string
string
any
any
task_owner_idstring | any
Show properties
Any of:
string
string
any
any
deadline_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
manual_launchboolean
default: false
launched_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
countinteger | any
Show properties
Any of:
integer
integer
any
any
resolutionResolution | any
Show properties
Any of:
Resolution
string
any
any
geoGeo | any
Show properties
Any of:
Geo
string
any
any
languageLanguage | any
Show properties
Any of:
Language
string
any
any
varied_elementsVariedElement[]
subjectstring | any
Show properties
Any of:
string
string
any
any
topicstring | any
Show properties
Any of:
string
string
any
any
primary_anchorPrimaryAnchor | any
Show properties
Any of:
PrimaryAnchor
string
any
any
audiencestring | any
Show properties
Any of:
string
string
any
any
awareness_stageAwarenessStage | any
Show properties
Any of:
AwarenessStage
string
any
any
messaging_angleMessagingAngle | any
Show properties
Any of:
MessagingAngle
string
any
any
hook_triggerHookTrigger | any
Show properties
Any of:
HookTrigger
string
any
any
hook_typeHookType | any
Show properties
Any of:
HookType
string
any
any
ad_formatAdFormat | any
Show properties
Any of:
AdFormat
string
any
any
traffic_flowTrafficFlow | any
Show properties
Any of:
TrafficFlow
string
any
any
started_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
submitted_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
completed_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
comment_countinteger
default: 0
creatives_totalinteger
default: 0
creatives_doneinteger
default: 0
automationTaskCardAutomation
Trimmed `TaskAutomation` for the board feed. `started_at` is here so the board can answer "is this run still alive?" the same way the detail page does — from `AUTOMATION_RUN_TIMEOUT` against the moment the run was enqueued. Without it the board had to time pending cards itself, from the moment it first *saw* them, against a threshold of its own.
Show properties
stateAutomationState | any
Show properties
Any of:
AutomationState
string
any
any
errorstring | any
Show properties
Any of:
string
string
any
any
started_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
created_atstring<date-time>required
updated_atstring<date-time>required
deleted_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
creation_pointsnumber | any
Show properties
Any of:
number
number
any
any
execution_pointsnumber | any
Show properties
Any of:
number
number
any
any
next_cursorstring | any
Show properties
Any of:
string
string
any
any
totalinteger
default: 0
creation_pointsnumber
default: 0
execution_pointsnumber
default: 0
sectionsCapacitySection[]
Show properties
Array of CapacitySection
statusTaskStatusrequired
Notion "Status" for a task — the workflow-status source rolled up onto each Creative. Grouped in Notion as To-do / In progress / Complete; see the `*_STATUSES` frozensets below. **Declaration order is the board's column order**, front to back — `/tasks/board/columns` answers in it, and the frontend builds both the kanban's columns and the Status select from it (`STATUS_OPTIONS`). So this reads as the workflow does: a task passes In Progress before either check. Reordering a member here moves a column on the board.
Allowed:backlogready_for_productionin_progresstech_checkcreative_checkdonearchived
totalintegerrequired
creation_pointsnumberrequired
execution_pointsnumberrequired
columnsCapacityColumn[]required
Show properties
Array of CapacityColumn
tasksTaskCard[]required
Show properties
Array of TaskCard
idstringrequired
namestringrequired
numberinteger | any
Show properties
Any of:
integer
integer
any
any
generated_namestring | any
Show properties
Any of:
string
string
any
any
statusTaskStatus
Notion "Status" for a task — the workflow-status source rolled up onto each Creative. Grouped in Notion as To-do / In progress / Complete; see the `*_STATUSES` frozensets below. **Declaration order is the board's column order**, front to back — `/tasks/board/columns` answers in it, and the frontend builds both the kanban's columns and the Status select from it (`STATUS_OPTIONS`). So this reads as the workflow does: a task passes In Progress before either check. Reordering a member here moves a column on the board.
Allowed:backlogready_for_productionin_progresstech_checkcreative_checkdonearchived
test_statusTestStatus
Allowed:not_testedin_testtestedpaused
task_typeTaskType | any
Show properties
Any of:
TaskType
string
any
any
work_streamWorkStream | any
Show properties
Any of:
WorkStream
string
any
any
product_idstring | any
Show properties
Any of:
string
string
any
any
media_typeMediaType | any
Show properties
Any of:
MediaType
string
any
any
sourceSource | any
Show properties
Any of:
Source
string
any
any
creation_complexityinteger | any
Show properties
Any of:
integer
integer
any
any
execution_complexityinteger | any
Show properties
Any of:
integer
integer
any
any
priorityinteger | any
Show properties
Any of:
integer
integer
any
any
assignee_idstring | any
Show properties
Any of:
string
string
any
any
task_owner_idstring | any
Show properties
Any of:
string
string
any
any
deadline_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
manual_launchboolean
default: false
launched_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
countinteger | any
Show properties
Any of:
integer
integer
any
any
resolutionResolution | any
Show properties
Any of:
Resolution
string
any
any
geoGeo | any
Show properties
Any of:
Geo
string
any
any
languageLanguage | any
Show properties
Any of:
Language
string
any
any
varied_elementsVariedElement[]
subjectstring | any
Show properties
Any of:
string
string
any
any
topicstring | any
Show properties
Any of:
string
string
any
any
primary_anchorPrimaryAnchor | any
Show properties
Any of:
PrimaryAnchor
string
any
any
audiencestring | any
Show properties
Any of:
string
string
any
any
awareness_stageAwarenessStage | any
Show properties
Any of:
AwarenessStage
string
any
any
messaging_angleMessagingAngle | any
Show properties
Any of:
MessagingAngle
string
any
any
hook_triggerHookTrigger | any
Show properties
Any of:
HookTrigger
string
any
any
hook_typeHookType | any
Show properties
Any of:
HookType
string
any
any
ad_formatAdFormat | any
Show properties
Any of:
AdFormat
string
any
any
traffic_flowTrafficFlow | any
Show properties
Any of:
TrafficFlow
string
any
any
started_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
submitted_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
completed_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
comment_countinteger
default: 0
creatives_totalinteger
default: 0
creatives_doneinteger
default: 0
automationTaskCardAutomation
Trimmed `TaskAutomation` for the board feed. `started_at` is here so the board can answer "is this run still alive?" the same way the detail page does — from `AUTOMATION_RUN_TIMEOUT` against the moment the run was enqueued. Without it the board had to time pending cards itself, from the moment it first *saw* them, against a threshold of its own.
Show properties
stateAutomationState | any
Show properties
Any of:
AutomationState
string
any
any
errorstring | any
Show properties
Any of:
string
string
any
any
started_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
created_atstring<date-time>required
updated_atstring<date-time>required
deleted_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
creation_pointsnumber | any
Show properties
Any of:
number
number
any
any
execution_pointsnumber | any
Show properties
Any of:
number
number
any
any
next_cursorstring | any
Show properties
Any of:
string
string
any
any
totalinteger
default: 0
creation_pointsnumber
default: 0
execution_pointsnumber
default: 0
sectionsCapacitySection[]
Show properties
Array of CapacitySection
statusTaskStatusrequired
Notion "Status" for a task — the workflow-status source rolled up onto each Creative. Grouped in Notion as To-do / In progress / Complete; see the `*_STATUSES` frozensets below. **Declaration order is the board's column order**, front to back — `/tasks/board/columns` answers in it, and the frontend builds both the kanban's columns and the Status select from it (`STATUS_OPTIONS`). So this reads as the workflow does: a task passes In Progress before either check. Reordering a member here moves a column on the board.
Allowed:backlogready_for_productionin_progresstech_checkcreative_checkdonearchived
totalintegerrequired
creation_pointsnumberrequired
execution_pointsnumberrequired
user_idstringrequired
includedTaskIncludes
Related entities referenced by the payload's tasks, keyed by id — same contract as `CreativeIncludes`. `creatives` covers the lineage refs (`origin_creative_id`, `source_creative_ids`), so the detail page renders them without a request per id. It is empty for the board feed, whose `TaskCard` is trimmed of those fields. The UI edits lineage as draft state, so ids added before a save are the client's to label — it already holds the picked creative.
Show properties
usersobject
productsobject
creativesobject
task_creativesCreativeItem[]
Show properties
Array of CreativeItem
idstringrequired
namestringrequired
variation_numinteger | any
Show properties
Any of:
integer
integer
any
any
in_work_atstring<date-time> | any
Show properties
Any of:
string<date-time>
string<date-time>
any
any
assignee_idstring | any
Show properties
Any of:
string
string
any
any
task_owner_idstring | any
Show properties
Any of:
string
string
any
any
any
any
messagestring | any
Show properties
Any of:
string
string
any
any
errorsstring[] | any
Show properties
Any of:
string[]
Array of string
string
any
any
422Validation Error
detailValidationError[]
Show properties
Array of ValidationError
locstring | integer[]required
Show properties
Array of string | integer
Any of:
string
string
integer
integer
msgstringrequired
typestringrequired
inputany
ctxobject
Request
curl -X GET "/api/v1/tasks/board/capacity" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "success": true,
  "data": {
    "stack": {
      "status": "backlog",
      "tasks": [
        {
          "id": "string",
          "name": "string",
          "number": 0,
          "generated_name": "string",
          "status": "backlog",
          "test_status": "not_tested",
          "task_type": "NEW",
          "work_stream": "Performance",
          "product_id": "string",
          "media_type": "VID",
          "source": "META",
          "creation_complexity": 0,
          "execution_complexity": 0,
          "priority": 0,
          "assignee_id": "string",
          "task_owner_id": "string",
          "deadline_at": "2019-08-24T14:15:22Z",
          "manual_launch": false,
          "launched_at": "2019-08-24T14:15:22Z",
          "count": 0,
          "resolution": "1080x1920",
          "geo": "US",
          "language": "EN",
          "varied_elements": [
            "hook"
          ],
          "subject": "string",
          "topic": "string",
          "primary_anchor": "pain_led",
          "audience": "string",
          "awareness_stage": "unaware",
          "messaging_angle": "pattern_interrupt",
          "hook_trigger": "pattern_interrupt",
          "hook_type": "pattern_interrupt",
          "ad_format": "animation",
          "traffic_flow": "W2A",
          "started_at": "2019-08-24T14:15:22Z",
          "submitted_at": "2019-08-24T14:15:22Z",
          "completed_at": "2019-08-24T14:15:22Z",
          "comment_count": 0,
          "creatives_total": 0,
          "creatives_done": 0,
          "automation": {
            "state": "pending",
            "error": "string",
            "started_at": "2019-08-24T14:15:22Z"
          },
          "created_at": "2019-08-24T14:15:22Z",
          "updated_at": "2019-08-24T14:15:22Z",
          "deleted_at": "2019-08-24T14:15:22Z",
          "creation_points": 0,
          "execution_points": 0
        }
      ],
      "next_cursor": "string",
      "total": 0
    },
    "unassigned": {
      "tasks": [
        {
          "id": "string",
          "name": "string",
          "number": 0,
          "generated_name": "string",
          "status": "backlog",
          "test_status": "not_tested",
          "task_type": "NEW",
          "work_stream": "Performance",
          "product_id": "string",
          "media_type": "VID",
          "source": "META",
          "creation_complexity": 0,
          "execution_complexity": 0,
          "priority": 0,
          "assignee_id": "string",
          "task_owner_id": "string",
          "deadline_at": "2019-08-24T14:15:22Z",
          "manual_launch": false,
          "launched_at": "2019-08-24T14:15:22Z",
          "count": 0,
          "resolution": "1080x1920",
          "geo": "US",
          "language": "EN",
          "varied_elements": [
            "hook"
          ],
          "subject": "string",
          "topic": "string",
          "primary_anchor": "pain_led",
          "audience": "string",
          "awareness_stage": "unaware",
          "messaging_angle": "pattern_interrupt",
          "hook_trigger": "pattern_interrupt",
          "hook_type": "pattern_interrupt",
          "ad_format": "animation",
          "traffic_flow": "W2A",
          "started_at": "2019-08-24T14:15:22Z",
          "submitted_at": "2019-08-24T14:15:22Z",
          "completed_at": "2019-08-24T14:15:22Z",
          "comment_count": 0,
          "creatives_total": 0,
          "creatives_done": 0,
          "automation": {
            "state": "pending",
            "error": "string",
            "started_at": "2019-08-24T14:15:22Z"
          },
          "created_at": "2019-08-24T14:15:22Z",
          "updated_at": "2019-08-24T14:15:22Z",
          "deleted_at": "2019-08-24T14:15:22Z",
          "creation_points": 0,
          "execution_points": 0
        }
      ],
      "next_cursor": "string",
      "total": 0,
      "creation_points": 0,
      "execution_points": 0,
      "sections": [
        {
          "status": "backlog",
          "total": 0,
          "creation_points": 0,
          "execution_points": 0
        }
      ]
    },
    "columns": [
      {
        "tasks": [
          {
            "id": "string",
            "name": "string",
            "number": 0,
            "generated_name": "string",
            "status": "backlog",
            "test_status": "not_tested",
            "task_type": "NEW",
            "work_stream": "Performance",
            "product_id": "string",
            "media_type": "VID",
            "source": "META",
            "creation_complexity": 0,
            "execution_complexity": 0,
            "priority": 0,
            "assignee_id": "string",
            "task_owner_id": "string",
            "deadline_at": "2019-08-24T14:15:22Z",
            "manual_launch": false,
            "launched_at": "2019-08-24T14:15:22Z",
            "count": 0,
            "resolution": "1080x1920",
            "geo": "US",
            "language": "EN",
            "varied_elements": [
              "hook"
            ],
            "subject": "string",
            "topic": "string",
            "primary_anchor": "pain_led",
            "audience": "string",
            "awareness_stage": "unaware",
            "messaging_angle": "pattern_interrupt",
            "hook_trigger": "pattern_interrupt",
            "hook_type": "pattern_interrupt",
            "ad_format": "animation",
            "traffic_flow": "W2A",
            "started_at": "2019-08-24T14:15:22Z",
            "submitted_at": "2019-08-24T14:15:22Z",
            "completed_at": "2019-08-24T14:15:22Z",
            "comment_count": 0,
            "creatives_total": 0,
            "creatives_done": 0,
            "automation": {
              "state": "pending",
              "error": "string",
              "started_at": "2019-08-24T14:15:22Z"
            },
            "created_at": "2019-08-24T14:15:22Z",
            "updated_at": "2019-08-24T14:15:22Z",
            "deleted_at": "2019-08-24T14:15:22Z",
            "creation_points": 0,
            "execution_points": 0
          }
        ],
        "next_cursor": "string",
        "total": 0,
        "creation_points": 0,
        "execution_points": 0,
        "sections": [
          {
            "status": "backlog",
            "total": 0,
            "creation_points": 0,
            "execution_points": 0
          }
        ],
        "user_id": "string"
      }
    ],
    "included": {
      "users": {
        "property1": {
          "id": "string",
          "name": "string",
          "email": "string",
          "image_url": "string"
        },
        "property2": {
          "id": "string",
          "name": "string",
          "email": "string",
          "image_url": "string"
        }
      },
      "products": {
        "property1": {
          "id": "string",
          "name": "string"
        },
        "property2": {
          "id": "string",
          "name": "string"
        }
      },
      "creatives": {
        "property1": {
          "id": "string",
          "name": "string",
          "variation_num": 0,
          "in_work_at": "2019-08-24T14:15:22Z",
          "assignee_id": "string",
          "task_owner_id": "string"
        },
        "property2": {
          "id": "string",
          "name": "string",
          "variation_num": 0,
          "in_work_at": "2019-08-24T14:15:22Z",
          "assignee_id": "string",
          "task_owner_id": "string"
        }
      },
      "task_creatives": [
        {
          "id": "string",
          "name": "string",
          "variation_num": 0,
          "in_work_at": "2019-08-24T14:15:22Z",
          "assignee_id": "string",
          "task_owner_id": "string"
        }
      ]
    }
  },
  "message": "string",
  "errors": [
    "string"
  ]
}