> For the complete documentation index, see [llms.txt](https://docs.tsgglobal.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tsgglobal.com/api-reference.md).

# API Reference

- [Programmable SMS](https://docs.tsgglobal.com/api-reference/programmable-sms.md): TSG Global makes sending and receiving SMS easy. Find the documentation and tools you need to build exactly what you want, fast. We’ll handle the complexity of mobile carrier and global regulations.
- [Send an SMS Message](https://docs.tsgglobal.com/api-reference/programmable-sms/send-an-sms-message.md): POST /messages: send an SMS to one or more E.164 recipients with optional encoding, scheduling, expiry and delivery-receipt flags.
- [Receive an SMS Message](https://docs.tsgglobal.com/api-reference/programmable-sms/receive-an-sms-message.md): Fetch a message by ID for testing, register an inbound SMS webhook, and understand the message and delivery-receipt objects TSG posts to it.
- [Delivery Receipts (DLRs)](https://docs.tsgglobal.com/api-reference/programmable-sms/delivery-receipts-dlrs.md): How SMS delivery receipts work: requested per message, delivered to your inbound webhook as sms\_dlr objects, with a link to the DLR error-code list.
- [SMPP](https://docs.tsgglobal.com/api-reference/programmable-sms/smpp.md): Connect over SMPP 3.4 on port 2775 (TCP) or 2776 (TLS) for high-volume SMS, using the SMPP credentials from the Customer Portal.
- [Headers](https://docs.tsgglobal.com/api-reference/programmable-sms/smpp/headers.md): Request conventions for the messaging REST APIs: Bearer API key, JSON bodies, UUIDv4 ids and ISO 8601 UTC timestamps.
- [Errors](https://docs.tsgglobal.com/api-reference/programmable-sms/smpp/errors.md): HTTP status codes and machine-readable error types returned by the TSG Global REST APIs.
- [Programmable MMS](https://docs.tsgglobal.com/api-reference/programmable-mms.md): Send and receive MMS over the HTTP API or MM4/SMTP, with reusable templates and delivery reports.
- [Send an MMS Message](https://docs.tsgglobal.com/api-reference/programmable-mms/send-an-mms-message.md): POST /mms: send an MMS with text, hosted, data-URI or embedded parts, and request delivery reports. Includes part rules, size limits and escaping FAQs.
- [Send an MMS Message Using Templates](https://docs.tsgglobal.com/api-reference/programmable-mms/send-an-mms-message-using-templates.md): Why MMS templates exist, common use cases, and a three-call quickstart: create a template, preview it, send it.
- [Create MMS Template](https://docs.tsgglobal.com/api-reference/programmable-mms/send-an-mms-message-using-templates/create-mms-template.md): POST /mms/templates: create a reusable MMS template with {placeholder} text and pre-staged attachments.
- [Preview MMS Template](https://docs.tsgglobal.com/api-reference/programmable-mms/send-an-mms-message-using-templates/preview-mms-template.md): For testing and debugging purposes, you can preview how the resulting MMS will look like without actually sending.
- [Send MMS Using Template](https://docs.tsgglobal.com/api-reference/programmable-mms/send-an-mms-message-using-templates/send-mms-using-template.md): POST /mms/templates/:id/send: send an MMS from a saved template by supplying recipients and placeholder values.
- [List MMS templates](https://docs.tsgglobal.com/api-reference/programmable-mms/send-an-mms-message-using-templates/list-mms-templates.md): GET /mms/templates: list every MMS template on the account.
- [Get Single MMS template](https://docs.tsgglobal.com/api-reference/programmable-mms/send-an-mms-message-using-templates/get-single-mms-template.md): GET /mms/templates/:id: fetch one MMS template with its placeholders and attachments.
- [Delete MMS Template](https://docs.tsgglobal.com/api-reference/programmable-mms/send-an-mms-message-using-templates/delete-mms-template.md): DELETE /mms/templates/:id: remove an MMS template. Returns 204 No Content.
- [Receive an MMS Message](https://docs.tsgglobal.com/api-reference/programmable-mms/receive-an-mms-message.md): Receive inbound MMS by HTTP webhook or MM4: routing address formats, request headers, payload, acknowledgement and retry rules.
- [Receive DLRs](https://docs.tsgglobal.com/api-reference/programmable-mms/receive-dlrs.md): MMS delivery reports: status codes, webhook headers and payload, and how retries work.
- [SMTP](https://docs.tsgglobal.com/api-reference/programmable-mms/smtp.md): Send MMS over MM4/SMTP: endpoints and ports, AUTH LOGIN/PLAIN with your SMPP system ID and API key, supported commands and an example exchange.
- [Phone Numbers](https://docs.tsgglobal.com/api-reference/phone-numbers.md): Get new numbers and manage existing numbers on your account.
- [Search For New Available Numbers](https://docs.tsgglobal.com/api-reference/phone-numbers/search-for-new-available-numbers.md): GraphQL numbers query: find local numbers by state and rate center or by NPANXX prefix, up to 100 at a time.
- [Add Number to Cart](https://docs.tsgglobal.com/api-reference/phone-numbers/add-number-to-cart.md): GraphQL numbersReserve mutation: reserve up to 100 searched numbers in your cart before checkout.
- [Get Reserved Numbers In Cart](https://docs.tsgglobal.com/api-reference/phone-numbers/get-reserved-numbers-in-cart.md): GraphQL reservedList query: see the numbers currently reserved in your cart.
- [Remove Reserved Number From Cart](https://docs.tsgglobal.com/api-reference/phone-numbers/remove-reserved-number-from-cart.md): GraphQL releaseReserved mutation: release reserved numbers you no longer want.
- [Checkout Numbers in Cart](https://docs.tsgglobal.com/api-reference/phone-numbers/checkout-numbers-in-cart.md): GraphQL numbersOrder mutation: purchase every number reserved in your cart and add it to your account.
- [Disconnect Number](https://docs.tsgglobal.com/api-reference/phone-numbers/disconnect-number.md): GraphQL disconnectNumbers mutation: release a number from your account, subject to the 90-day holding requirement.
- [Get Number Information](https://docs.tsgglobal.com/api-reference/phone-numbers/get-number-information.md): Look up a number's SMS/MMS configuration and 10DLC status (GET /v5/dids/\<number>), or its rate center, routing and activation data (GET /v1/did/lookup).
- [Manage Number for SMS & 10DLC](https://docs.tsgglobal.com/api-reference/phone-numbers/manage-number-for-sms-and-10dlc.md): Enable or disable SMS on a number, attach a 10DLC campaign, and set the inbound SMS webhook.
- [Enable SMS/10DLC on a Number](https://docs.tsgglobal.com/api-reference/phone-numbers/manage-number-for-sms-and-10dlc/enable-sms-10dlc-on-a-number.md): POST /v2/sms-enablement: enable SMS on a number, choose the inbound webhook format, and assign a 10DLC campaign.
- [Disable SMS on a Number](https://docs.tsgglobal.com/api-reference/phone-numbers/manage-number-for-sms-and-10dlc/disable-sms-on-a-number.md): Remove SMS capability from a phone number with the sms-enablement endpoint (action: delete).
- [Update inbound SMS webhook/URI](https://docs.tsgglobal.com/api-reference/phone-numbers/manage-number-for-sms-and-10dlc/update-inbound-sms-webhook-uri.md): Set or change the inbound SMS webhook URL, format and shared secret for a phone number, or switch the number back to SMPP delivery.
- [Manage Number for MMS](https://docs.tsgglobal.com/api-reference/phone-numbers/manage-number-for-mms.md): Enable or disable MMS on a number and set where inbound MMS is delivered.
- [Enable MMS on a Number](https://docs.tsgglobal.com/api-reference/phone-numbers/manage-number-for-mms/enable-mms-on-a-number.md): POST /v2/dids/\<number>/mms/enable: turn on MMS for an SMS-enabled number and set its inbound HTTP(S) or MM4 URI.
- [Disable MMS on a Number](https://docs.tsgglobal.com/api-reference/phone-numbers/manage-number-for-mms/disable-mms-on-a-number.md): Turn off MMS on a phone number. The number keeps its SMS configuration.
- [Update inbound MMS webhook/URI](https://docs.tsgglobal.com/api-reference/phone-numbers/manage-number-for-mms/update-inbound-mms-webhook-uri.md): Change the HTTP(S) or MM4 destination that receives inbound MMS for a phone number. Uses the same endpoint as Enable MMS.
- [Manage Number for Voice](https://docs.tsgglobal.com/api-reference/phone-numbers/manage-number-for-voice.md): List, add, update and delete the voice destination priorities (VoIP gateways or PSTN numbers) for your phone numbers.
- [List Destination Priority](https://docs.tsgglobal.com/api-reference/phone-numbers/manage-number-for-voice/list-destination-priority.md): List the voice destination priorities configured for your phone numbers (GET /v1/did/priority/lookup, CSV response).
- [Add Destination Priority](https://docs.tsgglobal.com/api-reference/phone-numbers/manage-number-for-voice/add-destination-priority.md): Add a voice destination (VoIP gateway or PSTN number) at priority 1–3 for a phone number.
- [Update Destination Priority](https://docs.tsgglobal.com/api-reference/phone-numbers/manage-number-for-voice/update-destination-priority.md): Change an existing voice destination priority for a phone number, optionally overriding the dialed number (DNIS) sent to your switch.
- [Delete Destination Priority](https://docs.tsgglobal.com/api-reference/phone-numbers/manage-number-for-voice/delete-destination-priority.md): Remove a voice destination priority (2 or 3) from a phone number. Priority 1 cannot be deleted through the API.
- [Protect your phone number](https://docs.tsgglobal.com/api-reference/phone-numbers/protect-your-phone-number.md): Have you ever experienced the discomfort and frustration of your phone number is changed to a different SMS carrier without your consent?
- [TextProtect Webhook](https://docs.tsgglobal.com/api-reference/phone-numbers/protect-your-phone-number/textprotect-webhook.md): Payload TSG posts to your URL whenever TextProtect blocks an attempt to move your number to another SMS provider, retried for 72 hours.
- [Toll-free phone numbers - search & ordering](https://docs.tsgglobal.com/api-reference/phone-numbers/toll-free-phone-numbers-search-and-ordering.md): Shows how to search and order toll-free numbers.
- [Reports](https://docs.tsgglobal.com/api-reference/reports.md): Call and message detail records (CDRs) through the GraphQL API.
- [CDR Records](https://docs.tsgglobal.com/api-reference/reports/cdr-records.md): Count and list CDRs for a period, page through them with cursors, and export them as CSV.
- [Get Count of CDR Records](https://docs.tsgglobal.com/api-reference/reports/cdr-records/get-count-of-cdr-records.md): How to count CDR records for a period using the cdrRecords GraphQL query.
- [Get CDR Records](https://docs.tsgglobal.com/api-reference/reports/cdr-records/get-cdr-records.md): Query call and message detail records with the cdrRecords GraphQL query: arguments, fragments per CDR type, cursor pagination and CSV export.
- [Compliance & Identity](https://docs.tsgglobal.com/api-reference/compliance-and-identity.md): Toll-Free Verified Sender forms and short code orders through the GraphQL API.
- [Toll-Free Verified Sender (Order)](https://docs.tsgglobal.com/api-reference/compliance-and-identity/toll-free-verified-sender-order.md): Submit a Toll-Free Verified Sender Form and list your VSF orders with the GraphQL API. Unverified toll-free numbers are blocked to Canada and throttled to the US.
- [Short Code Submission (Order)](https://docs.tsgglobal.com/api-reference/compliance-and-identity/short-code-submission-order.md): Order short code numbers by submitting the short code form with the GraphQL API, and list your short code orders to track status.
