> ## Documentation Index
> Fetch the complete documentation index at: https://developer.instantly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get campaign sending status

> Returns sending status data explaining why a campaign may not be sending emails or is sending slower than expected. Note: Some fields may be missing when the campaign is out of schedule. Always-present fields: campaign_id, last_updated, status, issue_tracking.


Requires one of the following scopes: `campaigns:read`, `campaigns:all`, `all:read`, `all:all`



## OpenAPI

````yaml https://api.instantly.ai/openapi/api_v2.json get /api/v2/campaigns/{id}/sending-status
openapi: 3.1.0
info:
  title: API Explorer
  description: >-
    The entire API V2 documentation is interactive and can be tested here. To
    the right side of every endpoint you will see a box with an example request.
    You can click on the "Try it" button to send a request to the server right
    from the docs. You will need to provide an API key by clicking the
    `ApiKeyAuth_token` blue text.
  version: 2.0.0
servers:
  - url: https://api.instantly.ai
    description: Instantly API Server
security:
  - ApiKeyAuth: []
tags:
  - name: Analytics
    description: Endpoints related to analytics
    x-displayName: Analytics
  - name: OAuth
    description: >-
      OAuth authentication endpoints for connecting Google and Microsoft email
      accounts
    x-displayName: OAuth
  - name: Account
    description: An email account that can be used to send campaigns
    x-displayName: Account
  - name: Campaign
    description: A campaign that can be sent to a list of recipients
    x-displayName: Campaign
  - name: Email
    description: >-
      A campaign email, a reply, a manually sent email, or any other email
      that's visible in the Unibox
    x-displayName: Email
  - name: EmailVerification
    description: A single email verification
    x-displayName: Email Verification
  - name: LeadList
    description: A list used to store leads
    x-displayName: Lead List
  - name: InboxPlacementTest
    description: An inbox placement test
    x-displayName: Inbox Placement Test
  - name: InboxPlacementAnalytics
    description: Analytics data for individual emails in inbox placement tests
    x-displayName: Inbox Placement Analytics
  - name: InboxPlacementBlacklist&SpamAssassinReport
    description: Report data for an inbox placement test
    x-displayName: Inbox Placement Blacklist & SpamAssassin Report
  - name: APIKey
    description: API Key
    x-displayName: API Key
  - name: AccountCampaignMapping
    description: Account Campaign Mapping
    x-displayName: Account Campaign Mapping
  - name: Lead
    description: A lead entity representing an individual lead
    x-displayName: Lead
  - name: BackgroundJob
    description: A background job that can be used to perform long-running tasks
    x-displayName: Background Job
  - name: CustomTag
    description: >-
      A custom tag for organizing and categorizing accounts and campaigns. You
      can use them as filters in apis that list accounts and campaigns.
    x-displayName: Custom Tag
  - name: CustomTagMapping
    description: >-
      This entity represents a tag being assigned to a specific campaign or
      email account. When an email account is assigned a tag, a new custom tag
      mapping entry is created, which connects the tag (`tag_id` field) with the
      email account (`resource_id` field). You can use it to see which tag si
      connected to which resource.
    x-displayName: Custom Tag Mapping
  - name: BlockListEntry
    description: A blocked email or domain
    x-displayName: Block List Entry
  - name: LeadLabel
    description: A custom label for categorizing and managing leads
    x-displayName: Lead Label
  - name: Workspace
    description: A workspace entity representing a workspace
    x-displayName: Workspace
  - name: SuperSearchEnrichment
    description: >-
      An enrichment can take different forms, such as email enrichment or
      LinkedIn enrichment. Leads may be imported from SuperSearch using the
      dedicated endpoint, or enriched directly within a list or campaign by
      attaching an enrichment to it.
    x-displayName: SuperSearch Enrichment
  - name: WorkspaceGroupMember
    description: >-
      A member of a workspace group. You can use the endpoints within this
      entity to manage the members of a workspace group.
    x-displayName: Workspace Group Member
  - name: WorkspaceMember
    description: A member of a workspace with associated user details
    x-displayName: Workspace Member
  - name: CampaignSubsequence
    description: A subsequence entity representing a follow-up sequence
    x-displayName: Campaign Subsequence
  - name: AuditLog
    description: Audit log records for tracking system activities
    x-displayName: Audit Log
  - name: Webhook
    description: A webhook subscription for receiving event notifications
    x-displayName: Webhook
  - name: WebhookEvent
    description: A webhook event that was sent or attempted to be sent
    x-displayName: Webhook Event
  - name: DFYEmailAccountOrder
    description: A Done-For-You email account order
    x-displayName: DFY Email Account Order
  - name: CustomPromptTemplate
    description: Custom prompt templates for creating custom prompts
    x-displayName: Custom Prompt Template
  - name: SalesFlow
    description: >-
      Manages how sales users view and interact with campaign and lead lists
      within the sales flow.
    x-displayName: Sales Flow
  - name: EmailTemplate
    description: A campaign email template
    x-displayName: Email Template
  - name: WorkspaceBilling
    description: Workspace Billing
    x-displayName: Workspace Billing
  - name: CRMActions
    description: CRM related actions
    x-displayName: CRM Actions
