---
title: "update application"
method: PUT
path: "/api/v1/job/applications/{id}"
tags: ["Job::Applications"]
---

# update application

`PUT /api/v1/job/applications/{id}`

## 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/job/applications/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` integer, required

## Request body

- object
  - `expected_ctc` object
    - `amount` integer, required
    - `currency` 'INR' | 'USD', required
  - `is_interested` boolean
  - `reason_for_no_interest` 'not_interested_in_this_job' | 'not_looking_for_job_change'
  - `recruiter_notes` string: Hiring team only. Ignored from the candidate.
  - `comments` string: Hiring team only: the Comments column on the job's pages. Ignored from the candidate.
  - `is_completed` boolean: Candidate only: they finished applying. Ignored from the hiring team.

## Response `200`

application updated

- object
  - `data` JobApplicationFull, required
    - `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
    - `is_completed` boolean
    - `interest_confirmation` object, nullable, required
      - `source` string, nullable
      - `at` string, 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
    - `reason_for_no_interest` 'not_interested_in_this_job' | 'not_looking_for_job_change'
    - `talent_profile` TalentProfileFull, 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
      - `skills` NewSkill[], required
        - `id` integer, required
        - `name` string, required
        - `label` string, required
      - `resume_pdf_url` string
      - `summary` string
      - `notice_period` object
        - `value` integer, required
        - `label` string, required
      - `notice_period_exact` integer
      - `social_links` object
        - `website` string, required
        - `github` string, required
        - `stackoverflow` string, required
      - `picture_url` string
      - `whatsapp_number` object
        - `number` string, required
        - `country_code` string, required
      - `one_liner` string
      - `signup_source` 'old' | 'resume' | 'linkedin_url' | 'manual' | 'jd_old' | 'jd_resume' | 'jd_linkedin' | 'jd_manual'
      - `github_url` string
      - `website_url` string
      - `relocation_cities` 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
      - `current_experience` TalentExperience
        - `id` integer, required
        - `company_name` string, nullable, required
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, required
        - `owner_id` string, required
        - `company` NewCompanyWithDetail
          - `id` integer, required
          - `created_at` string, date-time, required
          - `updated_at` string, date-time, required
          - `name` string, required
          - `primary_domain` string, nullable, required
          - `description` string, nullable, required
          - `slug` string, required
          - `website` string, required
          - `logo_url` string
          - `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
          - `industries` string[], required
          - `company_types` string[], required
          - `business_models` string[], required
          - `about` string
          - `team_members` object[], required
            - `name` string, required
            - `designation` string, required
            - `linkedin_url` string, nullable
          - `one_liner` string
          - `other_info` string
          - `team_size` string
          - `client_account_id` integer
          - `investors` string[], required
          - `funding_rounds_list` object[], required
            - `date` string, nullable
            - `type` string, nullable
            - `amount` number, nullable
            - `currency` string, nullable
            - `investors` string[], required
        - `positions` TalentPosition[], required
          - `id` integer, required
          - `title` string, nullable, required
          - `start_date` string, date, nullable, required
          - `end_date` string, date, nullable, required
          - `description` string, nullable, required
          - `employment_type` 'Full-time' | 'Part-time' | 'Self-employed' | 'Freelance' | 'Internship' | 'Trainee' | 'Apprenticeship' | 'Contract' | 'Temporary Staff' | 'Contract Full-time' | 'Contract Part-time' | 'Permanent Full-time' | 'Permanent Part-time' | 'Seasonal' | 'Casual / On-call' | 'Co-op' | 'Permanent' | 'Indirect Contract' | 'On-Call' | 'null', nullable, required
          - `created_at` string, date-time, required
          - `updated_at` string, date-time, required
          - `funding_stages` string[], required
          - `skills` NewSkill[], required
            - `id` integer, required
            - `name` string, required
            - `label` string, required
      - `professions` Profession[], required
        - `id` integer, required
        - `name` string, nullable, required
      - `not_looking_for_job_on` string
      - `looking_for_job` boolean, required
      - `communication_preferences` object, required
        - `email` boolean, required
        - `whatsapp` boolean, required
        - `ai_calling` boolean, required
      - `last_active_at` string
      - `contact_lookup` 'looking' | 'done' | 'null', nullable, required
      - `phone_numbers` string[]
      - `client_contacts` string[], required
      - `emails` string[]
    - `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
    - `applied_via_client_link` boolean
    - `outreach_summary` AutomationOutreachSummary, required
      - `id` integer, required
      - `automation_flow_id` integer, required
      - `responded` boolean, required
      - `responded_channel` 'email' | 'whatsapp' | 'ai_call' | 'linkedin' | 'null', nullable, required
      - `stop_reason` string, nullable, required
      - `current_step_id` integer, nullable, required
      - `automation_flow_name` string, nullable, required
      - `current_step_name` string, nullable, required
      - `current_step_type` string, nullable, required
      - `status` 'queued' | 'running' | 'completed' | 'failed' | 'stopped', required
      - `created_at` string, required
      - `queued_at` string, nullable, required
      - `started_at` string, nullable, required
      - `ended_at` string, nullable, required
      - `responded_at` string, nullable, required
    - `outreach_summary_version` string, required
    - `comments` string
    - `tags` JobTag[], required
      - `label` string, required
      - `value` number, required
    - `automation_flow_executions` AutomationFlowExecution[], required
      - `id` integer, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `queued_at` string, date-time, nullable, required
      - `started_at` string, date-time, nullable, required
      - `ended_at` string, date-time, nullable, required
      - `status` 'running' | 'completed' | 'failed' | 'cancelled' | 'stopped' | 'queued', required
      - `current_step_id` integer, nullable, required
      - `automation_flow_id` integer, required
      - `automation_flow_name` string, nullable, required
      - `job_application_id` integer, required
      - `responded` boolean, required
      - `stop_reason` string, nullable, required
      - `meaningful_step_completed` boolean, required
      - `candidate_name` string, nullable, required
      - `current_step_name` string, nullable, required
      - `current_step_type` string, nullable, required
      - `startup_last_error` string, nullable, required
    - `saved_searches` object[], required
      - `id` number, required
      - `title` string, required
    - `tasks_count` number, required
    - `closed_tasks_count` number, required
    - `in_review_tasks_count` number, required
    - `custom_columns` object, required
    - `rejected_from_state` string
    - `rejection_reason_bucket` 'unfit' | 'not_interested_this_job' | 'broad_no' | 'null', nullable, required
    - `reason_for_rejection` string
    - `hired_at` string
    - `shortlisted_at` string
    - `shortlisted_by_id` integer, nullable, required
    - `timeline` JobApplicationTimelineItem[], required
      - `id` integer, required
      - `application_id` integer, required
      - `state` 'screening' | 'interview' | 'hired' | 'rejected' | 'null', nullable, required
      - `title` string, nullable, required
      - `description` string, nullable, required
      - `timestamp` string, required
      - `created_by` string
      - `type` string, required
    - `reason_for_recommendation` string
    - `rejection_details` string
    - `recruiter_notes` string
  - `meta` PaginationMeta, nullable
    - `total_count` integer
    - `total_pages` integer
    - `next_page` integer, nullable
    - `prev_page` integer, nullable
    - `current_page` integer
    - `page_size` integer

---

[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)
