Actions & tasks

Create a task

Creates a task, assigned to the caller unless assigned_to is given. Linking a company is optional (by id or name); no project is opened automatically — use opp_id for an existing project or opp_name for a new one.

POST/api/v1/tasks

Authorization

Authorizationheaderrequired
Bearer token: API key (sk_…), OAuth access token (mcp_…) or mobile session (xk_…).
Module: TasksScope: crm.write

Body application/json

titlestringrequired
Task title.
due_datestringoptional
Due date (YYYY-MM-DD).
due_timestringoptional
Time (HH:MM).
prioritystringoptionaldefault: Normal
Priority.
ValuesDüşükNormalYüksekAcil
detailstringoptional
Details.
assigned_tointegeroptional
Assignee user id.
customer_idintegeroptional
Company id.
customerstringoptional
Company name (if the id is unknown).
opp_idstringoptional
Project id or __none__ (no project).
opp_namestringoptional
New project name.

Errors

HTTPerrorMeaning
400invalidMissing or invalid field (`message` explains).
Request
curl -X POST https://ornek.solk.app/api/v1/tasks \
  -H "Authorization: Bearer $SOLK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Fiyat listesini gönder",
  "customer_id": 31,
  "due_date": "2026-10-04",
  "due_time": "10:30",
  "priority": "Yüksek",
  "detail": "2027 listesi, €/kg"
}'
Response
{
  "action": {
    "act": {
      "addr": "Bursa",
      "c": 31,
      "mail": "emre.yildiz@kuzeyplastik.com.tr",
      "n": "Kuzey Plastik Sanayi",
      "tel": "+90 532 555 11 22",
      "url": "/customers/31",
      "wa": "905325551122",
      "who": "Emre Yıldız"
    },
    "chain_after": [],
    "chain_before": [],
    "customer": "Kuzey Plastik Sanayi",
    "customer_id": 31,
    "date": "2026-10-04",
    "detail": "2027 listesi, €/kg",
    "done": false,
    "done_at": null,
    "editable": true,
    "icon": "📋",
    "id": 23,
    "key": "task:23",
    "kind": "task",
    "label": "Fiyat listesini gönder",
    "opp": "",
    "opp_id": null,
    "others": [
      {
        "customer": "",
        "customer_id": null,
        "date": "2026-10-05",
        "icon": "⚡",
        "id": 106,
        "key": "visit:106",
        "kind": "visit",
        "label": "Teklif gönder",
        "opp": "Streç film tedariki",
        "opp_id": 53,
        "src": "Ziyaret",
        "state": "soon",
        "url": "/action/visit/106"
      }
    ],
    "result": "",
    "rid": "00TxuMVTniYx44l",
    "src": "Görev",
    "state": "soon",
    "threads": [],
    "threads_n": 0,
    "user": {
      "full_name": "Deniz Aksoy",
      "id": 1,
      "role": "admin",
      "role_label": "Yönetici",
      "username": "admin"
    }
  },
  "ok": true,
  "task": {
    "assignee": {
      "full_name": "Deniz Aksoy",
      "id": 1,
      "role": "admin",
      "role_label": "Yönetici",
      "username": "admin"
    },
    "completed_at": null,
    "customer": "Kuzey Plastik Sanayi",
    "customer_id": 31,
    "detail": "2027 listesi, €/kg",
    "due_date": "2026-10-04",
    "due_time": "10:30",
    "id": 23,
    "opp": "",
    "opp_id": null,
    "priority": "Yüksek",
    "result": "",
    "rid": "00TxuMVTniYx44l",
    "source_key": "",
    "state": "soon",
    "status": "Açık",
    "title": "Fiyat listesini gönder"
  }
}

Example responses were captured from a v22 installation running sample data; lists are shortened to two items.