8x8

8x8 Record Management API

Add and remove records from campaigns

Operations 2

POST /{campaign-id}/customers Add a new customer to an existing campaign #
DELETE /{campaign-id}/customers/{customer-id} This method deletes customers from an existing campaign. #

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/8x8-record-management-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

8x8-record-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: 8x8 Contact Center Dynamic Campaigns Record Management API
  contact:
    name: Dynamic Campaigns Team
    email: ro-rec@8x8.com
  termsOfService: http://www.8x8.com/terms-and-conditions
  description: "The 8x8 Contact Center Dynamic Campaigns API:\n* Adds and removes records from an active campaign\n* Sends records to a specified campaign via the API\n* Adds records to a live campaign\n* Removes records from a campaign so they are not dialed again\n* Schedules a callback with a possible maximum of 7 days in advance\n* Schedules uploads for a maximum of 5 million records\n\n## Campaign form\n\nYour campaign with associated tenant is of the form:\n\n**`https://{your tenant url}/api/tstats/campaigns/{campaign-id}`**\n\nFor example:\n\n**`https://vcc-eu5.8x8.com/api/tstats/campaigns/101/`**\n## Add a customer to a campaign\nTo add a customer to a campaign:\n\n**`https://{your tenant url}/api/tstats/campaigns/{campaign-id}/customers`**\n\nFor example:\n\n**`https://vcc-eu5.8x8.com/api/tstats/campaigns/101/customers`**\n\n## Delete a customer from a campaign\nTo delete a customer from a campaign take the following form:\n\n**`https://{your tenant url}/api/tstats/campaigns/{campaign-id}/customers/{customer-id}`**\n\nFor example:\n\n**`https://vcc-eu5.8x8.com/api/tstats/campaigns/101/customers/10000111`**\n\nThe complete list of platform URLs is available on the [8x8 Contact Center - Platform URL Guide.](https://files.mtstatic.com/site_12249/2500/3?Expires=1601933655&Signature=ebyMEramVyRMGdgkVXwJH~2~-ovb7XLq5zV4Q3oWfsRa8l-6ZZq~sK64tHhRPU-GW7W~lYw22~gBmPbCop9l~uy10KC6skH0xvMqrIbBCQGwitAc-83vP8Lu6vBIQxWP5sGqS6JXekSgqcq7stTw-RMLsFDT8fXK4~qyGoMlqNs_&Key-Pair-Id=APKAJ5Y6AV4GI7A555NA) \n\nFor further configuration information refer to [8x8 Contact Center Dynamic Campaign API Configuration.](https://support.8x8.com/cloud-contact-center/virtual-contact-center/developers/8x8-contact-center-dynamic-campaign-api-configuration) "
servers:
- description: AP1
  url: https://vcc-ap1.8x8.com/api/tstats/campaigns
- description: AU1
  url: https://vcc-au1.8x8.com/api/tstats/campaigns
- description: BC2
  url: https://odcc2.bell.ca/api/tstats/campaigns
- description: CA1
  url: https://vcc-ca1.8x8.com/api/tstats/campaigns
- description: CA2
  url: https://vcc-ca2.8x8.com/api/tstats/campaigns
- description: EU2
  url: https://vcc-eu2.8x8.com/api/tstats/campaigns
- description: EU3
  url: https://vcc-eu3.8x8.com/api/tstats/campaigns
- description: EU4
  url: https://vcc-eu4.8x8.com/api/tstats/campaigns
- description: EU5
  url: https://vcc-eu5.8x8.com/api/tstats/campaigns
- description: EU6
  url: https://vcc-eu6.8x8.com/api/tstats/campaigns
- description: EU7
  url: https://vcc-eu7.8x8.com/api/tstats/campaigns
- description: EU9
  url: https://vcc-eu9.8x8.com/api/tstats/campaigns
- description: EU10
  url: https://vcc-eu10.8x8.com/api/tstats/campaigns
- description: EU11
  url: https://vcc-eu11.8x8.com/api/tstats/campaigns
- description: EU12
  url: https://vcc-eu12.8x8.com/api/tstats/campaigns
