---
title: "Create task"
method: POST
path: "/tasks/_raw"
tags: ["Tasks"]
---

# Create task

`POST /tasks/_raw`

Create a new task with optional due date, assignee, and links to entities (candidates, vacancies, clients, etc.).

## Request body

- CreateTaskRawDto
  - `content` string, required
  - `dueDate` string, date-time, required
  - `assignedToUserId` string, nullable, required
  - `links` CreateTaskRawLinkDto[], required
    - `taskLinkId` string, nullable, required
    - `entityType` 'candidate' | 'client' | 'vacancy' | 'clientContact' | 'user' | 'team' | 'opportunity', required
    - `entityId` string, required

## Response `201`

Task created successfully

- TaskDto
  - `id` string, required
  - `content` string, required
  - `dueDate` string, date-time, required
  - `isCompleted` boolean, required
  - `completedAt` string, date-time, required
  - `createdAt` string, date-time, required
  - `createdBy` UserBadgeDto, required
    - `id` string, required
    - `name` string, required
    - `avatarUrl` string, nullable, required
    - `deactivatedAt` string, date-time, required
  - `assignedTo` UserBadgeDto, required
    - `id` string, required
    - `name` string, required
    - `avatarUrl` string, nullable, required
    - `deactivatedAt` string, date-time, required
  - `source` 'MANUAL' | 'AI_SUGGESTION' | 'OUTREACH_SEQUENCE_STEP' | 'AUTOMATION', required
  - `metadata` union, required
    - object
      - `outreachSequenceId` string, required
      - `outreachSequenceName` string, required
      - `outreachSequenceRunId` string, required
      - `type` 'GENERIC_TASK', required
    - object
      - `outreachSequenceId` string, required
      - `outreachSequenceName` string, required
      - `outreachSequenceRunId` string, required
      - `type` 'PHONE_CALL_TASK', required
      - `phoneNumber` string, nullable, required
    - object
      - `outreachSequenceId` string, required
      - `outreachSequenceName` string, required
      - `outreachSequenceRunId` string, required
      - `type` 'LINKEDIN_CONNECTION_REQUEST_TASK', required
      - `linkedInUrl` string, nullable, required
    - object
      - `outreachSequenceId` string, required
      - `outreachSequenceName` string, required
      - `outreachSequenceRunId` string, required
      - `type` 'LINKEDIN_MESSAGE_TASK', required
      - `linkedInUrl` string, nullable, required
      - `messageBody` string, nullable, required
    - object
      - `outreachSequenceId` string, required
      - `outreachSequenceName` string, required
      - `outreachSequenceRunId` string, required
      - `type` 'WHATSAPP_MESSAGE_TASK', required
      - `phoneNumber` string, nullable, required
      - `messageBody` string, nullable, required
  - `links` TaskLinksDto, required
    - `candidates` CandidateLinkDto[], required
      - `taskLinkId` string, required
      - `isMention` boolean, required
      - `id` string, required
      - `firstName` string, required
      - `lastName` string, required
      - `middleName` string, nullable, required
      - `secondLastName` string, nullable, required
      - `avatarUrl` string, nullable, required
    - `vacancies` VacancyLinkDto[], required
      - `taskLinkId` string, required
      - `isMention` boolean, required
      - `id` string, required
      - `name` string, required
      - `companyId` string, required
      - `companyName` string, required
      - `companyLogoUrl` string, nullable, required
    - `clients` ClientLinkDto[], required
      - `taskLinkId` string, required
      - `isMention` boolean, required
      - `id` string, required
      - `name` string, required
      - `logoUrl` string, nullable, required
    - `users` UserLinkDto[], required
      - `taskLinkId` string, required
      - `isMention` boolean, required
      - `id` string, required
      - `name` string, required
      - `avatarUrl` string, nullable, required
      - `deactivatedAt` string, date-time, required
    - `teams` TeamLinkDto[], required
      - `taskLinkId` string, required
      - `isMention` boolean, required
      - `id` string, required
      - `name` string, required
      - `avatarUrl` string, nullable, required
    - `clientContacts` ClientContactLinkDto[], required
      - `taskLinkId` string, required
      - `isMention` boolean, required
      - `id` string, required
      - `firstName` string, required
      - `lastName` string, required
      - `middleName` string, nullable, required
      - `secondLastName` string, nullable, required
      - `avatarUrl` string, nullable, required
      - `candidateId` string, required
      - `companyId` string, required
      - `companyName` string, required
      - `companyLogoUrl` string, nullable, required
    - `opportunities` OpportunityLinkDto[], required
      - `taskLinkId` string, required
      - `isMention` boolean, required
      - `id` string, required
      - `name` string, required
      - `company` CompanyBadgeDto, required
        - `id` string, required
        - `name` string, required
        - `logoUrl` string, nullable, required
  - `labels` TaskLabelDto[], required
    - `id` string, required
    - `name` string, required
    - `colorHex` string, required

## Other responses

- `400` — Bad request - invalid input
- `401` — Unauthorized - invalid or missing authentication
- `500` — Error response

---

[API](https://skmtc.net/spott/apis/spott-webhooks.md) · [All operations](https://skmtc.net/spott/apis/spott-webhooks/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spott/spott-webhooks/versions/ad1f8c51cf0a/schema)
