# Docs
- Carrier Lookup API
- [Carrier Lookup API](/docs/carrier-lookup): The Carrier Lookup API lets you query information about a phone number before you message or call it, including carrier name, line type (mobile, landline, or...
- Numbers
- [Get Phone Number information](/docs/carrier-lookup/numbers/get-v1-numbers-number)
- Features
- [Features](/docs/features): Guides to Telgorithm features and how they work.
- Smart Queueing Technology
- [Smart Queueing Technology](/docs/features/smart-queueing): How Telgorithm's Smart Queueing manages messaging throughput, carrier rate limits, message prioritization and time routing.
- Campaign Migration
- [Campaign Migration](/docs/features/campaign-migration): Migrate an active 10DLC campaign and its numbers to Telgorithm, covering port-in and the TCR CNP migration.
- RCS
- [RCS](/docs/features/rcs): How the Telgorithm RCS channel works, covering branded agents, rich media, suggested actions, engagement events, and SMS/MMS fallback.
- Voice Services
- [Voice Services](/docs/features/voice-services): Inbound and outbound calling with static and dynamic forwarding, call scripts, SIP configuration, recordings, and call webhooks.
- Conversation Metadata
- [Conversation Metadata](/docs/features/conversation-metadata): Store and propagate custom data across a conversation using the conversationMetadata property on messages.
- Opt-Ins and Opt-Outs
- [Opt-Ins and Opt-Outs](/docs/features/opt-outs): How Telgorithm handles opt-in, opt-out, and help keywords, auto-replies, single vs. double opt-outs, and related webhooks.
- Webhooks
- [Webhooks](/docs/features/webhooks): How Telgorithm delivers real-time event notifications, the difference between Messaging Config and company-wide webhooks, authentication, and retry policies.
- Error Handling
- [Error Handling](/docs/features/delivery-status-and-error-handling): Understand message failures through unified error codes and the raw dcaStatus block passed from the carrier.
- Staging Environment
- [Staging Environment](/docs/features/staging-environment): Safely test your Telgorithm integration in a production-like environment with emulated messaging, calls, port-ins, and payments.
- Integration
- [Integration](/docs/integration): Guides to integrating your application with the Telgorithm APIs.
- Rate Limits
- [Rate Limits](/docs/integration/rate-limits): API rate limiting, the RateLimit HTTP headers and the default quotas per endpoint.
- Migration from Twilio
- [Migration from Twilio](/docs/integration/migration-from-twilio): Migrate your messaging application from Twilio to Telgorithm with minimal changes.
- OpenAPI Generator
- [OpenAPI Generator](/docs/integration/openapi-generator): Use the public OpenAPI specification to generate client libraries with OpenAPI Generator.
- Messaging API
- [Messaging API](/docs/messaging): The Messaging API lets you send and receive messages through Telgorithm across SMS, MMS, and RCS.
- Inbound Messages
- [List Inbound Messages](/docs/messaging/inboundmessages/get-v1-inboundmessages): Gets the list of all Inbound Messages, optionally filtered by parameters.
This method supports pagination.
- [Get Inbound Message by Sid](/docs/messaging/inboundmessages/get-v1-inboundmessages-sid): Returns the specified Inbound Message information.
- Messaging Configs
- [Create Messaging Config](/docs/messaging/messagingconfigs/post-v1-messagingconfigs): Creates new Messaging Config with the options specified in the request.
If callback URLs are not specified for a particular event, the callbacks for that event would not be sent.
- [List Messaging Configs](/docs/messaging/messagingconfigs/get-v1-messagingconfigs): Gets the list of all Messaging Configs.
This method supports pagination.
- [Update Specific Messaging Config Options](/docs/messaging/messagingconfigs/patch-v1-messagingconfigs-sid): Updates options for the specified Messaging Config.
Updates only the options that are passed in the request and are not `null`, does not change other values.
- [Update Messaging Config Options](/docs/messaging/messagingconfigs/put-v1-messagingconfigs-sid): Updates options for the specified Messaging Config.
If callback URLs are not specified for a particular event, the callbacks for that event would not be sent.
- [Get Messaging Config](/docs/messaging/messagingconfigs/get-v1-messagingconfigs-sid)
- [Delete Messaging Config](/docs/messaging/messagingconfigs/delete-v1-messagingconfigs-sid): You could only remove a Messaging Config that does not have Phone Numbers associated with it.
- [Get Associated Phone Numbers](/docs/messaging/messagingconfigs/get-v1-messagingconfigs-sid-phones): Returns the list of Phone Numbers associated with the Messaging Config.
- [Associate Phone Numbers](/docs/messaging/messagingconfigs/patch-v1-messagingconfigs-sid-addphones): Associates the supplied Phone Numbers with the Messaging Config.
If the Messaging Config has a TCR Campaign associated with it,
the supplied Phone Numbers will be associated with that TCR Campaign.
Note that it may take some time for the Phone Numbers to change
TCR Campaign association.
- [De-Associate Phone Numbers](/docs/messaging/messagingconfigs/patch-v1-messagingconfigs-sid-deletephones): De-associates the supplied Phone Numbers from the Messaging Config.
If the Messaging Config has a TCR Campaign associated with it,
the supplied Phone Numbers will be de-associated from that TCR Campaign.
Note that it may take some time for the Phone Numbers to change TCR Campaign association.
- Opt Outs
- [List Opt-Outs](/docs/messaging/optouts/get-v1-optouts): Gets the list of all Opt-Outs that are registered for your Phone Numbers and/or TCR Campaigns.
This method supports pagination.
- [Import Opt-Outs](/docs/messaging/optouts/post-v1-optouts): Allows to import the Opt-Outs manually, for example, during the migration from other provider.
- Outbound Messages
- [Send Outbound Message](/docs/messaging/outboundmessages/post-v1-outboundmessages): Submits Outbound Message for sending.
Response status code `200` means that the Outbound Message was accepted for delivery.
It does not guarantee that the message will be sent right away, or ever.
Depending on the TCR Campaign association state, the remaining TCR limit and the Opt-Out of the recipient,
the message may end up queued or even discarded.
In case `MediaUrls` array is not empty (i.e. contains at least one attachment URL)
and/or more than 1 recipient the message is considered MMS.
- [List Outbound Messages](/docs/messaging/outboundmessages/get-v1-outboundmessages): Gets the list of all Outbound Messages, optionally filtered by parameters.
This method supports pagination.
- [Get Outbound Message](/docs/messaging/outboundmessages/get-v1-outboundmessages-sid): Returns the specified Outbound Message information.
- Rcs Events
- [Submit RCS Outbound Events](/docs/messaging/rcsevents/post-v1-rcs-events): Submits a batch of RCS outbound events for forwarding to the upstream provider.
Up to 100 events can be submitted per request.
The batch is accepted for asynchronous processing.
- Rcs Inbound Messages
- [List RCS Inbound Messages](/docs/messaging/rcsinboundmessages/get-v1-rcs-inboundmessages): Gets the list of all RCS Inbound Messages, optionally filtered by parameters.
This method supports pagination.
- [Get RCS Inbound Message](/docs/messaging/rcsinboundmessages/get-v1-rcs-inboundmessages-sid): Returns the specified RCS Inbound Message information.
- Rcs Outbound Messages
- [Send RCS Outbound Messages](/docs/messaging/rcsoutboundmessages/post-v1-rcs-outboundmessages): Submits one or more RCS Outbound Messages for sending.
Up to 100 messages can be submitted per request.
- [List RCS Outbound Messages](/docs/messaging/rcsoutboundmessages/get-v1-rcs-outboundmessages): Gets the list of all RCS Outbound Messages, optionally filtered by parameters.
This method supports pagination.
- [Get RCS Outbound Message](/docs/messaging/rcsoutboundmessages/get-v1-rcs-outboundmessages-sid): Returns the specified RCS Outbound Message information.
- Tcr Brands
- [List TCR Brands](/docs/messaging/tcrbrands/get-v1-tcrbrands): Gets the list of all TCR Brands. This method supports pagination.
- [Get TCR Brand](/docs/messaging/tcrbrands/get-v1-tcrbrands-tcrbrandid): Returns the specified TCR Brand information.
- [Update TCR Brand Options](/docs/messaging/tcrbrands/put-v1-tcrbrands-tcrbrandid): Updates options for the specified TCR Brand.
- Tcr Campaigns
- [List TCR Campaigns](/docs/messaging/tcrcampaigns/get-v1-tcrcampaigns): Gets the list of all TCR Campaigns, optionally filtered by parameters.
This method supports pagination.
- [Get TCR Campaign](/docs/messaging/tcrcampaigns/get-v1-tcrcampaigns-tcrcampaignid): Returns the specified TCR Campaign information.
- [Update TCR Campaign Options](/docs/messaging/tcrcampaigns/put-v1-tcrcampaigns-tcrcampaignid): Use this method to change the Messaging Config that is associated with the TCR Campaign.
Please keep in mind that it may take some time for the Phone Numbers to change the TCR Campaign association.
- [Update Specific TCR Campaign Options](/docs/messaging/tcrcampaigns/patch-v1-tcrcampaigns-tcrcampaignid): Updates only the options that are passed in the request and are not `null`, does not change other values.
Use this method to change the Messaging Config that is associated with the TCR Campaign.
Please keep in mind that it may take some time for the Phone Numbers to change the TCR Campaign association.
- [Resubmit TCR Campaign for Review](/docs/messaging/tcrcampaigns/post-v1-tcrcampaigns-tcrcampaignid-resubmit): Resubmits TCR Campaign with the specified ID for the review after
it has been declined and inconsistencies have been corrected.
- [Get TCR Campaign Deployment Info](/docs/messaging/tcrcampaigns/get-v1-tcrcampaigns-tcrcampaignid-tmpdetails): This endpoint is temporary and may be removed at any time without prior notification.
- Platform API
- [Platform API](/docs/platform): The Platform API covers the account-level resources your messaging traffic runs on.
- My Company
- [Get Company Information](/docs/platform/mycompany/get-v1-mycompany)
- [Set TCR CspId](/docs/platform/mycompany/put-v1-mycompany-cspid): Sets the CspId that is assigned to your Company by TCR.
You cannot change the CspId once at least one TCR Brand and/or Campaign is shared by you with Telgorithm.
- Phones
- [Order Phone Number](/docs/platform/phones/post-v1-phones): Places the order to buy the Phone Number from the list of available numbers.
Optionally, associates Phone Number with the specified Messaging Config after order completion.
- [List Own Numbers](/docs/platform/phones/get-v1-phones): Gets a list of all phone numbers owned by you.
For each number, its status is returned along with the identifier
of the Messaging Config that the number is attached to.
This method supports pagination.
- [Available 10DLC Numbers](/docs/platform/phones/get-v1-phones-available10dlc): Gets the list of 10DLC phone numbers that are available for order.
- [Available Toll-Free Numbers](/docs/platform/phones/get-v1-phones-availabletollfree): Gets the list of Toll-Free phone numbers that are available for order.
- [Get Number Info](/docs/platform/phones/get-v1-phones-phone): Gets the information about the specified Phone Number.
Phone Number status is returned along with the identifier of the Messaging Config that it is attached to.
- [Update Number Options](/docs/platform/phones/put-v1-phones-phone): Updates options for the specified Phone Number.
Use this method to update display name and change the Messaging Config association.
- [Update Specific Number Options](/docs/platform/phones/patch-v1-phones-phone): Updates options for the specified Phone Number.
Use this method to update display name and change the Messaging Config association.
Updates only the options that are passed in the request and are not `null`, does not change other values.
- [Deallocate Number](/docs/platform/phones/delete-v1-phones-phone): Suspends all messaging and voice services for the specified phone number and removes it from the account.
- [Get Voice Options](/docs/platform/phones/get-v1-phones-phone-voice): Gets Voice service options for the specified Phone Number.
- [Update Voice Options](/docs/platform/phones/put-v1-phones-phone-voice): Updates Voice service options for the specified Phone Number.
- [Update Specific Voice Options](/docs/platform/phones/patch-v1-phones-phone-voice): Updates voice service options for the specified Phone Number.
Updates only the options that are passed in the request and are not `null`, does not change other values.
- [Port-In Phone Numbers](/docs/platform/phones/post-v1-phones-port-in): Starts the process of porting Phone Numbers in to Telgorithm.
Optionally, associates ported-in numbers with the specified Messaging Configs
after port-in completion.
- Static
- [List Time Zones](/docs/platform/static/get-v1-static-timezones): Provides the list of Time Zones that are supported for Messaging Config Sending Times (Time Routing).
- [Opt-In/Out-Out Settings Defaults](/docs/platform/static/get-v1-static-defaultoptinoutsettings): Provides the defaults for the subscriber opt-in/opt-out/help settings. Keywords listed here are
always used even if they are not defined in a TCR Campaign and/or a Messaging Config. Messages are used
in case they are not defined in those entities.
- Webhooks
- [Get Webhook Info](/docs/platform/webhooks/get-v1-webhooks-history-sid)
- [List Webhooks](/docs/platform/webhooks/get-v1-webhooks-history)
- [List Webhook Subscriptions](/docs/platform/webhooks/get-v1-webhooks)
- [Get Webhook Subscriptions by Event Type](/docs/platform/webhooks/get-v1-webhooks-type)
- [Subscribe to Webhook](/docs/platform/webhooks/put-v1-webhooks-type): Enables Webhook Subscription for a particular Event Type.
- [Unsubscribe from Webhook](/docs/platform/webhooks/delete-v1-webhooks-type): Disables webhooks for a particular Event Type
- [List Webhook Event Types](/docs/platform/webhooks/get-v1-webhooks-types): Returns the list of all supported Webhook Event Types.
- Voice API
- [Voice API](/docs/voice): The Voice API lets you place and manage calls through Telgorithm.
- Call Legs
- [List Call Legs](/docs/voice/calllegs/get-v1-calllegs): Returns the list of Call Legs, optionally filtered by parameters.
This method supports pagination.
- [Get Call Leg Info](/docs/voice/calllegs/get-v1-calllegs-sid): Returns the specified Call Leg information.
If includeFees is `true`, fees are included into result.
- Calls
- [List Calls](/docs/voice/calls/get-v1-calls): Returns the list of Calls, optionally filtered by parameters.
This method supports pagination.
- [Initiate Outbound Call](/docs/voice/calls/post-v1-calls): This endpoint allows to initiate two-leg Outbound Calls.
The first call leg is initiated from the internal Phone Number (which belongs to your account, specified by
`CallerId` field in the request body) to the agent's Phone Number (an external number, specified by
`From` field).
When the first leg is answered, Telgorithm randomly selects one digit from 1 to 9 and plays a voice
instruction telling the agent which digit to press. The agent must press that exact digit. For example,
if the instruction says to press 7, only 7 is accepted; pressing any other digit will not complete the human-verification step.
Finally, the second leg is initiated from the internal Phone Number (`CallerId`) to the `To` number
specified in the request body, and when it is answered, both call legs are connected to each other.
The Call ends when any party hang it up, or when you request hangup by an API call.
- [Get Call Info](/docs/voice/calls/get-v1-calls-sid): Returns the specified Call information.
- [Hangup Call](/docs/voice/calls/post-v1-calls-sid-hangup): Ends a specified Call.
- [Start/Pause/Resume Call Recording](/docs/voice/calls/post-v1-calls-sid-recording-control): Allows starting and pausing of the Call Recording.
- [Get Call Recording](/docs/voice/calls/get-v1-calls-callsid-recordings-recordingindex-download): Use your credentials to access the call recording by this endpoint.
It returns the redirect link (pre-signed URL) to the call recording blob in the platform's recording storage,
in the `Location` header of the 302 response. You should follow this redirect to access the media file.
Note that this link will be valid for 15 minutes only and is regenerated every time you access this endpoint.
Therefore, you MUST NOT cache or save it in any form.
- Webhook Samples
- [Webhook Samples](/docs/webhooks): Webhooks are how Telgorithm notifies your system about events in real time, such as inbound messages and delivery status changes, without you having to poll ...
- Webhooks
- [Outbound Message status](/docs/webhooks/webhooks/post-v1-webhooks-outboundmessagewebhook): `OutboundMessageWebhook` is sent to the `MessagingConfig.OutboundCallbackUrl`
when an Outbound Message is sent, delivered or undelivered to the recipient.
- [Inbound Message](/docs/webhooks/webhooks/post-v1-webhooks-inboundmessagewebhook): `InboundMessageWebhook` is sent to the `MessagingConfig.InboundCallbackUrl`
when an Inbound Message is received for one of your Phone Numbers.
- [RCS Outbound Message status](/docs/webhooks/webhooks/post-v1-webhooks-rcsoutboundmessagestatuschangedwebhook): `RcsOutboundMessageStatusChangedWebhook` is sent to the account-level URL configured for the `RcsOutboundMessageStatusChanged` type
when an RCS message is delivered, failed, or triggers an SMS/MMS fallback.
- [RCS Inbound Message](/docs/webhooks/webhooks/post-v1-webhooks-rcsinboundmessagereceivedwebhook): `RcsInboundMessageReceivedWebhook` is sent to the account-level URL configured for the
`RcsInboundMessageReceived` type when an end user sends a message to one of your RCS agents.
- [RCS Message Seen](/docs/webhooks/webhooks/post-v1-webhooks-rcsmessageseenwebhook): `RcsMessageSeenWebhook` is sent to the account-level URL configured for the `RcsMessageSeen` type
when the recipient device confirms that an outbound RCS message has been read.
- [RCS Typing Indicator](/docs/webhooks/webhooks/post-v1-webhooks-rcstypingindicatorwebhook): `RcsTypingIndicatorWebhook` is sent to the account-level URL configured for the
`RcsTypingIndicator` type when an end user starts typing to one of registered RCS agents.
- [RCS User Action](/docs/webhooks/webhooks/post-v1-webhooks-rcsinbounduseractionwebhook): `RcsInboundUserActionWebhook` is sent to the account-level URL configured for the
`RcsInboundUserAction` type when a user has acted over a suggestion sent with an RCS outbound message.
- [Opt-In/Out](/docs/webhooks/webhooks/post-v1-webhooks-optinoutwebhook): `OptInOutWebhook` is sent to the `MessagingConfig.OptInOutCallbackUrl`
when an Opt-In/Out is received from the recipient TN.
- [TCR Campaign](/docs/webhooks/webhooks/post-v1-webhooks-tcrcampaignimportedwebhook): `TcrCampaignImportedWebhook` is sent to the URL set up with the `/webhooks` endpoint for webhook type
`TcrCampaignImported` when a TCR campaign (which you shared with Telgorithm) is imported.
- [Phone Number status](/docs/webhooks/webhooks/post-v1-webhooks-phonenumberstatuschangedwebhook): `PhoneNumberStatusChangedWebhook` is sent to the URL set up with the `/webhooks` endpoint for webhook
type `PhoneNumberStatusChanged` when a Phone Number status has been changed.
- [Inbound Call](/docs/webhooks/webhooks/post-v1-webhooks-inboundcallreceivedwebhook): `InboundCallReceivedWebhook` is sent to the URL set up with the `/webhooks` endpoint for webhook type
`InboundCallReceived` when an Inbound Call is received.
In order to proceed with the Inbound Call, you need to respond to this webhook with a Call Script.
Examples of the Call Scripts:
- Forward the Inbound Call to the specific Phone Number:
`+1234567890`
- Or forward to the specific SIP URI:
`sip:username@server.com`
Examples of valid SIP URI:
- `sip:user@server.com:5060`
- `sip:user@server.com;transport=TLS`
- `sip:user@server.com?header1=value1&header2=value2`
- `sip:user@server.com:5060;transport=TCP?header=value`
⚠️ **To use SIP destinations with Static Forwarding**, the receiving system must be configured to accept SIP
traffic from the IP addresses below:
- `137.192.78.201`
- `137.192.80.201`
These IPs should be added to the receiving system’s allowlist or firewall rules to ensure successful call
delivery.
- Read the specified text and hangup:
`Hello voice`
- Hangup:
``
or any other response
- [Call status](/docs/webhooks/webhooks/post-v1-webhooks-callstatuschangedwebhook): `CallStatusChangedWebhook` is sent to the URL set up with `/webhooks` endpoint for webhook type
`CallStatusChanged` when a Call status is changed.
- [Call recording](/docs/webhooks/webhooks/post-v1-webhooks-callrecordingcompletedwebhook): `CallRecordingCompletedWebhook` is sent to the URL set up with `/webhooks` endpoint for webhook type
`CallRecordingCompleted` when a Call recording is completed and available for download.
- [Phone Number Voice Status](/docs/webhooks/webhooks/post-v1-webhooks-phonenumbervoicestatuschangedwebhook): `PhoneNumberVoiceStatusChangedWebhook` is sent to the URL set up with `/webhooks` endpoint for webhook type
`PhoneNumberVoiceStatusChanged` when a Phone Number Voice Status has been changed.
- [Traffic Limit Alert](/docs/webhooks/webhooks/post-v1-webhooks-trafficlimitalertwebhook): `TrafficLimitAlertWebhook` is sent to the URL set up with the `/webhooks` endpoint for webhook type
`TrafficLimitAlert` when a traffic limit is reached or nearly reached.