- description: NA1
  url: https://vcc-na1.8x8.com/api/tstats/campaigns
- description: NA2
  url: https://vcc-na2.8x8.com/api/tstats/campaigns
- description: NA3
  url: https://vcc-na3.8x8.com/api/tstats/campaigns
- description: NA4
  url: https://vcc-na4.8x8.com/api/tstats/campaigns
- description: NA5
  url: https://vcc-na5.8x8.com/api/tstats/campaigns
- description: NA6
  url: https://vcc-na6.8x8.com/api/tstats/campaigns
- description: NA7
  url: https://vcc-na7.8x8.com/api/tstats/campaigns
- description: NA8
  url: https://vcc-na8.8x8.com/api/tstats/campaigns
- description: NA9
  url: https://vcc-na9.8x8.com/api/tstats/campaigns
- description: NA10
  url: https://vcc-na10.8x8.com/api/tstats/campaigns
- description: NA11
  url: https://vcc-na11.8x8.com/api/tstats/campaigns
- description: NA12
  url: https://vcc-na12.8x8.com/api/tstats/campaigns
- description: NA13
  url: https://vcc-na13.8x8.com/api/tstats/campaigns
- description: NA14
  url: https://vcc-na14.8x8.com/api/tstats/campaigns
- description: NA15
  url: https://vcc-na15.8x8.com/api/tstats/campaigns
- description: NA16
  url: https://vcc-na16.8x8.com/api/tstats/campaigns
- description: NA17
  url: https://vcc-na17.8x8.com/api/tstats/campaigns
- description: NA18
  url: https://vcc-na18.8x8.com/api/tstats/campaigns
- description: NA19
  url: https://vcc-na19.8x8.com/api/tstats/campaigns
- description: NA20
  url: https://vcc-na20.8x8.com/api/tstats/campaigns
- description: NA27
  url: https://vcc-na27.8x8.com/api/tstats/campaigns
- description: NA28
  url: https://vcc-na28.8x8.com/api/tstats/campaigns
- description: NA29
  url: https://vcc-na29.8x8.com/api/tstats/campaigns
- description: NA30
  url: https://vcc-na30.8x8.com/api/tstats/campaigns
- description: NA37
  url: https://vcc-na37.8x8.com/api/tstats/campaigns
- description: NA38
  url: https://vcc-na38.8x8.com/api/tstats/campaigns
- description: NA39
  url: https://vcc-na39.8x8.com/api/tstats/campaigns
- description: NA40
  url: https://vcc-na40.8x8.com/api/tstats/campaigns
security:
- ccActionBasicAuth: []
tags:
- name: Record Management
  description: Add and remove records from campaigns
paths:
  /{campaign-id}/customers:
    post:
      tags:
      - Record Management
      summary: Add a new customer to an existing campaign
      operationId: addcustomer
      description: 'Add a new customer to an existing campaign  **Note: the campaign must be have dynamic campaign enabled to leverage this feature**'
      parameters:
      - $ref: '#/components/parameters/CampaignId'
      responses:
        '207':
          description: Multi-status result; review the message body to check results for each individual item.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerItemResponseList'
        '400':
          description: Multiple errors - review examples
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internalServerError'
              examples:
                CampaignStopped:
                  value:
                    message: The campaign has stopped. No additional customers can be added.
                CampaignNew:
                  value:
                    message: The operation is invalid for a campaign that has not started.
                InvalidCustomer:
                  value:
                    message: The provided customer list is invalid.
                NotDynamicCampaign:
                  value:
                    message: This is not a dynamic campaign.
                CampaignNotEnabled:
                  value:
                    message: The campaign is not enabled.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internalServerError'
              examples:
                CampaignStopped:
                  value:
                    message: Internal server error
      requestBody:
        description: Add customer item
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerItemList'
  /{campaign-id}/customers/{customer-id}:
    delete:
      tags:
      - Record Management
      summary: This method deletes customers from an existing campaign.
      operationId: deletecustomer
      description: 'This method deletes a customer from an existing campaign. You can delete new, queued, or scheduled customers. You should not delete customers that have received, completed, or already deleted offers. If the customer has been offered the delete method it will fail and if the agent rejects the call it be re-queued again. The delete method can then be called again. **Note: the campaign must be have dynamic campaign enabled to leverage this feature**'
      parameters:
      - $ref: '#/components/parameters/CampaignId'
      - $ref: '#/components/parameters/CustomerId'
      responses:
        '204':
          description: the customer has been deleted.
        '400':
          description: The customer is not available for deletion.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internalServerError'
              examples:
                CampaignStopped:
                  value:
                    message: The campaign has stopped. No customers can be deleted.
                NotDynamicCampaign:
                  value:
                    message: This is not a dynamic campaign.
                CampaignNotEnabled:
                  value:
                    message: This campaign is not enabled.
        '404':
          description: The customer has not been located.
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internalServerError'
              examples:
                CampaignStopped:
                  value:
                    message: Internal server error
