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

# Place Outbound Call

> Place an outbound AI phone call. By default, the request returns immediately with an `interactionId` while the call continues in the background. Set `waitForCallEnd` to `true` to keep the request open until the call ends and return the call summary.



## OpenAPI

````yaml POST /calls
openapi: 3.1.0
info:
  title: Poku API
  version: 1.0.0
  description: OpenAPI document for the authenticated Poku API routes.
servers:
  - url: https://api.pokulabs.com
security:
  - bearerAuth: []
tags:
  - name: calls
  - name: messages
  - name: forms
  - name: interactions
  - name: numbers
  - name: webhooks
paths:
  /calls:
    post:
      tags:
        - calls
      summary: Place Outbound Call
      description: >-
        Place an outbound AI phone call. By default, the request returns
        immediately with an `interactionId` while the call continues in the
        background. Set `waitForCallEnd` to `true` to keep the request open
        until the call ends and return the call summary.
      operationId: createCall
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConversationCall'
      responses:
        '200':
          description: Call started or completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CallResponse'
              examples:
                async:
                  summary: waitForCallEnd omitted or false
                  value:
                    interactionId: f3f7870f-30f5-4bf2-83b0-a05bc140030c
                completed:
                  summary: waitForCallEnd true
                  value:
                    response: >-
                      ABC restaurant confirmed your reservation for 2 people at
                      6 pm tomorrow.
                    call:
                      recordingUrl: https://cdn.example.com/recordings/abc123.wav
                    interactionId: f3f7870f-30f5-4bf2-83b0-a05bc140030c
components:
  schemas:
    ConversationCall:
      type: object
      required:
        - prompt
        - to
      properties:
        prompt:
          type: string
          description: >-
            The prompt defines the AI's personality, conversation topic, and
            objective.


            **Example:**

            ```

            You are a friendly voice assistant calling on behalf of Joe to make
            a dinner reservation.


            Make a dinner reservation for a party of 2 people on [day] at
            [time], under the name Joe Smith.

            - If that time is available, confirm the reservation and ask if a
            note is needed for a special occasion.

            - If [time] is unavailable, ask what times are open and accept an
            alternative within one hour of the original if reasonable. Confirm
            the new time back clearly before ending the call.

            - If no one answers, leave this voicemail: "Hi, this is a message on
            behalf of Joe — I'm hoping to make a dinner reservation for 2 on
            [day] at [time]. Please call back to confirm. Thank you."

            ```
        to:
          type: string
          description: The number you want to call, in E.164 format.
        from:
          type: string
          description: >-
            Defaults to your Poku reserved number. If you don't have one, falls
            back to a Poku shared number.


            You can also bring your own number from Twilio or Messagebird.
            Configure your credentials on the [Integrations
            page](https://dashboard.pokulabs.com/integrations) and pass the
            number here in E.164 format.
        transferTo:
          type: string
          description: >-
            The number the agent will transfer the call to if the other party
            asks to speak with a human. Must be in E.164 format.
        language:
          type: string
          description: >-
            Specifies the language. For example, `fr-FR` for French. Defaults to
            `en-US` if unset.


            **Available options:** `en-US`, `de-DE`, `es-ES`, `hi-IN`, `fr-FR`,
            `ja-JP`, `pt-PT`, `zh-CN`, `ru-RU`, `it-IT`, `ko-KR`, `nl-NL`,
            `pl-PL`, `tr-TR`, `vi-VN`, `ro-RO`, `bg-BG`, `ca-ES`, `th-TH`,
            `da-DK`, `fi-FI`, `el-GR`, `hu-HU`, `id-ID`, `no-NO`, `sk-SK`,
            `sv-SE`, `lt-LT`, `lv-LV`, `cs-CZ`, `ms-MY`, `af-ZA`, `ar-SA`,
            `az-AZ`, `bs-BA`, `cy-GB`, `fa-IR`, `fil-PH`, `gl-ES`, `he-IL`,
            `hr-HR`, `hy-AM`, `is-IS`, `kk-KZ`, `kn-IN`, `mk-MK`, `mr-IN`,
            `ne-NP`, `sl-SI`, `sr-RS`, `sw-KE`, `ta-IN`, `ur-IN`, `yue-CN`,
            `uk-UA`
          example: en-US
        voice:
          type: string
          description: Selects the voice used for the call. Defaults to `female` if unset.
          enum:
            - male
            - female
          default: female
        waitForCallEnd:
          type: boolean
          description: >-
            When `false` or omitted, the request returns immediately with an
            `interactionId` while the call continues in the background. Use [Get
            Interaction
            Status](/api-reference/interactions/get-interaction-status) to check
            whether the call has ended.


            When `true`, the HTTP request stays open until the call ends, then
            returns the call summary and recording URL when available.
          default: false
          example: true
      additionalProperties: false
    CallResponse:
      type: object
      properties:
        response:
          type: string
          description: >-
            Returned when `waitForCallEnd` is `true`. A natural language summary
            of the call outcome.
        call:
          type: object
          properties:
            recordingUrl:
              type: string
              format: uri
              description: URL of the call recording audio file.
          additionalProperties: false
        interactionId:
          type: string
          description: >-
            Unique identifier for this call interaction. Returned for both async
            and wait-for-completion requests.
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Authentication header containing your Poku API key. Find it in the [Poku
        dashboard](https://dashboard.pokulabs.com/). The format is "Bearer
        YOUR_API_KEY"

````