Skip to content

Twilio - Api API

by twilio.com

HTTP BasicHTTPSPhone
Open documentation ↗

Overview

This is the public Twilio REST API.

Twilio - Api is a phone API from twilio.com. Requests are authenticated with HTTP Basic auth. It is served over HTTPS. Its OpenAPI description documents 199 endpoints.

At a glance

Authentication
HTTP Basic
HTTPS
Yes
CORS
Unknown
Category
Phone
Base URL
https://api.twilio.com
Version
1.42.0
Endpoints
199
Spec updated
2023-04-20

Make a first request

Replace the placeholders; the documentation says exactly where credentials go.

cURL
curl -X GET "https://api.twilio.com/2010-04-01/Accounts.json" \
  -H "Accept: application/json" \
  -H "Authorization: Basic BASE64_USER_PASSWORD"
JavaScript
const response = await fetch("https://api.twilio.com/2010-04-01/Accounts.json", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": "Basic BASE64_USER_PASSWORD",
  },
});
const data = await response.json();
console.log(data);
Python
import requests

response = requests.request(
    "GET",
    "https://api.twilio.com/2010-04-01/Accounts.json",
    headers={
    "Accept": "application/json",
    "Authorization": "Basic BASE64_USER_PASSWORD",
    },
    timeout=30,
)
print(response.json())

Endpoints

