Restore Task
Undo a soft delete while the task is still inside the retention window, cascading back to its creatives. The task returns to the status it held when deleted. Open to any writer.
409 when a creative from this task had its name taken while the task sat deleted — creative names are unique on live records, so deleting frees them.
POST
/api/v1/tasks/{task_id}/restoreAuthorization
AuthorizationBearer token · headerrequiredor
AuthorizationOAuth2 access token · headerrequiredPath parameters
task_idstringrequiredResponses
200Successful Response
successbooleandefault: true
dataTask | anyShow propertiesHide properties
Any of:
Task
idstringschema_versionintegerdefault: 3
namestringrequirednumberinteger | anyShow propertiesHide properties
Any of:
integer
integerany
anygenerated_namestring | anyShow propertiesHide properties
Any of:
string
stringany
anyplanned_creative_namesstring[]planned_creatives_donestring[]task_typeTaskType | anyShow propertiesHide properties
Any of:
TaskType
stringany
anywork_streamWorkStream | anyShow propertiesHide properties
Any of:
WorkStream
stringany
anyproduct_idstring | anyShow propertiesHide properties
Any of:
string
stringany
anymedia_typeMediaType | anyShow propertiesHide properties
Any of:
MediaType
stringany
anycreation_complexityinteger | anyShow propertiesHide properties
Any of:
integer
integerany
anyexecution_complexityinteger | anyShow propertiesHide properties
Any of:
integer
integerany
anypriorityinteger | anyShow propertiesHide properties
Any of:
integer
integerany
anystatusTaskStatusNotion "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_checkdonearchivedtest_statusTestStatusAllowed:
not_testedin_testtestedpausedcountinteger | anyShow propertiesHide properties
Any of:
integer
integerany
anyresolutionResolution | anyShow propertiesHide properties
Any of:
Resolution
stringany
anysourceSourceAllowed:
METATIKAPLGGLSNASKNTABUNTgeoGeo | anyShow propertiesHide properties
Any of:
Geo
stringany
anylanguageLanguage | anyShow propertiesHide properties
Any of:
Language
stringany
anyvaried_elementsVariedElement[]var_descriptionstring | anyShow propertiesHide properties
Any of:
string
stringany
anyrollupsTaskRollupsDenormalized rollup/formula caches (refreshed by the sync/rollup job).
Show propertiesHide properties
derived_task_countinteger | anyShow propertiesHide properties
Any of:
integer
integerany
anycreation_pointsnumber | anyShow propertiesHide properties
Any of:
number
numberany
anyexecution_pointsnumber | anyShow propertiesHide properties
Any of:
number
numberany
anyreturn_countinteger | anyShow propertiesHide properties
Any of:
integer
integerany
anyautomationTaskAutomationOutcome of the last async workflow handler run
Show propertiesHide properties
stateAutomationState | anyShow propertiesHide properties
Any of:
AutomationState
stringany
anyerrorstring | anyShow propertiesHide properties
Any of:
string
stringany
anyran_atstring<date-time> | anyShow propertiesHide properties
Any of:
string<date-time>
string<date-time>any
anystarted_atstring<date-time> | anyShow propertiesHide properties
Any of:
string<date-time>
string<date-time>any
anycomment_countintegerdefault: 0
assignee_idstring | anyShow propertiesHide properties
Any of:
string
stringany
anytask_owner_idstring | anyShow propertiesHide properties
Any of:
string
stringany
anydeadline_atstring<date-time> | anyShow propertiesHide properties
Any of:
string<date-time>
string<date-time>any
anystarted_atstring<date-time> | anyShow propertiesHide properties
Any of:
string<date-time>
string<date-time>any
anysubmitted_atstring<date-time> | anyShow propertiesHide properties
Any of:
string<date-time>
string<date-time>any
anycompleted_atstring<date-time> | anyShow propertiesHide properties
Any of:
string<date-time>
string<date-time>any
anytime_in_progress_secondsnumberdefault: 0
time_on_check_secondsnumberdefault: 0
status_entered_atstring<date-time> | anyShow propertiesHide properties
Any of:
string<date-time>
string<date-time>any
anylaunched_atstring<date-time> | anyShow propertiesHide properties
Any of:
string<date-time>
string<date-time>any
anyad_idstring | anyShow propertiesHide properties
Any of:
string
stringany
anyorigin_creative_idstring | anyShow propertiesHide properties
Any of:
string
stringany
anysource_creative_idsstring[]is_legacybooleandefault: false
manual_launchbooleandefault: false
legacy_remap_liststring | anyShow propertiesHide properties
Any of:
string
stringany
anydrive_urlstring | anyShow propertiesHide properties
Any of:
string
stringany
anydrive_folder_idstring | anyShow propertiesHide properties
Any of:
string
stringany
anyhypothesisstring | anyShow propertiesHide properties
Any of:
string
stringany
anysubjectstring | anyShow propertiesHide properties
Any of:
string
stringany
anytopicstring | anyShow propertiesHide properties
Any of:
string
stringany
anysubtopicsstring[]primary_anchorPrimaryAnchor | anyShow propertiesHide properties
Any of:
PrimaryAnchor
stringany
anyaudiencestring | anyShow propertiesHide properties
Any of:
string
stringany
anyawareness_stageAwarenessStage | anyShow propertiesHide properties
Any of:
AwarenessStage
stringany
anymessaging_angleMessagingAngle | anyShow propertiesHide properties
Any of:
MessagingAngle
stringany
anyhook_triggerHookTrigger | anyShow propertiesHide properties
Any of:
HookTrigger
stringany
anyhook_typeHookType | anyShow propertiesHide properties
Any of:
HookType
stringany
anyad_formatAdFormat | anyShow propertiesHide properties
Any of:
AdFormat
stringany
anynotesstring | anyShow propertiesHide properties
Any of:
string
stringany
anytraffic_flowTrafficFlow | anyShow propertiesHide properties
Any of:
TrafficFlow
stringany
anylandinganyShow propertiesHide properties
Any of:
any
anyany
anyfunnelanyShow propertiesHide properties
Any of:
any
anyany
anycppanyShow propertiesHide properties
Any of:
any
anyany
anyvariantsTaskVariant[]Show propertiesHide properties
Array of
TaskVariantkeystringrequiredvariation_numintegerrequiredmin 1
primary_anchorPrimaryAnchor | anyShow propertiesHide properties
Any of:
PrimaryAnchor
stringany
anyaudiencestring | anyShow propertiesHide properties
Any of:
string
stringany
anyawareness_stageAwarenessStage | anyShow propertiesHide properties
Any of:
AwarenessStage
stringany
anymessaging_angleMessagingAngle | anyShow propertiesHide properties
Any of:
MessagingAngle
stringany
anyhook_triggerHookTrigger | anyShow propertiesHide properties
Any of:
HookTrigger
stringany
anyhook_typeHookType | anyShow propertiesHide properties
Any of:
HookType
stringany
anyad_formatAdFormat | anyShow propertiesHide properties
Any of:
AdFormat
stringany
anynotesstring | anyShow propertiesHide properties
Any of:
string
stringany
anytag_slugsstring[]descriptionstring | anyShow propertiesHide properties
Any of:
string
stringany
anycompletedbooleandefault: false
created_atstring<date-time>updated_atstring<date-time>deleted_atstring<date-time> | anyShow propertiesHide properties
Any of:
string<date-time>
string<date-time>any
anyany
anymessagestring | anyShow propertiesHide properties
Any of:
string
stringany
anyerrorsstring[] | anyShow propertiesHide properties
Any of:
string[]
Array of
stringstringany
any422Validation Error
detailValidationError[]Show propertiesHide properties
Array of
ValidationErrorlocstring | integer[]requiredShow propertiesHide properties
Array of
string | integerAny of:
string
stringinteger
integermsgstringrequiredtypestringrequiredinputanyctxobjectRequest
curl -X POST "/api/v1/tasks/string/restore" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("/api/v1/tasks/string/restore", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});import requests
response = requests.post(
"/api/v1/tasks/string/restore",
headers={
"Authorization": "Bearer YOUR_TOKEN"
},
)Response
{
"success": true,
"data": {
"id": "string",
"schema_version": 3,
"name": "string",
"number": 0,
"generated_name": "string",
"planned_creative_names": [
"string"
],
"planned_creatives_done": [
"string"
],
"task_type": "NEW",
"work_stream": "Performance",
"product_id": "string",
"media_type": "VID",
"creation_complexity": 1,
"execution_complexity": 1,
"priority": 1,
"status": "backlog",
"test_status": "not_tested",
"count": 0,
"resolution": "1080x1920",
"source": "META",
"geo": "US",
"language": "EN",
"varied_elements": [
"hook"
],
"var_description": "string",
"rollups": {
"derived_task_count": 0,
"creation_points": 0,
"execution_points": 0,
"return_count": 0
},
"automation": {
"state": "pending",
"error": "string",
"ran_at": "2019-08-24T14:15:22Z",
"started_at": "2019-08-24T14:15:22Z"
},
"comment_count": 0,
"assignee_id": "string",
"task_owner_id": "string",
"deadline_at": "2019-08-24T14:15:22Z",
"started_at": "2019-08-24T14:15:22Z",
"submitted_at": "2019-08-24T14:15:22Z",
"completed_at": "2019-08-24T14:15:22Z",
"time_in_progress_seconds": 0,
"time_on_check_seconds": 0,
"status_entered_at": "2019-08-24T14:15:22Z",
"launched_at": "2019-08-24T14:15:22Z",
"ad_id": "string",
"origin_creative_id": "string",
"source_creative_ids": [
"string"
],
"is_legacy": false,
"manual_launch": false,
"legacy_remap_list": "string",
"drive_url": "string",
"drive_folder_id": "string",
"hypothesis": "string",
"subject": "string",
"topic": "string",
"subtopics": [
"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",
"notes": "string",
"traffic_flow": "W2A",
"landing": {},
"funnel": {},
"cpp": {},
"variants": [
{
"key": "string",
"variation_num": 1,
"primary_anchor": "pain_led",
"audience": "string",
"awareness_stage": "unaware",
"messaging_angle": "pattern_interrupt",
"hook_trigger": "pattern_interrupt",
"hook_type": "pattern_interrupt",
"ad_format": "animation",
"notes": "string",
"tag_slugs": [
"string"
],
"description": "string",
"completed": false
}
],
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z",
"deleted_at": "2019-08-24T14:15:22Z"
},
"message": "string",
"errors": [
"string"
]
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}