Skip to main content
The SIP Authentication API lets you create and manage two resources used to secure inbound calls to your Plivo applications:
  • SIP Credentials — username and password pairs used for SIP digest authentication
  • IP Access Control Lists (IP ACLs) — lists of trusted IP addresses or CIDR ranges allowed to call your application
Once created, assign these resources to an application via the Application API by setting sip_auth_type, ip_acl_uuid, and credential_uuid. For an overview of how SIP authentication works, see SIP Authentication concepts.

Account Quotas

Error Responses

All endpoints return standard HTTP status codes with a JSON error body:
api_id
string
Unique identifier for the API request.
error
string
Human-readable description of the error.
If your integration is receiving unexpected 403 responses on inbound calls, see the Rate-limit lockout section on the SIP Authentication concept page. API Endpoint

The Credential Object

A SIP credential is a username/password pair used for SIP digest authentication.

Attributes

credential_uuid
string
Unique identifier for the credential.
username
string
The SIP username.
realm
string
Authentication realm. Default: app.plivo.com.
resource_uri
string
URI of the credential resource.
Passwords are stored as one-way hashes (HA1) and are never returned in API responses.

Example Object


Create a Credential

Create a new SIP credential.

Arguments

username
string
required
3-64 characters. Allowed: alphanumeric, period (.), underscore (_), hyphen (-). Must be unique within your account.
password
string
required
8-128 characters. Must include at least one uppercase letter, one lowercase letter, and one digit.

Example

Response (201 Created)

api_id
string
Unique identifier for the API request.
credential_uuid
string
Unique identifier for the credential.
username
string
The SIP username.
realm
string
Authentication realm. Default: app.plivo.com.
resource_uri
string
URI of the credential resource.

Retrieve a Credential

Get details of a specific credential.

Example


List All Credentials

Returns all SIP credentials for your account.

Example


Update a Credential

Update the password on an existing credential. The username cannot be changed.

Arguments

password
string
required
New password. Minimum 8 characters. Must include uppercase, lowercase, and digit.

Example


Delete a Credential

Permanently delete a credential.
You cannot delete a credential currently assigned to an application. First remove the assignment by setting the application’s sip_auth_type to empty ("").

Example

Response

HTTP Status Code: 204

The IP Access Control List Object

An IP ACL is a list of trusted IP addresses or CIDR ranges allowed to make inbound calls to your application.

Attributes

ip_acl_uuid
string
Unique identifier for the IP ACL.
name
string
Friendly name for the IP ACL.
entries
array
List of IP entries. Each entry includes entry_id, ip, cidr_prefix, and description.
resource_uri
string
URI of the IP ACL resource.

Example Object


Create an IP ACL

Create a new IP Access Control List.

Arguments

name
string
required
Friendly name. 1-120 characters.
entries
array
Optional list of IP entries to add at creation time. Maximum 50 entries per ACL.

Example

Response (201 Created)

api_id
string
Unique identifier for the API request.
ip_acl_uuid
string
Unique identifier for the IP ACL.

Retrieve an IP ACL

Get details of a specific IP ACL, including all entries.

List All IP ACLs

Returns all IP ACLs for your account.

Update an IP ACL

Update the name of an existing IP ACL.

Arguments

name
string
New name for the IP ACL.

Delete an IP ACL

Permanently delete an IP ACL and all its entries.
You cannot delete an IP ACL currently assigned to an application. First remove the assignment by setting the application’s sip_auth_type to empty ("").

Response

HTTP Status Code: 204

Add an Entry to an IP ACL

Add a new IP address or CIDR range to an existing IP ACL. Maximum 50 entries per ACL.

Arguments

ip
string
required
Valid IPv4 address.
cidr_prefix
integer
CIDR prefix. Range: 0-32. Default: 32 (single host for IPv4). 0 allows all IPs.
description
string
Description of this entry. Up to 255 characters.

Example

Response (201 Created)

api_id
string
Unique identifier for the API request.
entry_id
string
Unique identifier for the IP ACL entry.

Remove an Entry from an IP ACL

Permanently delete an entry from an IP ACL.

Response

HTTP Status Code: 204