Base URL:
https://unpod.ai/api/v2/platform/
Every request needs Authorization: Token <your-api-key> and an Org-Handle header.
See Authentication.Prerequisites
- An Unpod API Token and Org-Handle.
- A number in your org (we’ll fetch its
idbelow). - A Daily room with SIP dial-in enabled - note its
sip_uri(sip:<endpoint>@<your-subdomain>.sip.daily.co).
1. Find your number
cURL
Response (200)
List Numbers reference
Full request/response schema.
2. Create the SIP trunk to Daily
Point the trunk’ssip_url at your Daily room’s sip_uri. One trunk carries both inbound and outbound.
cURL
Response (201)
Create Trunk reference
All request fields (
sip_url, auth_username, auth_password, transport, port, source_ips).3. Attach your number to the trunk
Map the number from step 1 (itsid) to the trunk from step 2 (its id). The response
returns the origin endpoint - the address + creds Daily uses to reach Unpod.
cURL
Response (201)
Attach Numbers reference
Path params, request body, and the full origin-endpoint response.
Configure the Daily side
Enable SIP dial-in on your Daily room. This is Daily’s own API (api.daily.co,
Authorization: Bearer with your Daily key). Run this first - the sip_uri it returns
is exactly what you put in the trunk’s sip_url in step 2.
4. Enable SIP dial-in on the room
cURL
Response
config.sip_uri.endpoint is the address you point the Unpod trunk at (the sip_url in
step 2). Route that room to your agent so calls from Unpod connect to it.
Daily SIP dial-in docs
Full room
sip properties + sip_uri response (this is Daily’s API).Troubleshooting
| Status | Meaning | Fix |
|---|---|---|
400 on /trunks/ | Missing sip_url | Send your Daily room sip_uri |
400 on attach | Number not in org | Use a valid id from GET /numbers/ |
401 | Bad Unpod token | Verify Authorization: Token … |
403 | Wrong org | Verify the Org-Handle header |
No-code version
The same flow in the Studio UI.
All platforms
Back to the integrations overview.