openapi: 3.1.0
info:
title: Apollo API — Sequences
summary: Programmatic access to Apollo's sales intelligence and engagement platform — data enrichment, prospect and company
search, and go-to-market workflow management.
description: 'The Apollo API provides programmatic access to [Apollo](https://www.apollo.io/), the all-in-one sales intelligence
and engagement platform. Use it to enrich people and company data (individually or in bulk), search Apollo''s database
of over 240 million contacts and 30 million companies, and manage accounts, contacts, deals, sequences, tasks, calls,
and conversations in your go-to-market workflows.
## Base URL
All API requests are made to `https://api.apollo.io/api/v1`.
## Authentication
- **Apollo users** authenticate with an API key passed in the `x-api-key` request header. See [Create API Keys](https://docs.apollo.io/docs/create-api-key).
- **Apollo partners** building integrations on behalf of mutual users authenticate with the [OAuth 2.0 authorization flow](https://docs.apollo.io/docs/use-oauth-20-authorization-flow-to-access-apollo-user-information-partners).
## Rate limits & credits
Rate limits and credit consumption depend on your [Apollo pricing plan](https://docs.apollo.io/docs/api-pricing). Check
your current limits and usage with the [View API Usage Stats and Rate Limits](https://docs.apollo.io/reference/view-api-usage-stats)
endpoint. For more details, see [Rate Limits](https://docs.apollo.io/reference/rate-limits) and the [API FAQs](https://docs.apollo.io/docs/apollo-api-faqs).
New to the API? Start with the [Apollo API overview](https://docs.apollo.io/reference/apollo-api).'
termsOfService: https://www.apollo.io/terms/api
contact:
name: Apollo API Support
url: https://docs.apollo.io/
version: '1.0'
servers:
- url: https://api.apollo.io/api/v1
tags:
- name: Sequences
description: Manage outreach sequences and the contacts enrolled in them.
security:
- apiKey: []
- bearerAuth: []
components:
securitySchemes:
apiKey:
type: apiKey
in: header
name: x-api-key
description: '[Recommended] API key, passed in the `x-api-key` request header.
See [Create API Keys](https://docs.apollo.io/docs/create-api-key).'
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: 'OAuth 2.0 access token, used by Apollo partners building integrations.
See the [OAuth 2.0 authorization flow](https://docs.apollo.io/docs/use-oauth-20-authorization-flow-to-access-apollo-user-information-partners).'
paths:
/emailer_schedules:
get:
summary: List Email Schedules
description: '## Endpoint essentials
**API key access:** `api/v1/emailer_schedules/index` or `Master API key`
**OAuth scopes:** `emailer_schedules_list`
**Credit usage:** `0 credits` — [Learn more about API pricing and credits](https://docs.apollo.io/docs/api-pricing).
<a href="https://knowledge.apollo.io/hc/en-us/articles/4409477927309-Configure-a-Sequence-Sending-Schedule" target="_blank">Sending
schedules</a> control the days and times that Apollo sends emails for your sequences. You can configure multiple sending
schedules for different sequences, for example to match your audience''s time zone or when your contacts are most
likely to engage.<br><br>Use the List Email Schedules endpoint to retrieve every sending schedule that has been created
for your team''s Apollo account. For each schedule, the response returns its ID, name, time zone, weekly sending windows,
and whether it is your team''s default schedule.<br><br>Use a schedule''s `id` as the `emailer_schedule_id` when you
<a href="https://docs.apollo.io/reference/create-sequence" target="_blank">create a sequence</a> or <a href="https://docs.apollo.io/reference/update-sequence"
target="_blank">update a sequence</a> to control when that sequence''s emails are sent.'
tags:
- Sequences
operationId: list-email-schedules
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: "{\n \"emailer_schedules\": [\n {\n \"id\": \"6605a1f2e4b0c80012a3d456\",\n \"name\"\
: \"Normal Business Hours\",\n \"default\": true,\n \"time_zone\": \"America/Los_Angeles\",\n\
\ \"schedule_hash\": {\n \"monday\": [[8, 17]],\n \"tuesday\": [[8, 17]],\n \
\ \"wednesday\": [[8, 17]],\n \"thursday\": [[8, 17]],\n \"friday\": [[8, 17]]\n },\n\
\ \"created_at\": \"2024-03-28T18:56:24.067Z\",\n \"use_contacts_time_zone\": true,\n \"\
skip_holidays\": true\n },\n {\n \"id\": \"6605a2b7e4b0c80012a3d789\",\n \"name\": \"\
West Coast Afternoons\",\n \"default\": false,\n \"time_zone\": \"America/New_York\",\n \
\ \"schedule_hash\": {\n \"monday\": [[12, 17]],\n \"wednesday\": [[12, 17]],\n \
\ \"friday\": [[12, 17]]\n },\n \"created_at\": \"2024-04-02T14:10:05.512Z\",\n \"use_contacts_time_zone\"\
: false,\n \"skip_holidays\": true\n }\n ]\n}"
schema:
type: object
properties:
emailer_schedules:
type: array
description: The list of sending schedules that belong to your team.
items:
type: object
properties:
id:
type: string
description: The unique Apollo ID for the sending schedule. Use this value as the `emailer_schedule_id`
when you create or update a sequence.
example: 6605a1f2e4b0c80012a3d456
name:
type: string
description: The name of the sending schedule.
example: Normal Business Hours
default:
type: boolean
description: Whether this is the default sending schedule for your team. Only one schedule can be
the default at a time.
example: true
time_zone:
type: string
description: The IANA time zone that the schedule's sending windows are defined in, for example
`America/Los_Angeles`.
example: America/Los_Angeles
schedule_hash:
type: object
description: The weekly sending windows, keyed by day of the week. Each day maps to an array of
`[start_hour, end_hour]` pairs using 24-hour times, so `[[8, 17]]` means 8:00 AM to 5:00 PM. Days
with no sending windows are omitted.
created_at:
type: string
description: The timestamp for when the schedule was created, in ISO 8601 format.
example: '2024-03-28T18:56:24.067Z'
use_contacts_time_zone:
type: boolean
description: Whether Apollo sends emails according to each contact's own time zone instead of the
schedule's `time_zone`.
example: true
skip_holidays:
type: boolean
description: Whether Apollo skips sending emails on holidays.
example: true
'401':
description: '401'
content:
text/plain:
examples:
Check API key:
value: Invalid API key. See https://docs.apollo.io/reference/authentication for how to authenticate.
'403':
description: '403'
content:
application/json:
examples:
Need master API key:
value: "{\n \"error\": \"This API key is not authorized to access api/v1/emailer_schedules/index. Request\
\ an API key from your administrator that includes this endpoint in its configured scope.\",\n \"error_code\"\
: \"API_INACCESSIBLE\"\n}"
schema:
type: object
properties:
error:
type: string
example: This API key is not authorized to access api/v1/emailer_schedules/index. Request an API key from
your administrator that includes this endpoint in its configured scope.
error_code:
type: string
example: API_INACCESSIBLE
'429':
description: '429'
content:
application/json:
examples:
Too many requests:
value: "{\n \"message\": \"The maximum number of api calls allowed for api/v1/emailer_schedules is 600\
\ times per hour. Please upgrade your plan from https://app.apollo.io/#/settings/plans/upgrade.\"\n}"
schema:
type: object
properties:
message:
type: string
example: The maximum number of api calls allowed for api/v1/emailer_schedules is 600 times per hour. Please
upgrade your plan from https://app.apollo.io/#/settings/plans/upgrade.
deprecated: false
/emailer_campaigns/search:
post:
summary: Search for Sequences
description: '## Endpoint essentials
**API key access:** `api/v1/emailer_campaigns/search` or `Master API key`
**OAuth scopes:** `emailer_campaigns_search`
**Credit usage:** `0 credits` — [Learn more about API pricing and credits](https://docs.apollo.io/docs/api-pricing).
<a href="https://knowledge.apollo.io/hc/en-us/articles/4409237165837-Sequences-Overview" target="_blank">Sequences</a>
are outreach campaigns that sales teams use to reach out to contacts over a planned period of time.<br><br>Use the
Search for Sequences endpoint to search for the sequences that have been created for your team''s Apollo account.'
tags:
- Sequences
operationId: search-for-sequences
parameters:
- name: q_name
in: query
description: 'Add keywords to narrow the search of the sequences in your team''s Apollo account. <br><br>Keywords
should directly match at least part of a sequence''s name. For example, searching the keyword `marketing` might
return the result `NY Marketing Sequence`, but not `NY Marketer Conference 2025 attendees`. <br><br>This parameter
only searches sequence names, not other sequence fields. <br><br>Example: `marketing conference attendees`'
schema:
type: string
- name: page
in: query
description: 'The page number of the Apollo data that you want to retrieve. <br><br>Use this parameter in combination
with the `per_page` parameter to make search results for navigable and improve the performance of the endpoint.
<br><br>Example: `4`'
schema:
type: string
- name: per_page
in: query
description: 'The number of search results that should be returned for each page. Limiting the number of results per
page improves the endpoint''s performance. <br><br>Use the `page` parameter to search the different pages of data.
<br><br>Example: `10`'
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value:
pagination:
page: 1
per_page: 5
total_entries: 1
total_pages: 1
breadcrumbs:
- label: Name
signal_field_name: q_name
value: Copywriting Dublin
display_name: Copywriting Dublin
emailer_campaigns:
- id: 66e9e215ece19801b219997f
name: Target Copywriting Clients in Dublin
archived: false
created_at: '2024-09-17T20:09:57.837Z'
emailer_schedule_id: 6095a711bd01d100a506d52a
max_emails_per_day: null
user_id: 66302798d03b9601c7934ebf
same_account_reply_policy_cd: null
excluded_account_stage_ids:
- 6095a710bd01d100a506d4b8
- 6095a710bd01d100a506d4b9
- 6095a710bd01d100a506d4ba
- 6095a710bd01d100a506d4bb
excluded_contact_stage_ids:
- 6095a710bd01d100a506d4b5
- 6095a710bd01d100a506d4b4
- 6095a710bd01d100a506d4b0
- 6095a710bd01d100a506d4b1
contact_email_event_to_stage_mapping: {}
label_ids:
- 66e9e215ece19801b2199980
- 66e9e215ece19801b2199981
- 66e9e215ece19801b2199982
create_task_if_email_open: false
email_open_trigger_task_threshold: 3
mark_finished_if_click: false
active: false
days_to_wait_before_mark_as_response: 5
starred_by_user_ids:
- 66302798d03b9601c7934ebf
mark_finished_if_reply: true
mark_finished_if_interested: true
mark_paused_if_ooo: true
sequence_by_exact_daytime: null
last_used_at: null
sequence_ruleset_id: 6095a711bd01d100a506d4e0
folder_id: null
same_account_reply_delay_days: 30
is_performing_poorly: false
num_contacts_email_status_extrapolated: 0
remind_ab_test_results: false
ab_test_step_ids: []
prioritized_by_user: null
creation_type: new
num_steps: 3
unique_scheduled: 0
unique_delivered: 0
unique_bounced: 0
unique_opened: 0
unique_hard_bounced: 0
unique_spam_blocked: 0
unique_replied: 0
unique_demoed: 0
unique_clicked: 0
unique_unsubscribed: 0
bounce_rate: 0
hard_bounce_rate: 0
open_rate: 0
click_rate: 0
reply_rate: 0
spam_block_rate: 0
opt_out_rate: 0
demo_rate: 0
loaded_stats: true
cc_emails: ''
bcc_emails: ''
underperforming_touches_count: 0
sharing_permission:
visibility: everyone
access_type: can_view
object_type: EmailerCampaign
object_id: 66e9e215ece19801b219997f
is_owner: true
owner_id: 66302798d03b9601c7934ebf
sharing_accesses: []
num_fetch_result: null
schema:
type: object
properties:
pagination:
type: object
properties:
page:
type: integer
example: 1
default: 0
per_page:
type: integer
example: 5
default: 0
total_entries:
type: integer
example: 1
default: 0
total_pages:
type: integer
example: 1
default: 0
breadcrumbs:
type: array
items:
type: object
properties:
label:
type: string
example: Name
signal_field_name:
type: string
example: q_name
value:
type: string
example: Copywriting Dublin
display_name:
type: string
example: Copywriting Dublin
emailer_campaigns:
type: array
items:
type: object
properties:
id:
type: string
example: 66e9e215ece19801b219997f
name:
type: string
example: Target Copywriting Clients in Dublin
archived:
type: boolean
example: false
default: true
created_at:
type: string
example: '2024-09-17T20:09:57.837Z'
emailer_schedule_id:
type: string
example: 6095a711bd01d100a506d52a
max_emails_per_day: {}
user_id:
type: string
example: 66302798d03b9601c7934ebf
same_account_reply_policy_cd: {}
excluded_account_stage_ids:
type: array
items:
type: string
example: 6095a710bd01d100a506d4b8
excluded_contact_stage_ids:
type: array
items:
type: string
example: 6095a710bd01d100a506d4b5
contact_email_event_to_stage_mapping:
type: object
properties: {}
label_ids:
type: array
items:
type: string
example: 66e9e215ece19801b2199980
create_task_if_email_open:
type: boolean
example: false
default: true
email_open_trigger_task_threshold:
type: integer
example: 3
default: 0
mark_finished_if_click:
type: boolean
example: false
default: true
active:
type: boolean
example: false
default: true
days_to_wait_before_mark_as_response:
type: integer
example: 5
default: 0
starred_by_user_ids:
type: array
items:
type: string
example: 66302798d03b9601c7934ebf
mark_finished_if_reply:
type: boolean
example: true
default: true
mark_finished_if_interested:
type: boolean
example: true
default: true
mark_paused_if_ooo:
type: boolean
example: true
default: true
sequence_by_exact_daytime: {}
last_used_at: {}
sequence_ruleset_id:
type: string
example: 6095a711bd01d100a506d4e0
folder_id: {}
same_account_reply_delay_days:
type: integer
example: 30
default: 0
is_performing_poorly:
type: boolean
example: false
default: true
num_contacts_email_status_extrapolated:
type: integer
example: 0
default: 0
remind_ab_test_results:
type: boolean
example: false
default: true
ab_test_step_ids:
type: array
prioritized_by_user: {}
creation_type:
type: string
example: new
num_steps:
type: integer
example: 3
default: 0
unique_scheduled:
type: integer
example: 0
default: 0
unique_delivered:
type: integer
example: 0
default: 0
unique_bounced:
type: integer
example: 0
default: 0
unique_opened:
type: integer
example: 0
default: 0
unique_hard_bounced:
type: integer
example: 0
default: 0
unique_spam_blocked:
type: integer
example: 0
default: 0
unique_replied:
type: integer
example: 0
default: 0
unique_demoed:
type: integer
example: 0
default: 0
unique_clicked:
type: integer
example: 0
default: 0
unique_unsubscribed:
type: integer
example: 0
default: 0
bounce_rate:
type: integer
example: 0
default: 0
hard_bounce_rate:
type: integer
example: 0
default: 0
open_rate:
type: integer
example: 0
default: 0
click_rate:
type: integer
example: 0
default: 0
reply_rate:
type: integer
example: 0
default: 0
spam_block_rate:
type: integer
example: 0
default: 0
opt_out_rate:
type: integer
example: 0
default: 0
demo_rate:
type: integer
example: 0
default: 0
loaded_stats:
type: boolean
example: true
default: true
cc_emails:
type: string
example: ''
bcc_emails:
type: string
example: ''
underperforming_touches_count:
type: integer
example: 0
default: 0
sharing_permission:
type: object
description: Who can see and act on the sequence. This replaced the legacy `permissions` field,
which is no longer returned.
properties:
visibility:
type: string
description: '`everyone` if the sequence is shared with the whole team, or `restricted` if it
is limited to the owner and the users or teams listed in `sharing_accesses`.'
enum:
- restricted
- everyone
example: everyone
access_type:
type: string
description: The level of access granted to the team when `visibility` is `everyone`. `null`
when `visibility` is `restricted`.
enum:
- can_view
- can_edit
- full_access
nullable: true
example: can_view
object_type:
type: string
example: EmailerCampaign
object_id:
type: string
description: The Apollo ID for the sequence.
example: 66e9e215ece19801b219997f
is_owner:
type: boolean
description: Whether the authenticated user owns the sequence.
example: true
owner_id:
type: string
description: The Apollo user ID for the sequence owner. Matches `user_id`.
example: 66302798d03b9601c7934ebf
sharing_accesses:
type: array
description: Sequences shared with specific users or teams, in addition to whatever `visibility`
grants.
items:
type: object
properties:
id:
type: string
shared_by:
type: string
description: The Apollo user ID for the user who granted the access.
user_or_team_id:
type: string
description: The Apollo ID for the user or team the sequence is shared with.
user_or_team_type:
type: string
access_type:
type: string
enum:
- can_view
- can_edit
- full_access
object_id:
type: string
object_type:
type: string
is_default:
type: boolean
num_fetch_result: {}
'401':
description: '401'
content:
text/plain:
examples:
Check API key:
value: Invalid API key. See https://docs.apollo.io/reference/authentication for how to authenticate.
'403':
description: '403'
content:
application/json:
examples:
Need master API key:
value: "{\n \"error\": \"This API key is not authorized to access api/v1/emailer_campaigns/search. Request\
\ an API key from your administrator that includes this endpoint in its configured scope.\",\n \"error_code\"\
: \"API_INACCESSIBLE\"\n}"
Check Apollo pricing plan:
value: "{\n \"message\": \"This endpoint is only available to Apollo users on paid plans.\"\n}"
schema:
oneOf:
- title: Need master API key
type: object
properties:
error:
type: string
example: This API key is not authorized to access api/v1/emailer_campaigns/search. Request an API key
from your administrator that includes this endpoint in its configured scope.
error_code:
type: string
example: API_INACCESSIBLE
- title: Check Apollo pricing plan
type: object
properties:
message:
type: string
example: This endpoint is only available to Apollo users on paid plans.
'429':
description: '429'
content:
application/json:
examples:
Too many requests:
value: "{\n \"message\": \"The maximum number of api calls allowed for api/v1/emailer_campaigns/search\
\ is 600 times per hour. Please upgrade your plan from https://app.apollo.io/#/settings/plans/upgrade.\"\
\n}"
schema:
type: object
properties:
message:
type: string
example: The maximum number of api calls allowed for api/v1/emailer_campaigns/search is 600 times per
hour. Please upgrade your plan from https://app.apollo.io/#/settings/plans/upgrade.
deprecated: false
/emailer_campaigns/{sequence_id}/add_contact_ids:
post:
summary: Add Contacts to a Sequence
description: '## Endpoint essentials
**API key access:** `api/v1/emailer_campaigns/add_contact_ids` or `Master API key`
**OAuth scopes:** `emailer_campaigns_add_contact_ids`
**Credit usage:** `0 credits` — [Learn more about API pricing and credits](https://docs.apollo.io/docs/api-pricing).
<a href="https://knowledge.apollo.io/hc/en-us/articles/4409237165837-Sequences-Overview" target="_blank">Sequences</a>
are
# --- truncated at 32 KB (202 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/apollo-api-documentation/refs/heads/main/openapi/apollo-api-documentation-sequences-api-openapi.yml