MethodPathWhat it does
GET/2010-04-01/Accounts.jsonRetrieves a collection of Accounts belonging to the account used to make the request
POST/2010-04-01/Accounts.jsonCreate a new Twilio Subaccount from the account making the request
GET/2010-04-01/Accounts/{AccountSid}/Addresses.jsonListAddress
POST/2010-04-01/Accounts/{AccountSid}/Addresses.jsonCreateAddress
GET/2010-04-01/Accounts/{AccountSid}/Addresses/{AddressSid}/DependentPhoneNumbers.jsonListDependentPhoneNumber
GET/2010-04-01/Accounts/{AccountSid}/Addresses/{Sid}.jsonFetchAddress
POST/2010-04-01/Accounts/{AccountSid}/Addresses/{Sid}.jsonUpdateAddress
DELETE/2010-04-01/Accounts/{AccountSid}/Addresses/{Sid}.jsonDeleteAddress
GET/2010-04-01/Accounts/{AccountSid}/Applications.jsonRetrieve a list of applications representing an application within the requesting account
POST/2010-04-01/Accounts/{AccountSid}/Applications.jsonCreate a new application within your account
GET/2010-04-01/Accounts/{AccountSid}/Applications/{Sid}.jsonFetch the application specified by the provided sid
POST/2010-04-01/Accounts/{AccountSid}/Applications/{Sid}.jsonUpdates the application's properties
DELETE/2010-04-01/Accounts/{AccountSid}/Applications/{Sid}.jsonDelete the application by the specified application sid
GET/2010-04-01/Accounts/{AccountSid}/AuthorizedConnectApps.jsonRetrieve a list of authorized-connect-apps belonging to the account used to make the request
GET/2010-04-01/Accounts/{AccountSid}/AuthorizedConnectApps/{ConnectAppSid}.jsonFetch an instance of an authorized-connect-app
GET/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers.jsonListAvailablePhoneNumberCountry
GET/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}.jsonFetchAvailablePhoneNumberCountry
GET/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Local.jsonListAvailablePhoneNumberLocal
GET/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/MachineToMachine.jsonListAvailablePhoneNumberMachineToMachine
GET/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Mobile.jsonListAvailablePhoneNumberMobile
GET/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/National.jsonListAvailablePhoneNumberNational
GET/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/SharedCost.jsonListAvailablePhoneNumberSharedCost
GET/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/TollFree.jsonListAvailablePhoneNumberTollFree
GET/2010-04-01/Accounts/{AccountSid}/AvailablePhoneNumbers/{CountryCode}/Voip.jsonListAvailablePhoneNumberVoip
GET/2010-04-01/Accounts/{AccountSid}/Balance.jsonFetch the balance for an Account based on Account Sid. Balance changes may not be reflected immediately. Child accounts do not contain balance information
GET/2010-04-01/Accounts/{AccountSid}/Calls.jsonRetrieves a collection of calls made to and from your account
POST/2010-04-01/Accounts/{AccountSid}/Calls.jsonCreate a new outgoing call to phones, SIP-enabled endpoints or Twilio Client connections
POST/2010-04-01/Accounts/{AccountSid}/Calls/FeedbackSummary.jsonCreate a FeedbackSummary resource for a call
GET/2010-04-01/Accounts/{AccountSid}/Calls/FeedbackSummary/{Sid}.jsonFetch a FeedbackSummary resource from a call
DELETE/2010-04-01/Accounts/{AccountSid}/Calls/FeedbackSummary/{Sid}.jsonDelete a FeedbackSummary resource from a call
GET/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Events.jsonRetrieve a list of all events for a call.
GET/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Feedback.jsonFetch a Feedback resource from a call
POST/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Feedback.jsonUpdate a Feedback resource for a call
GET/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Notifications.jsonListCallNotification
GET/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Notifications/{Sid}.jsonFetchCallNotification
POST/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Payments.jsoncreate an instance of payments. This will start a new payments session
POST/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Payments/{Sid}.jsonupdate an instance of payments with different phases of payment flows.
GET/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings.jsonRetrieve a list of recordings belonging to the call used to make the request
POST/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings.jsonCreate a recording for the call
GET/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings/{Sid}.jsonFetch an instance of a recording for a call
POST/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings/{Sid}.jsonChanges the status of the recording to paused, stopped, or in-progress. Note: Pass `Twilio.CURRENT` instead of recording sid to reference current active recordi
DELETE/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Recordings/{Sid}.jsonDelete a recording from your account
POST/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Siprec.jsonCreate a Siprec
POST/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Siprec/{Sid}.jsonStop a Siprec using either the SID of the Siprec resource or the `name` used when creating the resource
POST/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Streams.jsonCreate a Stream
POST/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Streams/{Sid}.jsonStop a Stream using either the SID of the Stream resource or the `name` used when creating the resource
POST/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/UserDefinedMessageSubscriptions.jsonSubscribe to User Defined Messages for a given Call SID.
DELETE/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/UserDefinedMessageSubscriptions/{Sid}.jsonDelete a specific User Defined Message Subscription.
POST/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/UserDefinedMessages.jsonCreate a new User Defined Message for the given Call SID.
GET/2010-04-01/Accounts/{AccountSid}/Calls/{Sid}.jsonFetch the call specified by the provided Call SID
POST/2010-04-01/Accounts/{AccountSid}/Calls/{Sid}.jsonInitiates a call redirect or terminates a call
DELETE/2010-04-01/Accounts/{AccountSid}/Calls/{Sid}.jsonDelete a Call record from your account. Once the record is deleted, it will no longer appear in the API and Account Portal logs.
GET/2010-04-01/Accounts/{AccountSid}/Conferences.jsonRetrieve a list of conferences belonging to the account used to make the request
GET/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants.jsonRetrieve a list of participants belonging to the account used to make the request
POST/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants.jsonCreateParticipant
GET/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.jsonFetch an instance of a participant
POST/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.jsonUpdate the properties of the participant
DELETE/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.jsonKick a participant from a given conference
GET/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings.jsonRetrieve a list of recordings belonging to the call used to make the request
GET/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings/{Sid}.jsonFetch an instance of a recording for a call
POST/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings/{Sid}.jsonChanges the status of the recording to paused, stopped, or in-progress. Note: To use `Twilio.CURRENT`, pass it as recording sid.
DELETE/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Recordings/{Sid}.jsonDelete a recording from your account
GET/2010-04-01/Accounts/{AccountSid}/Conferences/{Sid}.jsonFetch an instance of a conference
POST/2010-04-01/Accounts/{AccountSid}/Conferences/{Sid}.jsonUpdateConference
GET/2010-04-01/Accounts/{AccountSid}/ConnectApps.jsonRetrieve a list of connect-apps belonging to the account used to make the request
GET/2010-04-01/Accounts/{AccountSid}/ConnectApps/{Sid}.jsonFetch an instance of a connect-app
POST/2010-04-01/Accounts/{AccountSid}/ConnectApps/{Sid}.jsonUpdate a connect-app with the specified parameters
DELETE/2010-04-01/Accounts/{AccountSid}/ConnectApps/{Sid}.jsonDelete an instance of a connect-app
GET/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers.jsonRetrieve a list of incoming-phone-numbers belonging to the account used to make the request.
POST/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers.jsonPurchase a phone-number for the account.
GET/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/Local.jsonListIncomingPhoneNumberLocal
POST/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/Local.jsonCreateIncomingPhoneNumberLocal
GET/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/Mobile.jsonListIncomingPhoneNumberMobile
POST/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/Mobile.jsonCreateIncomingPhoneNumberMobile
GET/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/TollFree.jsonListIncomingPhoneNumberTollFree
POST/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/TollFree.jsonCreateIncomingPhoneNumberTollFree
GET/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns.jsonRetrieve a list of Add-on installations currently assigned to this Number.
POST/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns.jsonAssign an Add-on installation to the Number specified.
GET/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{AssignedAddOnSid}/Extensions.jsonRetrieve a list of Extensions for the Assigned Add-on.
GET/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{AssignedAddOnSid}/Extensions/{Sid}.jsonFetch an instance of an Extension for the Assigned Add-on.
GET/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{Sid}.jsonFetch an instance of an Add-on installation currently assigned to this Number.
DELETE/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{ResourceSid}/AssignedAddOns/{Sid}.jsonRemove the assignment of an Add-on installation from the Number specified.
GET/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{Sid}.jsonFetch an incoming-phone-number belonging to the account used to make the request.
POST/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{Sid}.jsonUpdate an incoming-phone-number instance.
DELETE/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{Sid}.jsonDelete a phone-numbers belonging to the account used to make the request.
GET/2010-04-01/Accounts/{AccountSid}/Keys.jsonListKey
POST/2010-04-01/Accounts/{AccountSid}/Keys.jsonCreateNewKey
GET/2010-04-01/Accounts/{AccountSid}/Keys/{Sid}.jsonFetchKey
POST/2010-04-01/Accounts/{AccountSid}/Keys/{Sid}.jsonUpdateKey
DELETE/2010-04-01/Accounts/{AccountSid}/Keys/{Sid}.jsonDeleteKey
GET/2010-04-01/Accounts/{AccountSid}/Messages.jsonRetrieve a list of messages belonging to the account used to make the request
POST/2010-04-01/Accounts/{AccountSid}/Messages.jsonSend a message from the account used to make the request
POST/2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Feedback.jsonCreateMessageFeedback
GET/2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Media.jsonRetrieve a list of Media resources belonging to the account used to make the request
GET/2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Media/{Sid}.jsonFetch a single media instance belonging to the account used to make the request
DELETE/2010-04-01/Accounts/{AccountSid}/Messages/{MessageSid}/Media/{Sid}.jsonDelete media from your account. Once delete, you will no longer be billed
GET/2010-04-01/Accounts/{AccountSid}/Messages/{Sid}.jsonFetch a message belonging to the account used to make the request
POST/2010-04-01/Accounts/{AccountSid}/Messages/{Sid}.jsonTo redact a message-body from a post-flight message record, post to the message instance resource with an empty body
DELETE/2010-04-01/Accounts/{AccountSid}/Messages/{Sid}.jsonDeletes a message record from your account
GET/2010-04-01/Accounts/{AccountSid}/Notifications.jsonRetrieve a list of notifications belonging to the account used to make the request

Showing the first 100 of 199 endpoints; the full list is in the documentation.

Questions

Does the Twilio - Api API need an API key?

Yes. The Twilio - Api API uses HTTP Basic authentication; the documentation explains how to get credentials.

Does the Twilio - Api API support HTTPS?

Yes, the Twilio - Api API is served over HTTPS.

How many endpoints does the Twilio - Api API have?

Its OpenAPI description lists 199 endpoints in version 1.42.0. The first 100 are shown on this page.

What are alternatives to the Twilio - Api API?

Other Phone APIs include Twilio - Accounts, ETSI GS MEC 010-2 - Part 2: Application lifecycle, rules and requirements management, Mobility API, Telnyx API, Twilio - Autopilot.

Compare alternatives →

Listed from APIs.guru (CC0).