POST
/tasksCreate Task
Creates a new task in the specified list. The task will be added at the end of the list. Returns the created task with its generated ID.
Overview
This is the primary endpoint for creating work items in StrikeOff from your external system. When you create a task via this API, it is automatically tagged with your API key name as its 'externalSource' - this allows StrikeOff to know which tasks came from your integration and enables webhook notifications back to your system when those tasks change. The returned task ID is permanent and stable - save it in your system to track and update this task later. Tasks are created without any assignees by default; use the assign endpoint after creation to add team members.
When to Use This
- Creating a task in StrikeOff when a new ticket is opened in your helpdesk system
- Syncing issues from your bug tracker or project management tool
- Automatically creating tasks from form submissions or customer requests
- Building a two-way sync between StrikeOff and your existing workflow tools
- Creating tasks from CI/CD pipeline events (e.g., failed builds, deployment issues)
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
title | string | required | Task title (max 500 characters) |
listId | string | required | ID of the list to add the task to |
description | string | optional | Task description (supports plain text) |
dueDate | ISO 8601 | optional | Due date in ISO 8601 format (e.g., 2024-12-31T23:59:59Z) |
priority | enum | optional | HIGH, MEDIUM_HIGH, MEDIUM, LOW, FUTURE (default: FUTURE) |
status | enum | optional | OPEN, DOING, CLOSED (default: OPEN) |
hashtags | string[] | optional | Array of hashtag names (e.g., ["bug", "urgent", "frontend"]). Leading # is optional. |
Request Example
cURL
curl -X POST "https://strikeoffapp.com/api/external/v1/tasks" \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"title": "Review Q4 financial report",
"description": "Review and approve the quarterly report before Friday",
"listId": "cllist001...",
"dueDate": "2024-12-31T23:59:59Z",
"priority": "HIGH",
"status": "OPEN",
"hashtags": ["finance", "quarterly-review", "urgent"]
}'Response
JSON
{
"success": true,
"data": {
"task": {
"id": "cltask001...",
"title": "Review Q4 financial report",
"description": "Review and approve the quarterly report before Friday",
"status": "OPEN",
"priority": "HIGH",
"dueDate": "2024-12-31T23:59:59Z",
"archived": false,
"createdAt": "2024-12-15T10:30:00Z",
"updatedAt": "2024-12-15T10:30:00Z",
"list": {
"id": "cllist001...",
"name": "Backlog",
"board": {
"id": "clxxx123...",
"name": "Development"
}
},
"assignedTo": [],
"hashtags": [
{ "id": "clhash001...", "name": "finance", "color": "#3B82F6" },
{ "id": "clhash002...", "name": "quarterly-review", "color": "#8B5CF6" },
{ "id": "clhash003...", "name": "urgent", "color": "#EF4444" }
]
}
}
}Notes
- The listId must belong to a board in your organization.
- Store the returned task ID in your system for future updates.
- New tasks are always created with an empty assignee list.
- Use the assign endpoint to add users after creation.
- Hashtags are automatically normalized to lowercase. Leading # symbols are stripped.
- Colors are auto-generated based on hashtag name for consistency across tasks.