Vessel Apollo Actions API

The Vessel Actions API for Apollo — typed, validated wrappers over Apollo's native API served under /api/actions/apollo. Actions add request/response schema validation, standardized data types and normalized error handling on top of the downstream provider, so callers do not have to absorb that provider's quirks directly. Published by Vessel as OpenAPI 3.1.0 with 23 operations.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/apollo-actions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vessel-apollo-actions-openapi.yml Raw ↑

openapi: 3.1.0
info:
  title: Apollo API Reference
  version: "1.0"
  summary: API
servers:
  - url: "https://api.vessel.dev"
security:
  - VesselAPIToken: []
paths:
  /api/actions/apollo/accounts/create:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                   account:
                     type: object
                     properties:
                       id:
                         type: string
                       name:
                         type:
                           - string
                           - 'null'
                       websiteUrl:
                         type:
                           - string
                           - 'null'
                       estimatedNumEmployees:
                         type:
                           - number
                           - 'null'
                       industry:
                         type:
                           - string
                           - 'null'
                       organizationRawAddress:
                         type:
                           - string
                           - 'null'
                       organizationCity:
                         type:
                           - string
                           - 'null'
                       organizationStreetAddress:
                         type:
                           - string
                           - 'null'
                       organizationState:
                         type:
                           - string
                           - 'null'
                       organizationCountry:
                         type:
                           - string
                           - 'null'
                       organizationPostalCode:
                         type:
                           - string
                           - 'null'
                       domain:
                         type:
                           - string
                           - 'null'
                       ownerId:
                         type:
                           - string
                           - 'null'
                       lastActivityDate:
                         anyOf:
                           - type: string
                             format: date-time
                           - type: 'null'
                       sanitizedPhone:
                         type:
                           - string
                           - 'null'
                       typedCustomFields:
                         type: object
                         properties: {}
                       createdAt:
                         type: string
                         format: date-time
                     required:
                       - id
                       - created_at
              examples:
                example-1:
                  value:
                     account:
                       id: in deserunt Ut reprehenderit
                       estimatedNumEmployees: null
                       websiteUrl: fugiat sed nostrud sit incididunt
                       organizationPostalCode: null
                       createdAt: '1968-11-11T09:51:40.0Z'
                       organizationState: veniam sit
                       lastActivityDate: null
                       industry: null
                       name: null
                       organizationStreetAddress: null
                       ownerId: null
                       organizationCity: tempor laboris cillum
                       organizationRawAddress: voluptate sed ullamco exercitation
                       organizationCountry: null
                       sanitizedPhone: null
                       domain: nulla quis cupidatat eiusmod
                       typedCustomFields: {}
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                 name:
                   type:
                     - string
                     - 'null'
                 domain:
                   type:
                     - string
                     - 'null'
                 phone:
                   type:
                     - string
                     - 'null'
            examples:
              example-1:
                value:
                     name: fugiat eiusmod est
                     domain: minim pariatur
                     phone: null
      operationId: create-account
      parameters:
      - name: x-vessel-access-token
        in: header
        description: Access Token
        required: true
        schema:
          type: string
    parameters: []
  /api/actions/apollo/accounts/search:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                   accounts:
                     type: array
                     items:
                       type: object
                       properties:
                         id:
                           type: string
                         name:
                           type:
                             - string
                             - 'null'
                         websiteUrl:
                           type:
                             - string
                             - 'null'
                         estimatedNumEmployees:
                           type:
                             - number
                             - 'null'
                         industry:
                           type:
                             - string
                             - 'null'
                         organizationRawAddress:
                           type:
                             - string
                             - 'null'
                         organizationCity:
                           type:
                             - string
                             - 'null'
                         organizationStreetAddress:
                           type:
                             - string
                             - 'null'
                         organizationState:
                           type:
                             - string
                             - 'null'
                         organizationCountry:
                           type:
                             - string
                             - 'null'
                         organizationPostalCode:
                           type:
                             - string
                             - 'null'
                         domain:
                           type:
                             - string
                             - 'null'
                         ownerId:
                           type:
                             - string
                             - 'null'
                         lastActivityDate:
                           anyOf:
                             - type: string
                               format: date-time
                             - type: 'null'
                         sanitizedPhone:
                           type:
                             - string
                             - 'null'
                         typedCustomFields:
                           type: object
                           properties: {}
                         createdAt:
                           type: string
                           format: date-time
                       required:
                         - id
                         - created_at
                   pagination:
                     type: object
                     properties:
                       page:
                         type:
                           - number
                           - 'null'
                       perPage:
                         type: number
                       totalEntries:
                         type: number
                       totalPages:
                         type: number
                     required:
                       - page
                       - per_page
                       - total_entries
                       - total_pages
              examples:
                example-1:
                  value:
                     accounts:
                       - id: ex
                         organizationPostalCode: null
                         websiteUrl: Lorem in cillum commodo
                         name: null
                         ownerId: null
                         organizationRawAddress: null
                         sanitizedPhone: laborum magna ipsum
                         organizationState: null
                         domain: sint irure cillum et sunt
                         organizationCity: Duis culpa nisi non tempor
                         organizationStreetAddress: null
                         lastActivityDate: null
                         createdAt: '1998-02-13T02:51:42.0Z'
                         organizationCountry: occaecat cillum laboris voluptate
                         estimatedNumEmployees: 67370679.50048807
                         industry: laboris occaecat elit eiusmod
                         typedCustomFields: {}
                     pagination:
                       page: null
                       totalEntries: -94639301.4333235
                       totalPages: 17734680.960502043
                       perPage: 92941126.84197268
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                 qOrganizationName:
                   type: string
                 page:
                   type: number
            examples:
              example-1:
                value:
                     qOrganizationName: aliqua
                     page: 70115309.38806385
      operationId: search-account
      parameters:
      - name: x-vessel-access-token
        in: header
        description: Access Token
        required: true
        schema:
          type: string
    parameters: []
  /api/actions/apollo/accounts/update:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                   account:
                     type: object
                     properties:
                       id:
                         type: string
                       name:
                         type:
                           - string
                           - 'null'
                       websiteUrl:
                         type:
                           - string
                           - 'null'
                       estimatedNumEmployees:
                         type:
                           - number
                           - 'null'
                       industry:
                         type:
                           - string
                           - 'null'
                       organizationRawAddress:
                         type:
                           - string
                           - 'null'
                       organizationCity:
                         type:
                           - string
                           - 'null'
                       organizationStreetAddress:
                         type:
                           - string
                           - 'null'
                       organizationState:
                         type:
                           - string
                           - 'null'
                       organizationCountry:
                         type:
                           - string
                           - 'null'
                       organizationPostalCode:
                         type:
                           - string
                           - 'null'
                       domain:
                         type:
                           - string
                           - 'null'
                       ownerId:
                         type:
                           - string
                           - 'null'
                       lastActivityDate:
                         anyOf:
                           - type: string
                             format: date-time
                           - type: 'null'
                       sanitizedPhone:
                         type:
                           - string
                           - 'null'
                       typedCustomFields:
                         type: object
                         properties: {}
                       createdAt:
                         type: string
                         format: date-time
                     required:
                       - id
                       - created_at
              examples:
                example-1:
                  value:
                     account:
                       id: ut quis
                       organizationPostalCode: null
                       organizationRawAddress: null
                       websiteUrl: ex id Lorem Excepteur elit
                       industry: null
                       sanitizedPhone: null
                       organizationState: Ut et
                       organizationStreetAddress: null
                       createdAt: '1973-11-02T14:42:50.0Z'
                       organizationCity: null
                       lastActivityDate: '1987-10-26T21:47:10.0Z'
                       name: null
                       organizationCountry: null
                       domain: eiusmod aliqua adipisicing amet
                       estimatedNumEmployees: 4961864.883238703
                       ownerId: fugiat aliquip laboris dolor
                       typedCustomFields: {}
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                 id:
                   type: string
                 name:
                   type:
                     - string
                     - 'null'
                 domain:
                   type:
                     - string
                     - 'null'
                 phone:
                   type:
                     - string
                     - 'null'
            examples:
              example-1:
                value:
                     id: Duis sint laboris proident
                     name: nisi magna in Excepteur
                     domain: null
                     phone: commodo ex Excepteur ut
      operationId: update-account
      parameters:
      - name: x-vessel-access-token
        in: header
        description: Access Token
        required: true
        schema:
          type: string
    parameters: []
  /api/actions/apollo/activities/list:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                   activities:
                     type: array
                     items:
                       type: object
                       properties:
                         id:
                           type: string
                         type:
                           type: string
                         emailerMessageId:
                           type: string
                         emailerMessage:
                           type: object
                           properties:
                             id:
                               type: string
                             bodyText:
                               type:
                                 - string
                                 - 'null'
                             bodyHtml:
                               type:
                                 - string
                                 - 'null'
                             bounce:
                               type:
                                 - boolean
                                 - 'null'
                             completedAt:
                               anyOf:
                                 - type: string
                                   format: date-time
                                 - type: 'null'
                             contactId:
                               type: string
                             createdAt:
                               type: string
                               format: date-time
                             emailerCampaignId:
                               type:
                                 - string
                                 - 'null'
                             fromEmail:
                               type: string
                             fromName:
                               type:
                                 - string
                                 - 'null'
                             numClicks:
                               type:
                                 - number
                                 - 'null'
                             numOpens:
                               type:
                                 - number
                                 - 'null'
                             replied:
                               type:
                                 - boolean
                                 - 'null'
                             status:
                               type:
                                 - string
                                 - 'null'
                             subject:
                               type:
                                 - string
                                 - 'null'
                             userId:
                               type: string
                           required:
                             - id
                             - contact_id
                             - created_at
                             - from_email
                             - user_id
                       required:
                         - id
                         - type
                         - emailer_message_id
                         - emailer_message
              examples:
                example-1:
                  value:
                     activities:
                       - id: incididunt quis ad cillum sunt
                         type: mollit laborum dolore culpa Excepteur
                         emailerMessage:
                           id: dolor ea consequat
                           numOpens: 42325172.37951955
                           userId: dolore dolor non anim
                           bodyText: null
                           createdAt: '2014-10-25T01:10:35.0Z'
                           subject: esse
                           numClicks: null
                           replied: null
                           contactId: adipisicing labore Lorem veniam
                           fromEmail: dolor reprehenderit labore ut
                           fromName: ex aliquip
                           emailerCampaignId: null
                           completedAt: null
                           status: null
                           bounce: null
                           bodyHtml: null
                         emailerMessageId: eu in esse enim
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                 contactId:
                   type: string
                 types:
                   type: array
                   items:
                     type: string
            examples:
              example-1:
                value:
                     contactId: dolor irure Duis quis
                     types:
                       - dolore adipisicing nulla sit
      operationId: list-activities
      parameters:
      - name: x-vessel-access-token
        in: header
        description: Access Token
        required: true
        schema:
          type: string
    parameters: []
  /api/actions/apollo/contacts/create:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                   contact:
                     type: object
                     properties:
                       id:
                         type: string
                       firstName:
                         type:
                           - string
                           - 'null'
                       lastName:
                         type:
                           - string
                           - 'null'
                       name:
                         type:
                           - string
                           - 'null'
                       title:
                         type:
                           - string
                           - 'null'
                       ownerId:
                         type:
                           - string
                           - 'null'
                       presentRawAddress:
                         type:
                           - string
                           - 'null'
                       phoneNumbers:
                         type: array
                         items:
                           type: object
                           properties:
                             rawNumber:
                               type: string
                             sanitizedNumber:
                               type:
                                 - string
                                 - 'null'
                             type:
                               type: string
                               enum:
                                 - mobile
                                 - home
                                 - work_hq
                                 - work_direct
                                 - other
                             position:
                               type: number
                             status:
                               type:
                                 - string
                                 - 'null'
                             dncStatus:
                               type:
                                 - string
                                 - 'null'
                           required:
                             - raw_number
                             - type
                             - position
                       organizationName:
                         type:
                           - string
                           - 'null'
                       email:
                         type:
                           - string
                           - 'null'
                       websiteUrl:
                         type:
                           - string
                           - 'null'
                       contactStageId:
                         type:
                           - string
                           - 'null'
                       accountId:
                         type:
                           - string
                           - 'null'
                       createdAt:
                         type: string
                         format: date-time
                       updatedAt:
                         type: string
                         format: date-time
                       linkedinUrl:
                         type:
                           - string
                           - 'null'
                       typedCustomFields:
                         type: object
                         properties: {}
                     required:
                       - id
                       - phone_numbers
                       - created_at
                       - updated_at
                       - typed_custom_fields
              examples:
                example-1:
                  value:
                     contact:
                       id: aliquip ea eu Ut
                       websiteUrl: exercitation in sit culpa occaecat
                       presentRawAddress: incididunt reprehenderit est qui dolore
                       phoneNumbers:
                         - type: work_hq
                           position: 47457977.40565795
                           sanitizedNumber: cupidatat eu
                           status: null
                           rawNumber: culpa in velit adipisicing sint
                           dncStatus: nisi Excepteur Lorem
                       name: elit deserunt ut
                       linkedinUrl: null
                       accountId: null
                       typedCustomFields: {}
                       organizationName: non adipisicing ipsum ut Excepteur
                       lastName: null
                       contactStageId: Ut fugiat
                       title: cillum Excepteur irure
                       firstName: do non Lorem amet veniam
                       email: mollit nostrud do
                       ownerId: adipisicing quis
                       createdAt: '1994-03-12T21:38:45.0Z'
                       updatedAt: '1946-09-21T20:11:15.0Z'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                 firstName:
                   type:
                     - string
                     - 'null'
                 lastName:
                   type:
                     - string
                     - 'null'
                 organizationName:
                   type:
                     - string
                     - 'null'
                 title:
                   type:
                     - string
                     - 'null'
                 ownerId:
                   type:
                     - string
                     - 'null'
                 accountId:
                   type:
                     - string
                     - 'null'
                 email:
                   type:
                     - string
                     - 'null'
                 websiteUrl:
                   type:
                     - string
                     - 'null'
                 contactStageId:
                   type:
                     - string
                     - 'null'
                 presentRawAddress:
                   type:
                     - string
                     - 'null'
                 labelNames:
                   anyOf:
                     - type: array
                       items:
                         type: string
                     - type: 'null'
            examples:
              example-1:
                value:
                     firstName: consequat in
                     lastName: null
                     organizationName: null
                     title: null
                     ownerId: null
                     accountId: laboris proident
                     email: in cillum laboris reprehenderit sed
                     websiteUrl: deserunt
                     contactStageId: null
                     presentRawAddress: ipsum ex
                     labelNames: null
      operationId: create-contact
      parameters:
      - name: x-vessel-access-token
        in: header
        description: Access Token
        required: true
        schema:
          type: string
    parameters: []
  /api/actions/apollo/contacts/search:
    post:
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                   contacts:
                     type: array
                     items:
                       type: object
                       properties:
                         id:
                           type: string
                         firstName:
                           type:
                             - string
                             - 'null'
                         lastName:
                           type:
                             - string
                             - 'null'
                         name:
                           type:
                             - string
                             - 'null'
                         title:
                           type:
                             - string
                             - 'null'
                         ownerId:
                           type:
                             - string
                             - 'null'
                         presentRawAddress:
                           type:
                             - string
                             - 'null'
                         phoneNumbers:
                           type: array
                           items:
                             type: object
                             properties:
                               rawNumber:
                                 type: string
                               sanitizedNumber:
                                 type:
                                   - string
                                   - 'null'
                               type:
                                 type: string
                                 enum:
                                   - mobile
                                   - home
                                   - work_hq
                                   - work_direct
                                   - other
                               position:
                                 type: number
                               status:
                                 type:
                                   - string
                                   - 'null'
                               dncStatus:
                                 type:
                                   - string
                                   - 'null'
                             required:
                               - raw_number
                               - type
                               - position
                         organizationName:
                           type:
                             - string
                             - 'null'
                         email:
                           type:
                             - string
                             - 'null'
                         websiteUrl:
                           type:
                             - string
                             - 'null'
                         contactStageId:
                           type:
                             - string
                             - 'null'
                         accountId:
                           type:
                             - string
                             - 'null'
                         createdAt:
                           type: string
                           format: date-time
                         updatedAt:
                           type: string
                           format: date-time
                         linkedinUrl:
                           type:
                             - string
                             - 'null'
                         typedCustomFields:
                           type: object
                           properties: {}
                       required:
                         - id
                         - phone_numbers
                         - created_at
                         - updated_at
                         - typed_custom_fields
                   pagination:
                     type: object
                     properties:
                       page:
                         type:
                           - number
                           - 'null'
                       perPage:
                         type: number
                       totalEntries:
                         type: number
                       totalPages:
                         type: number
                     required:
                       - page
                       - per_page
                       - total_entries
                       - total_pages
              exam

# --- truncated at 32 KB (110 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vessel/refs/heads/main/openapi/vessel-apollo-actions-openapi.yml