Skip to main content
Documentation
POST /api/v1/processes

Create Process

Create a new tracked process with defined steps.

Request

curl -X POST https://your-instance/api/v1/processes \
  -H "Authorization: Bearer htk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "namespace": "deployments",
    "name": "Deploy v2.1.0 to production",
    "steps": [
      { "key": "build", "label": "Build artifacts" },
      { "key": "test", "label": "Run test suite" },
      { "key": "review", "label": "Code review", "human": true },
      { "key": "deploy", "label": "Deploy to production" },
      { "key": "verify", "label": "Verify deployment", "human": true }
    ]
  }'

Required scope: processes:write or tasks:create

Request Body

FieldTypeRequiredDescription
namespacestringYesNamespace for grouping (1-100 chars, alphanumeric/dots/hyphens)
namestringYesProcess display name (1-200 chars)
descriptionstringNoOptional description
process_idstringNoCustom UUID (auto-generated if omitted)
stepsarrayYesStep definitions (min 1)

Step Definition

FieldTypeRequiredDescription
keystringYesUnique step identifier
labelstringYesDisplay label
humanbooleanNoWhether the step requires human input

Response

{
	"process_id": "uuid",
	"namespace": "orgId.deployments",
	"name": "Deploy v2.1.0 to production",
	"started_at": "2026-02-24T12:00:00Z"
}

Note: The namespace is automatically prefixed with your organization ID.

Errors

StatusMeaning
400Invalid request body
401Missing or invalid token
403Token lacks required scope