components:
  schemas:
    CustomerItemResponseList:
      type: array
      items:
        $ref: '#/components/schemas/CustomerItemResponse'
      example:
      - customer-id: 1000000
        schedule-date-time: '2016-08-29T09:00:00.000Z'
        http-status: 200
      - customer-id: 1000001
        http-status: 200
      - customer-id: 1000999
        http-status: 400
        message: Duplicate customer
      - customer-id: 1000777
        schedule-date-time: 2016-08-29T     09:00:00.000Z
        http-status: 400
        message: Invalid schedule-date-time format - please use ISO 8601 format
      - customer-id: null
        http-status: 400
        message: Invalid customer-id
      - customer-id: 9
        http-status: 404
        message: The customer-id has not been found.
      - customer-id: 10000
        schedule-date-time: '2016-08-29T09:00:00.000Z'
        http-status: 400
        message: The subject schedule-date-time is in the past.
      - customer-id: 1000778
        schedule-date-time: '2016-08-29T09:00:00.000Z'
        http-status: 400
        message: The subject schedule-date-time is outside the campaign schedule from 2016-08-27T09:00:00.000Z to 2016-08-28T09:00:00.000Z.
      - customer-id: 100002
        schedule-date-time: '2016-08-29T09:00:00.000Z'
        http-status: 400
        message: The subject schedule-date-time must be within 7 days ahead of a future period.
    CustomerItemList:
      type: array
      items:
        $ref: '#/components/schemas/CustomerItem'
      example:
      - customer-id: 1000000
        schedule-date-time: '2016-08-29T09:00:00.000Z'
      - customer-id: 1000999
      - customer-id: 1000777
    internalServerError:
      type: object
      required:
      - message
      properties:
        message:
          type: string
          format: string
    CustomerItemResponse:
      type: object
      required:
      - customer-id
      - http-status
      properties:
        customer-id:
          type: string
          format: int32
          maximum: 1.0e+22
          example: 1000000
        schedule-date-time:
          type: string
          format: date-time
          example: '2016-08-29T09:00:00.000Z'
        http-status:
          type: string
          format: int32
          example: 200
        message:
          type: string
          format: string
          example: Duplicate customer
    CustomerItem:
      type: object
      required:
      - customer-id
      properties:
        customer-id:
          type: string
          format: int32
          maximum: 1.0e+22
          example: 1000000
        schedule-date-time:
          type: string
          format: date-time
          example: '2016-08-29T09:00:00.000Z'
  parameters:
    CustomerId:
      name: customer-id
      in: path
      description: The customer ID is the id of the record in the 8x8 Local CRM. This is also known as the `ACCOUNTNUM` or Account Number
      required: true
      style: simple
      explode: false
      schema:
        type: string
        format: int32
      example: 1000000
    CampaignId:
      name: campaign-id
      in: path
      description: The campaign ID is the unique Campaign ID of the campaign as listed in CC Configuration Manager under Campaigns (column can be added if not visible)
      required: true
      style: simple
      explode: false
      schema:
        type: integer
        format: int32
      example: 1
  securitySchemes:
    ccActionBasicAuth:
      type: http
      scheme: basic
      description: The username is the tenantId and the password is the CC action-token.
x-apigee-id: Dynamic_campaigns
x-readme:
  explorer-enabled: true
  proxy-enabled: true