Skip to content
Linq Copy agent prompt

Assign or clear a phone number's SIP profile

PUT/v3/phone-numbers/{phoneNumber}/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.


Assign a SIP profile to route inbound calls to its SIP URI. This takes precedence over an existing forwarding_number without clearing it. Send sip_profile_id: null to remove the SIP assignment and resume existing forwarding, if configured. Allow about 5 minutes for routing changes to propagate. The phone number must belong to the authenticated partner.

Path ParametersExpand Collapse
phoneNumber: string
Body ParametersJSONExpand Collapse
sip_profile_id: string

The SIP profile to assign, or null to clear the number’s current assignment.

ReturnsExpand Collapse
phone_number: string

The phone number whose assignment changed

sip_profile_id: string

The assigned SIP profile id, or null when cleared

Assign or clear a phone number's SIP profile

curl https://api.linqapp.com/api/partner/v3/phone-numbers/$PHONE_NUMBER/sip-profile \
    -X PUT \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $LINQ_API_V3_API_KEY" \
    -d '{
          "sip_profile_id": "sip_8a3f9c2b1d4e4f5a9b8c7d6e5f4a3b2c"
        }'
{
  "phone_number": "+14254758217",
  "sip_profile_id": "sip_8a3f9c2b1d4e4f5a9b8c7d6e5f4a3b2c"
}
{
  "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": 403,
    "code": 2005,
    "message": "Access denied - insufficient permissions for this resource",
    "doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/2xxx/2005/"
  },
  "success": false
}
{
  "error": {
    "status": 404,
    "code": 2001,
    "message": "Resource not found",
    "doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/2xxx/2001/"
  },
  "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
{
  "phone_number": "+14254758217",
  "sip_profile_id": "sip_8a3f9c2b1d4e4f5a9b8c7d6e5f4a3b2c"
}
{
  "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": 403,
    "code": 2005,
    "message": "Access denied - insufficient permissions for this resource",
    "doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/2xxx/2005/"
  },
  "success": false
}
{
  "error": {
    "status": 404,
    "code": 2001,
    "message": "Resource not found",
    "doc_url": "https://docs.linqapp.com/channel/imessage/error/codes/2xxx/2001/"
  },
  "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
}