Call2Me API Keys API

Manage API keys used to authenticate against this API. Keys are workspace-scoped; rotate or revoke any time.

Operations 6

GET /v1/api-keys List Api Keys #
POST /v1/api-keys Create Api Key #
GET /v1/api-keys/{key_id} Get Api Key #
DELETE /v1/api-keys/{key_id} Revoke Api Key #
DELETE /v1/api-keys/{key_id}/permanent Delete Api Key #
GET /v1/api-keys/{key_id}/usage Get Api Key Usage #

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/call2me-app:call2me-app-api-keys-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

call2me-app-api-keys-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Call2Me API Keys API
  description: '# Call2Me Voice AI Platform API


    Programmatic interface to build, deploy and operate voice AI agents that can place

    and receive phone calls in real time. Designed to be consumed by humans **and** by

    AI agent frameworks (function-calling LLMs, MCP servers, automation platforms like

    Composio, Pipedream, Zapier, n8n).


    ## What you can do


    - **Place outbound calls** — give an agent a phone number to dial; the AI handles

    the conversation end-to-end and returns a transcript + recording.

    - **Manage AI agents** — create personalities, attach voices, system prompts,

    knowledge bases and post-call actions.

    - **Schedule calls** — one-shot or recurring (cron-like) outbound calls.

    - **Knowledge base (RAG)** — upload documents/URLs so the agent answers from your

    data with reduced hallucination.

    - **Inbound** — provision phone numbers that route to your agents.


    ## Common LLM tool-calling use cases


    | Goal | Endpoint |

    |------|----------|

    | "Call this person and read them this script" | `POST /v1/calls` |

    | "Schedule a follow-up tomorrow at 14:00" | `POST /v1/schedules` |

    | "Get the transcript of last call" | `GET /v1/calls/{id}` |

    | "Add this PDF to the agent''s brain" | `POST /v1/knowledge-base/{id}/sources` |


    ## Authentication


    Every request requires a Bearer token issued from the dashboard:


    ```

    Authorization: Bearer c2m_sk_xxxxxxxxxxxxxxxx

    ```


    Get your API key from the API Keys page.

    Keys are scoped per-workspace and can be rotated/revoked any time.


    ## Rate Limits


    | Plan | Requests/min | Concurrent Calls |

    |------|-------------|------------------|

    | Free | 60 | 1 |

    | Pro | 600 | 10 |

    | Enterprise | Unlimited | Unlimited |


    ## SDKs & Integrations


    - Python SDK

    - Node.js SDK

    - OpenAPI 3.1 spec: `/openapi.json` (use it to generate clients or register the

    service with AI tool platforms)


    ## Support


    - Email: support@call2me.app

    - Docs: https://docs.call2me.app

    - Discord: https://discord.gg/call2me'
  version: 1.0.0
  x-logo:
    url: https://call2me.app/logo.png
    altText: Call2Me Logo
  contact:
    name: Call2Me Support
    url: https://call2me.app/support
    email: support@call2me.app
  license:
    name: Commercial — see Terms of Service
    url: https://call2me.app/terms
  termsOfService: https://call2me.app/terms
servers:
- url: https://api.call2me.app
  description: Production
- url: http://localhost:8000
  description: Local Development
security:
- BearerAuth: []
tags:
- name: API Keys
  description: Manage API keys used to authenticate against this API. Keys are workspace-scoped; rotate or revoke any time.