paths:
  /api/v2/campaigns/{id}/sending-status:
    get:
      tags:
        - Campaign
      summary: Get campaign sending status
      description: >-
        Returns sending status data explaining why a campaign may not be sending
        emails or is sending slower than expected. Note: Some fields may be
        missing when the campaign is out of schedule. Always-present fields:
        campaign_id, last_updated, status, issue_tracking.



        Requires one of the following scopes: `campaigns:read`, `campaigns:all`,
        `all:read`, `all:all`
      operationId: getCampaignSendingStatus
      parameters:
        - schema:
            type: boolean
            default: false
            example: false
          in: query
          name: with_ai_summary
          required: false
          description: Include AI-generated summary
        - schema:
            type: string
            format: uuid
            example: 019e18e2-a52f-78e7-96f2-b33ee19bb50a
          in: path
          name: id
          required: true
          description: Campaign ID
      responses:
        '200':
          description: >-
            Sending status data with human-readable summary. Returns null for
            both fields if no data is available.
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Sending status data with human-readable summary. Returns null
                  for both fields if no data is available.
                properties:
                  diagnostics:
                    type:
                      - 'null'
                      - object
                    additionalProperties: true
                    description: >-
                      Raw sending status data. Some fields may be missing when
                      campaign is out of schedule.
                    properties:
                      campaign_id:
                        type: string
                        description: The campaign ID
                        example: 019e18e2-9617-78c8-b2bf-2f764ab33d2b
                      subsequence_id:
                        type: string
                        description: >-
                          The subsequence ID (only present for subsequence
                          endpoints)
                        example: 019e18e2-9618-73e4-871a-c90dc6346b6a
                      last_updated:
                        type: string
                        description: ISO timestamp of when this data was last updated
                        example: '2026-05-11T21:12:43.288Z'
                      status:
                        type:
                          - 'null'
                          - string
                        description: >-
                          Status code explaining why the campaign is not sending
                          or sending slower
                        enum:
                          - campaign_paused
                          - campaign_draft
                          - campaign_completed
                          - campaign_running_subsequences
                          - campaign_bounce_protect
                          - campaign_accounts_unhealthy
                          - campaign_account_suspended
                          - out_of_schedule
                          - waiting_for_leads
                          - daily_limit_met
                          - account_daily_limit_met
                          - new_lead_limit_met
                          - all_accounts_unhealthy
                          - waiting_for_esp_match
                          - domain_limit_reached
                          - follow_up_delay_not_met
                          - no_accounts_available
                          - healthy
                        example: healthy
                      issue_tracking:
                        type: object
                        description: Tracks persistence of the current issue
                        properties:
                          current_status_code:
                            type:
                              - 'null'
                              - string
                            description: Current status code
                            example: healthy
                          issue_first_seen_at:
                            type:
                              - 'null'
                              - string
                            description: ISO timestamp when the issue was first detected
                            example: '2026-05-11T21:12:43.288Z'
                          consecutive_loops_with_issue:
                            type: number
                            description: >-
                              Number of consecutive processing loops with this
                              issue
                            example: 0
                          last_healthy_send_at:
                            type:
                              - 'null'
                              - string
                            description: ISO timestamp of last successful send
                            example: '2026-05-11T21:12:43.288Z'
                      accounts_summary:
                        type: object
                        description: >-
                          Summary of sending account availability. May be
                          missing when campaign is out of schedule.
                        properties:
                          total_connected:
                            type: number
                            description: Total number of connected sending accounts
                            example: 5
                          available:
                            type: number
                            description: Number of accounts available to send
                            example: 3
                          unavailable:
                            type: object
                            description: Breakdown of unavailable accounts by reason
                            properties:
                              daily_limit_hit:
                                type: number
                                description: >-
                                  Accounts that hit their configured daily
                                  sending limit
                                example: 1
                              slow_ramp_limit_hit:
                                type: number
                                description: >-
                                  Accounts that hit the dynamic slow ramp limit
                                  (warmup feature)
                                example: 0
                              disconnected:
                                type: number
                                description: Accounts that are disconnected
                                example: 1
                              global_gap_not_met:
                                type: number
                                description: Accounts waiting for global sending gap
                                example: 0
                      campaign_daily_limit:
                        type: object
                        description: >-
                          Campaign daily sending limit status. May be missing
                          when campaign is out of schedule.
                        properties:
                          limit:
                            type: number
                            description: Configured daily sending limit
                            example: 100
                          sent:
                            type: number
                            description: Number of emails sent today
                            example: 50
                          limit_hit:
                            type: boolean
                            description: Whether the daily limit has been reached
                            example: false
                      new_lead_limit:
                        type: object
                        description: >-
                          New lead daily limit status. May be missing when
                          campaign is out of schedule.
                        properties:
                          enabled:
                            type: boolean
                            description: Whether new lead limiting is enabled
                            example: true
                          limit:
                            type:
                              - 'null'
                              - number
                            description: Configured new lead limit per day
                            example: 50
                          contacted:
                            type: number
                            description: Number of new leads contacted today
                            example: 25
                          limit_hit:
                            type: boolean
                            description: Whether the new lead limit has been reached
                            example: false
                      schedule_status:
                        type: object
                        description: Campaign schedule status
                        properties:
                          in_schedule:
                            type: boolean
                            description: >-
                              Whether the campaign is currently within scheduled
                              sending hours
                            example: true
                      send_one_by_one:
                        type: object
                        description: >-
                          Send one-by-one settings. May be missing when campaign
                          is out of schedule.
                        properties:
                          enabled:
                            type: boolean
                            description: Whether send one-by-one mode is enabled
                            example: false
                          single_account_per_wait_gap:
                            type: boolean
                            description: Whether to use single account per wait gap
                            example: false
                      follow_ups_waiting:
                        type: object
                        description: >-
                          Follow-up emails waiting status. May be missing when
                          campaign is out of schedule.
                        properties:
                          count:
                            type: number
                            description: Number of follow-ups waiting to be sent
                            example: 10
                          earliest_wait_time_seconds:
                            type:
                              - 'null'
                              - number
                            description: Seconds until the earliest follow-up can be sent
                            example: 3600
                      esp_routing_status:
                        type: object
                        description: >-
                          ESP routing status. May be missing when campaign is
                          out of schedule.
                        properties:
                          enabled:
                            type: boolean
                            description: Whether ESP routing is enabled
                            example: false
                          waiting_for_match:
                            type: boolean
                            description: Whether waiting for an ESP-matched account
                            example: false
                          connected_esps:
                            type: array
                            items:
                              type: number
                              example: 1
                            description: List of connected ESP IDs
                      domain_limiter:
                        type: object
                        description: >-
                          Per-domain sending limit status. May be missing when
                          campaign is out of schedule.
                        properties:
                          active:
                            type: boolean
                            description: Whether domain limiting is active
                            example: false
                          domains_at_limit:
                            type: number
                            description: Number of domains that have reached their limit
                            example: 0
                      leads_status:
                        type: object
                        description: >-
                          Lead availability status. May be missing when campaign
                          is out of schedule.
                        properties:
                          no_leads_ready:
                            type: boolean
                            description: Whether there are no leads ready to receive emails
                            example: false
                          account_unavailable_skips:
                            type: number
                            description: >-
                              Number of leads skipped due to account
                              unavailability
                            example: 0
                          delay_not_met_skips:
                            type: number
                            description: >-
                              Number of leads skipped due to delay requirements
                              not met
                            example: 0
                  summary:
                    type:
                      - 'null'
                      - object
                    additionalProperties: true
                    description: Human-readable summary of the sending status
                    properties:
                      status:
                        type:
                          - 'null'
                          - string
                        description: The status code
                        example: healthy
                      status_message:
                        type:
                          - 'null'
                          - string
                        description: Human-readable message explaining the status
                        example: Campaign is sending normally
                      issue_started_at:
                        type:
                          - 'null'
                          - string
                        description: ISO timestamp when the issue was first detected
                        example: '2026-05-11T21:12:43.288Z'
                      last_healthy_send_at:
                        type:
                          - 'null'
                          - string
                        description: ISO timestamp of last successful send
                        example: '2026-05-11T21:12:43.288Z'
                      ai_summary:
                        type:
                          - 'null'
                          - string
                        description: >-
                          AI-generated plain-English summary (only when
                          with_ai_summary=true)
                        example: Your campaign is sending emails normally.
        '401':
          description: >-
            This request is unauthorized (either the Authorization header is
            missing or invalid, or the API key has been revoked)
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    enum:
                      - 401
                    example: 401
                  error:
                    type: string
                    enum:
                      - Unauthorized
                    example: Unauthorized
                  message:
                    type: string
                    example: Missing Authorization header
                required:
                  - statusCode
                  - error
                  - message
        '402':
          description: >-
            This request cannot be fulfilled because the workspace does not have
            an active paid plan
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    enum:
                      - 402
                    example: 402
                  error:
                    type: string
                    enum:
                      - Payment Required
                    example: Payment Required
                  message:
                    type: string
                    example: Workspace does not have an active paid plan
                required:
                  - statusCode
                  - error
                  - message
        '404':
          description: The requested resource was not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    enum:
                      - 404
                    example: 404
                  error:
                    type: string
                    enum:
                      - Not Found
                    example: Not Found
                  message:
                    type: string
                    example: Resource not found
                required:
                  - statusCode
                  - error
                  - message
        '429':
          description: >-
            You have exceeded the rate limit. Please check the rate limit docs
            for more information.
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    enum:
                      - 429
                    example: 429
                  error:
                    type: string
                    enum:
                      - Too Many Requests
                    example: Too Many Requests
                  message:
                    type: string
                    example: Rate limit exceeded
                required:
                  - statusCode
                  - error
                  - message
components:
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer

````