REST API · v3

API Reference

A quick overview of resources, methods and endpoints. Open an endpoint for complete fields, examples and responses.

Base URL

https://api.ip1.net/v3

Authentication

Authorization: Bearer YOUR_API_TOKEN

Getting started

GET/phones/{msisdn}/capabilitiesCheck whether the recipient supports RCS

Returns RCS availability and supported features for a recipient.

RESTJSONBearer auth
Open full guide →

Parameters

NameLocationRequiredDescription
msisdnpathYesRecipient number in international format.
RequestGET
curl -X GET "https://api.ip1.net/v3/phones/{msisdn}/capabilities" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
Response example200
{
  "rcs": true,
  "features": [
    "CARD",
    "CAROUSEL",
    "SUGGESTIONS"
  ]
}

Status codes

200Capabilities
400Invalid request
401Missing or invalid API token

Brands & agents

GET/brandsList registered brands

Lists brands registered for the account.

RESTJSONBearer auth
Open full guide →
RequestGET
curl -X GET "https://api.ip1.net/v3/brands" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
Response example200
[
  {
    "name": "ip1-demo",
    "displayName": "iP1 Demo"
  }
]

Status codes

200Brands
400Invalid request
401Missing or invalid API token
POST/brandsRegister a brand

Registers a new RCS brand.

RESTJSONBearer auth
Open full guide →
RequestPOST
curl -X POST "https://api.ip1.net/v3/brands" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
  -H "Content-Type: application/json" \
  -d '{
  "name": "min-butik-ab",
  "displayName": "Min Butik AB"
}'
Response example201
{
  "name": "min-butik-ab",
  "displayName": "Min Butik AB"
}

Status codes

201Brand created
400Invalid request
401Missing or invalid API token
GET/brands/{brandName}/agentsList agents for a brand

Lists sender profiles registered for a brand.

RESTJSONBearer auth
Open full guide →

Parameters

NameLocationRequiredDescription
brandNamepathYesUnique brand name.
RequestGET
curl -X GET "https://api.ip1.net/v3/brands/{brandName}/agents" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
Response example200
[
  {
    "name": "support",
    "displayName": "Support",
    "status": "VERIFIED"
  }
]

Status codes

200Agents
400Invalid request
401Missing or invalid API token
POST/brands/{brandName}/agentsCreate an agent

Creates a sender profile for a brand.

RESTJSONBearer auth
Open full guide →

Parameters

NameLocationRequiredDescription
brandNamepathYesUnique brand name.
RequestPOST
curl -X POST "https://api.ip1.net/v3/brands/{brandName}/agents" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
  -H "Content-Type: application/json" \
  -d '{
  "name": "support",
  "displayName": "Support"
}'
Response example201
{
  "name": "support",
  "displayName": "Support",
  "status": "PENDING"
}

Status codes

201Agent created
400Invalid request
401Missing or invalid API token

Bundles

GET/bundlesList multi-recipient sends

Returns previous bundle sends and their status.

RESTJSONBearer auth
Open full guide →

Parameters

NameLocationRequiredDescription
tagquery—Optional campaign tag.
RequestGET
curl -X GET "https://api.ip1.net/v3/bundles" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
Response example200
[
  {
    "id": "bnd_01JRC5N8",
    "status": "ACCEPTED"
  }
]

Status codes

200Bundles
400Invalid request
401Missing or invalid API token
POST/bundlesSend RCS to multiple recipients

Sends the same RCS content to multiple recipients.

RESTJSONBearer auth
Open full guide →
RequestPOST
curl -X POST "https://api.ip1.net/v3/bundles" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
  -H "Content-Type: application/json" \
  -d '{
  "brand": "ip1-demo",
  "agent": "support",
  "recipients": {
    "46700123456": {},
    "46700987654": {}
  },
  "type": "Text",
  "content": "Hello from RCS"
}'
Response example202
{
  "id": "bnd_01JRC5N8",
  "status": "ACCEPTED"
}

Status codes

202Bundle accepted
400Invalid request
401Missing or invalid API token

Conversations

GET/conversationsList conversations

Returns active and completed RCS conversations.

RESTJSONBearer auth
Open full guide →
RequestGET
curl -X GET "https://api.ip1.net/v3/conversations" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
Response example200
[
  {
    "id": "cnv_01JRC5N8",
    "agent": "support",
    "recipient": "46700123456",
    "status": "ACTIVE"
  }
]

Status codes

200Conversations
400Invalid request
401Missing or invalid API token
POST/conversationsStart a conversation

Starts a new RCS conversation with one recipient.

RESTJSONBearer auth
Open full guide →
RequestPOST
curl -X POST "https://api.ip1.net/v3/conversations" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
  -H "Content-Type: application/json" \
  -d '{
  "brand": "ip1-demo",
  "agent": "iP1 Demo",
  "recipient": "46700123456",
  "type": "Card",
  "card": {
    "title": "Skapa rikare kunddialoger",
    "content": "Skicka högupplösta bilder, video och interaktiva val direkt i meddelandeappen.",
    "mediaUrl": "/media/2026-09-rcs-high-definition-media.webp",
    "height": "Medium",
    "orientation": "Vertical"
  },
  "suggestions": [
    {
      "text": "Utforska RCS",
      "type": "OpenUrlAction",
      "url": "https://rcs-api.com/guide/",
      "postbackData": "explore=rcs"
    },
    {
      "text": "Kontakta oss",
      "type": "Reply",
      "postbackData": "contact=sales"
    }
  ]
}'
Response example201
{
  "id": "cnv_01JRC5N8",
  "status": "ACCEPTED"
}

Status codes

201Conversation created
400Invalid request
401Missing or invalid API token

Messages

GET/bundles/{bundle}/messagesList messages in a bundle

Returns individual messages and delivery status for a bundle.

RESTJSONBearer auth
Open full guide →

Parameters

NameLocationRequiredDescription
bundlepathYesBundle identifier.
RequestGET
curl -X GET "https://api.ip1.net/v3/bundles/{bundle}/messages" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
Response example200
[
  {
    "id": "msg_01JRC5N8",
    "recipient": "46700123456",
    "status": "DELIVERED"
  }
]

Status codes

200Messages
400Invalid request
401Missing or invalid API token
GET/messages/{messageId}/cardsGet cards for a message

Returns rich cards attached to a message.

RESTJSONBearer auth
Open full guide →

Parameters

NameLocationRequiredDescription
messageIdpathYesMessage identifier.
RequestGET
curl -X GET "https://api.ip1.net/v3/messages/{messageId}/cards" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
Response example200
[
  {
    "title": "Skapa rikare kunddialoger",
    "content": "Skicka högupplösta bilder, video och interaktiva val direkt i meddelandeappen.",
    "mediaUrl": "/media/2026-09-rcs-high-definition-media.webp",
    "height": "Medium",
    "orientation": "Vertical"
  }
]

Status codes

200Cards
400Invalid request
401Missing or invalid API token
GET/messages/{messageId}/suggestionsGet suggestions and actions

Returns suggested replies and actions.

RESTJSONBearer auth
Open full guide →

Parameters

NameLocationRequiredDescription
messageIdpathYesMessage identifier.
RequestGET
curl -X GET "https://api.ip1.net/v3/messages/{messageId}/suggestions" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
Response example200
[
  {
    "text": "Open website",
    "type": "OpenUrlAction",
    "url": "https://example.com"
  }
]

Status codes

200Suggestions
400Invalid request
401Missing or invalid API token
⌘ K