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/v3Authentication
Authorization: Bearer YOUR_API_TOKENGetting started
GET/phones/{msisdn}/capabilitiesCheck whether the recipient supports RCS⌄
Returns RCS availability and supported features for a recipient.
RESTJSONBearer auth
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
msisdn | path | Yes | Recipient number in international format. |
GETcurl -X GET "https://api.ip1.net/v3/phones/{msisdn}/capabilities" \
-H "Authorization: Bearer YOUR_API_TOKEN"200{
"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
GETcurl -X GET "https://api.ip1.net/v3/brands" \
-H "Authorization: Bearer YOUR_API_TOKEN"200[
{
"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
POSTcurl -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"
}'201{
"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
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
brandName | path | Yes | Unique brand name. |
GETcurl -X GET "https://api.ip1.net/v3/brands/{brandName}/agents" \
-H "Authorization: Bearer YOUR_API_TOKEN"200[
{
"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
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
brandName | path | Yes | Unique brand name. |
POSTcurl -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"
}'201{
"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
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
tag | query | — | Optional campaign tag. |
GETcurl -X GET "https://api.ip1.net/v3/bundles" \
-H "Authorization: Bearer YOUR_API_TOKEN"200[
{
"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
POSTcurl -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"
}'202{
"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
GETcurl -X GET "https://api.ip1.net/v3/conversations" \
-H "Authorization: Bearer YOUR_API_TOKEN"200[
{
"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
POSTcurl -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"
}
]
}'201{
"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
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
bundle | path | Yes | Bundle identifier. |
GETcurl -X GET "https://api.ip1.net/v3/bundles/{bundle}/messages" \
-H "Authorization: Bearer YOUR_API_TOKEN"200[
{
"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
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
messageId | path | Yes | Message identifier. |
GETcurl -X GET "https://api.ip1.net/v3/messages/{messageId}/cards" \
-H "Authorization: Bearer YOUR_API_TOKEN"200[
{
"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
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
messageId | path | Yes | Message identifier. |
GETcurl -X GET "https://api.ip1.net/v3/messages/{messageId}/suggestions" \
-H "Authorization: Bearer YOUR_API_TOKEN"200[
{
"text": "Open website",
"type": "OpenUrlAction",
"url": "https://example.com"
}
]Status codes
200Suggestions
400Invalid request
401Missing or invalid API token
