POST/tasks

Create 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

FieldTypeRequiredDescription
titlestringrequiredTask title (max 500 characters)
listIdstringrequiredID of the list to add the task to
descriptionstringoptionalTask description (supports plain text)
dueDateISO 8601optionalDue date in ISO 8601 format (e.g., 2024-12-31T23:59:59Z)
priorityenumoptionalHIGH, MEDIUM_HIGH, MEDIUM, LOW, FUTURE (default: FUTURE)
statusenumoptionalOPEN, DOING, CLOSED (default: OPEN)
hashtagsstring[]optionalArray 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.