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

# Dial somebody into a room

> Places a call to an extension of the organisation (`kind: extension`, `target` the number) or to an outside number (`kind: external`, `target` in E.164) and, when it is answered, seats the person in the room in `role` (participant or moderator) WITHOUT asking for a PIN -- the role travels as a channel variable only the platform can set. An outside number is routed and rated as an outbound call and refused without credit; it sees the organisation's first phone number as caller ID, an extension sees the room's number. 202: the call is ringing; whether it was answered shows in the room's live list. conferences:control.



## OpenAPI

````yaml /api-reference/openapi-public.json post /conference-rooms/{id}/dial
openapi: 3.0.3
info:
  description: >-
    The API your own systems use: place and follow calls, have an AI agent call
    someone, run campaigns and get their results, keep contacts in step with
    your CRM, and receive signed webhooks. Authenticate with an integration key
    (Authorization: Bearer ft_...), used only from the IP addresses it allows.
  title: FireTone API
  version: 0.1.0
servers:
  - description: Your platform's API host
    url: https://{host}/api/v1
    variables:
      host:
        default: api.firet.one
security:
  - bearerAuth: []
tags:
  - name: Auth
  - description: >-
      Live calls and what can be done to them: hang up, hold, transfer, park,
      merge, monitor, whisper; the Desk's own call.
    name: Calls
  - description: 'Outbound campaigns: contacts, attempts, outcomes.'
    name: Campaigns
  - description: 'Customers: who called, what is known about them, and their memory.'
    name: Contacts
  - description: What was said on an AI call, and the review of it.
    name: Conversations
  - description: >-
      Your own systems: HTTP connections an IVR calls mid-call, and webhooks for
      call events. Tenant URLs must be public https addresses.
    name: Integrations
  - name: Live
  - name: Provisioning
  - name: Reporting
  - description: Tickets raised by people, agents and the API.
    name: Tickets
  - description: Messages left for an extension or a queue.
    name: Voicemail
paths:
  /conference-rooms/{id}/dial:
    post:
      tags:
        - Provisioning
      summary: Dial somebody into a room
      description: >-
        Places a call to an extension of the organisation (`kind: extension`,
        `target` the number) or to an outside number (`kind: external`, `target`
        in E.164) and, when it is answered, seats the person in the room in
        `role` (participant or moderator) WITHOUT asking for a PIN -- the role
        travels as a channel variable only the platform can set. An outside
        number is routed and rated as an outbound call and refused without
        credit; it sees the organisation's first phone number as caller ID, an
        extension sees the room's number. 202: the call is ringing; whether it
        was answered shows in the room's live list. conferences:control.
      operationId: postConferenceRoomsIdDial
      parameters:
        - in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                kind:
                  default: extension
                  enum:
                    - extension
                    - external
                  type: string
                role:
                  default: participant
                  enum:
                    - participant
                    - moderator
                  type: string
                target:
                  example: '1001'
                  type: string
              required:
                - target
              type: object
        required: true
      responses:
        '202':
          description: '{dialling, role}'
        '400':
          description: >-
            No such extension, not a full number, the room is disabled, or no
            caller ID to present.
        '404':
          description: Not found.
        '409':
          description: No outbound route reaches the number, or billing refused it.
        '503':
          description: The node has no room for another call.
components:
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT or API key
      description: >-
        Every request sends `Authorization: Bearer <token>`. The token is either
        a panel session (a JWT from /auth/login, 12 hours) or an API key
        `ft_<id>_<secret>`. An API key is accepted only from an address on its
        IP allowlist (403 ip_not_allowed otherwise; 403 ip_allowlist_required
        for an old key that has none), is limited to its rate per minute (429
        rate_limited with Retry-After; X-RateLimit-Limit/Remaining/Reset on
        every response), and at most 60 call placements a minute.
      scheme: bearer
      type: http

````