API Quick Reference

Use this quick reference to get an idea about the general CarrierX API structure, as well as the relations between the different API sections.

CarrierX API Structure

CarrierX API includes the following sections:

The figure below shows the main classes and objects that exist in the Core, Conference, FlexML and Mediator APIs, and how they are related to each other.

CarrierX API Structure

Refer to the sections below for the information about the structure of each of the API sections.

Core API

Core API allows the users to set up their accounts, rent phone numbers, change the rented phone numbers settings, send text messages, manage the storage, etc. Users can also set up endpoints and change their basic configuration.

Core API Structure

The figure below shows the main classes and objects that exist in the Core API, and how they are related to each other.

CarrierX Core API Structure

The table below contains a quick reference to the methods available to CarrierX API clients. Refer to the Core API Reference page for a complete list of the classes, objects, and methods, and their detailed descriptions.

Class Object Action Method Path
Access Control Collections of rules and policies that determine whether a call or message action is allowed or rejected Access Control List Look up effective ACLs for calls GET /accesscontrol/effective_acl/calls
  Look up effective ACLs for SMS GET /accesscontrol/effective_acl/sms
Access Control Rule Create Access Control Rule /accesscontrol/rules
  Get Access Control Rules GET /accesscontrol/rules
  Get Access Control Rule by SID GET /accesscontrol/rules/{rule_sid}
  Update Access Control Rule PATCH/PUT /accesscontrol/rules/{rule_sid}
  Delete Access Control Rule DELETE /accesscontrol/rules/{rule_sid}
Batch The tasks which create, edit, or delete phonenumber and prefix objects Task Create Task /batch/tasks
  Get Tasks GET /batch/tasks
  Get Task by SID GET /batch/tasks/{task_sid}
  Update Task PATCH/PUT /batch/tasks/{task_sid}
  Delete Task DELETE /batch/tasks/{task_sid}
Batch Review Get Task Review Items by SID GET /batch/tasks/{task_sid}/review_items
  Download CSV of Task Review Items by SID GET /batch/tasks/{task_sid}/review_items.csv
Calls The communications between two or more phone numbers Call Detail Record Get Call Detail Records GET /calls/call_drs
  Get Call Detail Record by SID GET /calls/call_drs/{dr_sid}
Rate Get Inbound PSTN Rates GET /calls/rates/inbound/pstn
  Download CSV of Inbound PSTN Rates GET /calls/rates/inbound/pstn/csv
  Get Inbound VoIP Rates GET /calls/rates/inbound/voip/{sub_type}
  Download CSV of Inbound VoIP Rates GET /calls/rates/inbound/voip/{sub_type}/csv
  Get Outbound PSTN Rates GET /calls/rates/outbound/pstn
  Download CSV of Outbound PSTN Rates GET /calls/rates/outbound/pstn/csv
  Get Outbound VoIP Rates GET /calls/rates/outbound/voip/{sub_type}
  Download CSV of Outbound VoIP Rates GET /calls/rates/outbound/voip/{sub_type}/csv
Countries The data about countries: universally accepted formats, mobile country codes, dialing prefixes, and more Country Get Countries GET /countries
  Get Country by ISO Code GET /countries/{country_code}
  Get Country by IP Address GET /countries/ip/{ip_address}
Endpoints The representations of devices which can receive calls, either external SIP devices, such as an Asterisk server or SIP PBX, or hosted applications that CarrierX runs Endpoint Create Endpoint /endpoints
  Get Endpoints GET /endpoints
  Get Endpoint by SID GET /endpoints/{endpoint_sid}
  Update Endpoint PATCH/PUT /endpoints/{endpoint_sid}
  Delete Endpoint DELETE /endpoints/{endpoint_sid}
