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

# Initiate Individual Call

> Starts a new individual outbound call to a specified recipient. The from_number field is required and should be a valid phone number with country code.

## Initiate Individual Call

Start a new outbound call to a specific recipient using your configured AI agent. This endpoint supports both immediate calls and scheduled calls for future execution.

<Warning>
  **Phone Number Format**:

  * All phone numbers must include country code (e.g., +91 for India, +1 for US)
  * Invalid formats will result in call failure
</Warning>

## Scheduled Calls

Use `scheduled_at` to schedule calls for a specific date and time:

```json theme={null}
"call_time": {
  "call_start_time": "09:00",
  "call_end_time": "18:00", 
  "timezone": "Asia/Kolkata",
  "scheduled_at": "2025-11-24T01:55:00"
}
```

<Note>
  **Scheduled Calls**: When `scheduled_at` is provided, the call will be queued and executed at that specific date and time. The time window (`call_start_time` and `call_end_time`) still applies as additional validation. Use this for precise scheduling of important calls.
</Note>

## Custom Variables

Use the `custom_args_values` field to pass dynamic data to your agent:

* Reference variables in your agent prompt using `@{{variable_name}}` syntax
* Common variables: `callee_name`, `company_name`, `appointment_date`, etc.
* Variables are replaced with actual values during the call

## Important Notes

* **Agent Configuration**: Ensure your agent is properly configured with prompts and variables
* **From Numbers**: Use phone numbers that are provisioned in your workspace
* **Credits**: Each call consumes credits based on duration and destination
* **Retry Logic**: Configure retry attempts for busy/failed calls in `call_config`


## OpenAPI

````yaml post /calling/outbound/individual
openapi: 3.0.0
info:
  title: Revenueable AI API Documentation
  description: >-
    This is the documentation for the Revenueable AI APIs. The Revenueable AI
    API follows RESTful principles, making it intuitive and easy to integrate
    with your applications. All API requests should be made to the base URL. The
    API accepts and returns data in JSON format. Ensure your requests include
    the appropriate Content-Type header for POST and PATCH requests.
  version: 2.0.0
servers:
  - url: https://prod-api.revenueable.ai/ca/api/v0
security: []
tags:
  - name: workspace
    description: Endpoints for managing your workspace.
  - name: agent
    description: Endpoints for managing assistants (agents).
  - name: calling
    description: Endpoints for making and managing calls.
  - name: campaign
    description: Endpoints for managing campaigns.
  - name: analytics
    description: Endpoints for accessing call analytics and performance metrics.
  - name: termination
    description: Endpoints for terminating active calls using different methods.
  - name: knowledgebase
    description: Endpoints for managing knowledge bases.
