> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lehar.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Initiate individual call (compatibility)

> Drop-in compatible with the Ringg Initiate Individual Call contract, for migrating an existing integration without rewriting it. Translates onto the native POST /calls, which owns validation, idempotency and dispatch. Requires an X-API-KEY credential. Scope sessions:write. Prefer POST /calls for new integrations. See the Individual-call compatibility guide for the full field mapping.



## OpenAPI

````yaml /api-reference/openapi.json post /cu1/v1/calls
openapi: 3.1.0
info:
  title: Lehar API
  version: v0
  description: >-
    Customer-facing REST API for the Lehar voice-AI platform. Platform-admin
    endpoints are intentionally excluded from this reference. Regenerate with
    `npm run sync:openapi`.
servers:
  - url: https://api.lehar.ai/ca/api/v0
security:
  - ApiKeyAuth: []
  - BearerAuth: []
paths:
  /cu1/v1/calls:
    post:
      tags:
        - CU1
      summary: Initiate individual call (compatibility)
      description: >-
        Drop-in compatible with the Ringg Initiate Individual Call contract, for
        migrating an existing integration without rewriting it. Translates onto
        the native POST /calls, which owns validation, idempotency and dispatch.
        Requires an X-API-KEY credential. Scope sessions:write. Prefer POST
        /calls for new integrations. See the Individual-call compatibility guide
        for the full field mapping.
      operationId: cu1_create_call_ca_api_v0_cu1_v1_calls_post
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - mobile_number
                - agent_id
              properties:
                name:
                  type: string
                  description: >-
                    Callee name. Also exposed to the prompt as `callee_name`
                    unless you set that key yourself.
                mobile_number:
                  type: string
                  description: >-
                    Destination in E.164. Also exposed to the prompt as
                    `mobile_number`.
                agent_id:
                  type: string
                  description: A published voice agent.
                from_number_id:
                  type: string
                  description: >-
                    Caller-ID phone-number id. Takes precedence over
                    `from_number`.
                from_number:
                  type: string
                  description: >-
                    Caller ID in E.164. A list of numbers is also accepted; the
                    first usable one wins. Resolved to a workspace number; 404
                    if it is not one. from_number_id takes precedence.
                custom_args_values:
                  type: object
                  description: Prompt variables. Maps to the native `custom_variables`.
                call_config:
                  type: object
                  description: >-
                    Same shape as the native `call_config` — idle timeouts,
                    retries, calling window.
                smart_formatter:
                  type: object
                  description: Accepted and stored, but not applied.
            example:
              name: Jane
              mobile_number: '+919876543210'
              agent_id: agent_sales_hi
              from_number: '+911140000000'
              custom_args_values:
                company: Acme
      responses:
        '200':
          description: >-
            Call initiated. `call_status` uses the compatibility vocabulary
            (`registered`, `ongoing`, `completed`, `failed`, `cancelled`).
          content:
            application/json:
              example:
                status: success
                message: Call initiated successfully
                data:
                  call_id: call_01EXAMPLE
                  call_direction: outbound
                  call_status: registered
                  initiated_at: '2026-08-11T09:00:00Z'
                  agent_id: agent_sales_hi
                  custom_args_values:
                    company: Acme
                    callee_name: Jane
                    mobile_number: '+919876543210'
        '402':
          description: Insufficient credits
        '403':
          description: Not an API-key credential
        '404':
          description: '`from_number` is not a workspace number'
        '409':
          description: Duplicate idempotency_key
        '503':
          description: Call orchestration temporarily unavailable
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
    BearerAuth:
      type: http
      scheme: bearer

````