Invoices Objects which are automatically created when a new partner is added to the system and updated when new charges occur Invoice Get Invoices GET /invoices
  Get Invoice by SID GET /invoices/{invoice_sid}
  Get Invoice HTML Report by SID GET /invoices/{invoice_sid}.html
  Send Invoice HTML Report by SID to Email Addresses /invoices/{invoice_sid}.html/emails
  Get Invoice PDF Report by SID GET /invoices/{invoice_sid}.pdf
  Send Invoice PDF Report by SID to Email Addresses /invoices/{invoice_sid}.pdf/emails
Lookup The data related to phone numbers and IP addresses Phonenumber Lookup Get Details for Phone Number GET /lookup/dids/{phonenumber}
IP2Location Get Details for IP Address GET /lookup/lookup/ip_addresses/{ip_address}
OAuth Tokens used in API requests allowing to manage all other Core API objects for which the partner has the appropriate scopes set OAuth Token Revoke OAuth Token /oauth/revoke
  Generate OAuth Bearer Token /oauth/token
  Generate OAuth Bearer Token for Sub-partner /oauth/token/{partner_sid}
  Get All Active OAuth Tokens GET /oauth/token
  Get OAuth Token by SID GET /oauth/token/{token_sid}
  Update OAuth Token PATCH/PUT /oauth/tokens/{token_sid}
  Get Current Partner GET /oauth/whoami
Partners Objects and methods related to the individuals or companies with CarrierX credentials Partner Create Partner /partners
  Get Partners GET /partners
  Get Partner by SID GET /partners/{partner_sid}
  Update Partner PATCH/PUT /partners/{partner_sid}
  Delete Partner DELETE /partners/{partner_sid}
Billing Method Register Billing Method /partners/{partner_sid}/billing_method
  Get Billing Method by Partner SID GET /partners/{partner_sid}/billing_method
  Delete Billing Method DELETE /partners/{partner_sid}/billing_method
Phone Numbers Direct Inward Dialing numbers (DIDs) rentable through the CarrierX API, and their related objects and methods DID Rent DID /phonenumber/dids
  Get DIDs GET /phonenumber/dids
  Get DID by SID GET /phonenumber/dids/{did_sid}
  Update DID PATCH/PUT /phonenumber/dids/{did_sid}
  Release DID DELETE /phonenumber/dids/{did_sid}
  Browse Available DIDs GET /phonenumber/available_dids
  Get Available DID by SID GET /phonenumber/available_dids/{did_sid}
  Browse Coverage GET /phonenumber/coverage
DID Classification Get DID Classifications GET /phonenumber/classifications
  Get DID Classification by SID GET /phonenumber/classifications/{classification_sid}
DID Emergency Get DID Emergency GET /phonenumber/dids/{did_sid}/emergency
  Update DID Emergency PATCH/PUT /phonenumber/dids/{did_sid}/emergency
  Delete DID Emergency DELETE /phonenumber/dids/{did_sid}/emergency
DID Line Information Get DID Line Information GET /phonenumber/dids/{did_sid}/line_information
  Update DID Line Information PATCH/PUT /phonenumber/dids/{did_sid}/line_information
  Delete DID Line Information DELETE /phonenumber/dids/{did_sid}/line_information
DID Group Create DID Group /phonenumber/did_groups
  Get DID Groups GET /phonenumber/did_groups
  Get DID Group by SID GET /phonenumber/did_groups/{did_group_sid}
  Update DID Group PATCH/PUT /phonenumber/did_groups/{did_group_sid}
  Delete DID Group DELETE /phonenumber/did_groups/{did_group_sid}
Prefix Create Prefix /phonenumber/prefixes
  Get Prefixes GET /phonenumber/prefixes
  Get Prefix by SID GET /phonenumber/prefixes/{prefix_sid}
  Update Prefix PATCH/PUT /phonenumber/prefixes/{prefix_sid}
  Delete Prefix DELETE /phonenumber/prefixes/{prefix_sid}
Rate DID Tier Get Rates GET /phonenumber/rates
  Download CSV with Rates GET /phonenumber/rates/csv
