> ## 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.

# Activate(start), or resume a campaign

> Requires one of the following scopes: `campaigns:update`, `campaigns:all`, `all:update`, `all:all`



## OpenAPI

````yaml https://api.instantly.ai/openapi/api_v2.json post /api/v2/campaigns/{id}/activate
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}/activate:
    post:
      tags:
        - Campaign
      summary: Activate(start), or resume a campaign
      description: >-
        Requires one of the following scopes: `campaigns:update`,
        `campaigns:all`, `all:update`, `all:all`
      operationId: activateCampaign
      parameters:
        - schema:
            type: string
            format: uuid
            example: 019e18e2-a521-7bb9-9dd6-45f1bc69dcd0
          in: path
          name: id
          required: true
          description: Campaign ID
      responses:
        '200':
          description: The requested Campaign
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/def-1'
        '400':
          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
        '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:
  schemas:
    def-1:
      title: Campaign
      description: A campaign that can be sent to a list of recipients
      x-tags:
        - Schemas
        - Campaign
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the campaign
          readOnly: true
          format: uuid
          example: 019e18e2-78ec-7015-a134-9ce2f48024a3
        name:
          type: string
          description: Name of the campaign
          example: My First Campaign
        pl_value:
          type:
            - 'null'
            - number
          description: Value of every positive lead
          example: 100
        status:
          type: number
          description: Campaign Status
          readOnly: true
          enum:
            - -99
            - -1
            - -2
            - 0
            - 1
            - 2
            - 3
            - 4
          x-enumDescriptions:
            '0': Draft
            '1': Active
            '2': Paused
            '3': Completed
            '4': Running Subsequences
            '-99': Account Suspended
            '-1': Accounts Unhealthy
            '-2': Bounce Protect
          example: 1
        is_evergreen:
          type:
            - 'null'
            - boolean
          description: Whether the campaign is evergreen
          example: false
        campaign_schedule:
          type: object
          description: Campaign schedule
          properties:
            start_date:
              type:
                - 'null'
                - string
              format: date
              description: Start date in YYYY-MM-DD format. Uses the campaign's timezone.
              example: '2025-09-25'
            end_date:
              type:
                - 'null'
                - string
              format: date
              description: End date in YYYY-MM-DD format. Uses the campaign's timezone.
              example: '2025-09-25'
            schedules:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    example: My Schedule
                  timing:
                    type: object
                    properties:
                      from:
                        type: string
                        pattern: ^([01][0-9]|2[0-3]):([0-5][0-9])$
                        example: '09:00'
                      to:
                        type: string
                        pattern: ^([01][0-9]|2[0-3]):([0-5][0-9])$
                        example: '17:00'
                    required:
                      - from
                      - to
                  days:
                    type: object
                    minProperties: 1
                    properties:
                      '0':
                        type: boolean
                        example: true
                      '1':
                        type: boolean
                        example: true
                      '2':
                        type: boolean
                        example: true
                      '3':
                        type: boolean
                        example: true
                      '4':
                        type: boolean
                        example: true
                      '5':
                        type: boolean
                        example: false
                      '6':
                        type: boolean
                        example: false
                  timezone:
                    type: string
                    enum:
                      - Etc/GMT+12
                      - Etc/GMT+11
                      - Etc/GMT+10
                      - America/Anchorage
                      - America/Dawson
                      - America/Creston
                      - America/Chihuahua
                      - America/Boise
                      - America/Belize
                      - America/Chicago
                      - America/Bahia_Banderas
                      - America/Regina
                      - America/Bogota
                      - America/Detroit
                      - America/Indiana/Marengo
                      - America/Caracas
                      - America/Asuncion
                      - America/Glace_Bay
                      - America/Campo_Grande
                      - America/Anguilla
                      - America/Santiago
                      - America/St_Johns
                      - America/Sao_Paulo
                      - America/Argentina/La_Rioja
                      - America/Araguaina
                      - America/Godthab
                      - America/Montevideo
                      - America/Bahia
                      - America/Noronha
                      - America/Scoresbysund
                      - Atlantic/Cape_Verde
                      - Africa/Casablanca
                      - America/Danmarkshavn
                      - Europe/Isle_of_Man
                      - Atlantic/Canary
                      - Africa/Abidjan
                      - Arctic/Longyearbyen
                      - Europe/Belgrade
                      - Africa/Ceuta
                      - Europe/Sarajevo
                      - Africa/Algiers
                      - Africa/Windhoek
                      - Asia/Nicosia
                      - Asia/Beirut
                      - Africa/Cairo
                      - Asia/Damascus
                      - Europe/Bucharest
                      - Africa/Blantyre
                      - Europe/Helsinki
                      - Europe/Istanbul
                      - Asia/Jerusalem
                      - Africa/Tripoli
                      - Asia/Amman
                      - Asia/Baghdad
                      - Europe/Kaliningrad
                      - Asia/Aden
                      - Africa/Addis_Ababa
                      - Europe/Kirov
                      - Europe/Astrakhan
                      - Asia/Tehran
                      - Asia/Dubai
                      - Asia/Baku
                      - Indian/Mahe
                      - Asia/Tbilisi
                      - Asia/Yerevan
                      - Asia/Kabul
                      - Antarctica/Mawson
                      - Asia/Yekaterinburg
                      - Asia/Karachi
                      - Asia/Kolkata
                      - Asia/Colombo
                      - Asia/Kathmandu
                      - Antarctica/Vostok
                      - Asia/Dhaka
                      - Asia/Rangoon
                      - Antarctica/Davis
                      - Asia/Novokuznetsk
                      - Asia/Hong_Kong
                      - Asia/Krasnoyarsk
                      - Asia/Brunei
                      - Australia/Perth
                      - Asia/Taipei
                      - Asia/Choibalsan
                      - Asia/Irkutsk
                      - Asia/Dili
                      - Asia/Pyongyang
                      - Australia/Adelaide
                      - Australia/Darwin
                      - Australia/Brisbane
                      - Australia/Melbourne
                      - Antarctica/DumontDUrville
                      - Australia/Currie
                      - Asia/Chita
                      - Antarctica/Macquarie
                      - Asia/Sakhalin
                      - Pacific/Auckland
                      - Etc/GMT-12
                      - Pacific/Fiji
                      - Asia/Anadyr
                      - Asia/Kamchatka
                      - Etc/GMT-13
                      - Pacific/Apia
                    example: Etc/GMT+12
                required:
                  - name
                  - timing
                  - days
                  - timezone
              minItems: 1
          required:
            - schedules
        sequences:
          type: array
          description: >-
            List of sequences (the actual email copy). Even though this field is
            an array, only the first element is used, so please provide only one
            array item, and add the steps to that array
          items:
            type: object
            properties:
              steps:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - email
                      x-enumDescriptions:
                        email: This steps represents an email
                      description: >-
                        Type of step. This has to be 'email' always - it's the
                        only supported type for now
                      example: email
                    delay:
                      type: number
                      description: >-
                        The delay value before sending the NEXT email. The unit
                        is determined by the delay_unit field (defaults to
                        days).
                      example: 2
                    delay_unit:
                      type: string
                      enum:
                        - minutes
                        - hours
                        - days
                      default: days
                      description: >-
                        The unit of time for the delay value (minutes, hours, or
                        days). Defaults to days for backward compatibility.
                      example: days
                    pre_delay:
                      type: number
                      description: >-
                        The delay value before sending the FIRST email in a
                        subsequence. **Only applicable to subsequences** - this
                        field is ignored for regular campaigns. The unit is
                        determined by the pre_delay_unit field (defaults to
                        days).
                      example: 2
                    pre_delay_unit:
                      type: string
                      enum:
                        - minutes
                        - hours
                        - days
                      default: days
                      description: >-
                        The unit of time for the pre_delay value (minutes,
                        hours, or days). **Only applicable to subsequences** -
                        this field is ignored for regular campaigns. Defaults to
                        days for backward compatibility.
                      example: days
                    variants:
                      type: array
                      items:
                        type: object
                        properties:
                          subject:
                            type: string
                            example: Hello {{firstName}}
                          body:
                            type: string
                            example: |-
                              Hey {{firstName}},

                              I hope you are doing well.
                          v_disabled:
                            type: boolean
                            description: >-
                              Whether this variant is disabled. By default, all
                              the variants are enabled. Please set this to true
                              if you want to disable this variant
                            example: true
                        required:
                          - subject
                          - body
                  required:
                    - type
                    - delay
                    - variants
            required:
              - steps
        timestamp_created:
          type: string
          description: Timestamp when the campaign was created
          readOnly: true
          example: '2026-05-11T21:12:35.820Z'
        timestamp_updated:
          type: string
          description: Timestamp when the campaign was last updated
          readOnly: true
          example: '2026-05-11T21:12:35.820Z'
        email_gap:
          type:
            - 'null'
            - number
          description: The gap between emails in minutes
          example: 10
        random_wait_max:
          type:
            - 'null'
            - number
          description: The maximum random wait time in minutes
          example: 10
        text_only:
          type:
            - 'null'
            - boolean
          description: Whether the campaign is text only
          example: false
        first_email_text_only:
          type:
            - 'null'
            - boolean
          description: Whether the campaign is send the first email as a text only
          example: false
        email_list:
          type: array
          description: List of accounts to use for sending emails
          items:
            type: string
            example: john@doe.com
        daily_limit:
          type:
            - 'null'
            - number
          description: The daily limit for sending emails
          example: 100
        stop_on_reply:
          type:
            - 'null'
            - boolean
          description: Whether to stop the campaign on reply
          example: false
        email_tag_list:
          type: array
          description: List of tags to use for sending emails
          items:
            type: string
            format: uuid
            example: 019e18e2-78ec-7015-a134-9ce3196b3d70
        link_tracking:
          type:
            - 'null'
            - boolean
          description: Whether to track links in emails
          example: true
        open_tracking:
          type: boolean
          description: Whether to track opens in emails
          example: true
        stop_on_auto_reply:
          type:
            - 'null'
            - boolean
          description: Whether to stop the campaign on auto reply
          example: false
        daily_max_leads:
          type:
            - 'null'
            - integer
          description: The daily maximum new leads to contact
          minimum: 0
          example: 100
        prioritize_new_leads:
          type:
            - 'null'
            - boolean
          description: Whether to prioritize new leads
          example: false
        auto_variant_select:
          type:
            - 'null'
            - object
          description: Auto variant select settings
          properties:
            trigger:
              type: string
              enum:
                - reply_rate
                - click_rate
                - open_rate
              examples:
                - click_rate
          required:
            - trigger
        match_lead_esp:
          type:
            - 'null'
            - boolean
          description: Whether to match leads by ESP
          example: false
        not_sending_status:
          type:
            - 'null'
            - number
          description: Campaign not sending status
          readOnly: true
          enum:
            - 1
            - 2
            - 3
            - 4
            - 99
          x-enumDescriptions:
            '1': Campaign is currently not within its sending schedule.
            '2': Campaign is currently waiting for a lead to process.
            '3': Campaign has reached its daily sending limit.
            '4': >-
              All sending accounts for this campaign have reached their daily
              sending limit.
            '99': >-
              Campaign is currently not sending due to an error. Please contact
              support for assistance.
          example: 2
        stop_for_company:
          type:
            - 'null'
            - boolean
          description: >-
            Whether to stop the campaign for the entire company(domain) when a
            lead replies
          example: false
        core_variables:
          type:
            - 'null'
            - object
          description: Campaign core variables
          readOnly: true
          additionalProperties: true
        custom_variables:
          type:
            - 'null'
            - object
          description: Campaign custom variables
          readOnly: true
          additionalProperties: true
        insert_unsubscribe_header:
          type:
            - 'null'
            - boolean
          description: Whether to insert an unsubscribe header in emails
          example: false
        allow_risky_contacts:
          type:
            - 'null'
            - boolean
          description: Whether to allow risky contacts
          example: false
        disable_bounce_protect:
          type:
            - 'null'
            - boolean
          description: Whether to disable bounce protection
          example: false
        limit_emails_per_company_override:
          type:
            - 'null'
            - object
          description: >-
            Overrides the workspace-wide limit emails per company setting for
            this campaign.
          properties:
            mode:
              type: string
              enum:
                - custom
                - disabled
              examples:
                - custom
            daily_limit:
              type: number
              minimum: 1
              examples:
                - 3
            scope:
              type: string
              enum:
                - per_campaign
                - across_workspace
              examples:
                - per_campaign
          required:
            - mode
        cc_list:
          type: array
          description: List of accounts to CC on emails
          items:
            type: string
            format: email
            example: john@doe.com
        bcc_list:
          type: array
          description: List of accounts to BCC on emails
          items:
            type: string
            format: email
            example: john@doe.com
        organization:
          type:
            - 'null'
            - string
          description: Organization ID
          readOnly: true
          format: uuid
          example: 019e18e2-78ec-7015-a134-9ce4876f5b7f
        owned_by:
          type:
            - 'null'
            - string
          description: Owner ID
          format: uuid
          example: 019e18e2-78ec-7015-a134-9ce512aa0a62
        ai_sdr_id:
          type:
            - 'null'
            - string
          description: AI Sales Agent ID that created this campaign
          format: uuid
          example: 019e18e2-78ec-7015-a134-9ce62e9d2ab0
        provider_routing_rules:
          type: array
          description: Auto variant select settings
          items:
            type: object
            properties:
              action:
                type: string
                enum:
                  - send
                  - do_not_send
                example: send
              recipient_esp:
                type: array
                items:
                  type: string
                  enum:
                    - all
                    - google
                    - outlook
                    - other
                  example: all
              sender_esp:
                type: array
                items:
                  type: string
                  enum:
                    - all
                    - google
                    - outlook
                    - other
                  example: all
          required:
            - action
            - recipient_esp
            - sender_esp
      required:
        - id
        - name
        - status
        - campaign_schedule
        - timestamp_created
        - timestamp_updated
      additionalProperties: false
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer

````