Create a SIP profile
SIP configuration
Your Linq representative provides the signaling and media IP ranges and ports to allow through your firewall during onboarding.
Set primary_uri to your endpoint as scheme + host — sips: for TLS or
sip: for UDP, with no user part (we add it). Each call arrives at your
endpoint as:
sip:<called-number>@<your-host>
so you can route on the dialed number. The caller’s number is in the
From header in E.164.
Create a SIP routing profile for your inbound calls, then assign it to a phone number to start routing calls to its SIP URI.
Body ParametersJSON
Your SIP endpoint as scheme + host, e.g. sips:sip.partner.example. Must start with sip: (UDP) or sips: (TLS) — the scheme sets the transport. Do not include a user part: we set it to the called number on each call (sip:<called-number>@<your-host>). A bare host with no scheme is rejected.
Create a SIP profile
curl https://api.linqapp.com/api/partner/v3/sip-profiles \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $LINQ_API_V3_API_KEY" \
-d '{
"name": "byoc-primary",
"primary_uri": "sips:sip.partner.example",
"backup_uri": "sips:[email protected]"
}'{
"id": "sip_8a3f9c2b1d4e4f5a9b8c7d6e5f4a3b2c",
"assigned_number_count": 0,
"created_at": "2026-10-29T10:30:00Z",
"name": "byoc-primary",
"primary_uri": "sips:sip.partner.example",
"updated_at": "2026-10-29T10:30:00Z",
"version": 1,
"backup_uri": null
}{
"error": {
"status": 400,
"code": 1002,
"message": "Phone number must be in E.164 format",
"doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/1xxx/1002/"
},
"success": false
}{
"error": {
"status": 401,
"code": 2004,
"message": "Unauthorized - missing or invalid authentication token",
"doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/2xxx/2004/"
},
"success": false
}{
"error": {
"status": 409,
"code": 2013,
"message": "This chat is unavailable",
"doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/2xxx/2013/"
},
"success": false
}{
"error": {
"status": 500,
"code": 3006,
"message": "Internal server error",
"doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/3xxx/3006/"
},
"success": false
}Returns Examples
{
"id": "sip_8a3f9c2b1d4e4f5a9b8c7d6e5f4a3b2c",
"assigned_number_count": 0,
"created_at": "2026-10-29T10:30:00Z",
"name": "byoc-primary",
"primary_uri": "sips:sip.partner.example",
"updated_at": "2026-10-29T10:30:00Z",
"version": 1,
"backup_uri": null
}{
"error": {
"status": 400,
"code": 1002,
"message": "Phone number must be in E.164 format",
"doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/1xxx/1002/"
},
"success": false
}{
"error": {
"status": 401,
"code": 2004,
"message": "Unauthorized - missing or invalid authentication token",
"doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/2xxx/2004/"
},
"success": false
}{
"error": {
"status": 409,
"code": 2013,
"message": "This chat is unavailable",
"doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/2xxx/2013/"
},
"success": false
}{
"error": {
"status": 500,
"code": 3006,
"message": "Internal server error",
"doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/3xxx/3006/"
},
"success": false
}