Short Code Get Short Codes GET /phonenumber/short_codes
  Get Short Code by SID GET /phonenumber/short_codes/{short_code_sid}
  Update Short Code PATCH/PUT /phonenumber/short_codes/{short_code_sid}
Push The operating system-supported messages that are sent to mobile devices Application Create Application to Send Push Notifications /push/applications
  Get Applications GET /push/applications
  Get Application by SID GET /push/applications/{application_sid}
  Update Application PATCH/PUT /push/applications/{application_sid}
  Delete Application DELETE /push/applications/{application_sid}
Device Create Device to Send Push Notifications /push/devices
  Get Devices GET /push/devices
  Get Device by SID GET /push/devices/{device_sid}
  Update Device PATCH/PUT /push/devices/{device_sid}
  Delete Device DELETE /push/devices/{device_sid}
Notification Send Notification /push/notifications
Rating The rates that will be applied when calling the phone number or sending text messages to them from CarrierX rented DIDs Rating Call Response Get Call Rate GET /rating/voice_calls
Rating Messages Response Get Messages Rate GET /rating/sms_messages
Routing The means to view and create routing locations which represent one of the locations where CarrierX runs a SIP switch Routing Location preview Get Routing Locations GET /routing/locations
  preview Get Routing Location by SID GET /routing/locations/{location_sid}
Shortener The means to create shortened versions of URLs using custom domains Domain Create Domain /shortener/domains
  Get Domains GET /shortener/domains
  Get Domain by SID GET /shortener/domains/{domain_sid}
  Update Domain PATCH/PUT /shortener/domains/{domain_sid}
  Delete Domain DELETE /shortener/domains/{domain_sid}
Link Create Link /shortener/links
  Get Links GET /shortener/links
  Get Link by SID GET /shortener/links/{link_sid}
  Update Link PATCH/PUT /shortener/links/{link_sid}
  Delete Link DELETE /shortener/links/{link_sid}
SMS The means to send text and multimedia messages and view their detailed information SMS Send Message /sms/messages
  Get Messages GET /sms/messages
  Get Message by SID GET /sms/messages/{message_sid}
  Update Message PATCH/PUT /sms/messages/{message_sid}
SMS Detail Records Get Message Detail Records GET /sms/message_drs
  Get Message Detail Records by SID GET /sms/message_drs/{dr_sid}
  Update Message Detail Records PATCH/PUT /sms/message_drs/{dr_sid}
Rate Get Outbound Rates GET /sms/rates/outbound/{sub_type}
  Download CSV with Outbound Rates GET /sms/rates/outbound/{sub_type}/csv
Storage The objects and methods allowing the partners to upload and store files inside the CarrierX containers Container Create Container /storage/containers
  Get Containers GET /storage/containers
  Get Container by SID GET /storage/containers/{container_sid}
  Update Container PATCH/PUT /storage/containers/{container_sid}
  Delete Container DELETE /storage/containers/{container_sid}
File Upload File /storage/files
  Get Files GET /storage/files
  Get File by SID GET /storage/files/{file_sid}
  Download Data by File SID GET /storage/files/{file_sid}/data
  Update File PATCH/PUT /storage/files/{file_sid}
  Delete File DELETE /storage/files/{file_sid}
Trunk Groups The settings which determine the call routing, defining to which trunks these calls are sent and how they are handled Trunk Group Create Trunk Group /trunk_groups
  Get Trunk Groups GET /trunk_groups
  Get Trunk Group by SID GET /trunk_groups/{trunk_group_sid}
  Update Trunk Group PATCH/PUT /trunk_groups/{trunk_group_sid}
  Delete Trunk Group DELETE /trunk_groups/{trunk_group_sid}
