---
title: "Make CallOut"
method: POST
path: "/restapi/v1.0/account/{accountId}/telephony/call-out"
tags: ["Call Control"]
---

# Make CallOut

`POST /restapi/v1.0/account/{accountId}/telephony/call-out`

## Request

- Base URL: `https://platform.ringcentral.com`
- URL: `https://platform.ringcentral.com/restapi/v1.0/account/{accountId}/telephony/call-out`
- Auth: OAuth 2
  - Authorization code: `https://platform.ringcentral.com/restapi/oauth/authorize`
  - Token URL: `https://platform.ringcentral.com/restapi/oauth/token`
- TypeScript: <https://skmtc.dev/ringcentral/apis/ringcentral-api/docs/restapi/v1.0/account/:accountId/telephony/call-out/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a new outbound call out session. Currently this method is supported for Softphone/Hardphone only, since device IDs for WebRTC/Mobile apps cannot be obtained.

## Path parameters

- `accountId` string, required

## Request body

- MakeCallOutRequest
  - `from` MakeCallOutCallerInfoRequestFrom, required: Instance id of the caller. It corresponds to the 1st leg of the CallOut call.
    - `deviceId` string: Internal identifier of a device
  - `to` MakeCallOutCallerInfoRequestTo, required: Phone number of the called party. This number corresponds to the 2nd leg of a CallOut call
    - `phoneNumber` string: Phone number in E.164 format, short codes (*67, *86), emergency (911, 112) or special (988) numbers
    - `extensionNumber` string: Extension number
  - `countryId` integer: Optional. Dialing plan country data. If not specified, then extension home country is applied by default.

## Response `201`

Created

- CallSession
  - `session` CallSessionObject: Call session information
    - `id` string: Internal identifier of a call session
    - `origin` OriginInfo: Session origin details
      - `type` 'Call' | 'RingOut' | 'RingMe' | 'Conference' | 'GreetingsRecording' | 'VerificationCall' | 'Zoom' | 'CallOut': Session origin type
    - `voiceCallToken` string: For calls of 'Conference' type only
    - `parties` CallParty[]
      - `id` string: Internal identifier of a party
      - `status` CallStatusInfo: Status data of a call session
        - `code` 'Setup' | 'Proceeding' | 'Answered' | 'Disconnected' | 'Gone' | 'Parked' | 'Hold' | 'VoiceMail' | 'FaxReceive' | 'Tds' | 'VoiceMailScreening': Status code of a call
        - `peerId` PeerInfo: Peer session/party details. Valid in 'Gone' state of a call
          - `sessionId` string
          - `telephonySessionId` string
          - `partyId` string
        - `reason` 'Pickup' | 'Supervising' | 'TakeOver' | 'Timeout' | 'BlindTransfer' | 'RccTransfer' | 'AttendedTransfer' | 'CallerInputRedirect' | 'CallFlip' | 'ParkLocation' | 'DtmfTransfer' | 'AgentAnswered' | 'AgentDropped' | 'Rejected' | 'Cancelled' | 'InternalError' | 'NoAnswer' | 'TargetBusy' | 'InvalidNumber' | 'InternationalDisabled' | 'DestinationBlocked' | 'NotEnoughFunds' | 'NoSuchUser' | 'CallPark' | 'CallRedirected' | 'CallReplied' | 'CallSwitch' | 'CallFinished' | 'CallDropped': Reason for call termination. For 'Disconnected' code only
        - `description` string: Optional message
      - `muted` boolean: Specifies if a call participant is muted or not. **Note:** If a call is also controlled via Hard phone or RingCentral App (not only through the API by calling call control methods) then it cannot be fully muted/unmuted via API only, in this case the action should be duplicated via Hard phone/RC App interfaces
      - `standAlone` boolean: If `true` then the party is not connected to a session voice conference, `false` means the party is connected to other parties in a session
      - `park` ParkInfo: Call park information
        - `id` string: Call park identifier
      - `from` PartyInfo
        - `phoneNumber` string: Phone number of a party
        - `name` string: Displayed name of a party
        - `deviceId` string: Internal identifier of a device
        - `extensionId` string: Internal identifier of an extension
      - `to` PartyInfo
        - `phoneNumber` string: Phone number of a party
        - `name` string: Displayed name of a party
        - `deviceId` string: Internal identifier of a device
        - `extensionId` string: Internal identifier of an extension
      - `owner` OwnerInfo: Deprecated. Information on a call owner
        - `accountId` string: Internal identifier of an account that monitors a call
        - `extensionId` string: Internal identifier of an extension that monitors a call
      - `direction` 'Inbound' | 'Outbound': Direction of a call
      - `conferenceRole` 'Host' | 'Participant': A party's role in the conference scenarios. For calls of 'Conference' type only
      - `ringOutRole` 'Initiator' | 'Target': A party's role in 'Ring Me'/'RingOut' scenarios. For calls of 'Ringout' type only
      - `ringMeRole` 'Initiator' | 'Target': A party's role in 'Ring Me'/'RingOut' scenarios. For calls of 'Ringme' type only
      - `recordings` RecordingInfo[]: Active recordings list
        - `id` string: Internal identifier of a recording resource
        - `active` boolean: True if the recording is active. False if the recording is paused.
    - `creationTime` string, date-time: Date and time of the latest session update represented in Unix time format

## Other responses

- `503`: General response with **HTTP 503 "Service not available"** status.<br> Reasons: server cannot process the request because of being overloaded, misconfiguration or other issues.

---

[API](https://skmtc.dev/ringcentral/apis/ringcentral-api.md) - [All operations](https://skmtc.dev/ringcentral/apis/ringcentral-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ringcentral/apis/ringcentral-api/revisions/8d602198ec97?raw)
