RingCentral Office API Reference Index

Last updated: 2020-09-08 Contributors Byrne Reese
Edit this page

Welcome to a simple index of RingCentral Office API endpoints, provided as a convenience for those who need a quick way to find a specific endpoint. For a complete reference, check out RingCentral's complete and interactive Office API Reference.

API Info

Method Description
Get API Versions

Returns current API version(s) and server info.

GET /restapi

Get Version Info

Returns current API version info by apiVersion.

GET /restapi/{apiVersion}

Automatic Location Updates

Method Description

Returns the list of users with their status of Automatic Location Updates feature.

GET /restapi/v1.0/account/{accountId}/emergency-address-auto-update/users

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
department string False Department name to filter the users. The value range is 0-64; not case-sensitive. If not specified then the parameter is ignored. Multiple values are supported
featureEnabled boolean false Filters entries by their status of Automatic Location Updates feature
orderBy string name false Comma-separated list of fields to order results prefixed by plus sign '+' (ascending order) or minus sign '-' (descending order). Supported values: 'name', 'modelName', 'siteName', 'featureEnabled'
page integer 1 false Indicates the page number to retrieve. Only positive number values are supported
perPage integer false Indicates the page size (number of items). The values supported: `Max` or numeric value. If not specified, 100 records are returned per one page
searchString string False Filters entries containing the specified substring in user name, extension or department. The characters range is 0-64; not case-sensitive. If empty then the filter is ignored
siteId string false Internal identifier of a site. To filter users of Main Site (Company) `main-site` must be specified. Supported only If Multi-Site feature is enabled for the account. Multiple values are supported
type string false Extension type. Multiple values are supported

Enables or disables Automatic Location Updates feature for multiple account users.

POST /restapi/v1.0/account/{accountId}/emergency-address-auto-update/users/bulk-assign

Name Type Default Required Description
accountId string ~ True
body False

Returns account wireless points configured and used for Automatic Location Updates feature.

GET /restapi/v1.0/account/{accountId}/emergency-address-auto-update/wireless-points

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
orderBy string false Comma-separated list of fields to order results prefixed by '+' sign (ascending order) or '-' sign (descending order). The default sorting is by `name`
page integer 1 false Indicates the page number to retrieve. Only positive number values are supported
perPage integer false Indicates the page size (number of items). The values supported: `Max` or numeric value. If not specified, 100 records are returned per one page
searchString string False Filters entries by the specified substring (search by chassis ID, switch name or address) The characters range is 0-64 (if empty the filter is ignored)
siteId string False Internal identifier of a site. To filter Main Site (Company) 'main-site' must be specified. Supported only If multi-site feature is enabled for the account

Creates a new wireless point in network configuration with the emergency address assigned.

POST /restapi/v1.0/account/{accountId}/emergency-address-auto-update/wireless-points

Name Type Default Required Description
accountId string ~ True
body True

Returns the specified wireless access point of a corporate map with the emergency address assigned.

GET /restapi/v1.0/account/{accountId}/emergency-address-auto-update/wireless-points/{pointId}

Name Type Default Required Description
accountId string ~ True
pointId string True

Updates the specified wireless access point of a corporate map by ID.

PUT /restapi/v1.0/account/{accountId}/emergency-address-auto-update/wireless-points/{pointId}

Name Type Default Required Description
accountId string ~ True
body True
pointId string True

Deletes wireless point(s) of a corporate map by ID(s).

DELETE /restapi/v1.0/account/{accountId}/emergency-address-auto-update/wireless-points/{pointId}

Name Type Default Required Description
accountId string ~ True
pointId array True
Get Network Map

Returns corporate networks map with emergency addresses assigned to the current account.

GET /restapi/v1.0/account/{accountId}/emergency-address-auto-update/networks

Creates a new network in corporate ethernet map for assignment of emergency addresses to network access points.

POST /restapi/v1.0/account/{accountId}/emergency-address-auto-update/networks

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True

Returns the specified network with emergency addresses assigned to the current account.

GET /restapi/v1.0/account/{accountId}/emergency-address-auto-update/networks/{networkId}

Name Type Default Required Description
accountId string ~ True
networkId string True

Updates network in corporate ethernet map for assignment of emergency addresses to network access points.

PUT /restapi/v1.0/account/{accountId}/emergency-address-auto-update/networks/{networkId}

Name Type Default Required Description
accountId string ~ True
body True
networkId string True

Deletes network(s) in corporate ethernet map for Automatic Location Updates feature.

DELETE /restapi/v1.0/account/{accountId}/emergency-address-auto-update/networks/{networkId}

Name Type Default Required Description
accountId string ~ True
networkId array True

Returns the list of common devices with their status of Automatic Location Updates feature.

GET /restapi/v1.0/account/{accountId}/emergency-address-auto-update/devices

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
compatibleOnly boolean false Filters devices which support HELD protocol
featureEnabled boolean false Filters entries by their status of Automatic Location Updates feature
model string false Internal identifier of a device model for filtering. Multiple values are supported
orderBy string name false Comma-separated list of fields to order results prefixed by plus sign '+' (ascending order) or minus sign '-' (descending order). Supported values: 'name', 'modelName', 'siteName', 'featureEnabled'
page integer 1 false Indicates the page number to retrieve. Only positive number values are supported
perPage integer false Indicates the page size (number of items). The values supported: `Max` or numeric value. If not specified, 100 records are returned per one page
searchString string false Filters entries which have device name or model name containing the mentioned substring. The value should be split by spaces; the range is 0 - 64 characters, not case-sensitive. If empty the filter is ignored
siteId string false Internal identifier of a site. To filter devices of Main Site (Company) `main-site` must be specified. Supported only If Multi-Site feature is enabled for the account

Enables or disables Automatic Location Updates feature for the specified common phones.

POST /restapi/v1.0/account/{accountId}/emergency-address-auto-update/devices/bulk-assign

Name Type Default Required Description
accountId string ~ True
body False

Returns corporate map of configured network switches with the assigned emergency addresses for the logged-in account.

GET /restapi/v1.0/account/{accountId}/emergency-address-auto-update/switches

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
orderBy string false Comma-separated list of fields to order results prefixed by '+' sign (ascending order) or '-' sign (descending order). The default sorting is by `name`
page integer 1 false Indicates the page number to retrieve. Only positive number values are supported
perPage integer false Indicates the page size (number of items). The values supported: `Max` or numeric value. If not specified, 100 records are returned per one page
searchString string False Filters entries by the specified substring (search by chassis ID, switch name or address) The characters range is 0-64 (if empty the filter is ignored)
siteId string False Internal identifier of a site. To filter Main Site (Company) main-site must be specified. Supported only If multi-site feature is enabled for the account

Creates a new switch in corporate map based on chassis ID and used for Automatic Locations Update feature.

POST /restapi/v1.0/account/{accountId}/emergency-address-auto-update/switches

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True

Returns the specified switch with the assigned emergency address.

GET /restapi/v1.0/account/{accountId}/emergency-address-auto-update/switches/{switchId}

Name Type Default Required Description
accountId string ~ True
switchId string True

Updates switch. Partial update is not supported, all switch parameters should be specified. If null value is received or parameter is missing, its value is removed.

PUT /restapi/v1.0/account/{accountId}/emergency-address-auto-update/switches/{switchId}

Name Type Default Required Description
accountId string ~ True
body True
switchId string True

Deletes wireless switch(es) in network configuration for Automatic Location Updates feature.

DELETE /restapi/v1.0/account/{accountId}/emergency-address-auto-update/switches/{switchId}

Name Type Default Required Description
accountId string ~ True
switchId array True

Creates multiple switches in corporate map. The maximum number of switches per request is 10 000; limitation for account is 10 000.

POST /restapi/v1.0/account/{accountId}/emergency-address-auto-update/switches-bulk-create

Name Type Default Required Description
accountId string ~ True
body True

Updates multiple switches in corporate map. The maximum number of switches per request is 10 000; limitation for account is 10 000.

POST /restapi/v1.0/account/{accountId}/emergency-address-auto-update/switches-bulk-update

Name Type Default Required Description
accountId string ~ True
body True

Creates multiple wireless points in corporate map. The maximum number of wireless points per request is 10 000; limitation for account is 70 000.

POST /restapi/v1.0/account/{accountId}/emergency-address-auto-update/wireless-points-bulk-create

Name Type Default Required Description
accountId string ~ True
body True

Updates wireless points in corporate map. The maximum number of wireless points per request is 10 000; limitation for account is 70 000.

POST /restapi/v1.0/account/{accountId}/emergency-address-auto-update/wireless-points-bulk-update

Name Type Default Required Description
accountId string ~ True
body True

Validates wireless points before creation or update. The maximum number of wireless points per request is 10 000.

POST /restapi/v1.0/account/{accountId}/emergency-address-auto-update/wireless-points-bulk-validate

Name Type Default Required Description
accountId string ~ True
body True

Validates switches before creation or update. The maximum number of switches per request is 10 000.

POST /restapi/v1.0/account/{accountId}/emergency-address-auto-update/switches-bulk-validate

Name Type Default Required Description
accountId string ~ True
body True

Returns results of the task created within the frame of Automatic Location Updates feature. Currently four task types are supported: 'Wireless Points Bulk Create', 'Wireless Points Bulk Update', 'Switches Bulk Create', 'Switches Bulk Update'