Trunk Create Trunk /trunk_groups/{trunk_group_sid}/trunks
  Get Trunks GET /trunk_groups/{trunk_group_sid}/trunks
  Get Trunk by SID GET /trunk_groups/{trunk_group_sid}/trunks/{trunk_sid}
  Update Trunk PATCH/PUT /trunk_groups/{trunk_group_sid}/trunks/{trunk_sid}
  Delete Trunk DELETE /trunk_groups/{trunk_group_sid}/trunks/{trunk_sid}
TTS The objects and methods allowing the partners to record lifelike voice messages using CarrierX text-to-speech API (TTS) TTS Text Create TTS Text /tts/texts
TTS Voice Get TTS Voices GET /tts/voices
  Get TTS Voice by SID GET /tts/voices/{voice_sid}
Verification The means to send out verification emails and text messages, and verify the email address through a token Verification Email Send Verification SMS /verification/sms
  Send Verification Email /verification/email
  Verify Email by Token GET /verification/email/tokens/{token}
Email Template Get Email Templates GET /verification/email/templates
  Get Email Template by SID GET /verification/email/templates/{template_sid}

Conference API

Conference API allows the users to change the advanced settings for Conference endpoints created using the Core API. Users can create meetings and meeting rooms to host audio conferencing.

Conference API Structure

The figure below shows the main classes and objects that exist in the Conference API, and how they are related to each other.

CarrierX Conference API Structure

The table below contains a quick reference to the methods available to CarrierX Conference API clients. Refer to the Conference API Reference page for a complete list of the classes, objects, and methods, and their detailed descriptions.

Class Object Action Method Path
Call Flows The means to define the way that calls are handled Call Flow Get Call Flows GET /callFlows
  Get Call Flow by ID GET /callFlows/{id}
Calls Objects created automatically by the server when a user dials a phone number associated with a meeting room, and deleted when the call is over Call Get Calls GET /calls
  Get Call by ID GET /calls/{id}
  Update Call PUT /calls/{id}
  Delete Call DELETE /calls/{id}
DIDs Direct Inward Dialing numbers (DIDs) rentable through the CarrierX API, and their related objects and methods DID Create DID /dids
  Get DIDs GET /dids
  Get DID by ID GET /dids/{id}
  Update DID PUT /dids/{id}
  Delete DID DELETE /dids/{id}
DID Groups Sets of phone numbers rented through CarrierX and associated with a specific conference DID Group Create DID Group /didGroups
  Get DID Groups GET /didGroups
  Get DID Group by ID GET /didGroups/{id}
  Update DID Group PUT /didGroups/{id}
  Delete DID Group DELETE /didGroups/{id}
Meetings Objects generated once a meeting begins, and existing as long as the meeting is occurring Meeting Get Meetings GET /meetings
  Get Meeting by meetingNumber GET /meetings/{meetingNumber}
  Get Meeting Attributes GET /meetings/{meetingNumber}/attributes
  Update Meeting Attributes PUT /meetings/{meetingNumber}/attributes/{name}
  Delete Meeting DELETE /meetings/{meetingNumber}
Meeting Rooms Entities that hold meeting configurations, DID group references, contain role and access codes information Meeting Room Create Meeting Room /meetingRooms
  Get Meeting Rooms GET /meetingRooms
  Get Meeting Room by meetingNumber GET /meetingRooms/{meetingNumber}
  Update Meeting Room PUT /meetingRooms/{meetingNumber}
  Delete Meeting Room DELETE /meetingRooms/{meetingNumber}
Subscribers Real persons or organizations with names, phone numbers, email addresses, etc., which are not directly associated with the meeting room access codes, but can have meeting room information Subscriber Create Subscriber /subscribers
  Get Current Subscriber GET /subscribers/whoami
  Get Subscribers GET /subscribers
  Get Subscriber by SID GET /subscribers/{sid}
  Update Subscriber PUT /subscribers/{sid}
  Delete Subscriber DELETE /subscribers/{sid}
  Log Out Subscriber /subscribers/logout