paths:
  /calling/outbound/individual:
    post:
      tags:
        - calling
      summary: Initiate Individual Call
      description: >-
        Starts a new individual outbound call to a specified recipient. The
        from_number field is required and should be a valid phone number with
        country code.
      operationId: initiateIndividualCall
      parameters:
        - name: X-API-KEY
          in: header
          description: (Required) Your Revenueable AI API key.
          required: true
          schema:
            type: string
            example: 7251cb4b-3373-43a4-844c-b27a1d45e0c9
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
                - mobile_number
                - agent_id
                - from_number
              properties:
                name:
                  type: string
                  description: The name of the person to call
                  example: John Doe
                mobile_number:
                  type: string
                  description: >-
                    The phone number to call (must include country code, e.g.,
                    +91 for India)
                  example: '+1234567890'
                agent_id:
                  type: string
                  description: UUID of the agent that will handle the call
                  example: 830f767a-397e-4b39-82ff-235cd344e2f9
                from_number:
                  type: string
                  description: The phone number to call from (with country code)
                  example: '+1987654321'
                custom_args_values:
                  type: object
                  description: >-
                    Custom variables that will be replaced in the agent's prompt
                    using @{{variable_name}} syntax
                  properties:
                    company_name:
                      type: string
                      description: Company name for context
                      example: XYZ Corp
                    appointment_date:
                      type: string
                      description: Appointment date
                      example: '2025-01-20'
                    product_name:
                      type: string
                      description: Product name for sales calls
                      example: Premium Service
                  example:
                    company_name: XYZ Corp
                    appointment_date: '2025-01-20'
                    product_name: Premium Service
                call_config:
                  type: object
                  description: (Optional) Override default call configuration
                  properties:
                    idle_timeout_warning:
                      type: integer
                      description: 'Seconds before idle warning (default: 5)'
                      default: 5
                      example: 10
                    idle_timeout_end:
                      type: integer
                      description: 'Seconds before call termination (default: 10)'
                      default: 10
                      example: 15
                    max_call_length:
                      type: integer
                      description: 'Maximum call duration in seconds (default: 240)'
                      default: 240
                      example: 300
                    call_retry_config:
                      type: object
                      description: Retry configuration for failed calls
                      properties:
                        retry_count:
                          type: integer
                          description: Number of retry attempts
                          example: 3
                        retry_busy:
                          type: integer
                          description: 'Minutes to wait if busy (default: 30)'
                          example: 30
                        retry_not_picked:
                          type: integer
                          description: 'Minutes to wait if not picked (default: 30)'
                          example: 30
                        retry_failed:
                          type: integer
                          description: 'Minutes to wait if failed (default: 30)'
                          example: 30
                      example:
                        retry_count: 3
                        retry_busy: 30
                        retry_not_picked: 30
                        retry_failed: 30
                    call_time:
                      type: object
                      description: Time window configuration for calls
                      properties:
                        call_start_time:
                          type: string
                          description: 'When calls can start (default: 08:00)'
                          default: '08:00'
                          example: '08:00'
                        call_end_time:
                          type: string
                          description: 'When calls must end (default: 20:00)'
                          default: '20:00'
                          example: '20:00'
                        timezone:
                          type: string
                          description: 'Timezone for call times (default: Asia/Kolkata)'
                          default: Asia/Kolkata
                          example: Asia/Kolkata
                        scheduled_at:
                          type: string
                          format: date-time
                          description: >-
                            Schedule the call for a specific date and time (ISO
                            8601 format). When provided, the call will be queued
                            and executed at this exact time. The call_start_time
                            and call_end_time window still applies as additional
                            validation. Use this for precise scheduling of
                            individual calls. Format: YYYY-MM-DDTHH:MM:SS
                          example: '2025-11-24T01:55:00'
                      example:
                        call_start_time: '08:00'
                        call_end_time: '20:00'
                        timezone: Asia/Kolkata
                        scheduled_at: '2025-11-24T01:55:00'
                  example:
                    idle_timeout_warning: 10
                    idle_timeout_end: 15
                    max_call_length: 300
                    call_retry_config:
                      retry_count: 3
                      retry_busy: 30
                      retry_not_picked: 30
                      retry_failed: 30
                    call_time:
                      call_start_time: '08:00'
                      call_end_time: '20:00'
                      timezone: Asia/Kolkata
                      scheduled_at: '2025-11-24T01:55:00'
      responses:
        '200':
          description: 'Successful Response: Details about the initiated call.'
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                  data:
                    type: object
                    properties:
                      call_id:
                        type: string
                        example: 31106b7c-9d02-4723-8b07-5bb8d90240cb
                      call_direction:
                        type: string
                        example: outbound
                      call_status:
                        type: string
                        example: ongoing
                      initiated_at:
                        type: string
                        format: date-time
                        example: '2025-11-24T07:33:49.629642'
                      agent_id:
                        type: string
                        example: a31f36c4-c8ea-4c4b-9ad6-743dabacafbd
                      custom_args_values:
                        type: object
                        description: Custom variables passed in the request
                        example:
                          callee_name: abhishek
                          mobile_number: '+912332423423'
                          transfer_to: '+917404243687'
                  message:
                    type: string
                    example: Call initiated successfully
        '400':
          description: Bad Request - Invalid parameters or request format.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: invalid_parameter
                      message:
                        type: string
                        example: Missing required field
        '401':
          description: Unauthorized - Invalid or missing API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: 401 Unauthorized
                      message:
                        type: string
                        example: Invalid credentials
        '500':
          description: Internal Server Error - Something went wrong on our end.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        example: 500 Internal Server Error
                      message:
                        type: string
                        example: An unexpected error occurred on the server.

````