Skip to content

Create tasks

POST /api/v1/tasks: request fields and declared response contract.

POST/api/v1/tasks

Authorization
Permissiontask.create
Workspace scoperequired
Scope targetworkspace

Request body

Request body fields
FieldTypeRequiredNullableDefault
titlestringrequirednon-null—
workflowInstanceIdstringoptionalnullable—
targetRefobjectoptionalnullable—
targetRef.kindstringrequirednon-null—
targetRef.idstringrequirednon-null—
dueAtstringoptionalnullable—
expiresAtstringoptionalnullable—
responsiblePrincipalobjectoptionalnullable—
responsiblePrincipal.kindstringrequirednon-null—
responsiblePrincipal.idstringrequirednon-null—
descriptionstringoptionalnullable—
taskType"pipeline_update" | "qa_verification" | "reengagement" | "general" | "recurring_reminder" | "email_review" | "meeting_notes" | "follow_up" | "follow_up_reminder" | "campaign_monitor" | "workflow_review" | "approval" | "schedule-meeting"requirednon-null—
priority"high" | "normal" | "low"optionalnon-null"normal"
entityTypestringoptionalnullable—
entityIdstringoptionalnullable—
emailDraftIdstringoptionalnullable—
suggestedActionobjectoptionalnullable—
routingRuleIdstringoptionalnullable—
sourceType"ai" | "system" | "user"optionalnullable—
sourceEntitystringoptionalnullable—
sourceIdstringoptionalnullable—
contextobjectoptionalnullable—
context.typestringrequirednon-null—
context.instanceIdstringoptionalnullable—
context.blockIdstringoptionalnullable—
context.templateIdstringoptionalnullable—
context.credentialobjectoptionalnullable—
context.credential.attemptIdstringoptionalnon-null—
context.credential.pauseGenerationstringoptionalnon-null—
context.credential.grantIdstringrequirednon-null—
context.credential.grantRevisionintegerrequirednon-null—
context.credential.requirementKeystringrequirednon-null—
context.credential.capabilitystringrequirednon-null—
context.credential.purposestringrequirednon-null—
status"idea" | "open" | "planned" | "in_progress" | "review" | "blocked" | "completed" | "cancelled" | "pending" | "approved" | "dismissed" | "expired"optionalnon-null—

Response

201

Response fields
FieldTypeRequiredNullableDefault
dataobjectrequirednon-null—
data.companyIdstringrequirednon-null—
data.workspaceIdunknownoptionalnon-null—
data.titlestringrequirednon-null—
data.workflowInstanceIdunknownoptionalnon-null—
data.targetRefunknownoptionalnon-null—
data.createdAtstringrequirednon-null—
data.updatedAtstringrequirednon-null—
data.dueAtunknownoptionalnon-null—
data.expiresAtunknownoptionalnon-null—
data.taskIdstringrequirednon-null—
data.fieldsunknownoptionalnon-null—
data.descriptionunknownoptionalnon-null—
data.taskType"pipeline_update" | "qa_verification" | "reengagement" | "general" | "recurring_reminder" | "email_review" | "meeting_notes" | "follow_up" | "follow_up_reminder" | "campaign_monitor" | "workflow_review" | "approval" | "schedule-meeting"requirednon-null—
data.status"idea" | "open" | "planned" | "in_progress" | "review" | "blocked" | "completed" | "cancelled" | "pending" | "approved" | "dismissed" | "expired"requirednon-null—
data.priority"high" | "normal" | "low"requirednon-null"normal"
data.lifecycleDefinitionIdunknownoptionalnon-null—
data.lifecycleRevisionunknownoptionalnon-null—
data.stateKeyunknownoptionalnon-null—
data.entityTypeunknownoptionalnon-null—
data.entityIdunknownoptionalnon-null—
data.emailDraftIdunknownoptionalnon-null—
data.suggestedActionunknownoptionalnon-null—
data.sourceTypeunknownoptionalnon-null—
data.sourceEntityunknownoptionalnon-null—
data.sourceIdunknownoptionalnon-null—
data.statusChangedAtunknownoptionalnon-null—
data.statusChangedByunknownoptionalnon-null—
data.assignedAtunknownoptionalnon-null—
data.assignedByunknownoptionalnon-null—
data.routingRuleIdunknownoptionalnon-null—
data.assignmentRevisionunknownoptionalnon-null—
data.activeAgentAttemptIdunknownoptionalnon-null—
data.agentAttemptCountunknownoptionalnon-null—
data.lockedByunknownoptionalnon-null—
data.lockedAtunknownoptionalnon-null—
data.lockTtlSecondsunknownoptionalnon-null—
data.contextunknownoptionalnon-null—
data.ttlunknownoptionalnon-null—

Declared failures

Declared failures
TASK_CAPABILITY_UNAVAILABLE503 — retryable
TASK_NOT_FOUND404 — not retryable
TASK_NOT_TERMINAL409 — not retryable
TASK_PRINCIPAL_NOT_ASSIGNABLE422 — not retryable
TASK_STATE_STALE409 — retryable
TASK_TRANSITION_NOT_SUPPORTED422 — not retryable

Readback

Read the result back with:

  • tasks.get

Request example

Schematic only. Replace placeholders with real values and include all required nested fields.

POST /api/v1/tasks HTTP/1.1
Authorization: Bearer <token>
x-merulan-workspace-id: <workspace-id>
Content-Type: application/json

{
  "title": "<title>",
  "taskType": "pipeline_update"
}