paths:
  /v1/api-keys:
    get:
      tags:
      - API Keys
      summary: List Api Keys
      description: List all API keys (without the actual keys).
      operationId: list_api_keys_v1_api_keys_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/APIKeyInfo'
                type: array
                title: Response List Api Keys V1 Api Keys Get
    post:
      tags:
      - API Keys
      summary: Create Api Key
      description: 'Create a new API key.


        **Important**: The full API key is only returned once. Store it securely.'
      operationId: create_api_key_v1_api_keys_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAPIKeyRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIKeyResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/api-keys/{key_id}:
    get:
      tags:
      - API Keys
      summary: Get Api Key
      description: Get details of a specific API key.
      operationId: get_api_key_v1_api_keys__key_id__get
      parameters:
      - name: key_id
        in: path
        required: true
        schema:
          type: string
          title: Key Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIKeyInfo'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - API Keys
      summary: Revoke Api Key
      description: Revoke (deactivate) an API key.
      operationId: revoke_api_key_v1_api_keys__key_id__delete
      parameters:
      - name: key_id
        in: path
        required: true
        schema:
          type: string
          title: Key Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/api-keys/{key_id}/permanent:
    delete:
      tags:
      - API Keys
      summary: Delete Api Key
      description: Permanently delete an API key (hard delete). Only works for revoked keys.
      operationId: delete_api_key_v1_api_keys__key_id__permanent_delete
      parameters:
      - name: key_id
        in: path
        required: true
        schema:
          type: string
          title: Key Id
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/api-keys/{key_id}/usage:
    get:
      tags:
      - API Keys
      summary: Get Api Key Usage
      description: Get usage statistics for an API key.
      operationId: get_api_key_usage_v1_api_keys__key_id__usage_get
      parameters:
      - name: key_id
        in: path
        required: true
        schema:
          type: string
          title: Key Id
      - name: days
        in: query
        required: false
        schema:
          type: integer
          default: 7
          title: Days
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/src__routers__v1__api_keys__UsageStats'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    APIKeyInfo:
      properties:
        key_id:
          type: string
          title: Key Id
        name:
          type: string
          title: Name
        key_prefix:
          type: string
          title: Key Prefix
        permissions:
          items:
            type: string
          type: array
          title: Permissions
        rate_limit:
          type: integer
          title: Rate Limit
        read_only:
          type: boolean
          title: Read Only
          default: false
        is_active:
          type: boolean
          title: Is Active
        expires_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Expires At
        last_used_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Used At
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - key_id
      - name
      - key_prefix
      - permissions
      - rate_limit
      - is_active
      - expires_at
      - last_used_at
      - created_at
      title: APIKeyInfo
      description: API key info (without the actual key).
    src__routers__v1__api_keys__UsageStats:
      properties:
        total_requests:
          type: integer
          title: Total Requests
        successful_requests:
          type: integer
          title: Successful Requests
        failed_requests:
          type: integer
          title: Failed Requests
        avg_duration_ms:
          type: number
          title: Avg Duration Ms
        period_start:
          type: string
          format: date-time
          title: Period Start
        period_end:
          type: string
          format: date-time
          title: Period End
      type: object
      required:
      - total_requests
      - successful_requests
      - failed_requests
      - avg_duration_ms
      - period_start
      - period_end
      title: UsageStats
      description: API usage statistics.
    APIKeyResponse:
      properties:
        key_id:
          type: string
          title: Key Id
        api_key:
          type: string
          title: Api Key
          description: The API key (only shown once!)
        name:
          type: string
          title: Name
        key_prefix:
          type: string
          title: Key Prefix
        permissions:
          items:
            type: string
          type: array
          title: Permissions
        rate_limit:
          type: integer
          title: Rate Limit
        read_only:
          type: boolean
          title: Read Only
          default: false
        expires_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Expires At
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - key_id
      - api_key
      - name
      - key_prefix
      - permissions
      - rate_limit
      - expires_at
      - created_at
      title: APIKeyResponse
      description: Response after creating an API key.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    CreateAPIKeyRequest:
      properties:
        name:
          type: string
          maxLength: 100
          minLength: 1
          title: Name
          description: Name for the API key
        permissions:
          items:
            type: string
          type: array
          title: Permissions
          description: Permissions for the key
          default: []
        rate_limit:
          type: integer
          maximum: 10000.0
          minimum: 1.0
          title: Rate Limit
          description: Rate limit per minute (max 10000)
          default: 1000
        read_only:
          type: boolean
          title: Read Only
          description: If true, the key may only make GET/HEAD/OPTIONS (read) requests.
          default: false
        expires_in_days:
          anyOf:
          - type: integer
            minimum: 1.0
          - type: 'null'
          title: Expires In Days
          description: Expiration in days
      type: object
      required:
      - name
      title: CreateAPIKeyRequest
      description: Request to create a new API key.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: Enter your API key
externalDocs:
  description: Full developer documentation
  url: https://docs.call2me.app