GET /restapi/v1.0/account/{accountId}/emergency-address-auto-update/tasks/{taskId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
taskId string True

POST /restapi/v1.0/account/{accountId}/emergency-locations

Name Type Default Required Description
accountId string True
body True JSON body

Returns emergency response locations of the current account.

GET /restapi/v1.0/account/{accountId}/emergency-locations

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
addressStatus string false
domesticCountryId string false
orderBy string address false Comma-separated list of fields to order results prefixed by plus sign '+' (ascending order) or minus sign '-' (descending order). Supported values: 'address'
page integer 1 false Indicates the page number to retrieve. Only positive number values are supported
perPage integer false Indicates the page size (number of items). The values supported: `Max` or numeric value. If not specified, 100 records are returned per one page
searchString string False Filters entries containing the specified substring in address and name fields. The characters range is 0-64; not case-sensitive. If empty then the filter is ignored
siteId string false Internal identifier of a site for filtering. To filter by Main Site (Company) `main-site` value should be specified
usageStatus string false

Returns emergency response location by ID.

GET /restapi/v1.0/account/{accountId}/emergency-locations/{locationId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
locationId string True Internal identifier of the emergency location

Updates the specified emergency response location.

PUT /restapi/v1.0/account/{accountId}/emergency-locations/{locationId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
locationId string True Internal identifier of the emergency location

Business Hours

Method Description

Returns the user hours when the call handling rules are applied. Please note: If user hours are set to 'Custom hours' then a particular schedule is returned; however if set to '24 hours/7 days a week' an empty schedule is returned.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/business-hours

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Updates the extension user hours when answering rules are to be applied.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/business-hours

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
Get Company Business Hours

Returns company hours when answering rules are to be applied.

GET /restapi/v1.0/account/{accountId}/business-hours

Updates company hours when answering rules are to be applied.

PUT /restapi/v1.0/account/{accountId}/business-hours

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body

Calendar Events

Method Description

Returns all calendar events created by the current user.

GET /restapi/v1.0/glip/events

Name Type Default Required Description
pageToken string False Token of a page to be returned
recordCount integer 30 False Number of groups to be fetched by one request. The maximum value is 250, by default - 30.
Create Event

Creates a new calendar event.

POST /restapi/v1.0/glip/events

Get Event

Returns the specified calendar event(s) by ID(s).

GET /restapi/v1.0/glip/events/{eventId}

Updates the specified calendar event.

PUT /restapi/v1.0/glip/events/{eventId}

Name Type Default Required Description
body True
eventId string True Internal identifier of an event
Delete Event

Deletes the specified calendar event.

DELETE /restapi/v1.0/glip/events/{eventId}

Creates a new calendar event within the specified group.

POST /restapi/v1.0/glip/groups/{groupId}/events

Name Type Default Required Description
body True
groupId string True Internal identifier of a group
Get Group Events

Returns a list of calendar events available for the current user within the specified group. Users can only see their personal tasks and public tasks.

GET /restapi/v1.0/glip/groups/{groupId}/events

Call Blocking

Method Description

Returns the current caller blocking settings of a user.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-blocking

Name Type Default Required Description
accountId string True
extensionId string True

Updates the current caller blocking settings of a user.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-blocking

Name Type Default Required Description
accountId string True
body False
extensionId string True

Returns the lists of blocked and allowed phone numbers.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-blocking/phone-numbers

Name Type Default Required Description
accountId string True
extensionId string True
page integer False
perPage integer False
status string False

Updates either blocked or allowed phone number list with a new phone number.

POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-blocking/phone-numbers

Name Type Default Required Description
accountId string True
body True JSON body
extensionId string True

Returns blocked or allowed phone number(s) by their ID(s). Batch request is supported.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-blocking/phone-numbers/{blockedNumberId}

Name Type Default Required Description
accountId string True
blockedNumberId string True
extensionId string True

Deletes blocked or allowed phone number(s) by their ID(s). Batch request is supported.

DELETE /restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-blocking/phone-numbers/{blockedNumberId}

Name Type Default Required Description
accountId string True
blockedNumberId string True
extensionId string True

Updates blocked or allowed phone number(s) by their ID(s). Batch request is supported.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-blocking/phone-numbers/{blockedNumberId}

Name Type Default Required Description
accountId string True
blockedNumberId string True
body False
extensionId string True

Call Control

Method Description

Creates a new outbound call out session.

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

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body

Returns the status of a call session by ID.

GET /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
telephonySessionId string True Internal identifier of a call session
timeout string False The time frame of awaiting for a status change before sending the resulting one in response
timestamp string False The date and time of a call session latest change

Drops a call session.

DELETE /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
telephonySessionId string True Internal identifier of a call session

Puts the party to stand-alone mode and starts to play Hold Music according to configuration & state to peers. There is a known limitation for Hold API - hold via REST API doesn't work with hold placed via RingCentral apps or HardPhone. It means that if you muted participant via Call Control API and RingCentral Desktop app, then you need to unhold both endpoints to remove Hold Music and bring media back.

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/hold

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Brings a party back into a call and stops to play Hold Music. There is a known limitation for Hold API - hold via REST API doesn't work with hold placed via RingCentral apps or HardPhone. It means that if you muted participant via Call Control API and RingCentral Desktop app, then you need to unhold both endpoints to remove Hold Music and bring media back.

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/unhold

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Rejects an inbound call in a "Setup" or "Proceeding" state

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/reject

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Ignores a call to a call queue agent in Setup or Proceeding state.

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/ignore

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Transfers a party by placing a new call to the specified target

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/transfer

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True Defines a target for a party transfer. Only a single target is allowed
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Connects two parties from different call sessions.

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/bridge

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True Defines target call session and call party to be bridged
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Answers a call on a certain device by passing the corresponding device ID in request body. Supported for call forwarding, call transfer, call flip and call queues.

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/answer

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True Distributes a non-answered call to the defined target. Only a single target is allowed
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Picks up a call parked to the specified park location.

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/pickup

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True Distributes a non-answered call to the defined target. Only a single target is allowed
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Distributes a non-answered call to the defined target. Applicable for "Setup" or "Proceeding" states

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/forward

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True Distributes a non-answered call to the defined target. Only a single target is allowed
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Replies with text/pattern without picking up a call.

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/reply

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Performs call flip procedure by holding opposite party and calling to the specified target

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/flip

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Parks a call to a virtual location from where it can further be retrieved by any user from any phone of the system. The call session and call party identifiers should be specified in path. Currently the users can park only their own incoming calls. Up to 50 calls can be parked simultaneously. Park location starts with asterisk (*) and ranges 801-899.

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/park

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Returns a party status of a call session by ID.

GET /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Deletes a party of a call session by ID. It is possible to delete only one conference participant per request.

DELETE /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Modify the party of a call session by ID. There is a known limitation for Mute scenario - mute via REST API doesn't work with mute placed via RingCentral apps or HardPhone. It means that if you muted participant via Call Control API and Ringcentral Desktop app you need to unmute both endpoints to bring media back.

PATCH /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Starts a new call recording for the party

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/recordings

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Pause/resume recording

PATCH /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/recordings/{recordingId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
brandId string ~ True Identifies a brand of a logged in user or a brand of a sign-up session
partyId string True Internal identifier of a call party
recordingId string True Internal identifier of a recording
telephonySessionId string True Internal identifier of a call session

Allows to monitor a call session in 'Listen' mode. Input parameters should contain internal identifiers of a monitored user and a supervisor's device. Call session should be specified in path. Please note that this method supports single channel audio flow, which means that audio of both call participants is mixed and delivered to the supervisor in single audio channel.

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/supervise

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
telephonySessionId string True Internal identifier of a call session

Allows to monitor a call party in 'Listen' mode. Input parameters are extension number of a monitored user and internal identifier of a supervisor's device. Call session and party identifiers should be specified in path. Please note that for this method dual channel audio flow is supported, which means that you need to make one more request for monitoring the second participant of a call. And as a result of each monitoring request the client recieves SIP invite with the following header p-rc-api-monitoring-ids containing IDs of the monitored party and session. The flow is supported for calls with no more than 2 participants.

POST /restapi/v1.0/account/{accountId}/telephony/sessions/{telephonySessionId}/parties/{partyId}/supervise

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
partyId string True Internal identifier of a call party
telephonySessionId string True Internal identifier of a call session

Call Forwarding

Method Description

Returns the list of extension phone numbers used for call forwarding and call flip. The returned list contains all the extension phone numbers used for call forwarding and call flip.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted.
perPage integer 100 False Indicates the page size (number of items).

Adds a new forwarding number to the forwarding number list.

POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Returns a specific forwarding number.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number/{forwardingNumberId}

Name Type Default Required Description
accountId string True
extensionId string True
forwardingNumberId string True

Updates the existing forwarding number from the forwarding number list.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number/{forwardingNumberId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
forwardingNumberId string True Internal identifier of a forwarding number; returned in response in the 'id' field

Deletes a forwarding number from the forwarding number list by its ID.

DELETE /restapi/v1.0/account/{accountId}/extension/{extensionId}/forwarding-number/{forwardingNumberId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
forwardingNumberId string True Internal identifier of a forwarding number

Call Log

Method Description

Returns call log records filtered by parameters specified.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
dateFrom string False The start datetime for resulting records in (ISO 8601)[https://en.wikipedia.org/wiki/ISO_8601] format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is dateTo minus 24 hours
dateTo string False The end datetime for resulting records in (ISO 8601)[https://en.wikipedia.org/wiki/ISO_8601] format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is current time
direction array False The direction for the resulting records. If not specified, both inbound and outbound records are returned. Multiple values are accepted
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
extensionNumber string False Extension number of a user. If specified, returns call log for a particular extension only
page integer 1 False Indicates the page number to retrieve. Only positive number values are allowed
perPage integer 100 False Indicates the page size (number of items)
phoneNumber string False Phone number of a caller/callee. If specified, returns all calls (both incoming and outcoming) with the phone number specified
recordingType string false Type of a call recording. If not specified, then calls without recordings are also returned
sessionId string False Internal identifier of a session
showBlocked boolean True False If 'True' then calls from/to blocked numbers are returned
showDeleted boolean False False If 'True' then deleted calls are returned
transport array False Call transport type. 'PSTN' specifies that a call leg is initiated from the PSTN network provider; 'VoIP' - from an RC phone. By default this filter is disabled
type array False Call type of a record. It is allowed to specify more than one type. If not specified, all call types are returned. Multiple values are accepted
view string Simple False View of call records. The same view parameter specified for FSync will be applied for ISync, the view cannot be changed for ISync
withRecording boolean False False **Deprecated**. Supported for compatibility reasons. `True` if only recorded calls are returned. If both `withRecording` and `recordingType` are specified, then `withRecording` is ignored

Deletes filtered call log records.

DELETE /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
dateFrom string False
dateTo string False The end datetime for records deletion in (ISO 8601)[https://en.wikipedia.org/wiki/ISO_8601] format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is current time
direction array False
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
extensionNumber string False
phoneNumber string False
type array False

Synchronizes call log records.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log-sync

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
dateFrom string False The start datetime for resulting records in (ISO 8601)[https://en.wikipedia.org/wiki/ISO_8601] format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is the current moment
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
recordCount integer False For 'FSync' the parameter is mandatory, it limits the number of records to be returned in response. For 'ISync' it specifies with how many records to extend sync Frame to the past, the maximum number of records is 250
showDeleted boolean False False Supported for ISync. If 'True' then deleted call records are returned
statusGroup array False Type of calls to be returned. The default value is 'All'
syncToken string False Value of syncToken property of last sync request response
syncType array False Type of synchronization
view string Simple False View of call records. The same view parameter specified for FSync will be applied for ISync, the view cannot be changed for ISync

Returns call log records by ID.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-log/{callRecordId}

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
callRecordId array True
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
view string Simple False View of call records. The view value specified for 'FSync' will also be applied for 'ISync' by default, since it cannot be changed for ISync

Returns records of all extension calls that are in progress, ordered by start time in descending order.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/active-calls

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
direction array False The direction for the result records. If not specified, both inbound and outbound records are returned. Multiple values are accepted
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
page integer 1 False Indicates the page number to retrieve. Only positive number values are allowed
perPage integer 100 False Indicates the page size (number of items)
type array False Call type of a record. If not specified, all call types are returned. Multiple values are accepted
view string Simple False View of call records. The same view parameter specified for FSync will be applied for ISync, the view cannot be changed for ISync

Returns call log records filtered by parameters specified.

GET /restapi/v1.0/account/{accountId}/call-log

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
dateFrom string False The start datetime for resulting records in (ISO 8601)[https://en.wikipedia.org/wiki/ISO_8601] format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is dateTo minus 24 hours
dateTo string False The end datetime for resulting records in (ISO 8601)[https://en.wikipedia.org/wiki/ISO_8601] format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is current time
direction array False The direction for the result records. If not specified, both inbound and outbound records are returned. Multiple values are accepted
extensionNumber string False Extension number of a user. If specified, returns call log for a particular extension only
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted
perPage integer 100 False Indicates the page size (number of items)
phoneNumber string False Phone number of a caller/call recipient. If specified, returns all calls (both incoming and outcoming) with the phone number specified. Cannot be specified together with the extensionNumber filter
recordingType string false Type of a call recording. If not specified, then calls without recordings are also returned
sessionId string False Internal identifier of a call session
type array False Call type of a record. If not specified, all call types are returned. Multiple values are accepted
view string Simple False View of call records. The same view parameter specified for FSync will be applied for ISync, the view cannot be changed for ISync
withRecording boolean False **Deprecated**. Supported for compatibility reasons only. `true` if only recorded calls are returned. The default value is `false`. If both `withRecording` and `recordingType` are specified, `withRecording` is ignored

Synchronizes company call log records.

GET /restapi/v1.0/account/{accountId}/call-log-sync

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
dateFrom string False The start datetime for resulting records in (ISO 8601)[https://en.wikipedia.org/wiki/ISO_8601] format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is the current moment
recordCount integer False For 'FSync' the parameter is mandatory, it limits the number of records to be returned in response. For 'ISync' it specifies with how many records to extend sync frame to the past, the maximum number of records is 250
showDeleted boolean False False Supported for ISync. If 'True' then deleted call records are returned
statusGroup array False Type of calls to be returned.
syncToken string False Value of syncToken property of last sync request response
syncType array False Type of synchronization. 'FSync' is a default value
view string Simple False View of call records. The same view parameter specified for FSync will be applied for ISync, the view cannot be changed for ISync

Returns individual call log record(s) by ID(s). Batch request is supported.

GET /restapi/v1.0/account/{accountId}/call-log/{callRecordId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
callRecordId string True Internal identifier of a call log record
view string Simple False View of call records. The view value specified for 'FSync' will also be applied for 'ISync' by default, since it cannot be changed for ISync

Returns records of all calls that are in progress, ordered by start time in descending order.

GET /restapi/v1.0/account/{accountId}/active-calls

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
direction array False The direction for the result records. If not specified, both inbound and outbound records are returned. Multiple values are accepted
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted
perPage integer 100 False Indicates the page size (number of items)
transport array False Call transport type. 'PSTN' specifies that a call leg is initiated from the PSTN network provider; 'VoIP' - from an RC phone. By default this filter is disabled
type array False Call type of a record. If not specified, all call types are returned. Multiple values are accepted
view string Simple False View of call records. The same view parameter specified for FSync will be applied for ISync, the view cannot be changed for ISync

Call Monitoring Groups

Method Description

Creates a new call monitoring group.

POST /restapi/v1.0/account/{accountId}/call-monitoring-groups

Name Type Default Required Description
accountId string True
body True Parameters of a call monitoring group that will be created

Returns call monitoring groups that can be filtered by some extension.

GET /restapi/v1.0/account/{accountId}/call-monitoring-groups

Name Type Default Required Description
accountId string True
memberExtensionId string false Internal identifier of an extension that is a member of every group within the result
page integer 1 False Indicates the page number to retrieve. Only positive number values are allowed
perPage integer 100 False Indicates the page size (number of items)

Updates call monitoring group name by ID.

PUT /restapi/v1.0/account/{accountId}/call-monitoring-groups/{groupId}

Name Type Default Required Description
accountId string True
body True Parameters of a call monitoring group that will be updated
groupId string True Internal identifier of a call monitoring group

Remove infromation about the given call monitoring group.

DELETE /restapi/v1.0/account/{accountId}/call-monitoring-groups/{groupId}

Name Type Default Required Description
accountId string True
groupId string True

Returns call monitoring group members.

GET /restapi/v1.0/account/{accountId}/call-monitoring-groups/{groupId}/members

Name Type Default Required Description
accountId string True
groupId string True
page integer 1 False Indicates the page number to retrieve. Only positive number values are allowed
perPage integer 100 False Indicates the page size (number of items)

Updates call monitoring groups.

POST /restapi/v1.0/account/{accountId}/call-monitoring-groups/{groupId}/bulk-assign

Name Type Default Required Description
accountId string True
body True Changes for the given group
groupId string True

Call Queues

Method Description

Returns call queue group list.

GET /restapi/v1.0/account/{accountId}/call-queues

Name Type Default Required Description
accountId string True
memberExtensionId string false Internal identifier of an extension that is a member of every group within the result
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted
perPage integer 100 False Indicates the page size (number of items)

Returns basic information on a call queue group extension.

GET /restapi/v1.0/account/{accountId}/call-queues/{groupId}

Name Type Default Required Description
accountId string True
groupId string True

Updates information on a call queue group extension.

PUT /restapi/v1.0/account/{accountId}/call-queues/{groupId}

Name Type Default Required Description
accountId string True
body True
groupId string True

Returns call queue group members.

GET /restapi/v1.0/account/{accountId}/call-queues/{groupId}/members

Name Type Default Required Description
accountId string True
groupId string True
page integer 1 False Indicates the page number to retrieve. Only positive number values are allowed
perPage integer 100 False Indicates the page size (number of items)

Updates a call queue group.

POST /restapi/v1.0/account/{accountId}/call-queues/{groupId}/bulk-assign

Name Type Default Required Description
accountId string True
body True Changes for the given group
groupId string True

Updates the list of call queues where the user is an agent. This is a full update request, which means that if any queue where the user is an agent is not mentioned in request, then the user is automatically removed from this queue.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-queues

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Viewing user account info (including name, business name, address and phone number/account number)

GET /restapi/v1.0/account/{accountId}/department/{departmentId}/members

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
departmentId integer True Internal identifier of a Department extension (same as extensionId but only the ID of a department extension is valid)
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted
perPage integer 100 False Indicates the page size (number of items)

Adds and/or removes multiple call queue members

POST /restapi/v1.0/account/{accountId}/department/bulk-assign

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body False

Call Recordings

Method Description

Returns call recordings by ID(s).

GET /restapi/v1.0/account/{accountId}/recording/{recordingId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
recordingId string True Internal identifier of a recording (returned in Call Log)

Returns media content of a call recording.

GET /restapi/v1.0/account/{accountId}/recording/{recordingId}/content

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
recordingId string True Internal identifier of a recording (returned in Call Log)

Call Routing

Method Description

Creates an IVR prompt.

POST /restapi/v1.0/account/{accountId}/ivr-prompts

Name Type Default Required Description
accountId string True
attachment file True Audio file that will be used as a prompt. Attachment cannot be empty, only audio files are supported
name string False Description of file contents.
Get IVR Prompt List

Returns the list of IVR prompts.

GET /restapi/v1.0/account/{accountId}/ivr-prompts

Returns an IVR prompt by ID.

GET /restapi/v1.0/account/{accountId}/ivr-prompts/{promptId}

Name Type Default Required Description
accountId string True
promptId string True

Deletes an IVR prompt by ID.

DELETE /restapi/v1.0/account/{accountId}/ivr-prompts/{promptId}

Name Type Default Required Description
accountId string True
promptId string True

Updates an IVR prompt by ID

PUT /restapi/v1.0/account/{accountId}/ivr-prompts/{promptId}

Name Type Default Required Description
accountId string True
body false JSON body
promptId string True

Returns media content of an IVR prompt by ID.

GET /restapi/v1.0/account/{accountId}/ivr-prompts/{promptId}/content

Name Type Default Required Description
accountId string True
promptId string True

Creates a company IVR menu.

POST /restapi/v1.0/account/{accountId}/ivr-menus

Name Type Default Required Description
accountId string True
body True JSON body

Returns a company IVR menu by ID.

GET /restapi/v1.0/account/{accountId}/ivr-menus/{ivrMenuId}

Name Type Default Required Description
accountId string True
ivrMenuId string True

Updates a company IVR menu by ID.

PUT /restapi/v1.0/account/{accountId}/ivr-menus/{ivrMenuId}

Name Type Default Required Description
accountId string True
body True JSON body
ivrMenuId string True

Chats

Method Description

Returns the list of chats where the user is a member and also public teams that can be joined. All records in response are sorted by creation time of a chat in ascending order.

GET /restapi/v1.0/glip/chats

Name Type Default Required Description
pageToken string False Pagination token.
recordCount integer 30 False Number of chats to be fetched by one request. The maximum value is 250, by default - 30.
type array False Type of chats to be fetched. By default all type of chats will be fetched
Get Chat

Returns information about a chat by ID.

GET /restapi/v1.0/glip/chats/{chatId}

Returns recent chats where the user is a member. All records in response are sorted by the lastModifiedTime in descending order (the latest changed chat is displayed first on page)

GET /restapi/v1.0/glip/recent/chats

Name Type Default Required Description
recordCount integer 30 False Max number of chats to be fetched by one request (Not more than 250).
type array False Type of chats to be fetched. By default all chat types are returned
Get Favorite Chats

Returns a list of the current user's favorite chats.

GET /restapi/v1.0/glip/favorites

Add Chat to Favorites

Adds the specified chat to the users's list of favorites.

POST /restapi/v1.0/glip/chats/{chatId}/favorite

Remove Chat from Favorites

Removes the specified chat from the users's list of favorites.

POST /restapi/v1.0/glip/chats/{chatId}/unfavorite

Mark Chat as Read

Sets the specified chat status to 'Read' for the current user.

POST /restapi/v1.0/glip/chats/{chatId}/read

Mark Chat as Unread

Sets the specified chat status to 'Unread' for the current user.

POST /restapi/v1.0/glip/chats/{chatId}/unread

Returns the list of groups where the user is a member.

GET /restapi/v1.0/glip/groups

Name Type Default Required Description
pageToken string False Pagination token.
recordCount integer 30 False Number of groups to be fetched by one request. The maximum value is 250, by default - 30
type string False Type of groups to be fetched (by default all type of groups will be fetched)
Create Group

Creates a new private chat/team.

POST /restapi/v1.0/glip/groups

Get Group

Returns information about a group or multiple groups by their ID(s). Batch request is supported.

GET /restapi/v1.0/glip/groups/{groupId}

Updates group members. Please note: Only groups of 'Team' type can be updated. Currently only one operation at a time (either adding or removal) is supported.

POST /restapi/v1.0/glip/groups/{groupId}/bulk-assign

Name Type Default Required Description
body True JSON body
groupId string True Internal identifier of a group

Company

Method Description
Get Account Info

Returns basic information about a particular RingCentral customer account.

GET /restapi/v1.0/account/{accountId}

Get Account Business Address

Returns business address of a company.

GET /restapi/v1.0/account/{accountId}/business-address

Updates the business address of a company that account is linked to. Batch request is supported.

PUT /restapi/v1.0/account/{accountId}/business-address

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
Get Account Service Info

Returns the information about service plan, available features and limitations for a particular RingCentral customer account.

GET /restapi/v1.0/account/{accountId}/service-info

Conversations

Method Description

Returns the list of conversations where the user is a member. All records in response are sorted by creation time of a chat in ascending order.

GET /restapi/v1.0/glip/conversations

Name Type Default Required Description
pageToken string False Pagination token.
recordCount integer 30 False Number of conversations to be fetched by one request. The maximum value is 250, by default - 30
Create/Open Conversation

Creates a new conversation or opens the existing one. If the conversation already exists, then its ID will be returned in response. A conversation is an adhoc discussion between a particular set of users, not featuring any specific name or description. If you add a person to the existing conversation, it creates a whole new conversation.

POST /restapi/v1.0/glip/conversations

Get Conversation

Returns information about the specified conversation, including the list of conversation participants. A conversation is an adhoc discussion between a particular set of users, not featuring any specific name or description. If you add a person to the existing conversation, it creates a whole new conversation.

GET /restapi/v1.0/glip/conversations/{chatId}

Custom Fields

Method Description

Creates custom field attached to the object.

POST /restapi/v1.0/account/{accountId}/custom-fields

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body False
Get Custom Field List

Returns the list of created custom fields.

GET /restapi/v1.0/account/{accountId}/custom-fields

Updates custom field by ID specified in path.

PUT /restapi/v1.0/account/{accountId}/custom-fields/{fieldId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body False
fieldId string True Custom field identifier

Deletes custom field(s) by ID(s) with the corresponding values.

DELETE /restapi/v1.0/account/{accountId}/custom-fields/{fieldId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
fieldId string True Custom field identifier

Devices

Method Description

Returns account device(s) by their ID(s).

GET /restapi/v1.0/account/{accountId}/device/{deviceId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
deviceId integer True Internal identifier of a device
syncEmergencyAddress boolean False false Specifies if emergency address should be synchronized or not

Updates account device(s) by their ID(s).

PUT /restapi/v1.0/account/{accountId}/device/{deviceId}

Name Type Default Required Description
accountId string True
body False
deviceId string True
prestatement boolean False

Returns devices of the extension(s) by their ID(s). Batch request is supported

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/device

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
feature string False Device feature or multiple features supported
linePooling string False Pooling type of a device

Extensions

Method Description

Returns the list of extensions created for a particular account. All types of extensions are included in this list.

GET /restapi/v1.0/account/{accountId}/extension

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
email string False Extension email address
extensionNumber string False Number of extension to be retrieved
page integer 1 False Indicates the page number to retrieve. Only positive number values are allowed
perPage integer 100 False Indicates the page size (number of items)
status array False Extension current state. Multiple values are supported. If 'Unassigned' is specified, then extensions without `extensionNumber` attribute are returned. If not specified, then all extensions are returned.
type array False Extension type. Multiple values are supported

Creates an extension.

POST /restapi/v1.0/account/{accountId}/extension

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body

Returns the list of user templates for the current account.

GET /restapi/v1.0/account/{accountId}/templates

Name Type Default Required Description
accountId string True
page string false
perPage string false
type string false

Returns the user template by ID.

GET /restapi/v1.0/account/{accountId}/templates/{templateId}

Name Type Default Required Description
accountId string True
templateId string True

External Contacts

Method Description

Returns user personal contacts.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book/contact

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted
perPage integer 100 False Indicates the page size (number of items)
phoneNumber array False
sortBy array False Sorts results by the specified property
startsWith string False If specified, only contacts whose First name or Last name start with the mentioned substring are returned. Case-insensitive

Creates personal user contact.

POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book/contact

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body False
dialingPlan string False A country code value complying with the [ISO 3166-1 alpha-2](https://ru.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. The default value is home country of the current extension
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Returns contact(s) by ID(s). Batch request is supported.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book/contact/{contactId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
contactId integer True Internal identifier of a contact record in the RingCentral database
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Updates personal contact information by contact ID(s). Batch request is supported

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book/contact/{contactId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body False
contactId integer True Internal identifier of a contact record in the RingCentral database
dialingPlan string False A country code value complying with the [ISO 3166-1 alpha-2](https://ru.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. The default value is home country of the current extension
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Deletes contact(s) by ID(s). Batch request is supported.

DELETE /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book/contact/{contactId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
contactId integer True Internal identifier of a contact record in the RingCentral database
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Synchronizes user contacts.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/address-book-sync

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
pageId integer False Internal identifier of a page. It can be obtained from the 'nextPageId' parameter passed in response body
perPage integer False Number of records per page to be returned. The max number of records is 250, which is also the default. For 'FSync' if the number of records exceeds the parameter value (either specified or default), all of the pages can be retrieved in several requests. For 'ISync' if the number of records exceeds the page size, the number of incoming changes to this number is limited
syncToken string False Value of syncToken property of the last sync request response
syncType array False Type of synchronization

Returns the list of favorite contacts of the current extension. Favorite contacts include both company contacts (extensions) and personal contacts (address book records).

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/favorite

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Updates the list of favorite contacts of the current extension. Favorite contacts include both company contacts (extensions) and personal contacts (address book records).Please note: currently personal address book size is limited to 10 000 contacts.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/favorite

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body False
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Fax

Method Description

Creates and sends/resends a fax message. Resend can be implemented if sending has failed. Fax attachment size (both single and total) is limited to 50Mb.

POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/fax

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account (integer) or tilde (~) to indicate the account which was logged-in within the current session.
attachment file True File to upload
coverIndex integer false Cover page identifier. For the list of available cover page identifiers please call the method Fax Cover Pages. If not specified, the default cover page which is configured in 'Outbound Fax Settings' is attached
coverPageText string false Cover page text, entered by the fax sender and printed on the cover page. Maximum length is limited to 1024 symbols
extensionId string True Internal identifier of an extension (integer) or tilde (~) to indicate the extension assigned to the account logged-in within the current session
faxResolution string False Resolution of Fax
isoCode string false ISO Code. e.g UK
sendTime string False Timestamp to send fax at. If not specified (current or the past), the fax is sent immediately
to array True To Phone Number

Returns fax cover pages available for the current extension.

GET /restapi/v1.0/dictionary/fax-cover-page

Name Type Default Required Description
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted
perPage integer 100 False Indicates the page size (number of items)

Features

Method Description

Returns the list of supported features and information on their availability for the current extension. Specific feature(s) might be checked by providing featureId query param. Multiple values supported, format: ?featureId=Feature1&featureId=Feature2. To get only available features in order to decrease response size, availableOnly=true query param might be specified. In case the feature is available for the current user, "available": true is returned in the response for the record with corresponding feature id. Otherwise, additional attribute reason is returned with the appropriate code: * ServicePlanLimitation - the feature not included to the account service plan; * AccountLimitation - the feature is turned off for the account; * ExtensionTypeLimitation - the feature is not applicable for the extension type; * ExtensionLimitation - the feature is not available for the extension, e.g., additional license required; * InsufficientPermissions - required permission not granted to the current user (not the one, who is specified in the URL, but the one who's access token is used); * ConfigurationLimitation - the feature is turned off for the extension, e.g., by the account administrator.

Also, some feature may have some additional parameters, e.g., limits, which are returned in params attribute as a name-value collection:

{
  "id": "HUD",
  "available": true,
  "params": [
    {
      "name": "limitMax",
      "value": "100"
    }
  ]
}

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/features

Name Type Default Required Description
accountId string True
availableOnly boolean False False
extensionId string True
featureId array False

Glip Compliance Exports

Method Description
Create Data Export Task

Creates a task for Glip data export and returns a link at which the exported data will be available in future once the task is implemented. The exported data can be downloaded by calling Get Data Export Task method with the specified task ID. Simultaneously no more than 2 tasks per company can be created.

POST /restapi/v1.0/glip/data-export

Returns the list of Glip data export tasks.

GET /restapi/v1.0/glip/data-export

Name Type Default Required Description
page integer 1 false Page number to be retrieved; value range is > 0
perPage integer 30 false Number of records to be returned per page; value range is 1 - 250
status string False Status of the task(s) to be returned. Multiple values are supported
Get Data Export Task

Returns the links for downloading Glip data exported within the specified task. If the export task is still in progress, then only the task status will be returned. If the data is ready for downloading, then the list of URLs will be returned.

GET /restapi/v1.0/glip/data-export/{taskId}

Returns the specified dataset by ID. Each dataset is a ZIP archive the size of which is limited to 1 Gb.

GET /restapi/v1.0/glip/data-export/{taskId}/datasets/{datasetId}

Name Type Default Required Description
datasetId string True Internal identifier of a dataset
taskId string True Internal identifier of a task

Glip Profile

Method Description
Get Person

Returns a user or multiple users by their ID(s). Batch request is supported.

GET /restapi/v1.0/glip/persons/{personId}

Get Company Info

Returns information about one or more companies by their IDs.

GET /restapi/v1.0/glip/companies/{companyId}

Get Preferences

Returns information about user preferences.

GET /restapi/v1.0/glip/preferences

Glip Webhooks

Method Description
Create Webhook in Group

Creates a new webhook

POST /restapi/v1.0/glip/groups/{groupId}/webhooks

Get Webhooks in Group

Returns webhooks which are available for the current user by group ID.

GET /restapi/v1.0/glip/groups/{groupId}/webhooks

Get Webhooks

Returns a list of all webhooks associated with the current account.

GET /restapi/v1.0/glip/webhooks

Get Webhook

Returns webhooks(s) with the specified id(s).

GET /restapi/v1.0/glip/webhooks/{webhookId}

Delete Webhook

Deletes the webhook by ID.

DELETE /restapi/v1.0/glip/webhooks/{webhookId}

Activate Webhook

Activates webhook by ID.

POST /restapi/v1.0/glip/webhooks/{webhookId}/activate

Suspend Webhook

Suspends webhook by ID.

POST /restapi/v1.0/glip/webhooks/{webhookId}/suspend

Internal Contacts

Method Description

Returns contact information on corporate users of federated accounts according to the specified filtering and ordering.

POST /restapi/v1.0/account/{accountId}/directory/entries/search

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body False

Returns contact information on a particular corporate user of a federated account.

GET /restapi/v1.0/account/{accountId}/directory/entries/{entryId}

Name Type Default Required Description
accountId string True Internal identifier of owning account
entryId string True Internal identifier of extension to read information for

Returns contact information on corporate users of federated accounts. Please note: 1. User, DigitalUser, VirtualUser and FaxUser types are returned as User type. 2. ApplicationExtension type is not returned. 3. Only extensions in Enabled, Disabled and NotActivated state are returned.

GET /restapi/v1.0/account/{accountId}/directory/entries

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
If-None-Match string False If-None-Match
page string 1 False Page number
perPage integer 1000 False Records count to be returned per one page. The default value is 1000. Specific keyword values: `all` - all records are returned in one page; `max` - maximum count of records that can be returned in one page
showFederated boolean True False If 'True' then contacts of all accounts in federation are returned. If 'False' then only contacts of the current account are returned, and account section is eliminated in this case
siteId string False Internal identifier of the business site to which extensions belong
type string False Type of an extension

Returns information on a federation and associated accounts.

GET /restapi/v1.0/account/{accountId}/directory/federation

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
RCExtensionId string False RCExtensionId

Meeting Configuration

Method Description

Returns user settings for meetings.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/meeting/user-settings

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
Get Locked Meeting Settings

Returns information on user meeting settings that are locked on account level and therefore cannot be changed by user.

GET /restapi/v1.0/account/{accountId}/meeting/locked-settings

Returns information on dial-in numbers for meetings, support and international dial-in numbers URIs and meeting account information.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/meeting/service-info

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Updates personal meeting identifier.

PATCH /restapi/v1.0/account/{accountId}/extension/{extensionId}/meeting/service-info

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Returns assistants information.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/meetings-configuration/assistants

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Returns assisted users information.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/meetings-configuration/assisted

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Meeting Management

Method Description

Returns a list of meetings for a particular extension. The list of meetings does not include meetings of 'Instant' type.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/meeting

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Creates a new meeting.

POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/meeting

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body False
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Returns a particular meetings details by ID.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/meeting/{meetingId}

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
meetingId string True Internal identifier of a RingCentral meeting

Modifies a particular meeting.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/meeting/{meetingId}

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body False
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
meetingId string True Internal identifier of a RingCentral meeting

Deletes a scheduled meeting.

DELETE /restapi/v1.0/account/{accountId}/extension/{extensionId}/meeting/{meetingId}

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
meetingId string True Internal identifier of a RingCentral meeting

Ends a meetings which is in progress.

POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/meeting/{meetingId}/end

Name Type Default Required Description
accountId string True
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
meetingId string True Internal identifier of a RingCentral meeting

Returns a meeting invitation by ID.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/meeting/{meetingId}/invitation

Name Type Default Required Description
accountId string True Internal identifier of an account or tilde (~) to indicate the account logged-in within the current session
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
meetingId integer True Internal identifier of a RingCentral meeting

Meeting Recordings

Method Description

Returns the list of meeting recordings for the current account.

GET /restapi/v1.0/account/{accountId}/meeting-recordings

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
meetingId string False Internal identifier of a meeting. Either `meetingId` or `meetingStartTime`/`meetingEndTime` can be specified
meetingStartTimeFrom string False Recordings of meetings started after the time specified will be returned. Either `meetingId` or `meetingStartTime`/`meetingEndTime` can be specified
meetingStartTimeTo string False Recordings of meetings started before the time specified will be returned. The default value is current time. Either `meetingId` or `meetingStartTime`/`meetingEndTime` can be specified
page integer False Page number
perPage integer 100 False Number of items per page. The `max` value is supported to indicate the maximum size - 300

Returns the list of meetings recordings for the current user.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/meeting-recordings

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
meetingId string False Internal identifier of a meeting. Either `meetingId` or `meetingStartTime`/`meetingEndTime` can be specified
meetingStartTimeFrom string False Recordings of meetings started after the time specified will be returned. Either `meetingId` or `meetingStartTime`/`meetingEndTime` can be specified
meetingStartTimeTo string False Recordings of meetings started before the time specified will be returned. The default value is current time. Either `meetingId` or `meetingStartTime`/`meetingEndTime` can be specified
page integer False Page number
perPage integer 100 False Number of items per page. The `max` value is supported to indicate the maximum size - 300

Message Exports

Method Description

Creates a task to collect all account messages within the specified time interval. Maximum number of simaltaneous tasks per account is 2.

POST /restapi/v1.0/account/{accountId}/message-store-report

Name Type Default Required Description
accountId string True
body False

Returns the current status of a task on report creation.

GET /restapi/v1.0/account/{accountId}/message-store-report/{taskId}

Name Type Default Required Description
accountId string True
taskId string True

Returns the created report with message data not including attachments.

GET /restapi/v1.0/account/{accountId}/message-store-report/{taskId}/archive

Name Type Default Required Description
accountId string True
taskId string True

Returns one of the report archives with message contents in application/zip format.

GET /restapi/v1.0/account/{accountId}/message-store-report/{taskId}/archive/{archiveId}

Name Type Default Required Description
accountId string True
archiveId string True
taskId string True

Message Store

Method Description

Returns the list of messages from an extension mailbox.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/message-store

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
availability array False Specifies the availability status for the resulting messages. Multiple values are accepted
conversationId integer False Specifies the conversation identifier for the resulting messages
dateFrom string False The start datetime for resulting messages in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is dateTo minus 24 hours
dateTo string False The end datetime for resulting messages in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is current time
direction array False The direction for the resulting messages. If not specified, both inbound and outbound messages are returned. Multiple values are accepted
distinctConversations boolean False If 'True', then the latest messages per every conversation ID are returned
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
messageType array False The type of the resulting messages. If not specified, all messages without message type filtering are returned. Multiple values are accepted
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted
perPage integer 100 False Indicates the page size (number of items)
phoneNumber string False The phone number. If specified, messages are returned for this particular phone number only
readStatus array False The read status for the resulting messages. Multiple values are accepted

Deletes conversation(s) by conversation ID(s). Batch request is supported, max number of IDs passed as query/path parameters is 50. Alternative syntax is supported - user converations can be deleted by passing multiple IDs in request body as an array of string, max number of conversation IDs passed in request body is 100. In this case asterisk is used in the path instead of IDs

DELETE /restapi/v1.0/account/{accountId}/extension/{extensionId}/message-store

Name Type Default Required Description
accountId string True
conversationId array False
dateTo string False Messages received earlier then the date specified will be deleted. The default value is current datetime
extensionId string True
type string All False Type of messages to be deleted

Returns individual message record(s) by the given message ID(s). The length of inbound messages is unlimited. Batch request is supported.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/message-store/{messageId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
messageId integer True Internal identifier of a message

Updates message(s) by ID(s). Currently only message read status can be updated. Batch request is supported, max number of IDs passed as query/path parameters is 50. Alternative syntax is supported - user messages can be updated by passing multiple IDs in request body as an array of string, max number of IDs passed in request body is 1000. In this case asterisk is used in the path instead of IDs

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/message-store/{messageId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
dateFrom string false
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
messageId integer True Internal identifier of a message
type string false

Deletes message(s) by the given message ID(s). The first call of this method transfers the message to the 'Delete' status. The second call transfers the deleted message to the 'Purged' status. If it is required to make the message 'Purged' immediately (from the first call), then set the query parameter purge to 'True'.

DELETE /restapi/v1.0/account/{accountId}/extension/{extensionId}/message-store/{messageId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
conversationId integer False Internal identifier of a message thread
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
messageId integer True Internal identifier of a message
purge boolean False False If the value is 'True', then the message is purged immediately with all the attachments

Returns a specific message attachment data as media stream.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/message-store/{messageId}/content/{attachmentId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
attachmentId integer True Internal identifier of a message attachment
contentDisposition string Inline False Content disposition of a response
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
messageId integer True Internal identifier of a message
Range string False

Synchronizes messages.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/message-sync

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
conversationId integer False Conversation identifier for the resulting messages. Meaningful for SMS and Pager messages only.
dateFrom string False The start datetime for resulting messages in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is dateTo minus 24 hours
dateTo string False The end datetime for resulting messages in ISO 8601 format including timezone, for example 2016-03-10T18:07:52.534Z. The default value is current time
direction array False Direction for the resulting messages. If not specified, both inbound and outbound messages are returned. Multiple values are accepted
distinctConversations boolean False If 'True', then the latest messages per every conversation ID are returned
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
messageType array False Type for the resulting messages. If not specified, all types of messages are returned. Multiple values are accepted
recordCount integer False Limits the number of records to be returned (works in combination with dateFrom and dateTo if specified)
syncToken string False Value of syncToken property of last sync request response
syncType array False Type of message synchronization
Get Message Store Configuration

Returns message store settings.

GET /restapi/v1.0/account/{accountId}/message-store-configuration

Updates message store settings.

PUT /restapi/v1.0/account/{accountId}/message-store-configuration

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body

MMS

Method Description

Creates and sends media messages. Sending MMS messages simultaneously to different recipients is limited up to 50 requests per minute; relevant for all client applications.

POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/mms

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True MMS envelope and content
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Notes

Method Description

Creates a new note in the specified chat.

POST /restapi/v1.0/glip/chats/{chatId}/notes

Name Type Default Required Description
body True
chatId string True Internal identifier of a chat to create a note in

Returns the list of notes created in the specified chat.

GET /restapi/v1.0/glip/chats/{chatId}/notes

Name Type Default Required Description
chatId string True Internal identifier of a chat to fetch notes from.
creationTimeFrom string False The start datetime for resulting records in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format including timezone
creationTimeTo string False The end datetime for resulting records in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format including timezone, e.g. 2019-03-10T18:23:45. The default value is Now.
creatorId string False Internal identifier of the user that created the note. Multiple values are supported
pageToken string False Pagination token
recordCount integer 30 False Max number of notes to be fetched by one request; the value range is 1-250.
status string False Status of notes to be fetched; if not specified all notes are fetched by default.
Get Note

Returns the specified note(s). It is possible to fetch up to 50 notes per request.

GET /restapi/v1.0/glip/notes/{noteId}

Edits a note. Notes can be edited by any user if posted to a chat the user belongs to.

PATCH /restapi/v1.0/glip/notes/{noteId}

Name Type Default Required Description
body True
noteId string True Internal identifier of a note to be updated
Delete Note

Deletes the specified note.

DELETE /restapi/v1.0/glip/notes/{noteId}

Lock Note

Locks a note providing the user with the unique write access for 5 hours.

POST /restapi/v1.0/glip/notes/{noteId}/lock

Unlock Note

Unlocks a note letting other users edit this note. Once the note is locked (by another user) it cannot be unlocked during 5 hours since the lock datetime.

POST /restapi/v1.0/glip/notes/{noteId}/unlock

Publish Note

Publishes a note making it visible to other users.

POST /restapi/v1.0/glip/notes/{noteId}/publish

OAuth 2.0

Method Description

Returns a link to a login page location.

GET /restapi/oauth/authorize

Name Type Default Required Description
accept_language string false
brand_id string false Brand identifier. If it is not provided in request, server will try to determine brand from client app profile. The default value is '1210' - RingCentral US
client_id string True Identifier (key) of a client application
code_challenge string false
code_challenge_method string false
display string false Style of login form. The default value is 'page'. The 'popup' and 'touch' values are featured for mobile applications
localeId string false Localization code of a language. Overwrites 'Accept-Language' header value
nonce string false
prompt string false Specifies which login form will be displayed. Space-separated set of the following values: 'login' - official RingCentral login form, 'sso' - Single Sign-On login form, 'consent' - form to show the requested scope and prompt user for consent. Either 'login' or 'sso' (or both) must be specified. The default value is 'login&sso'
redirect_uri string True This is a callback URI which determines where the response is sent. The value of this parameter must exactly match one of the URIs you have provided for your app upon registration
request string false
request_uri string false
response_type string True Determines authorization flow: **code** - Authorization Code, **token** - Implicit Grant
scope string false
state string false Client state. Returned back to the client at the end of the flow
ui_locales string false Localization code of a language. Overwrites 'localeId' parameter value
ui_options string false User interface options data

Revokes access/refresh token. Requests to this endpoint must be authenticated with HTTP Basic scheme using the application key and application secret as login and password, correspondingly.

POST /restapi/oauth/revoke

Name Type Default Required Description
client_assertion string False
client_assertion_type string False
token string True Active access or refresh token to be revoked

Returns access tokens for making API requests

POST /restapi/oauth/token

Name Type Default Required Description
access_token_ttl integer 3600 False Access token lifetime in seconds
account_id string False
assertion string False
brand_id string False
client_assertion string False
client_assertion_type string False
client_id string False
code string False Authorization code
code_verifier string False
endpoint_id string False The unique identifier of a client application. If not specified, the previously specified or auto generated value is used by default
extension string False Optional. Extension short number. If company number is specified as a username, and extension is not specified, the server will attempt to authenticate client as main company administrator
grant_type string password False Grant type
partner_account_id string False
password string False User's password
pin string False
redirect_uri string False This is a callback URI which determines where the response is sent. The value of this parameter must exactly match one of the URIs you have provided for your app upon registration
refresh_token string False Previously issued refresh token. This is the only formData field used for the Refresh Token Flow.
refresh_token_ttl integer 604800 False Refresh token lifetime in seconds
scope string False List of API permissions to be used with access token. Can be omitted when requesting all permissions defined during the application registration phase
username string False Phone number linked to an account or extension in E.164 format with or without leading '+' sign

Pager Messages

Method Description

Creates and sends an internal text message.

POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/company-pager

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Paging Only Groups

Method Description

Returns the list of users allowed to page this group.

GET /restapi/v1.0/account/{accountId}/paging-only-groups/{pagingOnlyGroupId}/users

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted
pagingOnlyGroupId string True Internal identifier of a paging group
perPage integer 100 False Indicates the page size (number of items)

Returns the list of paging devices assigned to this group.

GET /restapi/v1.0/account/{accountId}/paging-only-groups/{pagingOnlyGroupId}/devices

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted
pagingOnlyGroupId string True Internal identifier of a paging group
perPage integer 100 False Indicates the page size (number of items)

Adds and/or removes paging group users and devices.

POST /restapi/v1.0/account/{accountId}/paging-only-groups/{pagingOnlyGroupId}/bulk-assign

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body False
pagingOnlyGroupId string True Internal identifier of a paging group

Phone Numbers

Method Description

Returns the list of phone numbers that are used by a particular extension, and can be filtered by the phone number type. The returned list contains all numbers which are directly mapped to a given extension plus the features and also company-level numbers which may be used when performing different operations on behalf of this extension.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/phone-number

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
page integer False Indicates the page number to retrieve. Only positive number values are allowed. Default value is '1'
perPage integer False Indicates the page size (number of items). If not specified, the value is '100' by default
status string False Status of a phone number. Multiple values are supported
usageType array False Usage type of a phone number

Returns the list of phone numbers assigned to RingCentral customer account. Both company-level and extension-level numbers are returned.

GET /restapi/v1.0/account/{accountId}/phone-number

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted
perPage integer 100 False Indicates the page size (number of items)
status string False Status of a phone number. Multiple values are supported
usageType array False Usage type of a phone number

Returns the phone number(s) belonging to a certain account or extension by phoneNumberId(s). Batch request is supported.

GET /restapi/v1.0/account/{accountId}/phone-number/{phoneNumberId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
phoneNumberId integer True Internal identifier of a phone number

Returns one or more parsed and/or formatted phone numbers that are passed as a string.

POST /restapi/v1.0/number-parser/parse

Name Type Default Required Description
body True JSON body
homeCountry string False Internal identifier of a home country. The default value is ISO code (ISO 3166) of the user's home country or brand country, if the user is undefined
nationalAsPriority boolean False The default value is 'False'. If 'True', the numbers that are closer to the home country are given higher priority

Posts

Method Description

Returns information about the specified post.

GET /restapi/v1.0/glip/chats/{chatId}/posts/{postId}

Name Type Default Required Description
chatId string True Internal identifier of a chat.
postId string True Internal identifier of a post.

Updates a specific post within a chat.

PATCH /restapi/v1.0/glip/chats/{chatId}/posts/{postId}

Name Type Default Required Description
body True JSON body
chatId string True Internal identifier of a chat.
postId string True Internal identifier of a post to be updated.

Deletes the specified post from the chat.

DELETE /restapi/v1.0/glip/chats/{chatId}/posts/{postId}

Name Type Default Required Description
chatId string True Internal identifier of a chat.
postId string True Internal identifier of a post to be deleted.

Returns a list of posts from the specified chat.

GET /restapi/v1.0/glip/chats/{chatId}/posts

Name Type Default Required Description
chatId string True Internal identifier of a chat.
pageToken string False Pagination token.
recordCount integer 30 False Max number of posts to be fetched by one request (Not more than 250).

Creates a post within the specified chat. Attachments are supported.

POST /restapi/v1.0/glip/chats/{chatId}/posts

Name Type Default Required Description
body True JSON body
chatId string True Internal identifier of a chat.

Returns posts which are available for the current user by group ID.

GET /restapi/v1.0/glip/groups/{groupId}/posts

Name Type Default Required Description
groupId string True Internal identifier of a group
pageToken string False Pagination token
recordCount integer 30 False Max number of records to be returned

Creates a new post in a group specified.

POST /restapi/v1.0/glip/groups/{groupId}/posts

Name Type Default Required Description
body True
groupId string True Internal identifier of a group.

Modifies text of a post.

PUT /restapi/v1.0/glip/groups/{groupId}/posts/{postId}/text

Name Type Default Required Description
groupId string True Internal identifier of a group
postId string True Internal identifier of a post
text True

Creates a new message.

POST /restapi/v1.0/glip/cards

Name Type Default Required Description
body True
groupId integer false Internal identifier of a group where to create a post with the card
Get Card

Returns card(s) with given id(s).

GET /restapi/v1.0/glip/cards/{cardId}

Updates a card.

PUT /restapi/v1.0/glip/cards/{cardId}

Name Type Default Required Description
body True
cardId string True Internal identifier of a card
Delete Card

Deletes a card by ID.

DELETE /restapi/v1.0/glip/cards/{cardId}

Returns posts available for the current user by group ID.

GET /restapi/v1.0/glip/posts

Name Type Default Required Description
groupId string False Identifier of a group to filter posts
pageToken string False Token of a page to be returned
recordCount integer 30 False Number of records to be returned. The maximum value is 250, by default - 30
Create Post

Creates a post.

POST /restapi/v1.0/glip/posts

Presence

Method Description

Returns presence status of an extension or several extensions by their ID(s). Batch request is supported. The 'presenceStatus' is returned as Offline (the parameters 'telephonyStatus', 'message', 'userStatus' and 'dndStatus' are not returned at all) for the following extension types: Department/Announcement Only/Take Messages Only (Voicemail)/Fax User/Paging Only Group/Shared Lines Group/IVR Menu/Application Extension/Park Location.If the user requests his/her own presence status, the response contains actual presence status even if the status publication is turned off. Batch request is supported. For batch requests the number of extensions in one request is limited to 30. If more extensions are included in the request, the error code 400 Bad Request is returned with the logical error code InvalidMultipartRequest and the corresponding message 'Extension Presence Info multipart request is limited to 30 extensions'.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/presence

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
detailedTelephonyState boolean False Whether to return detailed telephony state
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
sipData boolean False Whether to return SIP data

Updates user-defined extension presence status, status message and DnD status by extension ID. Supported for regular User extensions only. The extension types listed do not support presence status: Department, Announcement Only, Take Messages Only (Voicemail), Fax User, Paging Only Group, Shared Lines Group, IVR Menu, Application Extension.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/presence

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body False
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Returns presence status of all extensions of an account. Please note: The presenceStatus is returned as Offline (the parameters telephonyStatus, message, userStatus and dndStatus are not returned at all) for the following extension types: Department, Announcement Only, Voicemail (Take Messages Only), Fax User, Paging Only Group, Shared Lines Group, IVR Menu, Application Extension.

GET /restapi/v1.0/account/{accountId}/presence

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
detailedTelephonyState boolean False Whether to return detailed telephony state
page integer False Page number for account presence information
perPage integer False Number for account presence information items per page
sipData boolean False Whether to return SIP data

Returns presence status of the call queue members.

GET /restapi/v1.0/account/{accountId}/call-queues/{groupId}/presence

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
groupId string True Internal identifier of an call queue extension

Updates presence status of the call queue members in the specified queue.

PUT /restapi/v1.0/account/{accountId}/call-queues/{groupId}/presence

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True
groupId string True Internal identifier of a call queue extension

Returns a list of agent's call queues with the agent presence status (per queue)

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-queue-presence

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
editableMemberStatus boolean False Filtering by the flag 'Allow members to change their Queue Status'. If 'true' only queues where user can change his availability status are returned
extensionId string ~ True Internal identifier of an extension

Updates availability of the agent for the call queues.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/call-queue-presence

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True
extensionId string ~ True Internal identifier of an extension

Returns the unified presence status of the requested user(s). The set of parameters returned by this method differs whether you return the requester's presence or any other user presence.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/unified-presence

Name Type Default Required Description
accountId string None True
extensionId string None True

Updates the unified presence for the current user specified in path.

PATCH /restapi/v1.0/account/{accountId}/extension/{extensionId}/unified-presence

Name Type Default Required Description
accountId string None True
body True JSON body
extensionId string None True

Regional Settings

Method Description
Get Language List

Returns the information about supported languages.

GET /restapi/v1.0/dictionary/language

Get Language

Returns language by ID.

GET /restapi/v1.0/dictionary/language/{languageId}

Returns all the countries available for calling.

GET /restapi/v1.0/dictionary/country

Name Type Default Required Description
freeSoftphoneLine boolean False Specifies if free phone line for softphone is available for a country or not
loginAllowed boolean False Specifies whether login with the phone numbers of this country is enabled or not
numberSelling boolean False Specifies if RingCentral sells phone numbers of this country
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted
perPage integer 100 False Indicates the page size (number of items)
signupAllowed boolean False Indicates whether signup/billing is allowed for a country. If not specified all countries are returned (according to other filters specified if any)
Get Country

Returns the information on a specific country.

GET /restapi/v1.0/dictionary/country/{countryId}

Returns all available locations for a certain state.

GET /restapi/v1.0/dictionary/location

Name Type Default Required Description
orderBy string City False Sorts results by the property specified
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted
perPage integer 100 False Indicates the page size (number of items)
stateId string False Internal identifier of a state
withNxx boolean False Specifies if nxx codes are returned

Returns all the states of a certain country

GET /restapi/v1.0/dictionary/state

Name Type Default Required Description
allCountries boolean False If set to 'True' then states for all countries are returned and `countryId` is ignored, even if specified. If the value is empty then the parameter is ignored
countryId integer False Internal identifier of a country
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted
perPage integer 100 False Indicates the page size (number of items)
withPhoneNumbers boolean False False If 'True', the list of states with phone numbers available for buying is returned
Get State

Returns the information on a specific state.

GET /restapi/v1.0/dictionary/state/{stateId}

Returns all available timezones.

GET /restapi/v1.0/dictionary/timezone

Name Type Default Required Description
page string 1 False Indicates the page number to retrieve. Only positive number values are accepted
perPage string 100 False Indicates the page size (number of items)

Returns the information on a certain timezone.

GET /restapi/v1.0/dictionary/timezone/{timezoneId}

Name Type Default Required Description
page string 1 False Indicates the page number to retrieve. Only positive number values are accepted
perPage string 100 False Indicates the page size (number of items)
timezoneId integer True Internal identifier of a timezone

RingOut

Method Description

Makes a 2-leg RingOut call.

POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/ring-out

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Returns the status of a 2-leg RingOut call.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/ring-out/{ringoutId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
ringoutId string True Internal identifier of a RingOut call

Cancels a 2-leg RingOut call.

DELETE /restapi/v1.0/account/{accountId}/extension/{extensionId}/ring-out/{ringoutId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
ringoutId string True Internal identifier of a RingOut call

Makes a 2-leg RingOut call.

POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/ringout

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Returns status of a 2-leg RingOut call.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/ringout/{ringoutId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
ringoutId integer True Internal identifier of a RingOut call

Cancels a 2-leg RingOut call.

DELETE /restapi/v1.0/account/{accountId}/extension/{extensionId}/ringout/{ringoutId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
ringoutId integer True Internal identifier of a RingOut call

Rule Management

Method Description

Returns the extension answering rules.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
enabledOnly boolean False False If true, then only active call handling rules are returned
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
page string 1 False
perPage string 100 False
view string Simple False

Creates a custom answering rule for a particular caller ID.

POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Returns an answering rule by ID.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule/{ruleId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
ruleId string True Internal identifier of an answering rule. The value can be standard digital ID or specific ID - either 'business-hours-rule' or 'after-hours-rule'
showInactiveNumbers boolean False False Indicates whether inactive numbers should be returned or not

Updates a custom answering rule for a particular caller ID.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule/{ruleId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
ruleId string True Internal identifier of an answering rule

Deletes a custom answering rule by a particular ID.

DELETE /restapi/v1.0/account/{accountId}/extension/{extensionId}/answering-rule/{ruleId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
ruleId string True Internal identifier of an answering rule

Creates a company answering rule for a particular caller ID.

POST /restapi/v1.0/account/{accountId}/answering-rule

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body

Returns a list of company answering rules.

GET /restapi/v1.0/account/{accountId}/answering-rule

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted
perPage integer 100 False Indicates the page size (number of items per page)

Returns a company answering rule by ID.

GET /restapi/v1.0/account/{accountId}/answering-rule/{ruleId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
ruleId string True Internal identifier of an answering rule. The value can be standard digital ID or specific ID - either 'business-hours-rule' or 'after-hours-rule'

Updates a company answering rule.

PUT /restapi/v1.0/account/{accountId}/answering-rule/{ruleId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
ruleId string True Internal identifier of an answering rule. The value can be standard digital ID or specific ID - either 'business-hours-rule' or 'after-hours-rule'

Deletes a company custom answering rule by a particular ID.

DELETE /restapi/v1.0/account/{accountId}/answering-rule/{ruleId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
ruleId string True Internal identifier of an answering rule

Returns the list of predefined standard greetings. Custom greetings recorded by user are not returned in response to this request. See Get Extension Custom Greetings.

GET /restapi/v1.0/dictionary/greeting

Name Type Default Required Description
page integer 1 False Indicates the page number to retrieve. Only positive number values are accepted.
perPage integer 100 False Indicates the page size (number of items).
type string False Type of a greeting, specifying the case when the greeting is played
usageType string false Usage type of a greeting, specifying if the greeting is applied for user extension or department extension
Get Standard Greeting

Returns a standard greeting by ID.

GET /restapi/v1.0/dictionary/greeting/{greetingId}

Creates a custom company greeting.

POST /restapi/v1.0/account/{accountId}/greeting

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
answeringRuleId string false Internal identifier of an answering rule
binary file True Meida file to upload
languageId string false Internal identifier of a language. See Get Language List
type string True Type of a greeting, specifying the case when the greeting is played.

Creates custom greeting for an extension user.

POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/greeting

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
answeringRuleId string True Internal identifier of an answering rule
binary file True Meida file to upload
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
type string True Type of a greeting, specifying the case when the greeting is played.

Returns a custom user greeting by ID.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/greeting/{greetingId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
greetingId integer True Internal identifier of a greeting
Get Call Recording Settings

Returns call recording settings.

GET /restapi/v1.0/account/{accountId}/call-recording

Updates current call recording settings.

PUT /restapi/v1.0/account/{accountId}/call-recording

Name Type Default Required Description
accountId string True
body false
Get Call Recording Extension List

Returns the list of extensions to be recorded.

GET /restapi/v1.0/account/{accountId}/call-recording/extensions

Creates or updates the list of extensions to be recorded.

POST /restapi/v1.0/account/{accountId}/call-recording/bulk-assign

Name Type Default Required Description
accountId string True
body True

Returns call recording custom greetings.

GET /restapi/v1.0/account/{accountId}/call-recording/custom-greetings

Name Type Default Required Description
accountId string True
type string False
Delete Call Recording Custom Greeting List

Deletes call recording custom greetings.

DELETE /restapi/v1.0/account/{accountId}/call-recording/custom-greetings

Deletes call recording custom greeting(s).

DELETE /restapi/v1.0/account/{accountId}/call-recording/custom-greetings/{greetingId}

Name Type Default Required Description
accountId string True
greetingId string True

SCIM

Method Description
Check Health

GET /scim/health

Check Health

GET /scim/v2/health

Get Service Provider Config

GET /scim/v2/ServiceProviderConfig

Get Service Provider Config

GET /scim/ServiceProviderConfig

GET /scim/v2/Users

Name Type Default Required Description
count integer 100 False page size
filter string False only support 'userName' or 'email' filter expressions for now
startIndex integer 1 False start index (1-based)
Create User

POST /scim/v2/Users

GET /scim/Users

Name Type Default Required Description
count integer 100 False page size
filter string False only support 'userName' or 'email' filter expressions for now
startIndex integer 1 False start index (1-based)
Create User

POST /scim/Users

Search/List Users

POST /scim/v2/Users/.search

Get User

GET /scim/v2/Users/{id}

PUT /scim/v2/Users/{id}

Name Type Default Required Description
body False an existing user
id string True user id
Delete User

DELETE /scim/v2/Users/{id}

PATCH /scim/v2/Users/{id}

Name Type Default Required Description
body False patch operations list
id string True user id

SIP

Method Description
Register SIP Device

Creates SIP registration of a device/application (WebPhone, Mobile, softphone)

POST /restapi/v1.0/client-info/sip-provision

SMS

Method Description

Creates and sends a new text message. You can send SMS messages simultaneously to different recipients up to 40 requests per minute; this limitation is relevant for all client applications. Sending and receiving SMS is available for Toll-Free Numbers within the USA. You can send up to 10 attachments in one MMS message; the size of all attachments linked is limited to 1500000 bytes.

POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/sms

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Subscriptions

Method Description
Get Subscriptions

Returns a list of subscriptions created by a particular user on a particular client app.

GET /restapi/v1.0/subscription

Create Subscription

Creates a new subscription.

POST /restapi/v1.0/subscription

Get Subscription

Returns the requested subscription.

GET /restapi/v1.0/subscription/{subscriptionId}

Renews the existent subscription if the request body is empty. If event filters are specified, calling this method modifies the event filters for the existing subscription. The client application can extend or narrow the events for which it receives notifications in the frame of one subscription.

PUT /restapi/v1.0/subscription/{subscriptionId}

Name Type Default Required Description
aggregated boolean False If 'True' then aggregated presence status is returned in a notification payload
body True JSON body
subscriptionId string True Internal identifier of a subscription
Cancel Subscription

Cancels the existent subscription.

DELETE /restapi/v1.0/subscription/{subscriptionId}

Renew Subscription

Renews an existent subscription by ID by posting request with an empty body.

POST /restapi/v1.0/subscription/{subscriptionId}/renew

Tasks

Method Description

Returns the list of tasks of the specified chat.

GET /restapi/v1.0/glip/chats/{chatId}/tasks

Name Type Default Required Description
assigneeId array False Internal identifier of a task assignee
assigneeStatus string False Task execution status by assignee(-s) specified in assigneeId
assignmentStatus string False Task assignment status
chatId string True Internal identifier of a chat
creationTimeFrom string False The start datetime for resulting records in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format including timezone, e.g. 2016-02-23T00:00:00
creationTimeTo string now False The end datetime for resulting records in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format including timezone, e.g. 2019-03-10T18:23:45Z
creatorId array False Internal identifier of a task creator
pageToken string False Token of the current page. If token is omitted then the first page should be returned
recordCount integer 30 False Number of records to be returned per screen
status array False Task execution status

Creates a task in the specified chat.

POST /restapi/v1.0/glip/chats/{chatId}/tasks

Name Type Default Required Description
body True
chatId string True Internal identifier of a chat
Get Task

Returns information about the specified task(s) by ID(s).

GET /restapi/v1.0/glip/tasks/{taskId}

Updates the specified task by ID.

PATCH /restapi/v1.0/glip/tasks/{taskId}

Name Type Default Required Description
body False JSON body
taskId string True Internal identifier of a task
Delete Task

Deletes the specified task.

DELETE /restapi/v1.0/glip/tasks/{taskId}

Completes a task in the specified chat.

POST /restapi/v1.0/glip/tasks/{taskId}/complete

Name Type Default Required Description
body True JSON body
taskId string True Internal identifier of a task

Teams

Method Description

Returns the list of teams where the user is a member (both archived and active) combined with a list of public teams that can be joined by the current user. All records in response are sorted by creation time of a chat in ascending order.

GET /restapi/v1.0/glip/teams

Name Type Default Required Description
pageToken string False Pagination token.
recordCount integer 30 False Number of teams to be fetched by one request. The maximum value is 250, by default - 30
Create Team

Creates a team, and adds a list of people to the team.

POST /restapi/v1.0/glip/teams

Get Team

Returns information about the specified team.

GET /restapi/v1.0/glip/teams/{chatId}

Updates the name and description of the specified team.

PATCH /restapi/v1.0/glip/teams/{chatId}

Name Type Default Required Description
body True JSON body
chatId string True Internal identifier of a team to be updated.
Delete Team

Deletes the specified team.

DELETE /restapi/v1.0/glip/teams/{chatId}

Join Team

Adds the current user to the specified team.

POST /restapi/v1.0/glip/teams/{chatId}/join

Leave Team

Removes the current user from the specified team.

POST /restapi/v1.0/glip/teams/{chatId}/leave

Adds members to the specified team.

POST /restapi/v1.0/glip/teams/{chatId}/add

Name Type Default Required Description
body True JSON body
chatId string True Internal identifier of a team to add members to.

Removes members from the specified team.

POST /restapi/v1.0/glip/teams/{chatId}/remove

Name Type Default Required Description
body True JSON body
chatId string True Internal identifier of a team to remove members from.
Archive Team

Changes the status of the specified team to 'Archived'.

POST /restapi/v1.0/glip/teams/{chatId}/archive

Unarchive Team

Changes the status of the specified team to 'Active'.

POST /restapi/v1.0/glip/teams/{chatId}/unarchive

Get Everyone Chat

Returns information about Everyone chat.

GET /restapi/v1.0/glip/everyone

Update Everyone Сhat

Updates Everyone chat information.

PATCH /restapi/v1.0/glip/everyone

User Permissions

Method Description

Returns a list of user permissions granted at authorization procedure. Please note: Some permissions may be restricted by extension type.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/authz-profile

Name Type Default Required Description
accountId string True
extensionId string True

Checks if a certain user permission is activated for a particular extension.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/authz-profile/check

Name Type Default Required Description
accountId string True
extensionId string True
permissionId string False
targetExtensionId string False
Method Description

Returns basic information about a particular extension.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Updates user settings.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Deletes extension(s) by ID(s). When an extension is being deleted the default API behaviour is as follows: ⋅⋅ user's direct numbers are preserved by becoming additional company numbers; ⋅⋅ user's digital lines (both device & associated phone number) are deleted. You can change this behaviour using the filters: .. create unassigned extensions for each digital line of the deleted extension by setting the query parameter savePhoneLines to true in request path; .. remove direct numbers of the deleted extension by setting the query parameter savePhoneNumbers to false in request path

DELETE /restapi/v1.0/account/{accountId}/extension/{extensionId}

Name Type Default Required Description
accountId string True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
savePhoneLines boolean False false
savePhoneNumbers boolean True false

Returns information on an outbound caller ID of an extension.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-id

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Updates outbound caller ID information of an extension.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/caller-id

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Returns the list of extensions with the information on grants given to the current extension regarding them. Currently the list of grants include: picking up a call, monitoring, calling or receiving a call on behalf of somebody, call delegation and calling paging groups.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/grant

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
extensionType string False Type of extension to be returned. Multiple values are supported
page string 1 False
perPage string 100 False

Returns notification settings for the current extension.

Knowledge Article: User Settings - Set up Message Notifications

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/notification-settings

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Updates notification settings for the current extension.

Knowledge Article: User Settings - Set up Message Notifications

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/notification-settings

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True
extensionId integer True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Returns a profile image of an extension.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image

Name Type Default Required Description
accountId string True
extensionId string True

Uploads the extension profile image.

POST /restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image

Name Type Default Required Description
accountId string True
extensionId string True
image file True

Updates the extension profile image

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image

Name Type Default Required Description
accountId string True
extensionId string True
image file False

Returns scaled profile image of an extension.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/profile-image/{scaleSize}

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
scaleSize string True Dimensions of a profile image which will be returned in response. If this path parameter is not specified in request URI then

Returns the information on the Free Conference Calling (FCC) feature for a given extension.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/conferencing

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
countryId string False Internal identifier of a country. If not specified, the response is returned for the brand country
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Updates the default conferencing number for the current extension. The number can be selected from conferencing numbers of the current extension. Updates the setting, allowing participants join the conference before host.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/conferencing

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True JSON body
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session

Video Configuration

Method Description

Returns information about video configuration of the current user.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/video-configuration

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the current session account

Allows to update user video settings, for example video provider.

PUT /restapi/v1.0/account/{accountId}/extension/{extensionId}/video-configuration

Name Type Default Required Description
accountId string ~ True Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
body True
extensionId string ~ True Internal identifier of an extension or tilde (~) to indicate the extension assigned to the current session account