Tenfold Calls API

Originate, query, control, and update calls

Operations 11

POST /api/v1/calls/originate Initiate an outbound call (v1) #
GET /api/v1/calls List all calls, paginated (v1) #
GET /api/v1/calls/{callId} Retrieve a specific call (v1) #
POST /api/v1/calls/{callId}/startRecording Enable call recording (v1) #
POST /api/v1/calls/{callId}/stopRecording Disable call recording (v1) #
POST /api/v1/calls/{callId}/hangup Terminate an active call (v1) #
GET /v2/calls List calls with enhanced filtering (v2) #
GET /v2/calls/{callId} Get call details (v2) #
PUT /v2/calls/{callId} Update a call (notes, CRM record) #
PUT /v2/calls/{callId}/set-matching-record Link a CRM record to a call #
GET /v2/calls/{callId}/transfer-history Retrieve call transfer history #

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/tenfold-calls-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

tenfold-calls-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Tenfold Analytics Calls API
  version: '2.0'
  description: Tenfold (a LivePerson company) is a computer-telephony integration (CTI) platform — the "Customer Experience Cloud" — that connects phone systems and contact-center platforms with CRM and support systems. The REST API lets you originate and query calls, control call recording, manage users and organizations, read and write CRM records, pull call analytics and transcripts, and manage contact lists. This specification was generated by the API Evangelist enrichment pipeline from the public documented endpoint reference at https://apidocs.tenfold.com/ — paths, methods, and summaries are transcribed from the docs; request/response schemas are intentionally generic (the provider does not publish an OpenAPI document).
  contact:
    name: Tenfold Support
    url: https://docs.tenfold.com/
  x-api-evangelist:
    generated: true
    source: https://apidocs.tenfold.com/
servers:
- url: https://api.tenfold.com
  description: Production
- url: https://api-canary.tenfold.com
  description: Beta / canary (subject to change without backward compatibility)
security:
- bearerJWT: []
- oauth2Password: []
tags:
- name: Calls
  description: Originate, query, control, and update calls
paths:
  /api/v1/calls/originate:
    post:
      tags:
      - Calls
      operationId: originateCallV1
      summary: Initiate an outbound call (v1)
      responses:
        '200':
          description: Call originated
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/calls:
    get:
      tags:
      - Calls
      operationId: listCallsV1
      summary: List all calls, paginated (v1)
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pageSize'
      responses:
        '200':
          description: A page of calls
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/v1/calls/{callId}:
    get:
      tags:
      - Calls
      operationId: getCallV1
      summary: Retrieve a specific call (v1)
      parameters:
      - name: callId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Call details
        '404':
          $ref: '#/components/responses/NotFound'
  /api/v1/calls/{callId}/startRecording:
    post:
      tags:
      - Calls
      operationId: startRecordingV1
      summary: Enable call recording (v1)
      parameters:
      - name: callId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Recording started
        '404':
          $ref: '#/components/responses/NotFound'
  /api/v1/calls/{callId}/stopRecording:
    post:
      tags:
      - Calls
      operationId: stopRecordingV1
      summary: Disable call recording (v1)
      parameters:
      - name: callId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Recording stopped
        '404':
          $ref: '#/components/responses/NotFound'
  /api/v1/calls/{callId}/hangup:
    post:
      tags:
      - Calls
      operationId: hangupCallV1
      summary: Terminate an active call (v1)
      parameters:
      - name: callId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Call terminated
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/calls:
    get:
      tags:
      - Calls
      operationId: listCalls
      summary: List calls with enhanced filtering (v2)
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/pageSize'
      responses:
        '200':
          description: A page of calls
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/calls/{callId}:
    get:
      tags:
      - Calls
      operationId: getCall
      summary: Get call details (v2)
      parameters:
      - name: callId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Call details
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      tags:
      - Calls
      operationId: updateCall
      summary: Update a call (notes, CRM record)
      parameters:
      - name: callId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Call updated
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/calls/{callId}/set-matching-record:
    put:
      tags:
      - Calls
      operationId: setMatchingRecord
      summary: Link a CRM record to a call
      parameters:
      - name: callId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Record linked
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/calls/{callId}/transfer-history:
    get:
      tags:
      - Calls
      operationId: getCallTransferHistory
      summary: Retrieve call transfer history
      parameters:
      - name: callId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Transfer history
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    BadRequest:
      description: Bad Request – Your request failed
    NotFound:
      description: Not Found – The specified path or resource does not exist
    Unauthorized:
      description: Unauthorized – Your OAuth/JWT token is missing or incorrect
  parameters:
    pageSize:
      name: pageSize
      in: query
      required: false
      description: Page size (v2 max 500).
      schema:
        type: integer
        default: 50
        maximum: 500
    page:
      name: page
      in: query
      required: false
      description: Zero-based page index.
      schema:
        type: integer
        default: 0
  securitySchemes:
    oauth2Password:
      type: oauth2
      description: OAuth 2.0 Resource Owner Password Credentials grant (v1/v2)
      flows:
        password:
          tokenUrl: https://api.tenfold.com/v2/oauth/token
          scopes: {}
    oauth2ClientCredentials:
      type: oauth2
      description: OAuth 2.0 Client Credentials grant
      flows:
        clientCredentials:
          tokenUrl: https://api.tenfold.com/v2/oauth/token
          scopes: {}
    bearerJWT:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'JWT access token obtained from /v2/users/login, presented as "Authorization: Bearer JWT <token>".'