For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Log inSign up
Support
  • Core
    • Overview
    • Authorization
    • Base URL
    • Data formats
    • Paging
    • Error codes
    • Permissions
  • Calling
  • Datasphere
  • Logs
  • Messaging
  • Phone Number Management
  • Platform
  • Resource Management
        • POSTCreate guest embed token
        • POSTCreate Subscriber guest token
        • POSTCreate Subscriber invite token
        • POSTCreate Subscriber token
        • POSTRefresh Subscriber token
      • POSTCreate Subscriber
      • DELDelete Subscriber
      • GETGet Subscriber
      • GETList Subscriber Addresses
      • GETList Subscribers
      • PUTUpdate Subscriber
LogoLogoSignalWire Docs
Log inSign up
Support
Resource ManagementSubscribersSubscriber Tokens

Create Subscriber token

|View as Markdown|Open in Claude|
POST
https://{your_space_name}.signalwire.com/api/fabric/subscribers/tokens
POST
/api/fabric/subscribers/tokens
$curl -X POST https://{your_space_name}.signalwire.com/api/fabric/subscribers/tokens \
> -H "Content-Type: application/json" \
> -u "<project_id>:<api_token>" \
> -d '{
> "reference": "john.doe@example.com"
>}'
1{
2 "subscriber_id": "32d94154-9297-418c-9a85-4a69e0c67c30",
3 "token": "eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwidHlwIjoiU0FUIn0..HahMYxqt4uI14qSH.daMTBR53lfEfEFiVAhr0pPSRqZhEod_YzavoG9-4ieiRQvl8GtP3FFNx0VLfkJqNcjUNbAaiKrEMnfOtCnQjiq1Kn0Iq90MYdM00QJ7cTaQ88vfbqdE92p-d4oDeg6z_vAsgrFgEobmrlDQndKxCWOD921iYxyLP0vqNaokN3kIM06iAWu_UpnTYEeR1l068xhK2xb6P9wbI2FDKFQoMgCdbjvABF7RRyaEzUoaQ5_Wj53YO6PFYuYcPbqMhdtvSSQiK3Nw6bFer2OfFs6s2RTukRGsocgC5Q7pwQwzYky-YgrPCb-pVAJajVSXUJrayvOi8-TeyCpICW4zTeJa5icZ380cWtafUH4rEB_FOJciJf0BCy48ajbz0NE121uBl2mqA1HE0_mQA53UqVjbrbE9hVOfnN4KpwOfULhIjx54tIekJQgG-aK2AYsLPCDNhuSpHvdwJcTM0Gzy3mS2veyaDV8q2qN5F_F9OThTQzcfy.AXzVNrJc_pGVPsticsVM0w",
4 "refresh_token": "eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIiwidHlwIjoiUmVmcmVzaCIsImNoIjoidGVzdHB1Yy5zaWduYWx3aXJlLmNvbSJ9..sHcQL_V1tZH2JEAh.FNKYe_49CazNthkgSphf-ov8_I2wGLGWKD6t2q7kiG0guBxBjGzpgD8Y-LM-Nu7ePRUg7Z6vBkKAvh3rjtZpkeXoRXobJ1lov9AO72l8tB9K9RLo-TnBxLDbh0BCDGWVBgGq8DOh9kzHz4Tot-_B8pHXY_bqXX5kC4UUszXCO9nhSi1a4rp6QMD_8b0Mm8pHDK9EtW8I-tfM0HPmXuPMuOnlft3hmZo3tiKN2CarWscveQPCGetufHfQJJssdHjjYup8USAX0gJM8dpsV7FpF9fxfpy4ZU7N9MJXgSYJM5cPrxpLLx3Lj291egob14jDkn7kZQpv7jbCtsGyYxC7HAi1FgGr_sw3AeGaf2esGCkaeE11MxL05_kwdiNYBSOaHqaY62kOzu5pIdfTKQekOogCS1fgiyBgisBZeSIEBWWF.neE9KnL5AzS165dXFXUqhQ"
5}
Create a [Subscriber](/docs/platform/subscribers) Token. #### Permissions The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_, _Messaging_, _Fax_, or _Video_. [Learn more about API scopes](/docs/platform/your-signalwire-api-space).
Was this page helpful?
Previous

Refresh Subscriber token

Next
Built with

Create a Subscriber Token.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Voice, Messaging, Fax, or Video.

Learn more about API scopes.

Authentication

AuthorizationBasic
SignalWire Basic Authentication using Project ID and API Token. The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password. Example: ``` Authorization: Basic base64(project_id:token) ```

Request

This endpoint expects an object.
referencestringRequired
A string that uniquely identifies the subscriber. Often it's an email, but can be any other string.
expire_atintegerOptional

A unixtime (the number of seconds since 1970-01-01 00:00:00) at which the token should no longer be valid. Defaults to ‘two hours from now’

application_idstringOptionalformat: "uuid"
The ID of the application that the token is associated with.
passwordstringOptional
Set or update the subscriber's password. Omit this field or pass an empty string if you don't want to update the password.
fingerprintstringOptionalformat: "^[A-Za-z0-9_-]+$"=43 characters

Binds the token to a specific device or browser session, letting the holder refresh it without going through your backend. The Browser SDK generates this value automatically when starting a session — forward it to your backend when requesting a token, so tie the token to that client.

Without fingerprint, your backend can still refresh the token using the companion refresh_token returned in this response.

scopeenumOptional

Grants the token’s holder permission to refresh it directly from the Browser SDK client. Pair with fingerprint to bind the token to a device.

Without this scope, your backend can still refresh the token using the companion refresh_token. If sat:refresh is set without fingerprint, the token’s lifetime is limited to 60 seconds.

Allowed values:
first_namestringOptional
Set or update the first name of the subscriber.
last_namestringOptional
Set or update the last name of the subscriber.
display_namestringOptional
Set or update the display name of the subscriber.
job_titlestringOptional
Set or update the job title of the subscriber.
time_zonestringOptional
Set or update the time zone of the subscriber.
countrystringOptional
Set or update the country of the subscriber.
regionenumOptional
A routing override that controls which regional cluster the SDK connects to.
Allowed values:
company_namestringOptional
Set or update the company name of the subscriber.

Response

The request has succeeded.
subscriber_idstringformat: "uuid"
The ID of the subscriber that the token is associated with.
tokenstringformat: "jwt"
The token that is associated with the subscriber.
refresh_tokenstringformat: "jwt"
Refresh token.

Errors

401
Unauthorized Error
404
Not Found Error
422
Unprocessable Entity Error
500
Internal Server Error

SignalWire Basic Authentication using Project ID and API Token.

The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password.

Example:

Authorization: Basic base64(project_id:token)