---
title: "Approves a staged change, which is what makes it happen"
method: POST
path: "/api/v1/agent/changes/{id}/approve"
tags: ["Agent"]
---

# Approves a staged change, which is what makes it happen

`POST /api/v1/agent/changes/{id}/approve`

## 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/agent/changes/{id}/approve`
- Auth: HTTP bearer

## Request body

- object
  - `option_id` string, nullable

## Response `200`

Approved

- object
  - `data` AgentPendingChange, required
    - `id` integer, required
    - `action` string, required
    - `risk` 'read' | 'reversible' | 'consequential' | 'destructive', required
    - `summary` string, required
    - `status` 'pending' | 'applying' | 'declined' | 'applied' | 'failed' | 'cancelled', required
    - `applied_at` string, date-time, nullable, required
    - `reason` string, nullable, required
    - `chosen_option_id` string, nullable, required
    - `options` object[], required
      - `id` string, required
      - `kind` string, required
      - `label` string, required
    - `args` object, required
    - `result` object, required
    - `evidence` object, required
      - `agreement` object
        - `ups_kept` number, required
        - `ups_total` number, required
        - `downs_dropped` number, required
        - `downs_total` number, required
        - `people` object[]
          - `id` string, required
          - `name` string, required
          - `verdict` 'up' | 'down', required
          - `kept` boolean, required
      - `blast_radius` object
        - `searches` number, required
        - `pipeline` object, required
          - `applications_scored` number, required
          - `will_regate` boolean, required
      - `before_metrics` object[]
        - `name` string, required
        - `scale_max` number, required
        - `weight` number
        - `mandatory` boolean
        - `levels` object[], required
          - `score` number, required
          - `description` string, required
      - `preview` object
        - `status` 'pending' | 'done' | 'failed', required
        - `inversions_before` number, nullable
        - `inversions_after` number, nullable
        - `ranks_all_ups_above_downs` boolean, nullable
        - `people` object[]
          - `id` string, required
          - `name` string, required
          - `verdict` 'up' | 'down', required
          - `before` number, nullable
          - `after` number, nullable
      - `pool` object
        - `before` number, required
        - `after` number, required
      - `outreach` object
        - `flow_id` number, required
        - `flow_name` string, required
        - `job_post_id` number, required
        - `preview` AutomationExecutePreview, required
          - `eligible_count` integer, required
          - `skipped_count` integer, required
          - `estimated_credits` number, required
          - `credits_are_estimate` boolean, required
          - `shortlist` object, nullable, required
            - `new_count` number, required
            - `existing_count` number, required
            - `skipped_count` number, required
            - `skipped_names` string[], required
            - `total_count` number, required
          - `skip_details` AutomationExecutionSkip[], required
            - `application_id` integer, nullable, required
            - `talent_profile_id` integer, nullable, required
            - `candidate_name` string, nullable, required
            - `flow_name` string, nullable, required
            - `execution_id` integer, nullable, required
            - `flow_id` integer, nullable, required
            - `reason` string, required
            - `reason_label` string, required
          - `candidate_samples` AutomationExecutionSample[], required
            - `application_id` integer, nullable, required
            - `talent_profile_id` integer, required
            - `candidate_name` string, nullable, required
            - `fit_level` string, nullable, required
            - `fit_score` number, nullable, required
          - `first_action` AutomationExecutionStart, required
            - `step_id` string, nullable, required
            - `action_type` string, nullable, required
            - `label` string, nullable, required
            - `estimated_delay_seconds` number, nullable, required
            - `timing_is_estimate` boolean, required
            - `uncertainty_reasons` string[], required
      - `task` object
        - `job_post_id` number, required
        - `job_title` string, required
        - `count` number, required
        - `will_change` number, required
        - `skipped` object[], required
          - `reason` string, required
          - `count` number, required
          - `names` string[], required
        - `application_ids` number[], required
        - `credit_cost` number, nullable
        - `automations` string[], required
    - `task` AgentTask, required
      - `id` integer, required
      - `operation` 'reject' | 'move' | 'shortlist' | 'restore' | 'add_tag' | 'remove_tag' | 'rescore', required
      - `status` 'queued' | 'running' | 'done' | 'failed' | 'cancelled', required
      - `total` integer, required
      - `job_post_id` integer, required
      - `finished_at` string, nullable, required
      - `done` integer, required
      - `failed` integer, required
      - `skipped` integer, required
      - `failures` object[], required
        - `name` string, required
        - `error` string, required
    - `affected_names` object, required
      - `listed` string[], required
      - `total` number, required

---

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