Skip to main content
The Endpoint object represents a SIP endpoint in your account. Each endpoint has a unique identifier and can be registered on SIP clients to make and receive calls. The object structure varies slightly depending on whether the endpoint is currently registered.
Registration Status: When an endpoint is registered on a SIP client, additional fields like sip_contact, sip_expires, and sip_user_agent are included in the response.

Attributes

Core Attributes

FieldTypeDescription
endpoint_idstringUnique identifier for the endpoint. All endpoint API operations are performed using this identifier.
usernamestringSIP username (unique per account). Only alphanumeric characters are accepted.
aliasstringFriendly name for the endpoint. Accepts alphabets (uppercase and lowercase), numbers (0-9), hyphen (-), and underscore (_) only.
sip_uristringFull SIP URI of the endpoint. External users can call this endpoint on this SIP URI. Format: sip:username@sip.vobiz.ai
sip_registeredstringRegistration status as a string ("true" or "false"), not a boolean. "true" when a SIP client is actively registered, "false" otherwise. Compare against the string value.
applicationobjectAssociated application details for call routing. Contains app_id, app_name, answer_url, and answer_method. null if no application is attached.
resource_uristringAPI resource URI for this endpoint.
sub_accountstringSub-account auth_id if endpoint belongs to a sub-account. null for main account.
created_atstring (ISO 8601)Creation timestamp.
updated_atstring (ISO 8601)Last update timestamp.

Permission Attributes

FieldTypeDescription
allow_voicebooleanVoice calls enabled (default: true).
allow_messagebooleanMessaging enabled (default: true).
allow_videobooleanVideo calls enabled (default: false).
allow_same_domainbooleanCalls to same domain allowed (default: true).
allow_other_domainsbooleanCalls to other domains allowed (default: false).
allow_phonesbooleanCalls to phone numbers allowed (default: true).
allow_appsbooleanCalls to apps allowed (default: true).

Registration Attributes (when registered)

FieldTypeDescription
sip_contactstringSIP contact address of the registered client. Example: 192.168.1.100:5060
sip_expiresstring (ISO 8601)Timestamp when the SIP registration expires.
sip_user_agentstringUser agent string of the SIP client. Example: "Zoiper v5.4.5"
sip_registrationobjectDetailed registration information (retrieve endpoint only). Contains contact, expires, user_agent, received, and path fields.

Examples

Unregistered Endpoint

Response when the endpoint is not currently registered on any SIP client:
Unregistered Endpoint Response
{
  "api_id": "550e8400-e29b-41d4-a716-446655440000",
  "endpoint_id": "87654322",
  "username": "jane_smith",
  "alias": "Jane's Mobile",
  "sip_uri": "sip:jane_smith@sip.vobiz.ai",
  "sip_registered": "false",
  "sip_contact": null,
  "sip_expires": null,
  "sip_user_agent": null,
  "application": null,
  "allow_voice": true,
  "allow_message": true,
  "allow_video": true,
  "allow_same_domain": true,
  "allow_other_domains": false,
  "allow_phones": true,
  "allow_apps": true,
  "sub_account": null,
  "resource_uri": "/v1/Account/{auth_id}/Endpoint/87654322/",
  "created_at": "2025-10-26T14:20:00Z",
  "updated_at": "2025-10-26T14:20:00Z"
}

Registered Endpoint

Response when the endpoint is actively registered on a SIP client:
Registered Endpoint Response
{
  "api_id": "550e8400-e29b-41d4-a716-446655440000",
  "endpoint_id": "87654321",
  "username": "john_doe",
  "alias": "John's Desktop Phone",
  "sip_uri": "sip:john_doe@sip.vobiz.ai",
  "sip_registered": "true",
  "sip_contact": "192.168.1.100:5060",
  "sip_expires": "2025-10-28T11:30:00Z",
  "sip_user_agent": "Zoiper v5.4.5",
  "application": {
    "app_id": "12345678",
    "app_name": "Customer Service App",
    "answer_url": "https://example.com/answer",
    "answer_method": "POST"
  },
  "allow_voice": true,
  "allow_message": true,
  "allow_video": false,
  "allow_same_domain": true,
  "allow_other_domains": false,
  "allow_phones": true,
  "allow_apps": true,
  "sub_account": null,
  "resource_uri": "/v1/Account/{auth_id}/Endpoint/87654321/",
  "created_at": "2025-10-27T10:30:00Z",
  "updated_at": "2025-10-28T09:15:00Z"
}
The password field is write-only and never returned in API responses. Registration timestamps (sip_expires, created_at, updated_at) are in ISO 8601 format (UTC).

Registration and WebRTC

An endpoint is just a SIP account. A device “comes online” by registering with the endpoint’s username and password against the Vobiz SIP domain (sip.vobiz.ai):
  • Softphones / IP desk phones (Zoiper, Linphone, Yealink, etc.) register over UDP/TCP/TLS.
  • Browser / WebRTC clients register over SIP-over-WebSocket using the same username/password. There is no separate JWT or token API in v1 - the SIP credentials are the auth. See WebRTC application setup.
Once registered, sip_registered flips to "true" and the live sip_contact, sip_expires, and sip_user_agent fields populate. When the registration lapses (no refresh before sip_expires) the endpoint goes back to "false" and those fields clear.
Changing the endpoint password invalidates active registrations. Every client must re-register with the new credential or it drops off. The username is immutable - to rename, delete and recreate the endpoint.

Locked vs editable fields

Editable via updateLocked after creation
password, alias, application, allow_voice, allow_message, allow_videousername, endpoint_id, domain, allow_same_domain, allow_other_domains, allow_phones, allow_apps