---
title: "Confirm a parked action — executes it exactly once"
method: POST
path: "/confirmations/{id}/confirm"
tags: ["Confirmations"]
---

# Confirm a parked action — executes it exactly once

`POST /confirmations/{id}/confirm`

## Request

- Base URL: `https://api.madethis.com/v1`
- URL: `https://api.madethis.com/v1/confirmations/{id}/confirm`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Response `200`

The parked route's own success envelope, replayed. The STATUS mirrors that route too — 201 for a sequence enrolment, 202 for an ad publish — and is 200 when replaying a confirmation that had already executed. Treat any 2xx as success and read `data` per the variant.

- object
  - `data` union, required
    - object
      - `sequenceId` string, required
      - `status` 'draft' | 'active' | 'paused' | 'archived', required
      - `requested` integer, required
      - `added` integer, required
      - `skipped` object[], required
        - `leadId` string, required
        - `reason` string, required
      - `totalLeads` integer, required
      - `outbound` object, required
        - `configured` boolean, required
        - `domain` string, nullable, required
        - `inboxCount` integer, required
        - `warmupStatus` string, nullable, required
        - `dailySendCapacity` integer, required
        - `sendable` boolean, required
    - object
      - `id` string, required
      - `status` 'draft' | 'active' | 'paused' | 'archived', required
      - `previousStatus` 'draft' | 'active' | 'paused' | 'archived', required
      - `totalLeads` integer
      - `outbound` object
        - `configured` boolean, required
        - `domain` string, nullable, required
        - `inboxCount` integer, required
        - `warmupStatus` string, nullable, required
        - `dailySendCapacity` integer, required
        - `sendable` boolean, required
    - object
      - `id` string, required
      - `state` 'awaiting_approval' | 'rejected' | 'draft' | 'scheduled' | 'processing' | 'review' | 'retrying' | 'published' | 'partially_published' | 'failed' | 'deleted', required
      - `platforms` string[], required
      - `scheduledAt` number, required
      - `content` object, required
        - `title` string, nullable, required
        - `text` string, nullable, required
        - `link` string, nullable, required
        - `mediaUrls` string[], required
      - `results` object[], required
        - `platform` string, required
        - `status` string, required
        - `permalink` string, nullable, required
        - `error` string, nullable, required
        - `retryable` boolean, nullable, required
      - `error` string, nullable, required
      - `canCancel` boolean, required
      - `canRetry` boolean, required
      - `terminalAt` number, nullable, required
      - `createdAt` number, required
      - `updatedAt` number, required
    - object
      - `status` 'publishing' | 'queued', required
      - `dispatchBlockedReason` string, nullable, required
      - `proposalId` string, required
      - `taskId` string, required
      - `dailyBudgetCents` integer, required
      - `metaDailyBudgetCents` integer, required
      - `committedCents` integer, required
      - `commitmentDays` integer, required
      - `destinationUrl` string, required
    - object
      - `campaignId` string, required
      - `scope` 'business_daily_budget', required
      - `changed` boolean, required
      - `direction` 'increase' | 'decrease' | 'unchanged', required
      - `dailyBudgetCents` integer, required
      - `metaDailyBudgetCents` integer, required
      - `weeklyCapCents` integer, required
      - `metaBudgetSyncStatus` string, required
  - `hint` string: One-sentence orientation for agents.
  - `next_action` string: The literal next call an agent would chain.

## Other responses

- `201`: The parked route's own success envelope, replayed. The STATUS mirrors that route too — 201 for a sequence enrolment, 202 for an ad publish — and is 200 when replaying a confirmation that had already executed. Treat any 2xx as success and read `data` per the variant.
- `202`: The parked route's own success envelope, replayed. The STATUS mirrors that route too — 201 for a sequence enrolment, 202 for an ad publish — and is 200 when replaying a confirmation that had already executed. Treat any 2xx as success and read `data` per the variant.
- `default`: Error envelope — machine-readable `code` plus a docs link.

---

[API](https://skmtc.dev/madethis/apis/madethis-api.md) - [All operations](https://skmtc.dev/madethis/apis/madethis-api/llms.txt) - [OpenAPI document](https://skmtc.dev/madethis/apis/madethis-api/revisions/b0696ebcb55b?raw)