File Descriptor Upload Media File /subscribers/{sid}/files
  Get Files GET /subscribers/{sid}/files
  Delete Files DELETE /subscribers/{sid}/files
  Delete File by Name DELETE /subscribers/{sid}/files/{fileName}
Meeting Room Create Meeting Room /subscribers/{sid}/meetingRooms
  Get Meeting Rooms GET /subscribers/{sid}/meetingRooms
  Get Meeting Room by meetingNumber GET /subscribers/{sid}/meetingRooms/{meetingNumber}
  Update Meeting Room PUT /subscribers/{sid}/meetingRooms/{meetingNumber}
  Delete Meeting Room DELETE /subscribers/{sid}/meetingRooms/{meetingNumber}
Meeting Key Create Meeting Key /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain
  Get Meeting Keys GET /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain
  Get Meeting Key by ID GET /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain/{meetingKeyId}
  Update Meeting Key PUT /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain/{meetingKeyId}
  Delete Meeting Key DELETE /subscribers/{sid}/meetingRooms/{meetingNumber}/keychain/{meetingKeyId}

FlexML API

FlexML API allows the users to change the advanced settings for FlexML endpoints created using the Core API. Users can link the set-up endpoints with the FlexML instructions, and use them to control the call flows.

FlexML API Structure

The figure below shows the main classes and objects that exist in the FlexML API, and how they are related to each other.

CarrierX FlexML API Structure

The table below contains a quick reference to the methods available to CarrierX FlexML API clients. Refer to the FlexML API Reference page for a complete list of the classes, objects, and methods, and their detailed descriptions.

Class Object Action Method Path
Accounts Objects that hold the settings for a specific FlexML application endpoint Account Get Accounts GET /accounts
  Get Account by SID GET /accounts/{account_sid}
  Update Account PATCH/PUT /accounts/{account_sid}
Calls Objects created when the CarrierX system dials out to a phone number Call Create Call /calls
  Get Calls GET /calls
  Get Call by SID GET /calls/{call_sid}
  Update Call PATCH/PUT /calls/{call_sid}
  Delete Call DELETE /calls/{call_sid}
DIDs Direct Inward Dialing numbers (DIDs) rentable through the CarrierX API, and their related objects and methods DID Get DIDs GET /dids
  Get DID by SID GET /dids/{did_sid}
  Update DID PATCH/PUT /dids/{did_sid}

Mediator API

Mediator API allows the users to change the advanced settings for Mediator endpoints created using the Core API. Users can set up dialouts and bindings for their rented phone numbers.

Mediator API Structure

The figure below shows the main classes and objects that exist in the Mediator API, and how they are related to each other.

CarrierX Mediator API Structure

The table below contains a quick reference to the methods available to CarrierX Mediator API clients. Refer to the Mediator API Reference page for a complete list of the classes, objects, and methods, and their detailed descriptions.

Class Object Action Method Path
Accounts Objects that hold the data associated with the Mediator API and used to view information about the partner related to the Mediator endpoint Account Get Accounts GET /accounts
  Get Account by SID GET /accounts/{account_sid}
Bindings Entities that enable call forwarding from one phone number to another Binding Create Binding /bindings
  Get Bindings GET /bindings
  Get Binding by SID GET /bindings/{binding_sid}
  Update Binding PATCH/PUT /bindings/{binding_sid}
  Delete Binding DELETE /bindings/{binding_sid}
Dialouts Entities that allow placing a phone call to two phone numbers, and enable both people to speak to one another Dialout Create Dialout /dialouts
  Get Dialouts GET /dialouts
  Get Dialout by SID GET /dialouts/{dialout_sid}
  Update Dialout PATCH/PUT /dialouts/{dialout_sid}
  Delete Dialout DELETE /dialouts/{dialout_sid}
DIDs Direct Inward Dialing numbers (DIDs) rentable through the CarrierX API, and their related objects and methods DID Get DIDs GET /dids
  Get DID by SID GET /dids/{did_sid}