---
title: "Create a new task"
method: POST
path: "/api/v1/client/tasks"
tags: ["Client::Task"]
---

# Create a new task

`POST /api/v1/client/tasks`

## Request

- Base URL: `https://api.flexiple.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.flexiple.com/api/v1/client/tasks`
- Auth: HTTP bearer

## Request body

- object
  - `title` string, required
  - `description` string
  - `assignee_ids` integer[]
  - `deadline` string, date-time
  - `job_post_id` integer
  - `job_application_id` integer

## Response `201`

Task created

- object
  - `data` ClientTask, required
    - `id` integer, required
    - `title` string, required
    - `description` string, nullable, required
    - `deadline` string, date-time, nullable, required
    - `status` 'open' | 'in_review' | 'closed', required
    - `task_type` 'review_profile' | 'schedule_interview' | 'get_feedback' | 'interview_reminder' | 'outreach' | 'null', nullable, required
    - `completed_at` string, date-time, nullable, required
    - `subject_type` string, nullable, required
    - `subject_id` integer, nullable, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `overdue` boolean, required
    - `comments_count` integer, required
    - `has_unread_notifications` boolean
    - `assignees` AccountUser[], required
      - `id` integer, required
      - `email` string, required
      - `role` 'client' | 'talent' | 'admin', required
      - `first_name` string, nullable, required
      - `last_name` string, nullable, required
      - `full_name` string, required
      - `deleted` boolean, required
    - `created_by` AccountUser
      - `id` integer, required
      - `email` string, required
      - `role` 'client' | 'talent' | 'admin', required
      - `first_name` string, nullable, required
      - `last_name` string, nullable, required
      - `full_name` string, required
      - `deleted` boolean, required
    - `job_post` JobPost
      - `id` integer, required
      - `client_id` integer
      - `new_company_id` integer
      - `job_slug` string, nullable, required
      - `designation` string, nullable, required
      - `location_type` 'remote' | 'on_site' | 'hybrid' | 'null', nullable, required
      - `status` 'private' | 'published' | 'closed', required
      - `job_type` 'contract' | 'full_time' | 'any', required
      - `published_at` string, date-time, nullable, required
      - `company_name` string
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `assignment_ids` string[], nullable
      - `hide_budget` boolean
      - `is_internal` boolean
      - `client_share_tag` string
      - `start_salary` object
        - `amount` number, required
        - `currency` string, required
        - `display_scale` number, required
        - `display_unit` string, required
        - `formatted_amount` number, required
        - `formatted` string, required
      - `end_salary` object
        - `amount` number, required
        - `currency` string, required
        - `display_scale` number, required
        - `display_unit` string, required
        - `formatted_amount` number, required
        - `formatted` string, required
      - `location` Location
        - `id` integer, required
        - `osm_id` integer, nullable, required
        - `osm_type` string, nullable, required
        - `city` string, nullable, required
        - `state` string, nullable, required
        - `country` string, nullable, required
        - `country_code` string, nullable, required
        - `formatted` string, required
        - `location_type` 'country' | 'state' | 'city', required
    - `job_application` JobApplicationWithProfile
      - `id` integer, required
      - `job_post_id` integer, required
      - `source` 'job_application' | 'shortlist' | 'auto_recommendation' | 'public_network' | 'sourcing_agent', required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `talent_profile_id` string, required
      - `state` 'screening' | 'interview' | 'hired' | 'rejected', required
      - `human_state` string, required
      - `state_description` string
      - `is_interested` boolean, nullable, required
      - `stage` 'review' | 'screening' | 'interview' | 'hired' | 'rejected' | 'null', nullable, required
      - `rejection_origin` 'auto_score' | 'candidate_declined' | 'manual' | 'fit_rubric' | 'agent_dismissed' | 'null', nullable, required
      - `rejected_at` string
      - `interview_rounds` JobApplicationInterviewRound[], required
        - `id` integer, required
        - `job_application_id` integer, nullable, required
        - `job_post_interview_round_id` integer, nullable, required
        - `scheduled_at` string, date-time, nullable, required
        - `meeting_url` string, nullable, required
        - `interviewers` string[], nullable, required
        - `status` 'to_be_scheduled' | 'scheduled' | 'awaiting_feedback' | 'completed' | 'rejected' | 'on_hold' | 'null', nullable, required
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, required
        - `feedback` string, nullable
        - `job_post_interview_round` JobPostInterviewRound, required
          - `id` integer, required
          - `job_post_id` integer, nullable, required
          - `name` string, required
          - `order` integer, required
          - `duration` integer, required
          - `round_type` 'assignment' | 'automated_coding' | 'founder_interview' | 'culture_fit' | 'profile_shortlisting' | 'tech_interview', required
          - `created_at` string, date-time, required
          - `updated_at` string, date-time, required
          - `poc` 'hr' | 'tech_team' | 'founder'
          - `agenda` string
      - `ai_eval` object
        - `score` number, required
        - `metric_scores` object[], required
          - `name` string, required
          - `score` number, required
          - `reasoning` string, required
        - `failed_mandatory` string[]
        - `rubric_version` number, nullable
        - `model` string, required
        - `evaluated_at` string, required
      - `questions_answered` 'none' | 'some' | 'all', required
      - `talent_profile` TalentProfileWithContact, required
        - `id` string, required
        - `first_name` string, nullable, required
        - `last_name` string, nullable, required
        - `profile_type` string, required
        - `deleted` boolean, required
        - `expected_ctc` object
          - `amount` number, required
          - `currency` string, required
          - `display_scale` number, required
          - `display_unit` string, required
          - `formatted_amount` number, required
          - `formatted` string, required
        - `gender` 'male' | 'female' | 'null', nullable, required
        - `unlocked` boolean, required
        - `linkedin_url` string
        - `months_of_experience` integer, nullable, required
        - `notice_period_days` string
        - `current_ctc` object
          - `amount` number, required
          - `currency` string, required
          - `display_scale` number, required
          - `display_unit` string, required
          - `formatted_amount` number, required
          - `formatted` string, required
        - `overridden_fields` string[], required
        - `original_values` object
          - `current_ctc` object, nullable
            - `amount` number, required
            - `currency` string, required
            - `display_scale` number, required
            - `display_unit` string, required
            - `formatted_amount` number, required
            - `formatted` string, required
          - `notice_period_exact` number, nullable
        - `location` Location, required
          - `id` integer, required
          - `osm_id` integer, nullable, required
          - `osm_type` string, nullable, required
          - `city` string, nullable, required
          - `state` string, nullable, required
          - `country` string, nullable, required
          - `country_code` string, nullable, required
          - `formatted` string, required
          - `location_type` 'country' | 'state' | 'city', required
        - `resume_parsing` boolean, required
        - `active` boolean
        - `contact_lookup` 'looking' | 'done' | 'null', nullable, required
        - `phone_numbers` string[]
        - `client_contacts` string[], required
        - `emails` string[]
  - `meta` object, nullable

## Other responses

- `400`: Validation failed
- `401`: Authentication failed
- `403`: Authorization failed

---

[API](https://skmtc.dev/flexiple/apis/flexiple-platform-api-v1.md) - [All operations](https://skmtc.dev/flexiple/apis/flexiple-platform-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/flexiple/apis/flexiple-platform-api-v1/revisions/27e7987859f2?raw)
