# AUTO-GENERATED from shared/public-api - do not hand-edit. # Regenerate: node --import tsx scripts/generate-openapi-v3.ts # Copied from paper-crane and adjusted for Mintlify: path templates use # the field names (`{job_id}`, `{list_id}`, `{campaign_id}`, …) rather # than Express `:id`. Do not hand-merge back into paper-crane — regenerate # there, then re-run scripts/adjust-openapi-v3.py. openapi: 3.1.0 info: title: Origami API v3 version: "3.0" description: | The Origami **v3 API** is the current public surface: named, typed operations in three sections (**Account**, **Leads**, **Send**) plus one shared **Job** resource for all async work. The same catalog drives HTTP (`https://origami.chat/api/v3`), the hosted MCP server (`https://origami.chat/mcp`), and the `origami` CLI. **Wire conventions.** Fields are `snake_case`. Every object carries an `object` type field. Every list is `{ "object": "list", "items": [...], "next_cursor": string|null, "url": string }` and pages with `cursor` + `limit` (max 100). Unknown request fields are rejected with `400 VALIDATION_ERROR` — a camelCase body fails loudly instead of being silently stripped. **Async work.** Async operations return `202` with a Job. Poll `GET /jobs/{job_id}` honoring `next_poll_at` / `Retry-After`, or subscribe to `job.*` webhooks. `succeeded` means the work *including enrichment* is done, so result counts are final. **Auth.** `Authorization: Bearer og_live_...`. Keys carry a role (`member` default, or `admin`). Scope a request to a child project with `x-origami-project: `. The header applies to Leads, Send, Jobs, and — within Account — chats and exclusion lists. It is ignored by project management, org reads, senders, domains, mailboxes, webhooks, and API-key routes. **Idempotency.** Any POST may send `Idempotency-Key: `. Reuse with a different body → `409 IDEMPOTENCY_MISMATCH`. A racing retry → `409 IDEMPOTENCY_PENDING` (honor `Retry-After`). v1 and v2 remain available but are deprecated for new integrations. See the v2 → v3 migration guide for the 1:1 flow map. servers: - url: https://origami.chat/api/v3 security: - bearerAuth: [] tags: - name: jobs description: Shared async Job resource - name: account description: Org, projects, chats, senders, domains, exclusions, webhooks, keys - name: leads description: Lists, columns, rows, searches, enrichment - name: send description: "Campaigns: the linear send recipe" paths: /jobs: get: x-mint: href: /v3/reference/jobs-list metadata: title: "List jobs" sidebarTitle: "List jobs" description: "List the caller's visible Jobs, newest first" operationId: jobs.list summary: List the caller's visible Jobs, newest first tags: - jobs parameters: - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query required: false schema: type: string enum: - queued - running - needs_input - succeeded - failed - cancelled - name: operation in: query required: false schema: type: string minLength: 1 - name: target_type in: query required: false schema: type: string enum: - list - search - campaign - chat - domain_order - name: target_id in: query required: false schema: type: string minLength: 1 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /jobs/{job_id}: get: x-mint: href: /v3/reference/jobs-get metadata: title: "Get a job" sidebarTitle: "Get a job" description: "Read one job. Honor next_poll_at when you poll." operationId: jobs.get summary: "Read one job. Honor next_poll_at when you poll." tags: - jobs parameters: - name: job_id in: path required: true schema: type: string minLength: 1 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /jobs/{job_id}/cancel: post: x-mint: href: /v3/reference/jobs-cancel metadata: title: "Cancel a job" sidebarTitle: "Cancel a job" description: "Request cooperative cancel of a Job" operationId: jobs.cancel summary: Request cooperative cancel of a Job tags: - jobs parameters: - name: job_id in: path required: true schema: type: string minLength: 1 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (JOB_NOT_CANCELLABLE) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /jobs/{job_id}/input: post: x-mint: href: /v3/reference/jobs-input metadata: title: "Answer a job's questions" sidebarTitle: "Answer a job's questions" description: "Answer a needs_input Job's questions and resume it" operationId: jobs.input summary: Answer a needs_input Job's questions and resume it tags: - jobs parameters: - name: job_id in: path required: true schema: type: string minLength: 1 requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: answers: type: array items: type: string minLength: 1 minItems: 1 maxItems: 20 required: - answers responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (JOB_NOT_WAITING) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account: get: x-mint: href: /v3/reference/account-get metadata: title: "Get your account" sidebarTitle: "Get your account" description: "Read the org, including plan, capability flags, concurrent agent runs, and project counts." operationId: account.get summary: "Read the org, including plan, capability flags, concurrent agent runs, and project counts." tags: - account responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/credits: get: x-mint: href: /v3/reference/account-credits-get metadata: title: "Credit balance" sidebarTitle: "Credit balance" description: "Read the reservation-aware wallet balance in credits" operationId: account.credits.get summary: Read the reservation-aware wallet balance in credits tags: - account responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/credits/usage: get: x-mint: href: /v3/reference/account-credits-usage metadata: title: "Credit usage" sidebarTitle: "Credit usage" description: "Credits spent in a month, with a per-section breakdown" operationId: account.credits.usage summary: Credits spent in a month, with a per-section breakdown tags: - account parameters: - name: period in: query required: false schema: type: string pattern: ^\d{4}-(0[1-9]|1[0-2])$ responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/rate-limits: get: x-mint: href: /v3/reference/account-rate-limits-get metadata: title: "Rate limits" sidebarTitle: "Rate limits" description: "Current rate-limit buckets, with limit, remaining, and reset per bucket." operationId: account.rate_limits.get summary: "Current rate-limit buckets, with limit, remaining, and reset per bucket." tags: - account responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/projects: get: x-mint: href: /v3/reference/account-projects-list metadata: title: "List projects" sidebarTitle: "List projects" description: "List projects under the parent org" operationId: account.projects.list summary: List projects under the parent org tags: - account parameters: - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" post: x-mint: href: /v3/reference/account-projects-create metadata: title: "Create a project" sidebarTitle: "Create a project" description: "Create a project (optional monthly credit cap)" operationId: account.projects.create summary: Create a project (optional monthly credit cap) tags: - account requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: name: type: string minLength: 1 maxLength: 120 monthly_credit_cap: type: integer minimum: 0 nullable: true enforcement: type: string enum: - hard - soft required: - name responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/projects/{project_id}: get: x-mint: href: /v3/reference/account-projects-get metadata: title: "Get a project" sidebarTitle: "Get a project" description: "Read one project" operationId: account.projects.get summary: Read one project tags: - account parameters: - name: project_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" patch: x-mint: href: /v3/reference/account-projects-patch metadata: title: "Update a project" sidebarTitle: "Update a project" description: "Rename a project or change its budget cap / enforcement" operationId: account.projects.patch summary: Rename a project or change its budget cap / enforcement tags: - account parameters: - name: project_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: name: type: string minLength: 1 maxLength: 120 monthly_credit_cap: type: integer minimum: 0 nullable: true enforcement: type: string enum: - hard - soft responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" delete: x-mint: href: /v3/reference/account-projects-delete metadata: title: "Delete a project" sidebarTitle: "Delete a project" description: "Delete a project (previews lists/rows/chats/campaigns without confirm)" operationId: account.projects.delete summary: Delete a project (previews lists/rows/chats/campaigns without confirm) tags: - account parameters: - name: project_id in: path required: true schema: type: string format: uuid - name: confirm in: query required: false schema: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/chats: get: x-mint: href: /v3/reference/account-chats-list metadata: title: "List chats" sidebarTitle: "List chats" description: "List chats (onboarding/content/scheduled excluded by default)" operationId: account.chats.list summary: List chats (onboarding/content/scheduled excluded by default) tags: - account parameters: - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 - name: kind in: query required: false schema: type: string enum: - chat - content responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" post: x-mint: href: /v3/reference/account-chats-create metadata: title: "Create a chat" sidebarTitle: "Create a chat" description: "Create an empty chat" operationId: account.chats.create summary: Create an empty chat tags: - account requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: name: type: string minLength: 1 maxLength: 120 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/chats/{chat_id}: get: x-mint: href: /v3/reference/account-chats-get metadata: title: "Get a chat" sidebarTitle: "Get a chat" description: "Read one chat with linked list/campaign summaries" operationId: account.chats.get summary: Read one chat with linked list/campaign summaries tags: - account parameters: - name: chat_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" patch: x-mint: href: /v3/reference/account-chats-patch metadata: title: "Rename a chat" sidebarTitle: "Rename a chat" description: "Rename a chat" operationId: account.chats.patch summary: Rename a chat tags: - account parameters: - name: chat_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: name: type: string minLength: 1 maxLength: 120 required: - name responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" delete: x-mint: href: /v3/reference/account-chats-archive metadata: title: "Archive a chat" sidebarTitle: "Archive a chat" description: "Archive a chat (soft-delete; no confirm required)" operationId: account.chats.archive summary: Archive a chat (soft-delete; no confirm required) tags: - account parameters: - name: chat_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/chats/{chat_id}/links: post: x-mint: href: /v3/reference/account-chats-links-create metadata: title: "Link a list or campaign" sidebarTitle: "Link a list or campaign" description: "Link an existing list or campaign to a chat (idempotent)" operationId: account.chats.links.create summary: Link an existing list or campaign to a chat (idempotent) tags: - account parameters: - name: chat_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: list_id: type: string format: uuid campaign_id: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/chats/{chat_id}/links/{slug}: delete: x-mint: href: /v3/reference/account-chats-links-delete metadata: title: "Unlink a list or campaign" sidebarTitle: "Unlink a list or campaign" description: "Unlink a list or campaign from a chat (does not delete it)" operationId: account.chats.links.delete summary: Unlink a list or campaign from a chat (does not delete it) tags: - account parameters: - name: chat_id in: path required: true schema: type: string format: uuid - name: slug in: path required: true schema: type: string minLength: 1 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/chats/{chat_id}/messages: post: x-mint: href: /v3/reference/account-chats-messages-create metadata: title: "Send a chat message" sidebarTitle: "Send a chat message" description: "Send a chat message and run the agent (returns a Job)" operationId: account.chats.messages.create summary: Send a chat message and run the agent (returns a Job) tags: - account description: "AGENT-tagged: may run the in-app agent under the hood." parameters: - name: chat_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: prompt: type: string minLength: 1 maxLength: 10000 metadata: type: object additionalProperties: type: string required: - prompt responses: "202": description: Job admitted content: application/json: schema: $ref: "#/components/schemas/Job" "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (CHAT_BUSY) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/senders: get: x-mint: href: /v3/reference/account-senders-list metadata: title: "List senders" sidebarTitle: "List senders" description: "List the org's email and LinkedIn senders" operationId: account.senders.list summary: List the org's email and LinkedIn senders tags: - account parameters: - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 - name: channel in: query required: false schema: type: string enum: - email - linkedin - name: status in: query required: false schema: type: string minLength: 1 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/senders/{sender_id}: get: x-mint: href: /v3/reference/account-senders-get metadata: title: "Get a sender" sidebarTitle: "Get a sender" description: "Read one sender (secrets never returned)" operationId: account.senders.get summary: Read one sender (secrets never returned) tags: - account parameters: - name: sender_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" patch: x-mint: href: /v3/reference/account-senders-patch metadata: title: "Update a sender" sidebarTitle: "Update a sender" description: "Update safe sender settings (no credentials)" operationId: account.senders.patch summary: Update safe sender settings (no credentials) tags: - account parameters: - name: sender_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: display_name: type: string minLength: 1 maxLength: 120 signature_html: type: string maxLength: 20000 nullable: true send_as_email: type: string format: email nullable: true daily_limit: type: integer minimum: 1 maximum: 1000 timezone: type: string minLength: 1 base_gap_minutes: type: integer minimum: 0 maximum: 1440 random_gap_minutes: type: integer minimum: 0 maximum: 1440 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (SEND_AS_NOT_ALLOWED, SEND_AS_LOOKUP_FAILED, SEND_AS_MULTI_STEP_SEQUENCE) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" delete: x-mint: href: /v3/reference/account-senders-delete metadata: title: "Disconnect a sender" sidebarTitle: "Disconnect a sender" description: "Disconnect a sender (previews stops when sends are scheduled)" operationId: account.senders.delete summary: Disconnect a sender (previews stops when sends are scheduled) tags: - account parameters: - name: sender_id in: path required: true schema: type: string format: uuid - name: confirm in: query required: false schema: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/senders/{sender_id}/warmup/enable: post: x-mint: href: /v3/reference/account-senders-warmup-enable metadata: title: "Turn warmup on" sidebarTitle: "Turn warmup on" description: "Enable warmup for an email sender (feature-gated)" operationId: account.senders.warmup.enable summary: Enable warmup for an email sender (feature-gated) tags: - account parameters: - name: sender_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (WARMUP_UNAVAILABLE) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/senders/{sender_id}/warmup/disable: post: x-mint: href: /v3/reference/account-senders-warmup-disable metadata: title: "Turn warmup off" sidebarTitle: "Turn warmup off" description: "Disable warmup for an email sender" operationId: account.senders.warmup.disable summary: Disable warmup for an email sender tags: - account parameters: - name: sender_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (WARMUP_UNAVAILABLE) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/senders/imap: post: x-mint: href: /v3/reference/account-senders-imap-create metadata: title: "Connect an SMTP/IMAP mailbox" sidebarTitle: "Connect an SMTP/IMAP mailbox" description: "Connect a native SMTP/IMAP mailbox (write-only credentials)" operationId: account.senders.imap.create summary: Connect a native SMTP/IMAP mailbox (write-only credentials) tags: - account requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: email: type: string format: email first_name: type: string minLength: 1 maxLength: 80 last_name: type: string minLength: 1 maxLength: 80 timezone: type: string minLength: 1 smtp_host: type: string minLength: 1 smtp_port: type: integer minimum: 1 maximum: 65535 smtp_username: type: string minLength: 1 smtp_password: type: string minLength: 1 imap_host: type: string minLength: 1 imap_port: type: integer minimum: 1 maximum: 65535 imap_username: type: string minLength: 1 imap_password: type: string minLength: 1 required: - email - smtp_host - smtp_port - smtp_username - smtp_password - imap_host - imap_port - imap_username - imap_password responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (SMTP_AUTH_FAILED, IMAP_UNREACHABLE, HOST_NOT_ALLOWED, DUPLICATE_MAILBOX, ACCOUNT_LIMIT_REACHED) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/senders/connect: post: x-mint: href: /v3/reference/account-senders-connect metadata: title: "Connect via OAuth" sidebarTitle: "Connect via OAuth" description: "Get a connect-accounts handoff URL (OAuth never completes in-process)" operationId: account.senders.connect summary: Get a connect-accounts handoff URL (OAuth never completes in-process) tags: - account requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: channel: type: string enum: - email - linkedin required: - channel responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/senders/{sender_id}/reconnect: post: x-mint: href: /v3/reference/account-senders-reconnect metadata: title: "Reconnect a sender" sidebarTitle: "Reconnect a sender" description: "Reconnect a needs_reauth sender (handoff, or IMAP re-submit instruction)" operationId: account.senders.reconnect summary: Reconnect a needs_reauth sender (handoff, or IMAP re-submit instruction) tags: - account parameters: - name: sender_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (IMAP_REAUTH_REQUIRED) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/senders/{sender_id}/send-as-aliases: get: x-mint: href: /v3/reference/account-senders-send-as-aliases-list metadata: title: "List send-as aliases" sidebarTitle: "List send-as aliases" description: "List verified send-as aliases (empty for IMAP/LinkedIn senders)" operationId: account.senders.send_as_aliases.list summary: List verified send-as aliases (empty for IMAP/LinkedIn senders) tags: - account parameters: - name: sender_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (SEND_AS_LOOKUP_FAILED) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/domains/search: post: x-mint: href: /v3/reference/account-domains-search metadata: title: "Search for domains" sidebarTitle: "Search for domains" description: "Search available domains with prices (never charges)" operationId: account.domains.search summary: Search available domains with prices (never charges) tags: - account requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: query: type: string minLength: 1 maxLength: 120 required: - query responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/domains: get: x-mint: href: /v3/reference/account-domains-list metadata: title: "List your domains" sidebarTitle: "List your domains" description: "List owned DFY domains" operationId: account.domains.list summary: List owned DFY domains tags: - account parameters: - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/domains/{domain_id}: get: x-mint: href: /v3/reference/account-domains-get metadata: title: "Get a domain" sidebarTitle: "Get a domain" description: "Read one owned domain" operationId: account.domains.get summary: Read one owned domain tags: - account parameters: - name: domain_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/domains/purchase: post: x-mint: href: /v3/reference/account-domains-purchase metadata: title: "Buy domains" sidebarTitle: "Buy domains" description: "Purchase domains on the card on file (priced preview without confirm)" operationId: account.domains.purchase summary: Purchase domains on the card on file (priced preview without confirm) tags: - account parameters: - name: confirm in: query required: false schema: type: boolean requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: domains: type: array items: type: string minLength: 3 maxLength: 253 minItems: 1 maxItems: 20 forwarding_domain: type: string minLength: 3 maxLength: 253 timezone: type: string minLength: 1 metadata: type: object additionalProperties: type: string required: - domains responses: "202": description: Job admitted content: application/json: schema: $ref: "#/components/schemas/Job" "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "403": description: Requires an admin API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (NO_PAYMENT_METHOD) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/domains/{domain_id}/renewal/cancel: post: x-mint: href: /v3/reference/account-domains-renewal-cancel metadata: title: "Turn off auto-renewal" sidebarTitle: "Turn off auto-renewal" description: "Cancel auto-renewal for a domain" operationId: account.domains.renewal.cancel summary: Cancel auto-renewal for a domain tags: - account parameters: - name: domain_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "403": description: Requires an admin API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/domains/{domain_id}/renewal/undo: post: x-mint: href: /v3/reference/account-domains-renewal-undo metadata: title: "Turn auto-renewal back on" sidebarTitle: "Turn auto-renewal back on" description: "Undo a renewal cancellation" operationId: account.domains.renewal.undo summary: Undo a renewal cancellation tags: - account parameters: - name: domain_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "403": description: Requires an admin API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/domains/{domain_id}/forwarding: post: x-mint: href: /v3/reference/account-domains-forwarding-set metadata: title: "Set domain forwarding" sidebarTitle: "Set domain forwarding" description: "Set apex forwarding for an owned domain" operationId: account.domains.forwarding.set summary: Set apex forwarding for an owned domain tags: - account parameters: - name: domain_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: forwarding_domain: type: string minLength: 3 maxLength: 253 required: - forwarding_domain responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "403": description: Requires an admin API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/mailboxes: get: x-mint: href: /v3/reference/account-mailboxes-list metadata: title: "List mailboxes" sidebarTitle: "List mailboxes" description: "List DFY mailboxes (no passwords)" operationId: account.mailboxes.list summary: List DFY mailboxes (no passwords) tags: - account parameters: - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" post: x-mint: href: /v3/reference/account-mailboxes-provision metadata: title: "Create mailboxes" sidebarTitle: "Create mailboxes" description: "Provision mailboxes on owned domains (always async)" operationId: account.mailboxes.provision summary: Provision mailboxes on owned domains (always async) tags: - account requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: mailboxes: type: array items: type: object properties: domain_id: type: string format: uuid local_part: type: string minLength: 1 maxLength: 64 first_name: type: string minLength: 1 maxLength: 80 last_name: type: string minLength: 1 maxLength: 80 required: - domain_id - local_part - first_name - last_name additionalProperties: false minItems: 1 maxItems: 50 metadata: type: object additionalProperties: type: string required: - mailboxes responses: "202": description: Job admitted content: application/json: schema: $ref: "#/components/schemas/Job" "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "403": description: Requires an admin API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/exclusion-lists: get: x-mint: href: /v3/reference/account-exclusion-lists-get metadata: title: "Get exclusion settings" sidebarTitle: "Get exclusion settings" description: "Read the effective exclusion-list source and entry counts" operationId: account.exclusion_lists.get summary: Read the effective exclusion-list source and entry counts tags: - account responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" patch: x-mint: href: /v3/reference/account-exclusion-lists-patch metadata: title: "Switch exclusion source" sidebarTitle: "Switch exclusion source" description: "Switch a project between the shared org list and its private list" operationId: account.exclusion_lists.patch summary: Switch a project between the shared org list and its private list tags: - account requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: source: type: string enum: - organization - project required: - source responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "403": description: Requires an admin API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/exclusion-lists/people: get: x-mint: href: /v3/reference/account-exclusion-lists-people-list metadata: title: "List excluded people" sidebarTitle: "List excluded people" description: "List people exclusion entries, filterable by identifier" operationId: account.exclusion_lists.people.list summary: List people exclusion entries, filterable by identifier tags: - account parameters: - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 - name: email in: query required: false schema: type: string format: email - name: linkedin_slug in: query required: false schema: type: string minLength: 1 - name: company_domain in: query required: false schema: type: string minLength: 1 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" post: x-mint: href: /v3/reference/account-exclusion-lists-people-add metadata: title: "Exclude people" sidebarTitle: "Exclude people" description: "Add people entries (single or bulk \u22641,000; idempotent upsert)" operationId: account.exclusion_lists.people.add summary: Add people entries (single or bulk ≤1,000; idempotent upsert) tags: - account requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: linkedin_slug: type: string minLength: 1 maxLength: 200 full_name: type: string minLength: 1 maxLength: 200 email: type: string format: email company_domain: type: string minLength: 1 maxLength: 253 company_name: type: string minLength: 1 maxLength: 200 entries: type: array items: type: object properties: linkedin_slug: type: string minLength: 1 maxLength: 200 full_name: type: string minLength: 1 maxLength: 200 email: type: string format: email company_domain: type: string minLength: 1 maxLength: 253 company_name: type: string minLength: 1 maxLength: 200 additionalProperties: false minItems: 1 maxItems: 1000 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (UNMATCHABLE_IDENTIFIER) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" delete: x-mint: href: /v3/reference/account-exclusion-lists-people-clear metadata: title: "Clear excluded people" sidebarTitle: "Clear excluded people" description: "Clear the people exclusion list" operationId: account.exclusion_lists.people.clear summary: Clear the people exclusion list tags: - account parameters: - name: confirm in: query required: false schema: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/exclusion-lists/people/{entry_id}: delete: x-mint: href: /v3/reference/account-exclusion-lists-people-delete metadata: title: "Un-exclude one person" sidebarTitle: "Un-exclude one person" description: "Remove one people exclusion entry" operationId: account.exclusion_lists.people.delete summary: Remove one people exclusion entry tags: - account parameters: - name: entry_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/exclusion-lists/companies: get: x-mint: href: /v3/reference/account-exclusion-lists-companies-list metadata: title: "List excluded companies" sidebarTitle: "List excluded companies" description: "List company exclusion entries, filterable by identifier" operationId: account.exclusion_lists.companies.list summary: List company exclusion entries, filterable by identifier tags: - account parameters: - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 - name: company_domain in: query required: false schema: type: string minLength: 1 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" post: x-mint: href: /v3/reference/account-exclusion-lists-companies-add metadata: title: "Exclude companies" sidebarTitle: "Exclude companies" description: "Add company entries (single or bulk \u22641,000; idempotent upsert)" operationId: account.exclusion_lists.companies.add summary: Add company entries (single or bulk ≤1,000; idempotent upsert) tags: - account requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: company_domain: type: string minLength: 1 maxLength: 253 company_name: type: string minLength: 1 maxLength: 200 entries: type: array items: type: object properties: company_domain: type: string minLength: 1 maxLength: 253 company_name: type: string minLength: 1 maxLength: 200 additionalProperties: false minItems: 1 maxItems: 1000 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (UNMATCHABLE_IDENTIFIER) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" delete: x-mint: href: /v3/reference/account-exclusion-lists-companies-clear metadata: title: "Clear excluded companies" sidebarTitle: "Clear excluded companies" description: "Clear the company exclusion list" operationId: account.exclusion_lists.companies.clear summary: Clear the company exclusion list tags: - account parameters: - name: confirm in: query required: false schema: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/exclusion-lists/companies/{entry_id}: delete: x-mint: href: /v3/reference/account-exclusion-lists-companies-delete metadata: title: "Un-exclude one company" sidebarTitle: "Un-exclude one company" description: "Remove one company exclusion entry" operationId: account.exclusion_lists.companies.delete summary: Remove one company exclusion entry tags: - account parameters: - name: entry_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/webhooks: get: x-mint: href: /v3/reference/account-webhooks-list metadata: title: "List endpoints" sidebarTitle: "List endpoints" description: "List webhook endpoints" operationId: account.webhooks.list summary: List webhook endpoints tags: - account parameters: - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" post: x-mint: href: /v3/reference/account-webhooks-create metadata: title: "Create an endpoint" sidebarTitle: "Create an endpoint" description: "Create a webhook endpoint (secret shown once)" operationId: account.webhooks.create summary: Create a webhook endpoint (secret shown once) tags: - account requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: url: type: string format: uri event_types: type: array items: type: string minLength: 1 minItems: 1 maxItems: 50 name: type: string minLength: 1 maxLength: 120 required: - url - event_types responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "403": description: Requires an admin API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (WEBHOOK_LIMIT_REACHED) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/webhooks/{webhook_id}: get: x-mint: href: /v3/reference/account-webhooks-get metadata: title: "Get an endpoint" sidebarTitle: "Get an endpoint" description: "Read one webhook endpoint" operationId: account.webhooks.get summary: Read one webhook endpoint tags: - account parameters: - name: webhook_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" patch: x-mint: href: /v3/reference/account-webhooks-patch metadata: title: "Update an endpoint" sidebarTitle: "Update an endpoint" description: "Update a webhook endpoint's url, events, or enabled state" operationId: account.webhooks.patch summary: Update a webhook endpoint's url, events, or enabled state tags: - account parameters: - name: webhook_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: url: type: string format: uri event_types: type: array items: type: string minLength: 1 minItems: 1 maxItems: 50 name: type: string minLength: 1 maxLength: 120 enabled: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "403": description: Requires an admin API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" delete: x-mint: href: /v3/reference/account-webhooks-delete metadata: title: "Delete an endpoint" sidebarTitle: "Delete an endpoint" description: "Delete a webhook endpoint" operationId: account.webhooks.delete summary: Delete a webhook endpoint tags: - account parameters: - name: webhook_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "403": description: Requires an admin API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/webhooks/{webhook_id}/rotate: post: x-mint: href: /v3/reference/account-webhooks-rotate metadata: title: "Rotate the signing secret" sidebarTitle: "Rotate the signing secret" description: "Rotate an endpoint's signing secret (new secret shown once)" operationId: account.webhooks.rotate summary: Rotate an endpoint's signing secret (new secret shown once) tags: - account parameters: - name: webhook_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "403": description: Requires an admin API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/webhooks/{webhook_id}/test: post: x-mint: href: /v3/reference/account-webhooks-test metadata: title: "Send a test event" sidebarTitle: "Send a test event" description: "Send a webhook.test event to an endpoint" operationId: account.webhooks.test summary: Send a webhook.test event to an endpoint tags: - account parameters: - name: webhook_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "403": description: Requires an admin API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/keys: get: x-mint: href: /v3/reference/account-keys-list metadata: title: "List API keys" sidebarTitle: "List API keys" description: "List API keys (names, suffix, role \u2014 never secrets)" operationId: account.keys.list summary: List API keys (names, suffix, role — never secrets) tags: - account parameters: - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" post: x-mint: href: /v3/reference/account-keys-create metadata: title: "Create an API key" sidebarTitle: "Create an API key" description: "Create an API key (secret shown once; role \u2264 creator's role)" operationId: account.keys.create summary: Create an API key (secret shown once; role ≤ creator's role) tags: - account requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: name: type: string minLength: 1 maxLength: 120 role: type: string enum: - admin - member project_id: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "403": description: Requires an admin API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /account/keys/{key_id}: delete: x-mint: href: /v3/reference/account-keys-revoke metadata: title: "Revoke an API key" sidebarTitle: "Revoke an API key" description: "Revoke an API key" operationId: account.keys.revoke summary: Revoke an API key tags: - account parameters: - name: key_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "403": description: Requires an admin API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists: get: x-mint: href: /v3/reference/leads-lists-list metadata: title: "List your lists" sidebarTitle: "List your lists" description: "List lead lists (exact case-insensitive name filter)" operationId: leads.lists.list summary: List lead lists (exact case-insensitive name filter) tags: - leads parameters: - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 - name: name in: query required: false schema: type: string minLength: 1 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" post: x-mint: href: /v3/reference/leads-lists-create metadata: title: "Create an empty list" sidebarTitle: "Create an empty list" description: "Create an empty list (no search, no rows, no agent)" operationId: leads.lists.create summary: Create an empty list (no search, no rows, no agent) tags: - leads requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: name: type: string minLength: 1 maxLength: 200 required: - name responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists/{list_id}: get: x-mint: href: /v3/reference/leads-lists-get metadata: title: "Get a list" sidebarTitle: "Get a list" description: "Read one list with columns and searches" operationId: leads.lists.get summary: Read one list with columns and searches tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" patch: x-mint: href: /v3/reference/leads-lists-patch metadata: title: "Rename a list" sidebarTitle: "Rename a list" description: "Rename a list" operationId: leads.lists.patch summary: Rename a list tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: name: type: string minLength: 1 maxLength: 200 required: - name responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" delete: x-mint: href: /v3/reference/leads-lists-delete metadata: title: "Delete a list" sidebarTitle: "Delete a list" description: "Delete a list (previews without confirm; cancels its active Jobs)" operationId: leads.lists.delete summary: Delete a list (previews without confirm; cancels its active Jobs) tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid - name: confirm in: query required: false schema: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists/{list_id}/stats: get: x-mint: href: /v3/reference/leads-lists-stats-get metadata: title: "List stats" sidebarTitle: "List stats" description: "Read the list's sourcing/qualification funnel and credit economics" operationId: leads.lists.stats.get summary: Read the list's sourcing/qualification funnel and credit economics tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists/{list_id}/fetch: post: x-mint: href: /v3/reference/leads-lists-fetch metadata: title: "Find leads for a list" sidebarTitle: "Find leads for a list" description: "Fetch leads into this list from a brief (AGENT; compact list context)" operationId: leads.lists.fetch summary: Fetch leads into this list from a brief (AGENT; compact list context) tags: - leads description: "AGENT-tagged: may run the in-app agent under the hood." parameters: - name: list_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: brief: type: string minLength: 1 maxLength: 10000 count: type: integer minimum: 1 maximum: 1000 quality: type: string enum: - fast - accurate exclude_list_ids: type: array items: type: string format: uuid minItems: 1 maxItems: 20 metadata: type: object additionalProperties: type: string required: - brief responses: "202": description: Job admitted content: application/json: schema: $ref: "#/components/schemas/Job" "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists/{list_id}/fetch-more: post: x-mint: href: /v3/reference/leads-lists-fetch-more metadata: title: "Find more leads" sidebarTitle: "Find more leads" description: "Fetch more from the list's single active search (alias of searches fetch-more)" operationId: leads.lists.fetch_more summary: Fetch more from the list's single active search (alias of searches fetch-more) tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: count: type: integer minimum: 1 maximum: 1000 exclude_list_ids: type: array items: type: string format: uuid minItems: 1 maxItems: 20 metadata: type: object additionalProperties: type: string responses: "202": description: Job admitted content: application/json: schema: $ref: "#/components/schemas/Job" "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (SEARCH_AMBIGUOUS, SEARCH_BUSY) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists/{list_id}/enrich: post: x-mint: href: /v3/reference/leads-lists-enrich metadata: title: "Enrich existing columns" sidebarTitle: "Enrich existing columns" description: "Enrich named code columns (or all auto-trigger columns)" operationId: leads.lists.enrich summary: Enrich named code columns (or all auto-trigger columns) tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: column_slugs: type: array items: type: string minLength: 1 minItems: 1 maxItems: 50 row_ids: type: array items: type: string format: uuid minItems: 1 maxItems: 1000 reenrich: type: boolean metadata: type: object additionalProperties: type: string responses: "202": description: Job admitted content: application/json: schema: $ref: "#/components/schemas/Job" "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (UNKNOWN_COLUMN) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists/{list_id}/enrich_custom: post: x-mint: href: /v3/reference/leads-lists-enrich-custom metadata: title: "Enrich from instructions" sidebarTitle: "Enrich from instructions" description: "Add or fill a column from instructions (AGENT)" operationId: leads.lists.enrich_custom summary: Add or fill a column from instructions (AGENT) tags: - leads description: "AGENT-tagged: may run the in-app agent under the hood." parameters: - name: list_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: instructions: type: string minLength: 1 maxLength: 10000 row_ids: type: array items: type: string format: uuid minItems: 1 maxItems: 1000 metadata: type: object additionalProperties: type: string required: - instructions responses: "202": description: Job admitted content: application/json: schema: $ref: "#/components/schemas/Job" "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists/{list_id}/columns: post: x-mint: href: /v3/reference/leads-lists-columns-create metadata: title: "Add a column" sidebarTitle: "Add a column" description: "Add a column (static or score; code columns are copy-only)" operationId: leads.lists.columns.create summary: Add a column (static or score; code columns are copy-only) tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: name: type: string minLength: 1 maxLength: 200 type: type: string enum: - static - score required: - name - type responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (SCORE_COLUMN_EXISTS) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists/{list_id}/columns/copy: post: x-mint: href: /v3/reference/leads-lists-columns-copy metadata: title: "Copy a column" sidebarTitle: "Copy a column" description: "Copy a column from another list in scope (the only way to get a code column)" operationId: leads.lists.columns.copy summary: Copy a column from another list in scope (the only way to get a code column) tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: source_list_id: type: string format: uuid source_column_id: type: string format: uuid name: type: string minLength: 1 maxLength: 200 required: - source_list_id - source_column_id responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (UNKNOWN_COLUMN, SCORE_COLUMN_EXISTS, MISSING_DEPENDENCY_COLUMNS, SAME_LIST_COPY) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists/{list_id}/columns/{column_id}: patch: x-mint: href: /v3/reference/leads-lists-columns-patch metadata: title: "Update a column" sidebarTitle: "Update a column" description: "Patch a column's name, is_active, or relevance_weight" operationId: leads.lists.columns.patch summary: Patch a column's name, is_active, or relevance_weight tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid - name: column_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: name: type: string minLength: 1 maxLength: 200 is_active: type: boolean relevance_weight: type: string enum: - very_low - low - medium - high - very_high - required responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (UNKNOWN_COLUMN, NO_RELEVANCE_CONDITION) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" delete: x-mint: href: /v3/reference/leads-lists-columns-delete metadata: title: "Delete a column" sidebarTitle: "Delete a column" description: "Delete a column (409 while other columns depend on it)" operationId: leads.lists.columns.delete summary: Delete a column (409 while other columns depend on it) tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid - name: column_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (UNKNOWN_COLUMN, COLUMN_HAS_DEPENDENTS) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists/{list_id}/rows: get: x-mint: href: /v3/reference/leads-lists-rows-list metadata: title: "Read rows" sidebarTitle: "Read rows" description: "Page rows with status fields, score filter, sort, and CSV export" operationId: leads.lists.rows.list summary: Page rows with status fields, score filter, sort, and CSV export tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 - name: ids in: query required: false schema: type: array items: type: string format: uuid minItems: 1 maxItems: 100 - name: min_relevance_score in: query required: false schema: type: number minimum: 0 maximum: 100 - name: sort in: query required: false schema: type: string enum: - relevance_score - created_at - name: order in: query required: false schema: type: string enum: - asc - desc - name: include_duplicates in: query required: false schema: type: boolean - name: include_excluded in: query required: false schema: type: boolean - name: include_disapproved in: query required: false schema: type: boolean - name: format in: query required: false schema: type: string enum: - csv responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists/{list_id}/rows/{row_id}: get: x-mint: href: /v3/reference/leads-lists-rows-get metadata: title: "Read one row" sidebarTitle: "Read one row" description: "Read one row (hidden rows return directly with status flags)" operationId: leads.lists.rows.get summary: Read one row (hidden rows return directly with status flags) tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid - name: row_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists/{list_id}/rows/upsert: post: x-mint: href: /v3/reference/leads-lists-rows-upsert metadata: title: "Add or update rows" sidebarTitle: "Add or update rows" description: "Upsert rows by match columns. Sync, and embeds an enrichment job when enrich is true." operationId: leads.lists.rows.upsert summary: "Upsert rows by match columns. Sync, and embeds an enrichment job when enrich is true." tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: rows: type: array items: type: object additionalProperties: {} minItems: 1 maxItems: 100 match_columns: type: array items: type: string minLength: 1 minItems: 1 maxItems: 10 batch_id: type: string format: uuid enrich: type: boolean reenrich_updated: type: boolean metadata: type: object additionalProperties: type: string required: - rows - match_columns responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (UNKNOWN_FIELDS, NON_INPUT_COLUMNS, MISSING_MATCH_VALUE, UNKNOWN_COLUMN, DUPLICATE_MATCH_KEY, ROW_LIMIT_EXCEEDED, AMBIGUOUS_MATCH, BATCH_TABLE_MISMATCH, BATCH_TYPE_MISMATCH) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists/{list_id}/rows/delete: post: x-mint: href: /v3/reference/leads-lists-rows-delete metadata: title: "Delete rows" sidebarTitle: "Delete rows" description: "Bulk-delete rows (\u22641,000; all rows when omitted; previews without confirm)" operationId: leads.lists.rows.delete summary: Bulk-delete rows (≤1,000; all rows when omitted; previews without confirm) tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid - name: confirm in: query required: false schema: type: boolean requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: row_ids: type: array items: type: string format: uuid minItems: 1 maxItems: 1000 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/lists/{list_id}/rows/{row_id}/cells/{column_id}: get: x-mint: href: /v3/reference/leads-lists-rows-cells-get metadata: title: "Read one cell" sidebarTitle: "Read one cell" description: "Read one cell (column id, not slug)" operationId: leads.lists.rows.cells.get summary: Read one cell (column id, not slug) tags: - leads parameters: - name: list_id in: path required: true schema: type: string format: uuid - name: row_id in: path required: true schema: type: string format: uuid - name: column_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (UNKNOWN_COLUMN) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/searches/{search_id}: get: x-mint: href: /v3/reference/leads-searches-get metadata: title: "Get a search" sidebarTitle: "Get a search" description: "Read a search with pool depth (remaining_count, has_more, tam_known)" operationId: leads.searches.get summary: Read a search with pool depth (remaining_count, has_more, tam_known) tags: - leads parameters: - name: search_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/searches: post: x-mint: href: /v3/reference/leads-searches-create metadata: title: "Search for leads" sidebarTitle: "Search for leads" description: "One-shot search from a brief. Creates a list, runs the search, and returns the first page." operationId: leads.searches.create summary: "One-shot search from a brief. Creates a list, runs the search, and returns the first page." tags: - leads description: "AGENT-tagged: may run the in-app agent under the hood." requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: brief: type: string minLength: 1 maxLength: 10000 count: type: integer minimum: 1 maximum: 1000 quality: type: string enum: - fast - accurate exclude_list_ids: type: array items: type: string format: uuid minItems: 1 maxItems: 20 metadata: type: object additionalProperties: type: string required: - brief responses: "202": description: Job admitted content: application/json: schema: $ref: "#/components/schemas/Job" "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /leads/searches/{search_id}/fetch-more: post: x-mint: href: /v3/reference/leads-searches-fetch-more metadata: title: "Fetch more results" sidebarTitle: "Fetch more results" description: "Fetch more from this search (same criteria, list, and columns)" operationId: leads.searches.fetch_more summary: Fetch more from this search (same criteria, list, and columns) tags: - leads parameters: - name: search_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: count: type: integer minimum: 1 maximum: 1000 exclude_list_ids: type: array items: type: string format: uuid minItems: 1 maxItems: 20 metadata: type: object additionalProperties: type: string responses: "202": description: Job admitted content: application/json: schema: $ref: "#/components/schemas/Job" "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (SEARCH_BUSY) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns: get: x-mint: href: /v3/reference/send-campaigns-list metadata: title: "List campaigns" sidebarTitle: "List campaigns" description: "List campaigns (status and exact name filters)" operationId: send.campaigns.list summary: List campaigns (status and exact name filters) tags: - send parameters: - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query required: false schema: type: string enum: - draft - active - paused - name: name in: query required: false schema: type: string minLength: 1 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" post: x-mint: href: /v3/reference/send-campaigns-create metadata: title: "Create a campaign" sidebarTitle: "Create a campaign" description: "Create a blank draft campaign (no steps, people, or template required)" operationId: send.campaigns.create summary: Create a blank draft campaign (no steps, people, or template required) tags: - send requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: name: type: string minLength: 1 maxLength: 200 channels: type: array items: type: string enum: - email - linkedin minItems: 1 maxItems: 2 auto_lead_refill_enabled: type: boolean required: - name - channels responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}: get: x-mint: href: /v3/reference/send-campaigns-get metadata: title: "Get a campaign" sidebarTitle: "Get a campaign" description: "Read one campaign, including schema, template, people, and settings." operationId: send.campaigns.get summary: "Read one campaign, including schema, template, people, and settings." tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" delete: x-mint: href: /v3/reference/send-campaigns-delete metadata: title: "Delete a campaign" sidebarTitle: "Delete a campaign" description: "Delete a campaign (previews without confirm; cancels its Jobs)" operationId: send.campaigns.delete summary: Delete a campaign (previews without confirm; cancels its Jobs) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: confirm in: query required: false schema: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/stats: get: x-mint: href: /v3/reference/send-campaigns-stats-get metadata: title: "Campaign stats" sidebarTitle: "Campaign stats" description: "Read campaign counts and rates (per-variant stats deferred)" operationId: send.campaigns.stats.get summary: Read campaign counts and rates (per-variant stats deferred) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/draft: post: x-mint: href: /v3/reference/send-campaigns-draft metadata: title: "Draft from a brief" sidebarTitle: "Draft from a brief" description: "Fill schema and templates from a brief. Never launches." operationId: send.campaigns.draft summary: "Fill schema and templates from a brief. Never launches." tags: - send description: "AGENT-tagged: may run the in-app agent under the hood." requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: brief: type: string minLength: 1 maxLength: 10000 channels: type: array items: type: string enum: - email - linkedin minItems: 1 maxItems: 2 list_id: type: string format: uuid metadata: type: object additionalProperties: type: string required: - brief responses: "202": description: Job admitted content: application/json: schema: $ref: "#/components/schemas/Job" "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/launch: post: x-mint: href: /v3/reference/send-campaigns-launch metadata: title: "Launch a campaign" sidebarTitle: "Launch a campaign" description: "Launch a draft (or resume a paused) campaign; dry_run reports the same gates" operationId: send.campaigns.launch summary: Launch a draft (or resume a paused) campaign; dry_run reports the same gates tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: dry_run: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (ACCOUNT_CONNECTION_REQUIRED, ACCOUNT_RECONNECT_REQUIRED, NO_STEPS, NO_PEOPLE, OUT_OF_LEADS, ALL_VARIANTS_PAUSED) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/pause: post: x-mint: href: /v3/reference/send-campaigns-pause metadata: title: "Pause a campaign" sidebarTitle: "Pause a campaign" description: "Pause an active campaign (idempotent)" operationId: send.campaigns.pause summary: Pause an active campaign (idempotent) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/resume: post: x-mint: href: /v3/reference/send-campaigns-resume metadata: title: "Resume a campaign" sidebarTitle: "Resume a campaign" description: "Resume a paused campaign (same transition as launch on paused)" operationId: send.campaigns.resume summary: Resume a paused campaign (same transition as launch on paused) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (ACCOUNT_CONNECTION_REQUIRED, ACCOUNT_RECONNECT_REQUIRED, NO_STEPS, NO_PEOPLE, OUT_OF_LEADS, ALL_VARIANTS_PAUSED) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/settings: get: x-mint: href: /v3/reference/send-campaigns-settings-get metadata: title: "Get settings" sidebarTitle: "Get settings" description: "Read campaign settings" operationId: send.campaigns.settings.get summary: Read campaign settings tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" patch: x-mint: href: /v3/reference/send-campaigns-settings-patch metadata: title: "Update settings" sidebarTitle: "Update settings" description: "Patch settings (legal in every status; omitted fields unchanged)" operationId: send.campaigns.settings.patch summary: Patch settings (legal in every status; omitted fields unchanged) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: name: type: string minLength: 1 maxLength: 200 channels: type: array items: type: string enum: - email - linkedin minItems: 1 maxItems: 2 send_window: type: object properties: start_hour: type: integer minimum: 0 maximum: 23 end_hour: type: integer minimum: 0 maximum: 23 days: type: array items: type: integer minimum: 0 maximum: 6 minItems: 1 maxItems: 7 required: - start_hour - end_hour - days additionalProperties: false description: start_hour is inclusive, end_hour exclusive (0 = end of day); cross-midnight windows (start_hour > end_hour) are legal nullable: true block_active_duplicates: type: boolean block_prior_contacts: type: boolean auto_lead_refill_enabled: type: boolean auto_lead_refill_budget_credits: type: integer minimum: 0 nullable: true require_message_approval: type: boolean allow_excluded_recipients: type: boolean block_already_connected: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/senders: get: x-mint: href: /v3/reference/send-campaigns-senders-list metadata: title: "List campaign senders" sidebarTitle: "List campaign senders" description: "Read the campaign sender pool plus available org senders" operationId: send.campaigns.senders.list summary: Read the campaign sender pool plus available org senders tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" post: x-mint: href: /v3/reference/send-campaigns-senders-add metadata: title: "Add a sender" sidebarTitle: "Add a sender" description: "Add an org sender to the campaign pool" operationId: send.campaigns.senders.add summary: Add an org sender to the campaign pool tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: sender_id: type: string format: uuid required: - sender_id responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (ACCOUNT_CONNECTION_REQUIRED) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/senders/{sender_id}: delete: x-mint: href: /v3/reference/send-campaigns-senders-remove metadata: title: "Remove a sender" sidebarTitle: "Remove a sender" description: "Remove a pool sender (previews affected_people without confirm)" operationId: send.campaigns.senders.remove summary: Remove a pool sender (previews affected_people without confirm) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: sender_id in: path required: true schema: type: string format: uuid - name: confirm in: query required: false schema: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (LAST_SENDER_FOR_CHANNEL) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/people/schema: get: x-mint: href: /v3/reference/send-campaigns-people-schema-get metadata: title: "Get the person fields" sidebarTitle: "Get the person fields" description: "Read the campaign's People-tab columns (person_schema)" operationId: send.campaigns.people.schema.get summary: Read the campaign's People-tab columns (person_schema) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" put: x-mint: href: /v3/reference/send-campaigns-people-schema-put metadata: title: "Set the person fields" sidebarTitle: "Set the person fields" description: "Replace the person schema. An empty fields list means identity-only." operationId: send.campaigns.people.schema.put summary: "Replace the person schema. An empty fields list means identity-only." tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: fields: type: array items: type: object properties: key: type: string minLength: 1 maxLength: 80 description: type: string minLength: 1 maxLength: 500 required: type: boolean required: - key - description - required additionalProperties: false maxItems: 40 required: - fields responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/people: post: x-mint: href: /v3/reference/send-campaigns-people-upsert metadata: title: "Enroll people" sidebarTitle: "Enroll people" description: "Enroll or update people (sync; from a list or inline; \u22641,000/call)" operationId: send.campaigns.people.upsert summary: Enroll or update people (sync; from a list or inline; ≤1,000/call) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: list_id: type: string format: uuid row_ids: type: array items: type: string format: uuid minItems: 1 maxItems: 1000 people: type: array items: type: object properties: name: type: string maxLength: 200 email: type: string format: email title: type: string maxLength: 200 company: type: string maxLength: 200 linkedin_url: type: string format: uri website_url: type: string format: uri picture_url: type: string format: uri why_this_person: type: string minLength: 1 maxLength: 2000 context: type: object additionalProperties: type: string posts: type: array items: type: object properties: social_id: type: string minLength: 1 maxLength: 200 text: type: string maxLength: 20000 url: type: string maxLength: 2000 posted_at: anyOf: - type: string - type: number platform: type: string enum: - linkedin image_url: type: string maxLength: 2000 is_reshare: type: boolean required: - social_id additionalProperties: false maxItems: 20 required: - why_this_person additionalProperties: false minItems: 1 maxItems: 1000 mapping: type: object properties: identity: type: object additionalProperties: type: string context: type: object additionalProperties: type: string why_this_person: type: string minLength: 1 additionalProperties: false default_why_this_person: type: string minLength: 1 maxLength: 2000 min_relevance_score: type: number minimum: 0 maximum: 100 override_duplicate_send: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (PERSON_SCHEMA_REQUIRED, MAPPING_UNRESOLVED, UNKNOWN_COLUMN, OVERRIDE_REQUIRES_SINGLE_PERSON) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" get: x-mint: href: /v3/reference/send-campaigns-people-list metadata: title: "List enrolled people" sidebarTitle: "List enrolled people" description: "Page enrolled people (status filter includes bounced and unsubscribed)" operationId: send.campaigns.people.list summary: Page enrolled people (status filter includes bounced and unsubscribed) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 - name: status in: query required: false schema: type: string minLength: 1 - name: search in: query required: false schema: type: string minLength: 1 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/people/{sequence_id}: get: x-mint: href: /v3/reference/send-campaigns-people-get metadata: title: "Get one person" sidebarTitle: "Get one person" description: "Read one person's sequence, including identity, per-step state, and sent copy." operationId: send.campaigns.people.get summary: "Read one person's sequence, including identity, per-step state, and sent copy." tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: sequence_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" delete: x-mint: href: /v3/reference/send-campaigns-people-delete metadata: title: "Delete a person" sidebarTitle: "Delete a person" description: "Delete a person (re-opens dedup; force required after sends)" operationId: send.campaigns.people.delete summary: Delete a person (re-opens dedup; force required after sends) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: sequence_id in: path required: true schema: type: string format: uuid - name: force in: query required: false schema: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (SEQUENCE_HAS_SENT_MESSAGES) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/people/{sequence_id}/contact: patch: x-mint: href: /v3/reference/send-campaigns-people-contact-patch metadata: title: "Update contact details" sidebarTitle: "Update contact details" description: "Patch contact info (identity pre-start only; timezone any time)" operationId: send.campaigns.people.contact.patch summary: Patch contact info (identity pre-start only; timezone any time) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: sequence_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: email: type: string format: email nullable: true linkedin_url: type: string format: uri nullable: true website_url: type: string format: uri nullable: true picture_url: type: string format: uri nullable: true timezone: type: string minLength: 1 nullable: true responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (SEQUENCE_ALREADY_STARTED, DUPLICATE_IN_CAMPAIGN, DUPLICATE_CROSS_CAMPAIGN) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/people/{sequence_id}/steps/{step_index}: patch: x-mint: href: /v3/reference/send-campaigns-people-steps-patch metadata: title: "Edit one message" sidebarTitle: "Edit one message" description: "Edit one person's rendered copy for a not-yet-sent step" operationId: send.campaigns.people.steps.patch summary: Edit one person's rendered copy for a not-yet-sent step tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: sequence_id in: path required: true schema: type: string format: uuid - name: step_index in: path required: true schema: type: integer minimum: 0 maximum: 30 requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: subject: type: string maxLength: 300 body: type: string maxLength: 20000 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (STEP_ALREADY_SENT) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/people/{sequence_id}/remove: post: x-mint: href: /v3/reference/send-campaigns-people-remove metadata: title: "Cancel a sequence" sidebarTitle: "Cancel a sequence" description: "Cancel a sequence; the person stays in the campaign's dedup set" operationId: send.campaigns.people.remove summary: Cancel a sequence; the person stays in the campaign's dedup set tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: sequence_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: dry_run: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/people/{sequence_id}/stop: post: x-mint: href: /v3/reference/send-campaigns-people-stop metadata: title: "Stop a sequence" sidebarTitle: "Stop a sequence" description: "Stop future steps, preserving history" operationId: send.campaigns.people.stop summary: Stop future steps, preserving history tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: sequence_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: dry_run: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/people/remove: post: x-mint: href: /v3/reference/send-campaigns-people-remove-bulk metadata: title: "Cancel sequences in bulk" sidebarTitle: "Cancel sequences in bulk" description: "Bulk remove sequences (\u22641,000; per-id outcomes)" operationId: send.campaigns.people.remove_bulk summary: Bulk remove sequences (≤1,000; per-id outcomes) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: sequence_ids: type: array items: type: string format: uuid minItems: 1 maxItems: 1000 dry_run: type: boolean required: - sequence_ids responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/people/{sequence_id}/revert: post: x-mint: href: /v3/reference/send-campaigns-people-revert metadata: title: "Undo edits to a person" sidebarTitle: "Undo edits to a person" description: "Discard person-level edits and re-render from the current template" operationId: send.campaigns.people.revert summary: Discard person-level edits and re-render from the current template tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: sequence_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (NOT_REVERTABLE) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/people/{sequence_id}/sender: post: x-mint: href: /v3/reference/send-campaigns-people-sender-pin metadata: title: "Pin a sender to a person" sidebarTitle: "Pin a sender to a person" description: "Pin a pool sender to one person (optionally per channel)" operationId: send.campaigns.people.sender.pin summary: Pin a pool sender to one person (optionally per channel) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: sequence_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: sender_id: type: string format: uuid channel: type: string enum: - email - linkedin required: - sender_id responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (PERSONA_NOT_IN_POOL, PERSONA_MISSING_CHANNEL, CHANNEL_ALREADY_STARTED) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" delete: x-mint: href: /v3/reference/send-campaigns-people-sender-unpin metadata: title: "Unpin a person's sender" sidebarTitle: "Unpin a person's sender" description: "Unpin a person's sender (optionally per channel)" operationId: send.campaigns.people.sender.unpin summary: Unpin a person's sender (optionally per channel) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: sequence_id in: path required: true schema: type: string format: uuid - name: channel in: query required: false schema: type: string enum: - email - linkedin responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (CHANNEL_ALREADY_STARTED) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/templates: get: x-mint: href: /v3/reference/send-campaigns-templates-get metadata: title: "Get the template" sidebarTitle: "Get the template" description: "Read the campaign template (variant_key always present on reads)" operationId: send.campaigns.templates.get summary: Read the campaign template (variant_key always present on reads) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" put: x-mint: href: /v3/reference/send-campaigns-templates-put metadata: title: "Replace the template" sidebarTitle: "Replace the template" description: "Replace the whole template (existing variant keys kept, new ones minted)" operationId: send.campaigns.templates.put summary: Replace the whole template (existing variant keys kept, new ones minted) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: sequences: type: array items: type: object properties: variant_key: type: string pattern: ^[a-z0-9][a-z0-9-]{0,39}$ variant_name: type: string maxLength: 60 description: type: string maxLength: 2000 instructions: type: string maxLength: 4000 paused: type: boolean steps: type: array items: type: object properties: channel: type: string enum: - email - linkedin_message - linkedin_connect - linkedin_comment - linkedin_react - manual subject: type: string maxLength: 300 body: type: string maxLength: 20000 delay_days: type: integer minimum: 0 maximum: 30 personalized: type: array items: anyOf: - type: string minLength: 1 - type: object properties: text: type: string minLength: 1 name: type: string minLength: 1 maxLength: 80 instruction: type: string minLength: 1 maxLength: 1000 required: - text additionalProperties: false maxItems: 20 subject_personalized: type: array items: anyOf: - type: string minLength: 1 - type: object properties: text: type: string minLength: 1 name: type: string minLength: 1 maxLength: 80 instruction: type: string minLength: 1 maxLength: 1000 required: - text additionalProperties: false maxItems: 20 target_post: type: object properties: mode: type: string enum: - latest - alias - writer_pick alias: type: string pattern: ^post_[1-9][0-9]*$ required: - mode additionalProperties: false on_missing_post: type: string enum: - hold - skip reaction: type: string enum: - like - celebrate - support - love - insightful - funny reaction_mode: type: string enum: - fixed - match_post required: - channel - body - delay_days additionalProperties: false minItems: 1 maxItems: 15 required: - steps additionalProperties: false maxItems: 10 sign_off_phrase: type: string maxLength: 200 nullable: true required: - sequences responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (TEMPLATE_SPANS_INVALID) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" delete: x-mint: href: /v3/reference/send-campaigns-templates-clear metadata: title: "Clear the template" sidebarTitle: "Clear the template" description: "Clear the template to an empty sequences list." operationId: send.campaigns.templates.clear summary: "Clear the template to an empty sequences list." tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: confirm in: query required: false schema: type: boolean responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/templates/sequences: post: x-mint: href: /v3/reference/send-campaigns-templates-sequences-append metadata: title: "Add a variant" sidebarTitle: "Add a variant" description: "Append one template variant (fresh never-reused key)" operationId: send.campaigns.templates.sequences.append summary: Append one template variant (fresh never-reused key) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: variant_name: type: string maxLength: 60 description: type: string maxLength: 2000 instructions: type: string maxLength: 4000 paused: type: boolean steps: type: array items: type: object properties: channel: type: string enum: - email - linkedin_message - linkedin_connect - linkedin_comment - linkedin_react - manual subject: type: string maxLength: 300 body: type: string maxLength: 20000 delay_days: type: integer minimum: 0 maximum: 30 personalized: type: array items: anyOf: - type: string minLength: 1 - type: object properties: text: type: string minLength: 1 name: type: string minLength: 1 maxLength: 80 instruction: type: string minLength: 1 maxLength: 1000 required: - text additionalProperties: false maxItems: 20 subject_personalized: type: array items: anyOf: - type: string minLength: 1 - type: object properties: text: type: string minLength: 1 name: type: string minLength: 1 maxLength: 80 instruction: type: string minLength: 1 maxLength: 1000 required: - text additionalProperties: false maxItems: 20 target_post: type: object properties: mode: type: string enum: - latest - alias - writer_pick alias: type: string pattern: ^post_[1-9][0-9]*$ required: - mode additionalProperties: false on_missing_post: type: string enum: - hold - skip reaction: type: string enum: - like - celebrate - support - love - insightful - funny reaction_mode: type: string enum: - fixed - match_post required: - channel - body - delay_days additionalProperties: false minItems: 1 maxItems: 15 required: - steps responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (TEMPLATE_SPANS_INVALID) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/templates/sequences/{variant_key}: patch: x-mint: href: /v3/reference/send-campaigns-templates-sequences-patch metadata: title: "Update a variant" sidebarTitle: "Update a variant" description: "Patch one variant's copy, instructions, or paused state" operationId: send.campaigns.templates.sequences.patch summary: Patch one variant's copy, instructions, or paused state tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: variant_key in: path required: true schema: type: string minLength: 1 maxLength: 40 requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: variant_name: type: string maxLength: 60 description: type: string maxLength: 2000 instructions: type: string maxLength: 4000 paused: type: boolean steps: type: array items: type: object properties: channel: type: string enum: - email - linkedin_message - linkedin_connect - linkedin_comment - linkedin_react - manual subject: type: string maxLength: 300 body: type: string maxLength: 20000 delay_days: type: integer minimum: 0 maximum: 30 personalized: type: array items: anyOf: - type: string minLength: 1 - type: object properties: text: type: string minLength: 1 name: type: string minLength: 1 maxLength: 80 instruction: type: string minLength: 1 maxLength: 1000 required: - text additionalProperties: false maxItems: 20 subject_personalized: type: array items: anyOf: - type: string minLength: 1 - type: object properties: text: type: string minLength: 1 name: type: string minLength: 1 maxLength: 80 instruction: type: string minLength: 1 maxLength: 1000 required: - text additionalProperties: false maxItems: 20 target_post: type: object properties: mode: type: string enum: - latest - alias - writer_pick alias: type: string pattern: ^post_[1-9][0-9]*$ required: - mode additionalProperties: false on_missing_post: type: string enum: - hold - skip reaction: type: string enum: - like - celebrate - support - love - insightful - funny reaction_mode: type: string enum: - fixed - match_post required: - channel - body - delay_days additionalProperties: false minItems: 1 maxItems: 15 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (TEMPLATE_SPANS_INVALID) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" delete: x-mint: href: /v3/reference/send-campaigns-templates-sequences-delete metadata: title: "Delete a variant" sidebarTitle: "Delete a variant" description: "Delete one variant (its key is never reused)" operationId: send.campaigns.templates.sequences.delete summary: Delete one variant (its key is never reused) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: variant_key in: path required: true schema: type: string minLength: 1 maxLength: 40 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/examples: post: x-mint: href: /v3/reference/send-campaigns-examples-generate metadata: title: "Generate messages" sidebarTitle: "Generate messages" description: "Generate per-person copy (one LLM call per person; async Job)" operationId: send.campaigns.examples.generate summary: Generate per-person copy (one LLM call per person; async Job) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: overwrite_edited: type: boolean limit: type: integer minimum: 1 maximum: 50 sequence_ids: type: array items: type: string format: uuid minItems: 1 maxItems: 200 metadata: type: object additionalProperties: type: string responses: "202": description: Job admitted content: application/json: schema: $ref: "#/components/schemas/Job" "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (NO_TEMPLATE, NO_PEOPLE, EXAMPLES_ALREADY_RUNNING) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" get: x-mint: href: /v3/reference/send-campaigns-examples-list metadata: title: "Read generated messages" sidebarTitle: "Read generated messages" description: "Page enrolled people with rendered steps" operationId: send.campaigns.examples.list summary: Page enrolled people with rendered steps tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/approvals: get: x-mint: href: /v3/reference/send-campaigns-approvals-list metadata: title: "List messages awaiting approval" sidebarTitle: "List messages awaiting approval" description: "Page people currently held for approval, with rendered steps" operationId: send.campaigns.approvals.list summary: Page people currently held for approval, with rendered steps tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid - name: cursor in: query required: false schema: type: string minLength: 1 - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 100 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" /send/campaigns/{campaign_id}/approvals/approve: post: x-mint: href: /v3/reference/send-campaigns-approvals-approve metadata: title: "Approve messages" sidebarTitle: "Approve messages" description: "Release approval holds (all when sequence_ids omitted; idempotent)" operationId: send.campaigns.approvals.approve summary: Release approval holds (all when sequence_ids omitted; idempotent) tags: - send parameters: - name: campaign_id in: path required: true schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: object additionalProperties: false properties: sequence_ids: type: array items: type: string format: uuid minItems: 1 maxItems: 1000 responses: "200": description: Success content: application/json: schema: type: object "400": description: Validation error (unknown fields are rejected) content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: Missing or invalid API key content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: Resource not found content: application/json: schema: $ref: "#/components/schemas/Error" "409": description: Conflict (see error codes) content: application/json: schema: $ref: "#/components/schemas/Error" "429": description: Rate limited content: application/json: schema: $ref: "#/components/schemas/Error" components: securitySchemes: bearerAuth: type: http scheme: bearer description: "API key: Authorization: Bearer og_live_..." schemas: Error: type: object description: Closed error envelope — no additional top-level keys. additionalProperties: false properties: error: type: string code: type: string description: UPPER_SNAKE_CASE machine code details: type: object handoff: type: object description: In-app recovery link when the user can fix the situation in the dashboard properties: kind: type: string enum: - connect-accounts - reconnect-account - billing - upgrade-plan - sca-confirm url: type: string label: type: string required: - error - code Job: type: object description: Shared Job resource returned by every async operation. Poll GET /jobs/{job_id} honoring next_poll_at, or subscribe to job.* webhooks. properties: object: type: string enum: - job id: type: string format: uuid operation: type: string description: Catalog operation id status: type: string enum: - queued - running - needs_input - succeeded - failed - cancelled cancel_requested: type: boolean phase: type: string enum: - researching - fetching - enriching - drafting - rendering nullable: true progress: type: object nullable: true properties: done: type: integer total: type: integer target: type: object nullable: true properties: type: type: string enum: - list - search - campaign - chat - domain_order id: type: string metadata: type: object nullable: true additionalProperties: type: string next_poll_at: type: string format: date-time nullable: true result: type: object nullable: true credits: type: object nullable: true description: This Job's credit totals; null for non-spending operations. settled flips true after delivered-lead settlement writes back. properties: spent: type: number settled: type: boolean error: type: object nullable: true properties: code: type: string message: type: string details: type: object needs_input: type: object nullable: true chat_id: type: string nullable: true created_at: type: string format: date-time updated_at: type: string format: date-time SequenceStatus: type: string description: Derived per-person sequence status vocabulary (people list `status` filter). enum: - draft - scheduled - sending - sent - accepted - failed - blocked - stopped - awaiting_accept - skipped - ongoing - replied - deleted - cancelled - needs_recipient - no_messaging - paused - needs_sender - out_of_office - sender_disconnected - bounced - unsubscribed - you_messaged_them - not_accepted - disqualified - excluded - migration_held - awaiting_approval - removed - not_a_fit - duplicate - already_contacted - already_connected - campaign_deleted