# 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: <project_id>`. 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: <uuid>`. 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
