Skip to main content
POST
/
v2
/
tasks
curl --request POST \ --url https://api.zenzap.co/v2/tasks \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'X-Signature: <api-key>' \ --data ' { "topicId": "550e8400-e29b-41d4-a716-446655440000", "title": "Review documentation" } '
{
  "id": "880e8400-e29b-41d4-a716-446655440003",
  "topicId": "550e8400-e29b-41d4-a716-446655440000",
  "title": "Review documentation",
  "createdAt": 1699564800000
}

Authorizations

Authorization
string
header
required

Use your API key as the Bearer token. You can view your API key and secret in your Zenzap organization API key settings.

X-Signature
string
header
required

HMAC-SHA256 signature for request verification.

Headers

X-Signature
string
required

HMAC signature of the request.

The signature payload differs by HTTP method:

  • POST/PUT/PATCH/DELETE: HMAC-SHA256 of the request body
  • GET: HMAC-SHA256 of the full request URI (path + query string)

The signature is calculated as:

  1. Determine the payload:
    • For POST/PUT/PATCH/DELETE: Use the request body
    • For GET: Use the full request URI (e.g., /v2/members?limit=10&offset=0)
  2. Calculate HMAC-SHA256 of the payload using your API secret
  3. Hex-encode the output

Example for GET request to /v2/members?limit=10:

payload = "/v2/members?limit=10"
signature = HMAC-SHA256(secret, payload)
X-Signature: hex(signature)

Example for POST request with body {"topicId":"123","text":"Hello"}:

payload = '{"topicId":"123","text":"Hello"}'
signature = HMAC-SHA256(secret, payload)
X-Signature: hex(signature)
Example:

"a3d5f8e7c2b1d4f6a8e9c7b5d3f1a2e4b6c8d0f2e4a6b8c0d2e4f6a8b0c2d4e6"

Body

application/json
topicId
string<uuid>
required

The ID of the topic where the task should be created

Example:

"550e8400-e29b-41d4-a716-446655440000"

title
string
required

The task title

Maximum string length: 256
Example:

"Review documentation"

description
string

Optional task description

Maximum string length: 10000
Example:

"Review and update all API documentation"

assignee
string<uuid>

Optional user ID to assign the task to

Example:

"550e8400-e29b-41d4-a716-446655440001"

dueDate
integer<int64>

Optional due date as Unix timestamp in milliseconds

Example:

1699564800000

externalId
string

Optional external identifier for tracking purposes

Maximum string length: 100
Example:

"jira-PROJ-123"

Response

Task created successfully

id
string<uuid>

The created task ID

topicId
string<uuid>

The topic ID where the task was created

title
string

The task title

createdAt
integer<int64>

Unix timestamp in milliseconds