Channel Manager API

The Channel Manager API provides a way of managing configuration and data related to various messaging channels in the Vonage Messages API.

Download OpenAPI Specification

WhatsApp WABAs

API endpoints relating to working with WhatsApp Business Accounts (WABAs)

List WhatsApp Business Accounts (WABAs)

List all WhatsApp Business Accounts (WABAs) that are associated with the Vonage account.

gethttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas

Authentication

This API supports both JWT and Basic authentication. Basic authentication is easier to get started with, but does not support advanced features such as ACLs.

You can use either JWT or Basic authentication, but not both at the same time.

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Query Parameters

page
integer
example1

The page number to retrieve.

page_size
integer
example50

The number of WhatsApp WABAs to return per page.

order
string

The order in which to return WhatsApp WABAs.

Must be one of:ascdesc

Responses
Content Type
application/json

OK

page_size
integer
example50

The maximum number of WhatsApp WABAs returned per page.

page
integer
example1

The current page number within the set of pages.

total_pages
integer
example5

The total number of pages within the set of pages.

total_items
integer
example219

The total number of WhatsApp WABAs within the overall record set.

_embedded
object
wabas
array
waba_id
string
Required
example345688589250625

The ID of the WhatsApp Business Account.

api_key
string
Required
exampleabc123

The API key of the Vonage account associated with the WhatsApp Business Account.

name
string
Required
exampleMy Business

The name of the WhatsApp Business Account.

account_review_status
string
Required
exampleApproved

The review status of the WhatsApp Business Account.

Must be one of:PendingApprovedRejected
timezone_id
string
Required
example58

The ID of the timezone of the WhatsApp Business Account.

currency
string
Required
exampleUSD

The currency of the WhatsApp Business Account.

solution_id
string
example1234567890

The ID of the solution of the WhatsApp Business Account. Applies for WABAs onboarded through a partner solution

_links
object
self
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas?page=1&page_size=50&order=asc

The URL to the current page of WhatsApp WABAs.

first
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas?page=1&page_size=50&order=asc

The URL to the first page of WhatsApp WABAs.

last
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas?page=5&page_size=50&order=asc

The URL to the last page of WhatsApp WABAs.

next
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas?page=2&page_size=50&order=asc

The URL to the next page of WhatsApp WABAs.

prev
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas?page=1&page_size=50&order=asc

The URL to the previous page of WhatsApp WABAs.

Example Response

{
   "page_size": 50,
   "page": 1,
   "total_pages": 5,
   "total_items": 219,
   "_embedded": {
      "wabas": [
         {
            "waba_id": "345688589250625",
            "api_key": "abc123",
            "name": "My Business",
            "account_review_status": "Approved",
            "timezone_id": "58",
            "currency": "USD",
            "solution_id": "1234567890"
         }
      ]
   },
   "_links": {
      "self": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas?page=1&page_size=50&order=asc"
      },
      "first": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas?page=1&page_size=50&order=asc"
      },
      "last": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas?page=5&page_size=50&order=asc"
      },
      "next": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas?page=2&page_size=50&order=asc"
      },
      "prev": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas?page=1&page_size=50&order=asc"
      }
   }
}

Get a specific WhatsApp Business Account (WABA)

Retreive details of a specific WhatsApp Business Account (WABA).

gethttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/:waba_id

Authentication

This API supports both JWT and Basic authentication. Basic authentication is easier to get started with, but does not support advanced features such as ACLs.

You can use either JWT or Basic authentication, but not both at the same time.

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

waba_id
string
Required
example345688589250625

The waba_id of the WhatsApp Business Account (WABA) to retrieve.

Responses
Content Type
application/json

OK

waba_id
string
Required
example345688589250625

The ID of the WhatsApp Business Account.

api_key
string
Required
exampleabc123

The API key of the Vonage account associated with the WhatsApp Business Account.

name
string
Required
exampleMy Business

The name of the WhatsApp Business Account.

account_review_status
string
Required
exampleApproved

The review status of the WhatsApp Business Account.

Must be one of:PendingApprovedRejected
timezone_id
string
Required
example58

The ID of the timezone of the WhatsApp Business Account.

currency
string
Required
exampleUSD

The currency of the WhatsApp Business Account.

solution_id
string
example1234567890

The ID of the solution of the WhatsApp Business Account. Applies for WABAs onboarded through a partner solution

_links
object
self
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625

The URL to the WhatsApp Business Account (WABA) being retrieved.

numbers
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers

The URL to list the phone numbers associated with the WhatsApp Business Account (WABA).

Example Response

{
   "waba_id": "345688589250625",
   "api_key": "abc123",
   "name": "My Business",
   "account_review_status": "Approved",
   "timezone_id": "58",
   "currency": "USD",
   "solution_id": "1234567890",
   "_links": {
      "self": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625"
      },
      "numbers": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers"
      }
   }
}

List Numbers for a WhatsApp Business Account (WABA)

List all Numbers associated with a WhatsApp Business Account (WABA).

gethttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/:waba_id/numbers

Authentication

This API supports both JWT and Basic authentication. Basic authentication is easier to get started with, but does not support advanced features such as ACLs.

You can use either JWT or Basic authentication, but not both at the same time.

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

waba_id
string
Required
example345688589250625

The waba_id of the WhatsApp Business Account (WABA) with which the numbers are associated.

Query Parameters

page
integer
example1

The page number to retrieve.

page_size
integer
example50

The number of WhatsApp WABAs to return per page.

order
string

The order in which to return WhatsApp WABAs.

Must be one of:ascdesc

Responses
Content Type
application/json

OK

page_size
integer
example50

The maximum number of WABA numbers returned per page.

page
integer
example1

The current page number within the set of pages.

total_pages
integer
example5

The total number of pages within the set of pages.

total_items
integer
example219

The total number of WABA numbers within the overall record set.

_embedded
object
wabas
array
phone_number
string
Required
example447451277751

The phone number associated with the WhatsApp Business Account.

number_id
string
Required
example293464193855848

The ID of the phone number associated with the WhatsApp Business Account.

waba_id
string
Required
example345688589250625

The ID of the WhatsApp Business Account.

api_key
string
Required
exampleabc123

The API key of the Vonage account associated with the WhatsApp Business Account.

verified_name
string
exampleMy Business

The WhatsApp display name for number

code_verification_status
string
exampleVERIFIED

Indicates the phone number's one-time password (OTP) verification status.

  • Only phone numbers with a VERIFIED status can be registered.
  • An EXPIRED status means that the phone number was previously verified but the 14 day verification period has ended. If the phone number is not registered, it will need to be verified again.
Must be one of:NOT_VERIFIEDVERIFIEDEXPIRED
display_phone_number
string
example+447451277751

How the number is displayed on WhatsApp accounts.

messaging_limit_tier
string
exampleTIER_100K

The messaging limit tier of the phone number. See WhatsApp messaging limits

Must be one of:TIER_50TIER_250TIER_1KTIER_10KTIER_100KTIER_UNLIMITED
quality_score
object

The quality score of the phone number. See WhatsApp Business phone number’s quality rating

score
string
exampleGREEN

The quality score of the phone number.

  • GREEN: High quality
  • YELLOW: Medium quality
  • RED: Low quality
Must be one of:GREENYELLOWRED
throughput
object

The throughput level of the phone number. Indication of throughput permissible by WhatsApp e.g. STANDARD is the default 80 messages/sec

level
string
exampleSTANDARD

The throughput rate of the phone number.

_links
object
self
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers/447451277751

The URL to the current page of WhatsApp WABAs.

first
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers?page=1&page_size=50&order=asc

The URL to the first page of WhatsApp WABAs.

last
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers?page=5&page_size=50&order=asc

The URL to the last page of WhatsApp WABAs.

next
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers?page=2&page_size=50&order=asc

The URL to the next page of WhatsApp WABAs.

prev
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers?page=1&page_size=50&order=asc

The URL to the previous page of WhatsApp WABAs.

Example Response

{
   "page_size": 50,
   "page": 1,
   "total_pages": 5,
   "total_items": 219,
   "_embedded": {
      "wabas": [
         {
            "phone_number": "447451277751",
            "number_id": "293464193855848",
            "waba_id": "345688589250625",
            "api_key": "abc123",
            "verified_name": "My Business",
            "code_verification_status": "VERIFIED",
            "display_phone_number": "+447451277751",
            "messaging_limit_tier": "TIER_100K",
            "quality_score": {
               "score": "GREEN"
            },
            "throughput": {
               "level": "STANDARD"
            }
         }
      ]
   },
   "_links": {
      "self": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers/447451277751"
      },
      "first": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers?page=1&page_size=50&order=asc"
      },
      "last": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers?page=5&page_size=50&order=asc"
      },
      "next": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers?page=2&page_size=50&order=asc"
      },
      "prev": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers?page=1&page_size=50&order=asc"
      }
   }
}

Get a specific WhatsApp Business Account (WABA) Number

Retreive details of a specific Number associated with a WhatsApp Business Account (WABA).

gethttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/:waba_id/numbers/:whatsapp_number

Authentication

This API supports both JWT and Basic authentication. Basic authentication is easier to get started with, but does not support advanced features such as ACLs.

You can use either JWT or Basic authentication, but not both at the same time.

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

waba_id
string
Required
example345688589250625

The waba_id of the WhatsApp Business Account (WABA) to retrieve.

whatsapp_number
string
Required
example447451277751

The whatsapp_number for which to retrieve the details.

Responses
Content Type
application/json

OK

phone_number
string
Required
example447451277751

The phone number associated with the WhatsApp Business Account.

number_id
string
Required
example293464193855848

The ID of the phone number associated with the WhatsApp Business Account.

waba_id
string
Required
example345688589250625

The ID of the WhatsApp Business Account.

api_key
string
Required
exampleabc123

The API key of the Vonage account associated with the WhatsApp Business Account.

verified_name
string
exampleMy Business

The WhatsApp display name for number

code_verification_status
string
exampleVERIFIED

Indicates the phone number's one-time password (OTP) verification status.

  • Only phone numbers with a VERIFIED status can be registered.
  • An EXPIRED status means that the phone number was previously verified but the 14 day verification period has ended. If the phone number is not registered, it will need to be verified again.
Must be one of:NOT_VERIFIEDVERIFIEDEXPIRED
display_phone_number
string
example+447451277751

How the number is displayed on WhatsApp accounts.

messaging_limit_tier
string
exampleTIER_100K

The messaging limit tier of the phone number. See WhatsApp messaging limits

Must be one of:TIER_50TIER_250TIER_1KTIER_10KTIER_100KTIER_UNLIMITED
quality_score
object

The quality score of the phone number. See WhatsApp Business phone number’s quality rating

score
string
exampleGREEN

The quality score of the phone number.

  • GREEN: High quality
  • YELLOW: Medium quality
  • RED: Low quality
Must be one of:GREENYELLOWRED
throughput
object

The throughput level of the phone number. Indication of throughput permissible by WhatsApp e.g. STANDARD is the default 80 messages/sec

level
string
exampleSTANDARD

The throughput rate of the phone number.

_links
object
self
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers/447451277751

The URL to the WhatsApp Business Account (WABA) Number being retrieved.

Example Response

{
   "phone_number": "447451277751",
   "number_id": "293464193855848",
   "waba_id": "345688589250625",
   "api_key": "abc123",
   "verified_name": "My Business",
   "code_verification_status": "VERIFIED",
   "display_phone_number": "+447451277751",
   "messaging_limit_tier": "TIER_100K",
   "quality_score": {
      "score": "GREEN"
   },
   "throughput": {
      "level": "STANDARD"
   },
   "_links": {
      "self": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers/447451277751"
      }
   }
}

Get the profile for a specific WhatsApp Business Account (WABA) Number

Retreive details of the profile for a specific Number associated with a WhatsApp Business Account (WABA).

gethttps://api.nexmo.com/v1/channel-manager/whatsapp/numbers/:whatsapp_number/profile

Authentication

This API supports both JWT and Basic authentication. Basic authentication is easier to get started with, but does not support advanced features such as ACLs.

You can use either JWT or Basic authentication, but not both at the same time.

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

waba_id
string
Required
example345688589250625

The waba_id of the WhatsApp Business Account (WABA) with which the number is associated.

whatsapp_number
string
Required
example447451277751

The whatsapp_number for which to retrieve the profile details.

Responses
Content Type
application/json

OK

about
string
exampleAbout my business

Information about the profile

address
string
example123 Main Street, Anytown, USA

The address of the profile

description
string
exampleDescription of my business

The description of the profile

email
string
examplebob@example.com

The email address of the profile

profile_picture_url
string(uri)
examplehttps://example.com/profile.png

URL of picture for the profile. Profile picture must be a square JPG or PNG, with min dimensions of 192px x 192px, and max dimensions of 640 px x 640 px, and a max file size of 800 kb. If the image is larger, it will get automatically centre-cropped to fit these dimensions

websites
array

URLs of websites for the profile

vertical
string
exampleOTHER

The Industry or Business Category of the WhatsApp Profile

Must be one of:APPARELAUTOBEAUTYEDUENTERTAINEVENT_PLANFINANCEGOVTGROCERYHEALTHHOTELNONPROFITOTHERPROF_SERVICESRESTAURANTRETAILTRAVEL
messaging_product
string
examplewhatsapp

The messaging product with which the profile is associated.

Must be one of:whatsapp
_links
object
self
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers/447451277751

The URL to the profile being retrieved.

Example Response

{
   "about": "About my business",
   "address": "123 Main Street, Anytown, USA",
   "description": "Description of my business",
   "email": "bob@example.com",
   "profile_picture_url": "https://example.com/profile.png",
   "websites": [
      "https://example.com",
      "https://example.org"
   ],
   "vertical": "OTHER",
   "messaging_product": "whatsapp",
   "_links": {
      "self": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers/447451277751"
      }
   }
}

Update the profile for a specific WhatsApp Business Account (WABA) Number

Update details of the profile for a specific Number associated with a WhatsApp Business Account (WABA).

patchhttps://api.nexmo.com/v1/channel-manager/whatsapp/numbers/:whatsapp_number/profile

Authentication

This API supports both JWT and Basic authentication. Basic authentication is easier to get started with, but does not support advanced features such as ACLs.

You can use either JWT or Basic authentication, but not both at the same time.

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

waba_id
string
Required
example345688589250625

The waba_id of the WhatsApp Business Account (WABA) with which the number is associated.

whatsapp_number
string
Required
example447451277751

The whatsapp_number for which to update the profile details.

Request Body
Content Type
application/json

about
string
exampleAbout my business

Information about the profile

address
string
example123 Main Street, Anytown, USA

The address of the profile

description
string
exampleDescription of my business

The description of the profile

email
string
examplebob@example.com

The email address of the profile

profile_picture_url
string(uri)
examplehttps://example.com/profile.png

URL of picture for the profile. Profile picture must be a square JPG or PNG, with min dimensions of 192px x 192px, and max dimensions of 640 px x 640 px, and a max file size of 800 kb. If the image is larger, it will get automatically centre-cropped to fit these dimensions

websites
array

URLs of websites for the profile

vertical
string
exampleOTHER

The Industry or Business Category of the WhatsApp Profile

Must be one of:APPARELAUTOBEAUTYEDUENTERTAINEVENT_PLANFINANCEGOVTGROCERYHEALTHHOTELNONPROFITOTHERPROF_SERVICESRESTAURANTRETAILTRAVEL

Example Request

{
   "about": "About my business",
   "address": "123 Main Street, Anytown, USA",
   "description": "Description of my business",
   "email": "bob@example.com",
   "profile_picture_url": "https://example.com/profile.png",
   "websites": [
      "https://example.com",
      "https://example.org"
   ],
   "vertical": "OTHER"
}

Responses
Content Type
application/json

OK

about
string
exampleAbout my business

Information about the profile

address
string
example123 Main Street, Anytown, USA

The address of the profile

description
string
exampleDescription of my business

The description of the profile

email
string
examplebob@example.com

The email address of the profile

profile_picture_url
string(uri)
examplehttps://example.com/profile.png

URL of picture for the profile. Profile picture must be a square JPG or PNG, with min dimensions of 192px x 192px, and max dimensions of 640 px x 640 px, and a max file size of 800 kb. If the image is larger, it will get automatically centre-cropped to fit these dimensions

websites
array

URLs of websites for the profile

vertical
string
exampleOTHER

The Industry or Business Category of the WhatsApp Profile

Must be one of:APPARELAUTOBEAUTYEDUENTERTAINEVENT_PLANFINANCEGOVTGROCERYHEALTHHOTELNONPROFITOTHERPROF_SERVICESRESTAURANTRETAILTRAVEL
messaging_product
string
examplewhatsapp

The messaging product with which the profile is associated.

Must be one of:whatsapp
_links
object
self
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers/447451277751

The URL to the profile being updated.

Example Response

{
   "about": "About my business",
   "address": "123 Main Street, Anytown, USA",
   "description": "Description of my business",
   "email": "bob@example.com",
   "profile_picture_url": "https://example.com/profile.png",
   "websites": [
      "https://example.com",
      "https://example.org"
   ],
   "vertical": "OTHER",
   "messaging_product": "whatsapp",
   "_links": {
      "self": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/numbers/447451277751"
      }
   }
}

WhatsApp Hosted ES Flow

API endpoints relating to working with WhatsApp Hosted Embedded Sign-up Flows

Available Operations

Generate Hosted ES Flow URL

Generate a URL for the start page for WhatsApp hosted embedded sign-up flow based on the supplied partner solution ID.

posthttps://api.nexmo.com/v1/channel-manager/whatsapp/tp-registration/url

Authentication

This API supports both JWT and Basic authentication. Basic authentication is easier to get started with, but does not support advanced features such as ACLs.

You can use either JWT or Basic authentication, but not both at the same time.

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Request Body
Content Type
application/json

solution_id
string
Required
example123456789111213

The partner solution ID.

api_key
string
exampleabc123

Sub-api-key of the end-client that the Partner wants to generate the ES flow URL for. If not provided, this defaults to Partner’s main api-key

ttl
integer
Max259200
Default86400
example300

The time-to-live for the URL in seconds.

Example Request

{
   "solution_id": "123456789111213",
   "api_key": "abc123",
   "ttl": 300
}

Responses
Content Type
application/json

OK

id
string
Required
example3amb0119-0196-42d1-8fb5-55a98s133546

The trace ID for the URL generation request.

url
string
Required
examplehttps://tools.vonage.com/wa/partners/onboard?token=fhdhhdJhbGciOiJSUzI1NiJ9.eyJleHAiOjE3MjU5Njc1OTYsImp0aSI6ImQ1MmJhNmFjLWYxZjktNDdmNC05MTR_cFT1bVfkDhP-wgpKZibSbUoh9z-9KGD-wsmHxi0h7tTidpVhPNShfC5jmgiHtOQKXXv5NWb9OqoUraOMMpqCdNdXoN3ao-PeZX7axyYW_FQ6CeV9gDEPhAZ4urTi0uW4mCYGl3ULmA9Ps92r_wi2DJyRE_Kx2KahWtQd51yVpU6FfXgMb4odREEccDctT1Peo09wKgwBa1wsOkD7rrvkoQPqZ00VXcqOY1_LOO5tq4WJaKqtxX-U7VtDo9qyVUl8pdegZW6QWChQzGN4PkqXXLWcBlyrCtAYdhtWG8q6NM_6bARRjcGJlj0tQvE0PZ9AtafAQSPpOll5lcnUK8Ds

URL containing tokenized information and redirecting to ES flow start page.

Example Response

{
   "id": "3amb0119-0196-42d1-8fb5-55a98s133546",
   "url": "https://tools.vonage.com/wa/partners/onboard?token=fhdhhdJhbGciOiJSUzI1NiJ9.eyJleHAiOjE3MjU5Njc1OTYsImp0aSI6ImQ1MmJhNmFjLWYxZjktNDdmNC05MTR_cFT1bVfkDhP-wgpKZibSbUoh9z-9KGD-wsmHxi0h7tTidpVhPNShfC5jmgiHtOQKXXv5NWb9OqoUraOMMpqCdNdXoN3ao-PeZX7axyYW_FQ6CeV9gDEPhAZ4urTi0uW4mCYGl3ULmA9Ps92r_wi2DJyRE_Kx2KahWtQd51yVpU6FfXgMb4odREEccDctT1Peo09wKgwBa1wsOkD7rrvkoQPqZ00VXcqOY1_LOO5tq4WJaKqtxX-U7VtDo9qyVUl8pdegZW6QWChQzGN4PkqXXLWcBlyrCtAYdhtWG8q6NM_6bARRjcGJlj0tQvE0PZ9AtafAQSPpOll5lcnUK8Ds"
}

WhatsApp Analytics

API endpoints relating to analytics data for WhatsApp

Get Template Analytics

Get analytics for a specific template.

gethttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/:waba_id/template-analytics

Authentication

This API supports both JWT and Basic authentication. Basic authentication is easier to get started with, but does not support advanced features such as ACLs.

You can use either JWT or Basic authentication, but not both at the same time.

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

waba_id
string
Required
example345688589250625

The waba_id of the WhatsApp Business Account (WABA) for which to retrieve the template analytics data.

Query Parameters

template_ids
array
Min1
Max10
example[ "458951126288937", "458951126288942" ]

An array of the template_ids of the template(s) to retrieve analytics for.

start
string(timestamp)
example2024-11-01

The start date and time in ISO-8601 format for the analytics data to be retrieved from, in the format YYYY-MM-DD.

end
string(timestamp)
example2024-11-03

The end date and time in ISO-8601 format for the analytics data to be retrieved to, in the format YYYY-MM-DD. The maximum difference between the start and end dates is 90 days.

metric_types
array
example[ "SENT", "DELIVERED" ]

An array of the metric types to retrieve analytics for. Possible values are SENT, DELIVERED, READ, and CLICKED.

Available Values:
SENT,DELIVERED,READ,CLICKED
granularity
string
exampleDAILY

The granularity of the analytics data to be retrieved.

Must be one of:DAILY

Responses
Content Type
application/json

OK

granularity
string
exampleDAILY

The granularity of the template analytics retrieved.

Must be one of:DAILY
product_type
string
examplecloud_api

The product type for which the template analytics were retrieved.

page_size
integer
example100

The maximum number of template analytics returned per page.

_embedded
object
template_analytics
array
template_id
string
Required
example458951126288942

The ID of the WhatsApp Template which the analytics data is for.

start
string(date-time)
Required
example2024-11-11T00:00:00Z

The start date and time in ISO-8601 format for the analytics data to be retrieved from.

end
string(date-time)
Required
example2024-11-11T00:00:00Z

The end date and time in ISO-8601 format for the analytics data to be retrieved to.

sent
integer
example100

The number of messages sent using the WhatsApp Template.

delivered
integer
example90

The number of messages delivered using the WhatsApp Template.

read
integer
example80

The number of messages read using the WhatsApp Template.

clicked
integer
example70

The number of messages clicked using the WhatsApp Template.

_links
object
self
object
href
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/template-analytics?template_ids=[458951126288937]&start=2024-11-10&end=2024-11-14&page_size=100&cursor=c2VsZj1udWxs

The URL to the current page of WhatsApp Template Analytics.

Example Response

{
   "granularity": "DAILY",
   "product_type": "cloud_api",
   "page_size": 100,
   "_embedded": {
      "template_analytics": [
         {
            "template_id": "458951126288942",
            "start": "2024-11-11T00:00:00Z",
            "end": "2024-11-11T00:00:00Z",
            "sent": 100,
            "delivered": 90,
            "read": 80,
            "clicked": 70
         }
      ]
   },
   "_links": {
      "self": {
         "href": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/template-analytics?template_ids=[458951126288937]&start=2024-11-10&end=2024-11-14&page_size=100&cursor=c2VsZj1udWxs"
      }
   }
}

Get Messaging Analytics

Get analytics for WhatsApp messages

gethttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/:waba_id/messaging-analytics

Authentication

This API supports both JWT and Basic authentication. Basic authentication is easier to get started with, but does not support advanced features such as ACLs.

You can use either JWT or Basic authentication, but not both at the same time.

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

waba_id
string
Required
example345688589250625

The waba_id of the WhatsApp Business Account (WABA) for which to retrieve the messaging analytics data.

Query Parameters

granularity
string
exampleHALF_HOUR

The granularity of the messaging analytics data to be retrieved.

Must be one of:HALF_HOURDAILYMONTHLY
start
string(timestamp)
example2024-11-01

The start date and time in ISO-8601 format for the analytics data to be retrieved from, in the format YYYY-MM-DD.

end
string(timestamp)
example2024-11-03

The end date and time in ISO-8601 format for the analytics data to be retrieved to, in the format YYYY-MM-DD.

product_types
array
example[ 0 ]

An array of the message types to retrieve analytics for. Possible values are 0 for notification messages and/or 2 for customer support messages. If not specified, analytics for all message types will be returned.

Available Values:
0,2
phone_numbers
array
example[ "16505550111" ]

Phone numbers for which you would like to retrieve analytics. If not specified, analytics for all phone numbers associated with the WABA will be returned.

country_codes
array
example[ "US" ]

Two-letter country codes for the countries for which you would like to retrieve analytics. If not specified, analytics for all countries will be returned.

Responses
Content Type
application/json

OK

id
string
example345688589250625

The ID of the WhatsApp Business Account (WABA) for which the messaging analytics were retrieved.

granularity
string
exampleHALF_HOUR

The granularity of the template analytics retrieved.

Must be one of:HALF_HOURDAILYMONTHLY
phone_numbers
array

Phone numbers for which the messaging analytics were retrieved.

country_codes
array

Two-letter country codes for the countries for which the messaging analytics were retrieved.

_embedded
object
messaging_analytics
array
start
string(timestamp)
Required
example1543543200

The UNIX timestamp for the start of the data point range.

end
string(timestamp)
Required
example1543629600

The UNIX timestamp for the end of the data point range.

sent
integer
Required
example100

The number of messages sent within the data point range.

delivered
integer
Required
example90

The number of messages delivered within the data point range.

paging
object
cursors
object
before
string
exampleMAZDZD

The page before the first page in the current list

after
string
exampleMjQZD

The page after the last page in the current list

next
string(uri)
examplehttps://api.nexmo.com/v2/channel-manager/wabas/106499765517625/messaging-analytics?after=MAZDZD

A URI to ge the next paginated page.

previous
string(uri)
examplehttps://api.nexmo.com/v2/channel-manager/wabas/106499765517625/messaging-analytics?before=MjQZD

A URI to ge the previous paginated page.

Example Response

{
   "id": "345688589250625",
   "granularity": "HALF_HOUR",
   "phone_numbers": [
      "16505550111"
   ],
   "country_codes": [
      "US"
   ],
   "_embedded": {
      "messaging_analytics": [
         {
            "start": "1543543200",
            "end": "1543629600",
            "sent": 100,
            "delivered": 90
         }
      ]
   },
   "paging": {
      "cursors": {
         "before": "MAZDZD",
         "after": "MjQZD"
      },
      "next": "https://api.nexmo.com/v2/channel-manager/wabas/106499765517625/messaging-analytics?after=MAZDZD",
      "previous": "https://api.nexmo.com/v2/channel-manager/wabas/106499765517625/messaging-analytics?before=MjQZD"
   }
}

Get Pricing Analytics

Get analytics for message pricing.

gethttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/:waba_id/pricing-analytics

Authentication

This API supports both JWT and Basic authentication. Basic authentication is easier to get started with, but does not support advanced features such as ACLs.

You can use either JWT or Basic authentication, but not both at the same time.

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

waba_id
string
Required
example345688589250625

The waba_id of the WhatsApp Business Account (WABA) for which to retrieve the pricing analytics data.

Query Parameters

start
string(timestamp)
example2024-11-01

The start date and time in ISO-8601 format for the analytics data to be retrieved from, in the format YYYY-MM-DD.

end
string(timestamp)
example2024-11-03

The end date and time in ISO-8601 format for the analytics data to be retrieved to, in the format YYYY-MM-DD.

granularity
string
exampleDAILY

The granularity of the analytics data to be retrieved.

Must be one of:HALF_HOURDAILYMONTHLY
phone_numbers
array
example[ "16505550111" ]

Phone numbers for which you would like to retrieve analytics. If not specified, analytics for all phone numbers associated with the WABA will be returned.

country_codes
array
example[ "US" ]

Two-letter country codes for the countries for which you would like to retrieve analytics. If not specified, analytics for all countries will be returned.

dimensions
array
example[ "PRICING_CATEGORY" ]

List of breakdowns you would like to apply to your metrics. If empty, all results returned without any breakdowns.

Available Values:
PRICING_CATEGORY,PRICING_TYPE,COUNTRY,PHONE,TIER
tier
array
example[ "0:100000" ]

The tier property value represents a concatenation of the lower and upper bounds for the tier specific to the market–category pair (country and pricing_category).

Responses
Content Type
application/json

OK

granularity
string
exampleDAILY

The granularity of the pricing analytics retrieved.

Must be one of:DAILY
product_type
string
examplecloud_api

The product type for which the pricing analytics were retrieved.

_embedded
object
pricing_analytics
array
start
string(date-time)
example2024-11-11T00:00:00Z

The start date and time in ISO-8601 format for the analytics data to be retrieved from.

end
string(date-time)
example2024-11-11T00:00:00Z

The end date and time in ISO-8601 format for the analytics data to be retrieved to.

volume
integer
example100

The number of messages sent.

phone_number
string
example14155552671

The phone number associated with the Messaging Analytics.

country
string
exampleUS

The country for the phone number associated with the Messaging Analytics.

tier
string
example75000:150000

The pricing tier for the messages related to the Messaging Analytics.

pricing_type
string
exampleREGULAR

The pricing type for the messages related to the Messaging Analytics.

pricing_category
string
exampleAUTHENTICATION

The pricing category for the messages related to the Messaging Analytics.

paging
object
cursors
object
before
string
exampleMjQZD

The cursor the previous page of WhatsApp Pricing Analytics.

after
string
exampleMAZDZD

The cursor the next page of WhatsApp Pricing Analytics.

previous
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/pricing-analytics?before=MjQZD

The URL to the previous page of WhatsApp Pricing Analytics.

next
string
examplehttps://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/pricing-analytics?before=MAZDZD

The URL to the next page of WhatsApp Pricing Analytics.

Example Response

{
   "granularity": "DAILY",
   "product_type": "cloud_api",
   "_embedded": {
      "pricing_analytics": [
         {
            "start": "2024-11-11T00:00:00Z",
            "end": "2024-11-11T00:00:00Z",
            "volume": 100,
            "phone_number": "14155552671",
            "country": "US",
            "tier": "75000:150000",
            "pricing_type": "REGULAR",
            "pricing_category": "AUTHENTICATION"
         }
      ]
   },
   "paging": {
      "cursors": {
         "before": "MjQZD",
         "after": "MAZDZD"
      },
      "previous": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/pricing-analytics?before=MjQZD",
      "next": "https://api.nexmo.com/v1/channel-manager/whatsapp/wabas/345688589250625/pricing-analytics?before=MAZDZD"
   }
}

WhatsApp Notification Subscriptions

API endpoints relating to subscriptions for WhatsApp Notification

List Notification Subscriptions

Get a list of all notification subscriptions for the main API key

gethttps://api.nexmo.com/v2/whatsapp-manager/subscriptions

Authentication

This API supports both JWT and Basic authentication. Basic authentication is easier to get started with, but does not support advanced features such as ACLs.

You can use either JWT or Basic authentication, but not both at the same time.

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Responses
Content Type
application/json

OK

array
Any Of
created_at
timestamp
Required
example2024-11-01T12:00:00Z

The date and time when the subscription was created, in ISO-8601 format.

id
string
Required
example9fa85698-c92a-4786-be0e-b5a489425120

The unique ID of the subscription

type
string
Required
exampleslack

The subscription type

Must be one of:slack
label
string
exampleMy WhatsApp Subscription

An optional label for the subscription

whatsapp_subscribe_types
string
exampleaccount_alerts,account_update

A comma-separated list of the WhatsApp notification types that the subscription is for. Supports all the notification types available for WhatsApp accounts listed here. When a new subscription is created, if this parameter is not specified then the subscription will include all of the subscription types.

vonage_subscribe_types
string
examplevonage_number_onboarded

A comma-separated list of the Vonage notification types that the subscription is for.

Must be one of:vonage_number_onboarded
slack
object
Required

The Slack hook configuration for the subscription, where the subscription type is slack.

url
string(uri)
Required
examplehttps://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

The URL of the Slack hook to which the WhatsApp notifications will be sent

Example Response

[
   {
      "id": "9fa85698-c92a-4786-be0e-b5a489425120",
      "type": "slack",
      "label": "My WhatsApp Slack Subscription",
      "whatsapp_subscribe_types": "account_alerts,account_update",
      "vonage_subscribe_types": "vonage_number_onboarded",
      "created_at": "2024-11-01T12:00:00Z",
      "slack": {
         "url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
      }
   },
   {
      "id": "8bceefe2-ebc8-4aa6-a4a3-73d837b3d416",
      "type": "webhook",
      "label": "My WhatsApp Webhook Subscription",
      "whatsapp_subscribe_types": "account_alerts,account_update",
      "vonage_subscribe_types": "vonage_number_onboarded",
      "created_at": "2024-11-01T12:00:00Z",
      "webhook": {
         "url": "https://example.com/webhook"
      }
   }
]

Create a Notification Subscription

Create a new notification subscription for the main API key

posthttps://api.nexmo.com/v2/whatsapp-manager/subscriptions

Authentication

This API supports both JWT and Basic authentication. Basic authentication is easier to get started with, but does not support advanced features such as ACLs.

You can use either JWT or Basic authentication, but not both at the same time.

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Request Body
Content Type
application/json

One Of
type
string
Required
exampleslack

The type of subscription to create

Must be one of:slack
label
string
exampleMy WhatsApp Subscription

An optional label for the subscription

whatsapp_subscribe_types
string
exampleaccount_alerts,account_update

A comma-separated list of the WhatsApp notification types that the subscription is for. Supports all the notification types available for WhatsApp accounts listed here. When a new subscription is created, if this parameter is not specified then the subscription will include all of the subscription types.

vonage_subscribe_types
string
examplevonage_number_onboarded

A comma-separated list of the Vonage notification types that the subscription is for.

Must be one of:vonage_number_onboarded
slack
object
Required

The Slack hook configuration for the subscription, where the subscription type is slack.

url
string(uri)
Required
examplehttps://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

The URL of the Slack hook to which the WhatsApp notifications will be sent

Example Request

{
   "label": "My WhatsApp Subscription",
   "whatsapp_subscribe_types": "account_alerts,account_update",
   "vonage_subscribe_types": "vonage_number_onboarded",
   "slack": {
      "url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
   },
   "type": "slack"
}

Responses
Content Type
application/json

OK

One Of
created_at
timestamp
Required
example2024-11-01T12:00:00Z

The date and time when the subscription was created, in ISO-8601 format.

id
string
Required
example9fa85698-c92a-4786-be0e-b5a489425120

The unique ID of the subscription

type
string
Required
exampleslack

The subscription type

Must be one of:slack
label
string
exampleMy WhatsApp Subscription

An optional label for the subscription

whatsapp_subscribe_types
string
exampleaccount_alerts,account_update

A comma-separated list of the WhatsApp notification types that the subscription is for. Supports all the notification types available for WhatsApp accounts listed here. When a new subscription is created, if this parameter is not specified then the subscription will include all of the subscription types.

vonage_subscribe_types
string
examplevonage_number_onboarded

A comma-separated list of the Vonage notification types that the subscription is for.

Must be one of:vonage_number_onboarded
slack
object
Required

The Slack hook configuration for the subscription, where the subscription type is slack.

url
string(uri)
Required
examplehttps://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

The URL of the Slack hook to which the WhatsApp notifications will be sent

Example Response

{
   "label": "My WhatsApp Subscription",
   "whatsapp_subscribe_types": "account_alerts,account_update",
   "vonage_subscribe_types": "vonage_number_onboarded",
   "slack": {
      "url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
   },
   "created_at": "2024-11-01T12:00:00Z",
   "id": "9fa85698-c92a-4786-be0e-b5a489425120",
   "type": "slack"
}

Delete a Notification Subscription

Delete a notification subscription for the main API key

deletehttps://api.nexmo.com/v2/whatsapp-manager/subscriptions/:subscription_id

Authentication

This API supports both JWT and Basic authentication. Basic authentication is easier to get started with, but does not support advanced features such as ACLs.

You can use either JWT or Basic authentication, but not both at the same time.

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

subscription_id
string
Required
example9fa85698-c92a-4786-be0e-b5a489425120

The ID of the notification subscription to delete.

Responses

No Content

RCS Capability Checks

API endpoints relating to checking RCS capabilities of a device or devices

RCS Capabilities Device Check

Get RCS Capabilities for a Specific Device. Please note that this operation is deprecated, please refer to this one instead.

gethttps://api.nexmo.com/v1/channel-manager/rcs/agents/:sender_id/google/phones/:phone_number/capabilities

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Path Parameters

sender_id
string
Required
exampleVonageAgent

The Sender ID of your RCS Agent.

phone_number
string
Required
example447900000000

The phone number of the device to check.

Responses
Content Type
application/json

OK

features
array

A list of RCS capabilities for the device being checked.

Available Values:
RICHCARD,RICHCARD_CAROUSEL,CREATE_CALENDAR_EVENT,DIAL_PHONE_NUMBER,OPEN_URL,SHARE_LOCATION,VIEW_LOCATION

Example Response

{
   "features": [
      "RICHCARD",
      "RICHCARD_CAROUSEL",
      "CREATE_CALENDAR_EVENT",
      "DIAL_PHONE_NUMBER",
      "OPEN_URL",
      "SHARE_LOCATION",
      "VIEW_LOCATION"
   ]
}

RCS Capabilities Device Check

Get RCS Capabilities for a Specific Device

posthttps://api.nexmo.com/v1/channel-manager/rcs/agents/:sender_id/devices/capabilities

Authentication

This API supports both JWT and Basic authentication. Basic authentication is easier to get started with, but does not support advanced features such as ACLs.

You can use either JWT or Basic authentication, but not both at the same time.

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

sender_id
string
Required
exampleVonageAgent

The Sender ID of your RCS Agent.

Request Body
Content Type
application/json

msisdn
string
Required
example+447900000000

The phone number of the device to check in E.164 format.

country
string
Required
exampleGB

The country code of the device to check.

Example Request

{
   "msisdn": "+447900000000",
   "country": "GB"
}

Responses
Content Type
application/json

OK

rcs_supported
boolean
exampletrue

Indicates if RCS is supported on the device.

features
array

A list of RCS capabilities for the device being checked.

Available Values:
RICHCARD_STANDALONE,RICHCARD_CAROUSEL,ACTION_CREATE_CALENDAR_EVENT,ACTION_DIAL,ACTION_OPEN_URL,ACTION_SHARE_LOCATION,ACTION_VIEW_LOCATION

Example Response

{
   "rcs_supported": true,
   "features": [
      "RICHCARD_STANDALONE",
      "ACTION_CREATE_CALENDAR_EVENT",
      "ACTION_DIAL",
      "ACTION_OPEN_URL",
      "ACTION_SHARE_LOCATION",
      "ACTION_VIEW_LOCATION",
      "RICHCARD_CAROUSEL"
   ]
}

RCS Capabilities Bulk Check

Perform an RCS Capability Check for Multiple Devices. See the RCS Capability Checks documentation for more information.

posthttps://api.nexmo.com/v1/channel-manager/rcs/agents/:sender_id/google/:operation

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Path Parameters

sender_id
string
Required
exampleVonageAgent

The Sender ID of your RCS Agent.

operation
string
Required

The operation to perform.

Must be one of:users:batchGet

Request Body
Content Type
application/json

users
array

An array of phone numbers to check.

Example Request

{
   "users": [
      "447900000000",
      "447900000001"
   ]
}

Responses
Content Type
application/json

OK

One Of
reachableUsers
array

A list of specific numbers for devices that reachable for RCS messaging.

Example Response»Response where 500 numbers or less submitted.

{
   "reachableUsers": [
      "447900000000",
      "447900000001"
   ]
}

RCS Brand Management

API endpoints relating to managing RCS Brands

List Brands

Retrieve a list of RCS Brands.

gethttps://api.nexmo.com/v1/channel-manager/rcs/brands

Authentication

KeyDescriptionWhereExample
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Responses
Content Type
application/json

OK

array
brands
array
Required
id
string(uuid)
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The unique ID of the RCS Brand.

display_name
string
Required
exampleMy RCS Brand

The name of the RCS Brand.

Example Response

[
   {
      "brands": [
         {
            "id": "78d335fa-323d-0114-9c3d-d6f0d48968cf",
            "display_name": "My RCS Brand"
         }
      ]
   }
]

Create Brand

Create a new RCS Brand.

posthttps://api.nexmo.com/v1/channel-manager/rcs/brands

Authentication

KeyDescriptionWhereExample
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Request Body
Content Type
application/json

display_name
string
Required
Max100
exampleMy RCS Brand

The name of the RCS Brand.

Example Request

{
   "display_name": "My RCS Brand"
}

Responses
Content Type
application/json

Created

id
string(uuid)
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The unique ID of the RCS Brand.

display_name
string
Required
exampleMy RCS Brand

The name of the RCS Brand.

Example Response

{
   "id": "78d335fa-323d-0114-9c3d-d6f0d48968cf",
   "display_name": "My RCS Brand"
}

Update Brand

Update an existing RCS Brand.

patchhttps://api.nexmo.com/v1/channel-manager/rcs/brands/:brand_id

Authentication

KeyDescriptionWhereExample
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

brand_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The brand_id of the RCS Brand to update.

Request Body
Content Type
application/json

display_name
string
Required
Max100
exampleMy Updated RCS Brand

The name of the RCS Brand.

Example Request

{
   "display_name": "My Updated RCS Brand"
}

Responses
Content Type
application/json

OK

id
string(uuid)
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The unique ID of the RCS Brand.

display_name
string
Required
exampleMy RCS Brand

The name of the RCS Brand.

Example Response

{
   "id": "78d335fa-323d-0114-9c3d-d6f0d48968cf",
   "display_name": "My RCS Brand"
}

Delete Brand

Delete an existing RCS Brand.

deletehttps://api.nexmo.com/v1/channel-manager/rcs/brands/:brand_id

Authentication

KeyDescriptionWhereExample
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

brand_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The brand_id of the RCS Brand to delete.

Responses

No Content

RCS Agent Management

API endpoints relating to managing RCS Agents

List Agents

Retrieve a list of RCS Agents.

gethttps://api.nexmo.com/v1/channel-manager/rcs/agents

Authentication

KeyDescriptionWhereExample
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Query Parameters

brand_id
string
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The id of an RCS Brand to filter by.

state
string
exampleDRAFT

The state of the RCS Agent to filter by.

Must be one of:DRAFTCREATEDVERIFIEDLAUNCHEDREJECTEDUNLAUNCHED
agent_purpose
string
exampleMULTI_USE

The agent_purpose of the RCS Agent to filter by.

Must be one of:OTPMULTI_USEPROMOTIONALTRANSACTIONAL
billing_category
string
exampleSINGLE_MESSAGE

The billing_category of the RCS Agent to filter by.

Must be one of:SINGLE_MESSAGECONVERSATIONALBASIC_MESSAGE
hosting_region
string
exampleNORTH_AMERICA

The hosting_region of the RCS Agent to filter by.

Must be one of:NORTH_AMERICAEUROPEASIA_PACIFIC
page_size
integer
example10

The number of results to return per page. Default is 20.

order
string
exampleasc

The order in which to return the results.

Must be one of:ascdesc
page
integer
example2

The page number to return. Default is 1.

Responses
Content Type
application/json

OK

_embedded
object
Required
agents
array
Required
id
string(uuid)
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The unique ID of the created RCS Agent.

state
string
exampleDRAFT

The current state of the created RCS Agent.

basic_info
object
Required
brand_id
string
Required
example0198095f-f18a-7f75-aa0a-59c3dfd68802

The id of the RCS Brand with which to associate this agent.

display_name
string
Required
exampleExample Co

The unique display name of the RCS Agent.

sender_id
string
Required
exampleExampleCo-RCSAgent-1

A unique sender identifier on the Vonage platform. This cannot be blank, include whitespaces, or be changed after creation. The sender ID is used as the from value when sending RCS messages via the Messages API.

hosting_region
string
Required
exampleNORTH_AMERICA

The geographic location where your RCS business messaging service will be hosted and operated. This can affect data residency and compliance requirements.

Must be one of:NORTH_AMERICAEUROPEASIA_PACIFIC
agent_purpose
string
Required
exampleTRANSACTIONAL

Specifies the intended use of the RCS Agent. This cannot be changed after creation.

Must be one of:PROMOTIONALTRANSACTIONALOTPMULTI_USE
billing_category
string
Required
exampleBASIC_MESSAGE

Specifies the pricing model applied to messages sent via this RCS Agent.

Must be one of:BASIC_MESSAGESINGLE_MESSAGECONVERSATIONAL
notes
string
exampleThis agent is used for transactional messages only.

Additional notes or comments about the RCS Agent.

visual_design
object
brand_color
string
Required
example#8860CD

The hexadecimal color code for the primary color used in UI elements. The specified color must meet WCAG 2.1 contrast ratio of 4.5:1 for legibility.

email
object
Required
address
string
Required
examplesupport@example.com

The contact email address for the RCS Agent.

label
string
Max25
exampleCustomer Support

A label for the email address.

phone
object
Required
number
string
Required
example+1234567890

End-user contact number in E.164 format.

label
string
Max25
exampleCustomer Support

A label for the phone number.

tagline
string
Required
Max100
exampleYour trusted partner in messaging.

A short phrase that represents the RCS Agent.

website
array
Required
address
string(uri)
Required
label
string
Max25
exampleCompany Website

A label for the website URL.

privacy_policy
string(uri)
examplehttps://www.example.com/privacy-policy

The publicly accessible URL of the privacy policy for the RCS Agent.

terms_of_service
string(uri)
examplehttps://www.example.com/terms-of-service

The publicly accessible URL of the terms of service for the RCS Agent.

application_settings
object
application_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The id of the Vonage application with which to associate this agent.

representative
object
first_name
string
Required
Max200
exampleJohn

The first name of the representative for the RCS Agent.

last_name
string
Required
Max200
exampleDoe

The last name of the representative for the RCS Agent.

email
string(email)
Required
examplejohn.doe@example.com

The email address of the representative.

brand_website
string(uri)
examplehttps://www.example.com

The website URL of the brand represented by the RCS Agent.

carrier_requirements
object
agent_preview
object
Required
agent_access_instructions
string
Required
exampleProvide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. If you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. Test the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.

Agent access instructions specify how reviewers and testers can access and interact with your RBM agent during the review and testing phases before launch. This property provides guidance on methods for triggering agent functionality and testing various features.

urls
array
media_type
string
Required
exampleimage

The media type of the agent preview.

Must be one of:imagevideo
url
string(uri)
examplehttps://www.example.com/rcs-agent-preview.jpg

The URL to the agent preview.

points_of_contact
array
Required

A list of points of contact for the RCS Agent.

first_name
string
Required
Max200
exampleJane

The first name of the point of contact.

last_name
string
Required
Max200
exampleSmith

The last name of the point of contact.

email
string(email)
Required
examplejane.smith@example.com

The email address of the point of contact.

job_title
string
Required
Max200
exampleTechnical Support

The job title of the point of contact.

traffic_estimates
object
Required

Traffic estimates for the RCS Agent.

average_global_traffic
string
Required
exampleTHOUSAND

Estimated global traffic.

Must be one of:THOUSANDTEN_THOUSANDFIFTY_THOUSANDHUNDRED_THOUSANDMILLIONMILLION_AND_MORE
average_message_rate_per_user
string
Required
exampleONCE_PER_MONTH

Estimated message rate per user.

Must be one of:ONCE_PER_MONTH2_4_TIMES_PER_MONTHONCE_PER_WEEK2_6_TIMES_PER_WEEKDAILYMULTIPLE_TIMES_PER_DAY
users_targeted
string
Required
exampleHUNDRED

Estimated number of users targeted.

Must be one of:HUNDREDTHOUSANDTEN_THOUSANDHUNDRED_THOUSANDHALF_MILLIONMILLIONMILLION_AND_MORE
user_experience
object
Required
interactions_description
string
Required
Max10000
exampleThis agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. Secondary interactions may include promotional offers for existing customers and appointment scheduling assistance.

This field describes the primary and secondary types of interactions your RBM agent will have with users. It outlines the conversational patterns, message types, and engagement scenarios your agent supports.

optin_description
string
Required
Max10000
exampleThis is a test environment. Customers consent to receive messages directly via request, phone, or email. Users can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. Opt-in confirmation includes details about message frequency and content type.

Details how users will provide consent to receive messages from your RBM agent. This must clearly explain the opt-in mechanism and what users can expect when they subscribe to your messaging service.

optout_description
string
Required
Max10000
exampleCustomers can unsubscribe from receiving messages by replying 'STOP' to any message. They can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, and can re-subscribe at any time by replying 'START'.

Explains how users can unsubscribe from receiving messages from your agent. Must describe the process for users to stop receiving communications and how your system handles these requests.

trigger_description
string
Required
Max10000
exampleThis account is used exclusively for sending test messages to introduce RCS capabilities to customers. Triggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, and weekly promotional campaigns for opted-in users.

Defines the external events or conditions that will cause your RBM agent to initiate conversations with users. These triggers determine when and why your agent sends the first message to users.

created_at
string(date-time)
example2023-01-01T12:00:00Z

The date and time when the RCS Agent was created.

updated_at
string(date-time)
example2023-01-01T12:00:00Z

The date and time when the RCS Agent was last updated.

test_devices
array
id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The id of the test device.

phone
string
Required
example+1234567890

The phone number of the test device in E.164 format.

status
string
Required
exampleACCEPTED

The current status of the test device.

created_at
string(date-time)
Required
example2023-01-01T12:00:00Z

The date and time when the test device was created.

carriers
object
id
string
Required
exampleatt-us

The id of the carrier.

launch_state
string
exampleLAUNCH_STATE_UNLAUNCHED

The launch state of the carrier.

Must be one of:LAUNCH_STATE_UNSPECIFIEDLAUNCH_STATE_UNLAUNCHEDLAUNCH_STATE_PENDINGLAUNCH_STATE_LAUNCHEDLAUNCH_STATE_REJECTEDLAUNCH_STATE_SUSPENDEDLAUNCH_STATE_PENDING_UNLAUNCHLAUNCH_STATE_INVALID_IN_GMB
verification_details
object
status
string
exampleVERIFICATION_STATE_UNVERIFIED

The verification status of the RCS Agent.

launch_submitted_at
string(date-time)
example2023-01-01T12:00:00Z

The date and time when the RCS Agent launch was submitted.

_links
object
Required
self
object

The link for the current page.

href
string
examplehttps://api.nexmo.com/v1/channel-manager/rcs/agents?page=1
first
object

The link for the next page.

href
string
examplehttps://api.nexmo.com/v1/channel-manager/rcs/agents?page=1
last
object

The link for the previous page.

href
string
examplehttps://api.nexmo.com/v1/channel-manager/rcs/agents?page=10
page
integer
Required
example1

The current page number.

page_size
integer
Required
example10

The number of items per page.

total_items
integer
Required
example100

The total number of items.

total_pages
integer
Required
example10

The total number of pages.

Example Response

{
   "_embedded": {
      "agents": [
         {
            "id": "78d335fa-323d-0114-9c3d-d6f0d48968cf",
            "state": "DRAFT",
            "basic_info": {
               "brand_id": "0198095f-f18a-7f75-aa0a-59c3dfd68802",
               "display_name": "Example Co",
               "sender_id": "ExampleCo-RCSAgent-1",
               "hosting_region": "NORTH_AMERICA",
               "agent_purpose": "TRANSACTIONAL",
               "billing_category": "BASIC_MESSAGE",
               "notes": "This agent is used for transactional messages only."
            },
            "visual_design": {
               "brand_color": "#8860CD",
               "email": {
                  "address": "support@example.com",
                  "label": "Customer Support"
               },
               "phone": {
                  "number": "+1234567890",
                  "label": "Customer Support"
               },
               "tagline": "Your trusted partner in messaging.",
               "website": {
                  "address": "https://www.example.com"
               },
               "privacy_policy": "https://www.example.com/privacy-policy",
               "terms_of_service": "https://www.example.com/terms-of-service"
            },
            "application_settings": {
               "application_id": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
            },
            "representative": {
               "first_name": "John",
               "last_name": "Doe",
               "email": "john.doe@example.com",
               "brand_website": "https://www.example.com"
            },
            "carrier_requirements": {
               "agent_preview": {
                  "agent_access_instructions": "Provide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. \nIf you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. \nTest the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.\n",
                  "urls": [
                     {
                        "media_type": "image",
                        "url": "https://www.example.com/rcs-agent-preview.jpg"
                     }
                  ]
               },
               "points_of_contact": [
                  {
                     "first_name": "Jane",
                     "last_name": "Smith",
                     "email": "jane.smith@example.com",
                     "job_title": "Technical Support"
                  }
               ],
               "traffic_estimates": {
                  "average_global_traffic": "THOUSAND",
                  "average_message_rate_per_user": "ONCE_PER_MONTH",
                  "users_targeted": "HUNDRED"
               },
               "user_experience": {
                  "interactions_description": "This agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. \nSecondary interactions may include promotional offers for existing customers and appointment scheduling assistance.\n",
                  "optin_description": "This is a test environment. Customers consent to receive messages directly via request, phone, or email. \nUsers can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. \nOpt-in confirmation includes details about message frequency and content type.\n",
                  "optout_description": "Customers can unsubscribe from receiving messages by replying 'STOP' to any message. \nThey can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, \nand can re-subscribe at any time by replying 'START'.\n",
                  "trigger_description": "This account is used exclusively for sending test messages to introduce RCS capabilities to customers. \nTriggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, \nand weekly promotional campaigns for opted-in users.\n"
               }
            },
            "created_at": "2023-01-01T12:00:00Z",
            "updated_at": "2023-01-01T12:00:00Z",
            "test_devices": [
               {
                  "id": "78d335fa-323d-0114-9c3d-d6f0d48968cf",
                  "phone": "+1234567890",
                  "status": "ACCEPTED",
                  "created_at": "2023-01-01T12:00:00Z"
               }
            ],
            "carriers": {
               "id": "att-us",
               "launch_state": "LAUNCH_STATE_UNLAUNCHED"
            },
            "verification_details": {
               "status": "VERIFICATION_STATE_UNVERIFIED"
            },
            "launch_submitted_at": "2023-01-01T12:00:00Z"
         }
      ]
   },
   "_links": {
      "self": {
         "href": "https://api.nexmo.com/v1/channel-manager/rcs/agents?page=1"
      },
      "first": {
         "href": "https://api.nexmo.com/v1/channel-manager/rcs/agents?page=1"
      },
      "last": {
         "href": "https://api.nexmo.com/v1/channel-manager/rcs/agents?page=10"
      }
   },
   "page": 1,
   "page_size": 10,
   "total_items": 100,
   "total_pages": 10
}

Create Agent

Create a new RCS Agent.

posthttps://api.nexmo.com/v1/channel-manager/rcs/agents

Authentication

KeyDescriptionWhereExample
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Request Body
Content Type
application/json

application_settings
object
Required
application_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The id of the Vonage application with which to associate this agent.

basic_info
object
Required
brand_id
string
Required
example0198095f-f18a-7f75-aa0a-59c3dfd68802

The id of the RCS Brand with which to associate this agent.

display_name
string
Required
exampleExample Co

The unique display name of the RCS Agent.

sender_id
string
Required
exampleExampleCo-RCSAgent-1

A unique sender identifier on the Vonage platform. This cannot be blank, include whitespaces, or be changed after creation. The sender ID is used as the from value when sending RCS messages via the Messages API.

hosting_region
string
Required
exampleNORTH_AMERICA

The geographic location where your RCS business messaging service will be hosted and operated. This can affect data residency and compliance requirements.

Must be one of:NORTH_AMERICAEUROPEASIA_PACIFIC
agent_purpose
string
Required
exampleTRANSACTIONAL

Specifies the intended use of the RCS Agent. This cannot be changed after creation.

Must be one of:PROMOTIONALTRANSACTIONALOTPMULTI_USE
billing_category
string
Required
exampleBASIC_MESSAGE

Specifies the pricing model applied to messages sent via this RCS Agent.

Must be one of:BASIC_MESSAGESINGLE_MESSAGECONVERSATIONAL
notes
string
exampleThis agent is used for transactional messages only.

Additional notes or comments about the RCS Agent.

visual_design
object
Required
brand_color
string
Required
example#8860CD

The hexadecimal color code for the primary color used in UI elements. The specified color must meet WCAG 2.1 contrast ratio of 4.5:1 for legibility.

email
object
Required
address
string
Required
examplesupport@example.com

The contact email address for the RCS Agent.

label
string
Max25
exampleCustomer Support

A label for the email address.

phone
object
Required
number
string
Required
example+1234567890

End-user contact number in E.164 format.

label
string
Max25
exampleCustomer Support

A label for the phone number.

tagline
string
Required
Max100
exampleYour trusted partner in messaging.

A short phrase that represents the RCS Agent.

website
array
Required
address
string(uri)
Required
label
string
Max25
exampleCompany Website

A label for the website URL.

privacy_policy
string(uri)
examplehttps://www.example.com/privacy-policy

The publicly accessible URL of the privacy policy for the RCS Agent.

terms_of_service
string(uri)
examplehttps://www.example.com/terms-of-service

The publicly accessible URL of the terms of service for the RCS Agent.

representative
object
first_name
string
Required
Max200
exampleJohn

The first name of the representative for the RCS Agent.

last_name
string
Required
Max200
exampleDoe

The last name of the representative for the RCS Agent.

email
string(email)
Required
examplejohn.doe@example.com

The email address of the representative.

brand_website
string(uri)
examplehttps://www.example.com

The website URL of the brand represented by the RCS Agent.

carrier_requirements
object
agent_preview
object
Required
agent_access_instructions
string
Required
exampleProvide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. If you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. Test the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.

Agent access instructions specify how reviewers and testers can access and interact with your RBM agent during the review and testing phases before launch. This property provides guidance on methods for triggering agent functionality and testing various features.

urls
array
media_type
string
Required
exampleimage

The media type of the agent preview.

Must be one of:imagevideo
url
string(uri)
examplehttps://www.example.com/rcs-agent-preview.jpg

The URL to the agent preview.

points_of_contact
array
Required

A list of points of contact for the RCS Agent.

first_name
string
Required
Max200
exampleJane

The first name of the point of contact.

last_name
string
Required
Max200
exampleSmith

The last name of the point of contact.

email
string(email)
Required
examplejane.smith@example.com

The email address of the point of contact.

job_title
string
Required
Max200
exampleTechnical Support

The job title of the point of contact.

traffic_estimates
object
Required

Traffic estimates for the RCS Agent.

average_global_traffic
string
Required
exampleTHOUSAND

Estimated global traffic.

Must be one of:THOUSANDTEN_THOUSANDFIFTY_THOUSANDHUNDRED_THOUSANDMILLIONMILLION_AND_MORE
average_message_rate_per_user
string
Required
exampleONCE_PER_MONTH

Estimated message rate per user.

Must be one of:ONCE_PER_MONTH2_4_TIMES_PER_MONTHONCE_PER_WEEK2_6_TIMES_PER_WEEKDAILYMULTIPLE_TIMES_PER_DAY
users_targeted
string
Required
exampleHUNDRED

Estimated number of users targeted.

Must be one of:HUNDREDTHOUSANDTEN_THOUSANDHUNDRED_THOUSANDHALF_MILLIONMILLIONMILLION_AND_MORE
user_experience
object
Required
interactions_description
string
Required
Max10000
exampleThis agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. Secondary interactions may include promotional offers for existing customers and appointment scheduling assistance.

This field describes the primary and secondary types of interactions your RBM agent will have with users. It outlines the conversational patterns, message types, and engagement scenarios your agent supports.

optin_description
string
Required
Max10000
exampleThis is a test environment. Customers consent to receive messages directly via request, phone, or email. Users can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. Opt-in confirmation includes details about message frequency and content type.

Details how users will provide consent to receive messages from your RBM agent. This must clearly explain the opt-in mechanism and what users can expect when they subscribe to your messaging service.

optout_description
string
Required
Max10000
exampleCustomers can unsubscribe from receiving messages by replying 'STOP' to any message. They can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, and can re-subscribe at any time by replying 'START'.

Explains how users can unsubscribe from receiving messages from your agent. Must describe the process for users to stop receiving communications and how your system handles these requests.

trigger_description
string
Required
Max10000
exampleThis account is used exclusively for sending test messages to introduce RCS capabilities to customers. Triggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, and weekly promotional campaigns for opted-in users.

Defines the external events or conditions that will cause your RBM agent to initiate conversations with users. These triggers determine when and why your agent sends the first message to users.

Example Request

{
   "application_settings": {
      "application_id": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
   },
   "basic_info": {
      "brand_id": "0198095f-f18a-7f75-aa0a-59c3dfd68802",
      "display_name": "Example Co",
      "sender_id": "ExampleCo-RCSAgent-1",
      "hosting_region": "NORTH_AMERICA",
      "agent_purpose": "TRANSACTIONAL",
      "billing_category": "BASIC_MESSAGE",
      "notes": "This agent is used for transactional messages only."
   },
   "visual_design": {
      "brand_color": "#8860CD",
      "email": {
         "address": "support@example.com",
         "label": "Customer Support"
      },
      "phone": {
         "number": "+1234567890",
         "label": "Customer Support"
      },
      "tagline": "Your trusted partner in messaging.",
      "website": {
         "address": "https://www.example.com"
      },
      "privacy_policy": "https://www.example.com/privacy-policy",
      "terms_of_service": "https://www.example.com/terms-of-service"
   },
   "representative": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@example.com",
      "brand_website": "https://www.example.com"
   },
   "carrier_requirements": {
      "agent_preview": {
         "agent_access_instructions": "Provide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. \nIf you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. \nTest the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.\n",
         "urls": [
            {
               "media_type": "image",
               "url": "https://www.example.com/rcs-agent-preview.jpg"
            }
         ]
      },
      "points_of_contact": [
         {
            "first_name": "Jane",
            "last_name": "Smith",
            "email": "jane.smith@example.com",
            "job_title": "Technical Support"
         }
      ],
      "traffic_estimates": {
         "average_global_traffic": "THOUSAND",
         "average_message_rate_per_user": "ONCE_PER_MONTH",
         "users_targeted": "HUNDRED"
      },
      "user_experience": {
         "interactions_description": "This agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. \nSecondary interactions may include promotional offers for existing customers and appointment scheduling assistance.\n",
         "optin_description": "This is a test environment. Customers consent to receive messages directly via request, phone, or email. \nUsers can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. \nOpt-in confirmation includes details about message frequency and content type.\n",
         "optout_description": "Customers can unsubscribe from receiving messages by replying 'STOP' to any message. \nThey can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, \nand can re-subscribe at any time by replying 'START'.\n",
         "trigger_description": "This account is used exclusively for sending test messages to introduce RCS capabilities to customers. \nTriggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, \nand weekly promotional campaigns for opted-in users.\n"
      }
   }
}

Responses
Content Type
application/json

Created

id
string(uuid)
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The unique ID of the created RCS Agent.

state
string
exampleDRAFT

The current state of the created RCS Agent.

basic_info
object
Required
brand_id
string
Required
example0198095f-f18a-7f75-aa0a-59c3dfd68802

The id of the RCS Brand with which to associate this agent.

display_name
string
Required
exampleExample Co

The unique display name of the RCS Agent.

sender_id
string
Required
exampleExampleCo-RCSAgent-1

A unique sender identifier on the Vonage platform. This cannot be blank, include whitespaces, or be changed after creation. The sender ID is used as the from value when sending RCS messages via the Messages API.

hosting_region
string
Required
exampleNORTH_AMERICA

The geographic location where your RCS business messaging service will be hosted and operated. This can affect data residency and compliance requirements.

Must be one of:NORTH_AMERICAEUROPEASIA_PACIFIC
agent_purpose
string
Required
exampleTRANSACTIONAL

Specifies the intended use of the RCS Agent. This cannot be changed after creation.

Must be one of:PROMOTIONALTRANSACTIONALOTPMULTI_USE
billing_category
string
Required
exampleBASIC_MESSAGE

Specifies the pricing model applied to messages sent via this RCS Agent.

Must be one of:BASIC_MESSAGESINGLE_MESSAGECONVERSATIONAL
notes
string
exampleThis agent is used for transactional messages only.

Additional notes or comments about the RCS Agent.

visual_design
object
brand_color
string
Required
example#8860CD

The hexadecimal color code for the primary color used in UI elements. The specified color must meet WCAG 2.1 contrast ratio of 4.5:1 for legibility.

email
object
Required
address
string
Required
examplesupport@example.com

The contact email address for the RCS Agent.

label
string
Max25
exampleCustomer Support

A label for the email address.

phone
object
Required
number
string
Required
example+1234567890

End-user contact number in E.164 format.

label
string
Max25
exampleCustomer Support

A label for the phone number.

tagline
string
Required
Max100
exampleYour trusted partner in messaging.

A short phrase that represents the RCS Agent.

website
array
Required
address
string(uri)
Required
label
string
Max25
exampleCompany Website

A label for the website URL.

privacy_policy
string(uri)
examplehttps://www.example.com/privacy-policy

The publicly accessible URL of the privacy policy for the RCS Agent.

terms_of_service
string(uri)
examplehttps://www.example.com/terms-of-service

The publicly accessible URL of the terms of service for the RCS Agent.

application_settings
object
application_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The id of the Vonage application with which to associate this agent.

representative
object
first_name
string
Required
Max200
exampleJohn

The first name of the representative for the RCS Agent.

last_name
string
Required
Max200
exampleDoe

The last name of the representative for the RCS Agent.

email
string(email)
Required
examplejohn.doe@example.com

The email address of the representative.

brand_website
string(uri)
examplehttps://www.example.com

The website URL of the brand represented by the RCS Agent.

carrier_requirements
object
agent_preview
object
Required
agent_access_instructions
string
Required
exampleProvide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. If you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. Test the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.

Agent access instructions specify how reviewers and testers can access and interact with your RBM agent during the review and testing phases before launch. This property provides guidance on methods for triggering agent functionality and testing various features.

urls
array
media_type
string
Required
exampleimage

The media type of the agent preview.

Must be one of:imagevideo
url
string(uri)
examplehttps://www.example.com/rcs-agent-preview.jpg

The URL to the agent preview.

points_of_contact
array
Required

A list of points of contact for the RCS Agent.

first_name
string
Required
Max200
exampleJane

The first name of the point of contact.

last_name
string
Required
Max200
exampleSmith

The last name of the point of contact.

email
string(email)
Required
examplejane.smith@example.com

The email address of the point of contact.

job_title
string
Required
Max200
exampleTechnical Support

The job title of the point of contact.

traffic_estimates
object
Required

Traffic estimates for the RCS Agent.

average_global_traffic
string
Required
exampleTHOUSAND

Estimated global traffic.

Must be one of:THOUSANDTEN_THOUSANDFIFTY_THOUSANDHUNDRED_THOUSANDMILLIONMILLION_AND_MORE
average_message_rate_per_user
string
Required
exampleONCE_PER_MONTH

Estimated message rate per user.

Must be one of:ONCE_PER_MONTH2_4_TIMES_PER_MONTHONCE_PER_WEEK2_6_TIMES_PER_WEEKDAILYMULTIPLE_TIMES_PER_DAY
users_targeted
string
Required
exampleHUNDRED

Estimated number of users targeted.

Must be one of:HUNDREDTHOUSANDTEN_THOUSANDHUNDRED_THOUSANDHALF_MILLIONMILLIONMILLION_AND_MORE
user_experience
object
Required
interactions_description
string
Required
Max10000
exampleThis agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. Secondary interactions may include promotional offers for existing customers and appointment scheduling assistance.

This field describes the primary and secondary types of interactions your RBM agent will have with users. It outlines the conversational patterns, message types, and engagement scenarios your agent supports.

optin_description
string
Required
Max10000
exampleThis is a test environment. Customers consent to receive messages directly via request, phone, or email. Users can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. Opt-in confirmation includes details about message frequency and content type.

Details how users will provide consent to receive messages from your RBM agent. This must clearly explain the opt-in mechanism and what users can expect when they subscribe to your messaging service.

optout_description
string
Required
Max10000
exampleCustomers can unsubscribe from receiving messages by replying 'STOP' to any message. They can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, and can re-subscribe at any time by replying 'START'.

Explains how users can unsubscribe from receiving messages from your agent. Must describe the process for users to stop receiving communications and how your system handles these requests.

trigger_description
string
Required
Max10000
exampleThis account is used exclusively for sending test messages to introduce RCS capabilities to customers. Triggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, and weekly promotional campaigns for opted-in users.

Defines the external events or conditions that will cause your RBM agent to initiate conversations with users. These triggers determine when and why your agent sends the first message to users.

created_at
string(date-time)
example2023-01-01T12:00:00Z

The date and time when the RCS Agent was created.

updated_at
string(date-time)
example2023-01-01T12:00:00Z

The date and time when the RCS Agent was last updated.

Example Response

{
   "id": "78d335fa-323d-0114-9c3d-d6f0d48968cf",
   "state": "DRAFT",
   "basic_info": {
      "brand_id": "0198095f-f18a-7f75-aa0a-59c3dfd68802",
      "display_name": "Example Co",
      "sender_id": "ExampleCo-RCSAgent-1",
      "hosting_region": "NORTH_AMERICA",
      "agent_purpose": "TRANSACTIONAL",
      "billing_category": "BASIC_MESSAGE",
      "notes": "This agent is used for transactional messages only."
   },
   "visual_design": {
      "brand_color": "#8860CD",
      "email": {
         "address": "support@example.com",
         "label": "Customer Support"
      },
      "phone": {
         "number": "+1234567890",
         "label": "Customer Support"
      },
      "tagline": "Your trusted partner in messaging.",
      "website": {
         "address": "https://www.example.com"
      },
      "privacy_policy": "https://www.example.com/privacy-policy",
      "terms_of_service": "https://www.example.com/terms-of-service"
   },
   "application_settings": {
      "application_id": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
   },
   "representative": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@example.com",
      "brand_website": "https://www.example.com"
   },
   "carrier_requirements": {
      "agent_preview": {
         "agent_access_instructions": "Provide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. \nIf you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. \nTest the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.\n",
         "urls": [
            {
               "media_type": "image",
               "url": "https://www.example.com/rcs-agent-preview.jpg"
            }
         ]
      },
      "points_of_contact": [
         {
            "first_name": "Jane",
            "last_name": "Smith",
            "email": "jane.smith@example.com",
            "job_title": "Technical Support"
         }
      ],
      "traffic_estimates": {
         "average_global_traffic": "THOUSAND",
         "average_message_rate_per_user": "ONCE_PER_MONTH",
         "users_targeted": "HUNDRED"
      },
      "user_experience": {
         "interactions_description": "This agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. \nSecondary interactions may include promotional offers for existing customers and appointment scheduling assistance.\n",
         "optin_description": "This is a test environment. Customers consent to receive messages directly via request, phone, or email. \nUsers can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. \nOpt-in confirmation includes details about message frequency and content type.\n",
         "optout_description": "Customers can unsubscribe from receiving messages by replying 'STOP' to any message. \nThey can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, \nand can re-subscribe at any time by replying 'START'.\n",
         "trigger_description": "This account is used exclusively for sending test messages to introduce RCS capabilities to customers. \nTriggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, \nand weekly promotional campaigns for opted-in users.\n"
      }
   },
   "created_at": "2023-01-01T12:00:00Z",
   "updated_at": "2023-01-01T12:00:00Z"
}

Get Agent

Retrieve an existing RCS Agent.

gethttps://api.nexmo.com/v1/channel-manager/rcs/agents/:agent_id

Authentication

KeyDescriptionWhereExample
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

agent_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The agent_id of the RCS Agent to retrieve.

Responses
Content Type
application/json

OK

id
string(uuid)
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The unique ID of the created RCS Agent.

state
string
exampleDRAFT

The current state of the created RCS Agent.

basic_info
object
Required
brand_id
string
Required
example0198095f-f18a-7f75-aa0a-59c3dfd68802

The id of the RCS Brand with which to associate this agent.

display_name
string
Required
exampleExample Co

The unique display name of the RCS Agent.

sender_id
string
Required
exampleExampleCo-RCSAgent-1

A unique sender identifier on the Vonage platform. This cannot be blank, include whitespaces, or be changed after creation. The sender ID is used as the from value when sending RCS messages via the Messages API.

hosting_region
string
Required
exampleNORTH_AMERICA

The geographic location where your RCS business messaging service will be hosted and operated. This can affect data residency and compliance requirements.

Must be one of:NORTH_AMERICAEUROPEASIA_PACIFIC
agent_purpose
string
Required
exampleTRANSACTIONAL

Specifies the intended use of the RCS Agent. This cannot be changed after creation.

Must be one of:PROMOTIONALTRANSACTIONALOTPMULTI_USE
billing_category
string
Required
exampleBASIC_MESSAGE

Specifies the pricing model applied to messages sent via this RCS Agent.

Must be one of:BASIC_MESSAGESINGLE_MESSAGECONVERSATIONAL
notes
string
exampleThis agent is used for transactional messages only.

Additional notes or comments about the RCS Agent.

visual_design
object
brand_color
string
Required
example#8860CD

The hexadecimal color code for the primary color used in UI elements. The specified color must meet WCAG 2.1 contrast ratio of 4.5:1 for legibility.

email
object
Required
address
string
Required
examplesupport@example.com

The contact email address for the RCS Agent.

label
string
Max25
exampleCustomer Support

A label for the email address.

phone
object
Required
number
string
Required
example+1234567890

End-user contact number in E.164 format.

label
string
Max25
exampleCustomer Support

A label for the phone number.

tagline
string
Required
Max100
exampleYour trusted partner in messaging.

A short phrase that represents the RCS Agent.

website
array
Required
address
string(uri)
Required
label
string
Max25
exampleCompany Website

A label for the website URL.

privacy_policy
string(uri)
examplehttps://www.example.com/privacy-policy

The publicly accessible URL of the privacy policy for the RCS Agent.

terms_of_service
string(uri)
examplehttps://www.example.com/terms-of-service

The publicly accessible URL of the terms of service for the RCS Agent.

application_settings
object
application_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The id of the Vonage application with which to associate this agent.

representative
object
first_name
string
Required
Max200
exampleJohn

The first name of the representative for the RCS Agent.

last_name
string
Required
Max200
exampleDoe

The last name of the representative for the RCS Agent.

email
string(email)
Required
examplejohn.doe@example.com

The email address of the representative.

brand_website
string(uri)
examplehttps://www.example.com

The website URL of the brand represented by the RCS Agent.

carrier_requirements
object
agent_preview
object
Required
agent_access_instructions
string
Required
exampleProvide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. If you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. Test the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.

Agent access instructions specify how reviewers and testers can access and interact with your RBM agent during the review and testing phases before launch. This property provides guidance on methods for triggering agent functionality and testing various features.

urls
array
media_type
string
Required
exampleimage

The media type of the agent preview.

Must be one of:imagevideo
url
string(uri)
examplehttps://www.example.com/rcs-agent-preview.jpg

The URL to the agent preview.

points_of_contact
array
Required

A list of points of contact for the RCS Agent.

first_name
string
Required
Max200
exampleJane

The first name of the point of contact.

last_name
string
Required
Max200
exampleSmith

The last name of the point of contact.

email
string(email)
Required
examplejane.smith@example.com

The email address of the point of contact.

job_title
string
Required
Max200
exampleTechnical Support

The job title of the point of contact.

traffic_estimates
object
Required

Traffic estimates for the RCS Agent.

average_global_traffic
string
Required
exampleTHOUSAND

Estimated global traffic.

Must be one of:THOUSANDTEN_THOUSANDFIFTY_THOUSANDHUNDRED_THOUSANDMILLIONMILLION_AND_MORE
average_message_rate_per_user
string
Required
exampleONCE_PER_MONTH

Estimated message rate per user.

Must be one of:ONCE_PER_MONTH2_4_TIMES_PER_MONTHONCE_PER_WEEK2_6_TIMES_PER_WEEKDAILYMULTIPLE_TIMES_PER_DAY
users_targeted
string
Required
exampleHUNDRED

Estimated number of users targeted.

Must be one of:HUNDREDTHOUSANDTEN_THOUSANDHUNDRED_THOUSANDHALF_MILLIONMILLIONMILLION_AND_MORE
user_experience
object
Required
interactions_description
string
Required
Max10000
exampleThis agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. Secondary interactions may include promotional offers for existing customers and appointment scheduling assistance.

This field describes the primary and secondary types of interactions your RBM agent will have with users. It outlines the conversational patterns, message types, and engagement scenarios your agent supports.

optin_description
string
Required
Max10000
exampleThis is a test environment. Customers consent to receive messages directly via request, phone, or email. Users can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. Opt-in confirmation includes details about message frequency and content type.

Details how users will provide consent to receive messages from your RBM agent. This must clearly explain the opt-in mechanism and what users can expect when they subscribe to your messaging service.

optout_description
string
Required
Max10000
exampleCustomers can unsubscribe from receiving messages by replying 'STOP' to any message. They can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, and can re-subscribe at any time by replying 'START'.

Explains how users can unsubscribe from receiving messages from your agent. Must describe the process for users to stop receiving communications and how your system handles these requests.

trigger_description
string
Required
Max10000
exampleThis account is used exclusively for sending test messages to introduce RCS capabilities to customers. Triggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, and weekly promotional campaigns for opted-in users.

Defines the external events or conditions that will cause your RBM agent to initiate conversations with users. These triggers determine when and why your agent sends the first message to users.

created_at
string(date-time)
example2023-01-01T12:00:00Z

The date and time when the RCS Agent was created.

updated_at
string(date-time)
example2023-01-01T12:00:00Z

The date and time when the RCS Agent was last updated.

test_devices
array
id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The id of the test device.

phone
string
Required
example+1234567890

The phone number of the test device in E.164 format.

status
string
Required
exampleACCEPTED

The current status of the test device.

created_at
string(date-time)
Required
example2023-01-01T12:00:00Z

The date and time when the test device was created.

carriers
object
id
string
Required
exampleatt-us

The id of the carrier.

launch_state
string
exampleLAUNCH_STATE_UNLAUNCHED

The launch state of the carrier.

Must be one of:LAUNCH_STATE_UNSPECIFIEDLAUNCH_STATE_UNLAUNCHEDLAUNCH_STATE_PENDINGLAUNCH_STATE_LAUNCHEDLAUNCH_STATE_REJECTEDLAUNCH_STATE_SUSPENDEDLAUNCH_STATE_PENDING_UNLAUNCHLAUNCH_STATE_INVALID_IN_GMB
verification_details
object
status
string
exampleVERIFICATION_STATE_UNVERIFIED

The verification status of the RCS Agent.

launch_submitted_at
string(date-time)
example2023-01-01T12:00:00Z

The date and time when the RCS Agent launch was submitted.

Example Response

{
   "id": "78d335fa-323d-0114-9c3d-d6f0d48968cf",
   "state": "DRAFT",
   "basic_info": {
      "brand_id": "0198095f-f18a-7f75-aa0a-59c3dfd68802",
      "display_name": "Example Co",
      "sender_id": "ExampleCo-RCSAgent-1",
      "hosting_region": "NORTH_AMERICA",
      "agent_purpose": "TRANSACTIONAL",
      "billing_category": "BASIC_MESSAGE",
      "notes": "This agent is used for transactional messages only."
   },
   "visual_design": {
      "brand_color": "#8860CD",
      "email": {
         "address": "support@example.com",
         "label": "Customer Support"
      },
      "phone": {
         "number": "+1234567890",
         "label": "Customer Support"
      },
      "tagline": "Your trusted partner in messaging.",
      "website": {
         "address": "https://www.example.com"
      },
      "privacy_policy": "https://www.example.com/privacy-policy",
      "terms_of_service": "https://www.example.com/terms-of-service"
   },
   "application_settings": {
      "application_id": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
   },
   "representative": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@example.com",
      "brand_website": "https://www.example.com"
   },
   "carrier_requirements": {
      "agent_preview": {
         "agent_access_instructions": "Provide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. \nIf you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. \nTest the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.\n",
         "urls": [
            {
               "media_type": "image",
               "url": "https://www.example.com/rcs-agent-preview.jpg"
            }
         ]
      },
      "points_of_contact": [
         {
            "first_name": "Jane",
            "last_name": "Smith",
            "email": "jane.smith@example.com",
            "job_title": "Technical Support"
         }
      ],
      "traffic_estimates": {
         "average_global_traffic": "THOUSAND",
         "average_message_rate_per_user": "ONCE_PER_MONTH",
         "users_targeted": "HUNDRED"
      },
      "user_experience": {
         "interactions_description": "This agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. \nSecondary interactions may include promotional offers for existing customers and appointment scheduling assistance.\n",
         "optin_description": "This is a test environment. Customers consent to receive messages directly via request, phone, or email. \nUsers can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. \nOpt-in confirmation includes details about message frequency and content type.\n",
         "optout_description": "Customers can unsubscribe from receiving messages by replying 'STOP' to any message. \nThey can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, \nand can re-subscribe at any time by replying 'START'.\n",
         "trigger_description": "This account is used exclusively for sending test messages to introduce RCS capabilities to customers. \nTriggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, \nand weekly promotional campaigns for opted-in users.\n"
      }
   },
   "created_at": "2023-01-01T12:00:00Z",
   "updated_at": "2023-01-01T12:00:00Z",
   "test_devices": [
      {
         "id": "78d335fa-323d-0114-9c3d-d6f0d48968cf",
         "phone": "+1234567890",
         "status": "ACCEPTED",
         "created_at": "2023-01-01T12:00:00Z"
      }
   ],
   "carriers": {
      "id": "att-us",
      "launch_state": "LAUNCH_STATE_UNLAUNCHED"
   },
   "verification_details": {
      "status": "VERIFICATION_STATE_UNVERIFIED"
   },
   "launch_submitted_at": "2023-01-01T12:00:00Z"
}

Update Agent

Fully update an existing RCS Agent.

puthttps://api.nexmo.com/v1/channel-manager/rcs/agents/:agent_id

Authentication

KeyDescriptionWhereExample
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

agent_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The agent_id of the RCS Agent to update.

Request Body
Content Type
application/json

application_settings
object
Required
application_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The id of the Vonage application with which to associate this agent.

basic_info
object
Required
brand_id
string
Required
example0198095f-f18a-7f75-aa0a-59c3dfd68802

The id of the RCS Brand with which to associate this agent.

display_name
string
Required
exampleExample Co

The unique display name of the RCS Agent.

sender_id
string
Required
exampleExampleCo-RCSAgent-1

A unique sender identifier on the Vonage platform. This cannot be blank, include whitespaces, or be changed after creation. The sender ID is used as the from value when sending RCS messages via the Messages API.

hosting_region
string
Required
exampleNORTH_AMERICA

The geographic location where your RCS business messaging service will be hosted and operated. This can affect data residency and compliance requirements.

Must be one of:NORTH_AMERICAEUROPEASIA_PACIFIC
agent_purpose
string
Required
exampleTRANSACTIONAL

Specifies the intended use of the RCS Agent. This cannot be changed after creation.

Must be one of:PROMOTIONALTRANSACTIONALOTPMULTI_USE
billing_category
string
Required
exampleBASIC_MESSAGE

Specifies the pricing model applied to messages sent via this RCS Agent.

Must be one of:BASIC_MESSAGESINGLE_MESSAGECONVERSATIONAL
notes
string
exampleThis agent is used for transactional messages only.

Additional notes or comments about the RCS Agent.

visual_design
object
Required
brand_color
string
Required
example#8860CD

The hexadecimal color code for the primary color used in UI elements. The specified color must meet WCAG 2.1 contrast ratio of 4.5:1 for legibility.

email
object
Required
address
string
Required
examplesupport@example.com

The contact email address for the RCS Agent.

label
string
Max25
exampleCustomer Support

A label for the email address.

phone
object
Required
number
string
Required
example+1234567890

End-user contact number in E.164 format.

label
string
Max25
exampleCustomer Support

A label for the phone number.

tagline
string
Required
Max100
exampleYour trusted partner in messaging.

A short phrase that represents the RCS Agent.

website
array
Required
address
string(uri)
Required
label
string
Max25
exampleCompany Website

A label for the website URL.

privacy_policy
string(uri)
examplehttps://www.example.com/privacy-policy

The publicly accessible URL of the privacy policy for the RCS Agent.

terms_of_service
string(uri)
examplehttps://www.example.com/terms-of-service

The publicly accessible URL of the terms of service for the RCS Agent.

representative
object
Required
first_name
string
Required
Max200
exampleJohn

The first name of the representative for the RCS Agent.

last_name
string
Required
Max200
exampleDoe

The last name of the representative for the RCS Agent.

email
string(email)
Required
examplejohn.doe@example.com

The email address of the representative.

brand_website
string(uri)
examplehttps://www.example.com

The website URL of the brand represented by the RCS Agent.

carrier_requirements
object
Required
agent_preview
object
Required
agent_access_instructions
string
Required
exampleProvide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. If you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. Test the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.

Agent access instructions specify how reviewers and testers can access and interact with your RBM agent during the review and testing phases before launch. This property provides guidance on methods for triggering agent functionality and testing various features.

urls
array
media_type
string
Required
exampleimage

The media type of the agent preview.

Must be one of:imagevideo
url
string(uri)
examplehttps://www.example.com/rcs-agent-preview.jpg

The URL to the agent preview.

points_of_contact
array
Required

A list of points of contact for the RCS Agent.

first_name
string
Required
Max200
exampleJane

The first name of the point of contact.

last_name
string
Required
Max200
exampleSmith

The last name of the point of contact.

email
string(email)
Required
examplejane.smith@example.com

The email address of the point of contact.

job_title
string
Required
Max200
exampleTechnical Support

The job title of the point of contact.

traffic_estimates
object
Required

Traffic estimates for the RCS Agent.

average_global_traffic
string
Required
exampleTHOUSAND

Estimated global traffic.

Must be one of:THOUSANDTEN_THOUSANDFIFTY_THOUSANDHUNDRED_THOUSANDMILLIONMILLION_AND_MORE
average_message_rate_per_user
string
Required
exampleONCE_PER_MONTH

Estimated message rate per user.

Must be one of:ONCE_PER_MONTH2_4_TIMES_PER_MONTHONCE_PER_WEEK2_6_TIMES_PER_WEEKDAILYMULTIPLE_TIMES_PER_DAY
users_targeted
string
Required
exampleHUNDRED

Estimated number of users targeted.

Must be one of:HUNDREDTHOUSANDTEN_THOUSANDHUNDRED_THOUSANDHALF_MILLIONMILLIONMILLION_AND_MORE
user_experience
object
Required
interactions_description
string
Required
Max10000
exampleThis agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. Secondary interactions may include promotional offers for existing customers and appointment scheduling assistance.

This field describes the primary and secondary types of interactions your RBM agent will have with users. It outlines the conversational patterns, message types, and engagement scenarios your agent supports.

optin_description
string
Required
Max10000
exampleThis is a test environment. Customers consent to receive messages directly via request, phone, or email. Users can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. Opt-in confirmation includes details about message frequency and content type.

Details how users will provide consent to receive messages from your RBM agent. This must clearly explain the opt-in mechanism and what users can expect when they subscribe to your messaging service.

optout_description
string
Required
Max10000
exampleCustomers can unsubscribe from receiving messages by replying 'STOP' to any message. They can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, and can re-subscribe at any time by replying 'START'.

Explains how users can unsubscribe from receiving messages from your agent. Must describe the process for users to stop receiving communications and how your system handles these requests.

trigger_description
string
Required
Max10000
exampleThis account is used exclusively for sending test messages to introduce RCS capabilities to customers. Triggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, and weekly promotional campaigns for opted-in users.

Defines the external events or conditions that will cause your RBM agent to initiate conversations with users. These triggers determine when and why your agent sends the first message to users.

Example Request

{
   "application_settings": {
      "application_id": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
   },
   "basic_info": {
      "brand_id": "0198095f-f18a-7f75-aa0a-59c3dfd68802",
      "display_name": "Example Co",
      "sender_id": "ExampleCo-RCSAgent-1",
      "hosting_region": "NORTH_AMERICA",
      "agent_purpose": "TRANSACTIONAL",
      "billing_category": "BASIC_MESSAGE",
      "notes": "This agent is used for transactional messages only."
   },
   "visual_design": {
      "brand_color": "#8860CD",
      "email": {
         "address": "support@example.com",
         "label": "Customer Support"
      },
      "phone": {
         "number": "+1234567890",
         "label": "Customer Support"
      },
      "tagline": "Your trusted partner in messaging.",
      "website": {
         "address": "https://www.example.com"
      },
      "privacy_policy": "https://www.example.com/privacy-policy",
      "terms_of_service": "https://www.example.com/terms-of-service"
   },
   "representative": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@example.com",
      "brand_website": "https://www.example.com"
   },
   "carrier_requirements": {
      "agent_preview": {
         "agent_access_instructions": "Provide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. \nIf you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. \nTest the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.\n",
         "urls": [
            {
               "media_type": "image",
               "url": "https://www.example.com/rcs-agent-preview.jpg"
            }
         ]
      },
      "points_of_contact": [
         {
            "first_name": "Jane",
            "last_name": "Smith",
            "email": "jane.smith@example.com",
            "job_title": "Technical Support"
         }
      ],
      "traffic_estimates": {
         "average_global_traffic": "THOUSAND",
         "average_message_rate_per_user": "ONCE_PER_MONTH",
         "users_targeted": "HUNDRED"
      },
      "user_experience": {
         "interactions_description": "This agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. \nSecondary interactions may include promotional offers for existing customers and appointment scheduling assistance.\n",
         "optin_description": "This is a test environment. Customers consent to receive messages directly via request, phone, or email. \nUsers can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. \nOpt-in confirmation includes details about message frequency and content type.\n",
         "optout_description": "Customers can unsubscribe from receiving messages by replying 'STOP' to any message. \nThey can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, \nand can re-subscribe at any time by replying 'START'.\n",
         "trigger_description": "This account is used exclusively for sending test messages to introduce RCS capabilities to customers. \nTriggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, \nand weekly promotional campaigns for opted-in users.\n"
      }
   }
}

Responses
Content Type
application/json

Accepted

id
string(uuid)
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The unique ID of the created RCS Agent.

state
string
exampleDRAFT

The current state of the created RCS Agent.

basic_info
object
Required
brand_id
string
Required
example0198095f-f18a-7f75-aa0a-59c3dfd68802

The id of the RCS Brand with which to associate this agent.

display_name
string
Required
exampleExample Co

The unique display name of the RCS Agent.

sender_id
string
Required
exampleExampleCo-RCSAgent-1

A unique sender identifier on the Vonage platform. This cannot be blank, include whitespaces, or be changed after creation. The sender ID is used as the from value when sending RCS messages via the Messages API.

hosting_region
string
Required
exampleNORTH_AMERICA

The geographic location where your RCS business messaging service will be hosted and operated. This can affect data residency and compliance requirements.

Must be one of:NORTH_AMERICAEUROPEASIA_PACIFIC
agent_purpose
string
Required
exampleTRANSACTIONAL

Specifies the intended use of the RCS Agent. This cannot be changed after creation.

Must be one of:PROMOTIONALTRANSACTIONALOTPMULTI_USE
billing_category
string
Required
exampleBASIC_MESSAGE

Specifies the pricing model applied to messages sent via this RCS Agent.

Must be one of:BASIC_MESSAGESINGLE_MESSAGECONVERSATIONAL
notes
string
exampleThis agent is used for transactional messages only.

Additional notes or comments about the RCS Agent.

visual_design
object
brand_color
string
Required
example#8860CD

The hexadecimal color code for the primary color used in UI elements. The specified color must meet WCAG 2.1 contrast ratio of 4.5:1 for legibility.

email
object
Required
address
string
Required
examplesupport@example.com

The contact email address for the RCS Agent.

label
string
Max25
exampleCustomer Support

A label for the email address.

phone
object
Required
number
string
Required
example+1234567890

End-user contact number in E.164 format.

label
string
Max25
exampleCustomer Support

A label for the phone number.

tagline
string
Required
Max100
exampleYour trusted partner in messaging.

A short phrase that represents the RCS Agent.

website
array
Required
address
string(uri)
Required
label
string
Max25
exampleCompany Website

A label for the website URL.

privacy_policy
string(uri)
examplehttps://www.example.com/privacy-policy

The publicly accessible URL of the privacy policy for the RCS Agent.

terms_of_service
string(uri)
examplehttps://www.example.com/terms-of-service

The publicly accessible URL of the terms of service for the RCS Agent.

application_settings
object
application_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The id of the Vonage application with which to associate this agent.

representative
object
first_name
string
Required
Max200
exampleJohn

The first name of the representative for the RCS Agent.

last_name
string
Required
Max200
exampleDoe

The last name of the representative for the RCS Agent.

email
string(email)
Required
examplejohn.doe@example.com

The email address of the representative.

brand_website
string(uri)
examplehttps://www.example.com

The website URL of the brand represented by the RCS Agent.

carrier_requirements
object
agent_preview
object
Required
agent_access_instructions
string
Required
exampleProvide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. If you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. Test the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.

Agent access instructions specify how reviewers and testers can access and interact with your RBM agent during the review and testing phases before launch. This property provides guidance on methods for triggering agent functionality and testing various features.

urls
array
media_type
string
Required
exampleimage

The media type of the agent preview.

Must be one of:imagevideo
url
string(uri)
examplehttps://www.example.com/rcs-agent-preview.jpg

The URL to the agent preview.

points_of_contact
array
Required

A list of points of contact for the RCS Agent.

first_name
string
Required
Max200
exampleJane

The first name of the point of contact.

last_name
string
Required
Max200
exampleSmith

The last name of the point of contact.

email
string(email)
Required
examplejane.smith@example.com

The email address of the point of contact.

job_title
string
Required
Max200
exampleTechnical Support

The job title of the point of contact.

traffic_estimates
object
Required

Traffic estimates for the RCS Agent.

average_global_traffic
string
Required
exampleTHOUSAND

Estimated global traffic.

Must be one of:THOUSANDTEN_THOUSANDFIFTY_THOUSANDHUNDRED_THOUSANDMILLIONMILLION_AND_MORE
average_message_rate_per_user
string
Required
exampleONCE_PER_MONTH

Estimated message rate per user.

Must be one of:ONCE_PER_MONTH2_4_TIMES_PER_MONTHONCE_PER_WEEK2_6_TIMES_PER_WEEKDAILYMULTIPLE_TIMES_PER_DAY
users_targeted
string
Required
exampleHUNDRED

Estimated number of users targeted.

Must be one of:HUNDREDTHOUSANDTEN_THOUSANDHUNDRED_THOUSANDHALF_MILLIONMILLIONMILLION_AND_MORE
user_experience
object
Required
interactions_description
string
Required
Max10000
exampleThis agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. Secondary interactions may include promotional offers for existing customers and appointment scheduling assistance.

This field describes the primary and secondary types of interactions your RBM agent will have with users. It outlines the conversational patterns, message types, and engagement scenarios your agent supports.

optin_description
string
Required
Max10000
exampleThis is a test environment. Customers consent to receive messages directly via request, phone, or email. Users can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. Opt-in confirmation includes details about message frequency and content type.

Details how users will provide consent to receive messages from your RBM agent. This must clearly explain the opt-in mechanism and what users can expect when they subscribe to your messaging service.

optout_description
string
Required
Max10000
exampleCustomers can unsubscribe from receiving messages by replying 'STOP' to any message. They can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, and can re-subscribe at any time by replying 'START'.

Explains how users can unsubscribe from receiving messages from your agent. Must describe the process for users to stop receiving communications and how your system handles these requests.

trigger_description
string
Required
Max10000
exampleThis account is used exclusively for sending test messages to introduce RCS capabilities to customers. Triggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, and weekly promotional campaigns for opted-in users.

Defines the external events or conditions that will cause your RBM agent to initiate conversations with users. These triggers determine when and why your agent sends the first message to users.

created_at
string(date-time)
example2023-01-01T12:00:00Z

The date and time when the RCS Agent was created.

updated_at
string(date-time)
example2023-01-01T12:00:00Z

The date and time when the RCS Agent was last updated.

test_devices
array
id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The id of the test device.

phone
string
Required
example+1234567890

The phone number of the test device in E.164 format.

status
string
Required
exampleACCEPTED

The current status of the test device.

created_at
string(date-time)
Required
example2023-01-01T12:00:00Z

The date and time when the test device was created.

carriers
object
id
string
Required
exampleatt-us

The id of the carrier.

launch_state
string
exampleLAUNCH_STATE_UNLAUNCHED

The launch state of the carrier.

Must be one of:LAUNCH_STATE_UNSPECIFIEDLAUNCH_STATE_UNLAUNCHEDLAUNCH_STATE_PENDINGLAUNCH_STATE_LAUNCHEDLAUNCH_STATE_REJECTEDLAUNCH_STATE_SUSPENDEDLAUNCH_STATE_PENDING_UNLAUNCHLAUNCH_STATE_INVALID_IN_GMB
verification_details
object
status
string
exampleVERIFICATION_STATE_UNVERIFIED

The verification status of the RCS Agent.

launch_submitted_at
string(date-time)
example2023-01-01T12:00:00Z

The date and time when the RCS Agent launch was submitted.

Example Response

{
   "id": "78d335fa-323d-0114-9c3d-d6f0d48968cf",
   "state": "DRAFT",
   "basic_info": {
      "brand_id": "0198095f-f18a-7f75-aa0a-59c3dfd68802",
      "display_name": "Example Co",
      "sender_id": "ExampleCo-RCSAgent-1",
      "hosting_region": "NORTH_AMERICA",
      "agent_purpose": "TRANSACTIONAL",
      "billing_category": "BASIC_MESSAGE",
      "notes": "This agent is used for transactional messages only."
   },
   "visual_design": {
      "brand_color": "#8860CD",
      "email": {
         "address": "support@example.com",
         "label": "Customer Support"
      },
      "phone": {
         "number": "+1234567890",
         "label": "Customer Support"
      },
      "tagline": "Your trusted partner in messaging.",
      "website": {
         "address": "https://www.example.com"
      },
      "privacy_policy": "https://www.example.com/privacy-policy",
      "terms_of_service": "https://www.example.com/terms-of-service"
   },
   "application_settings": {
      "application_id": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
   },
   "representative": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@example.com",
      "brand_website": "https://www.example.com"
   },
   "carrier_requirements": {
      "agent_preview": {
         "agent_access_instructions": "Provide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. \nIf you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. \nTest the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.\n",
         "urls": [
            {
               "media_type": "image",
               "url": "https://www.example.com/rcs-agent-preview.jpg"
            }
         ]
      },
      "points_of_contact": [
         {
            "first_name": "Jane",
            "last_name": "Smith",
            "email": "jane.smith@example.com",
            "job_title": "Technical Support"
         }
      ],
      "traffic_estimates": {
         "average_global_traffic": "THOUSAND",
         "average_message_rate_per_user": "ONCE_PER_MONTH",
         "users_targeted": "HUNDRED"
      },
      "user_experience": {
         "interactions_description": "This agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. \nSecondary interactions may include promotional offers for existing customers and appointment scheduling assistance.\n",
         "optin_description": "This is a test environment. Customers consent to receive messages directly via request, phone, or email. \nUsers can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. \nOpt-in confirmation includes details about message frequency and content type.\n",
         "optout_description": "Customers can unsubscribe from receiving messages by replying 'STOP' to any message. \nThey can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, \nand can re-subscribe at any time by replying 'START'.\n",
         "trigger_description": "This account is used exclusively for sending test messages to introduce RCS capabilities to customers. \nTriggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, \nand weekly promotional campaigns for opted-in users.\n"
      }
   },
   "created_at": "2023-01-01T12:00:00Z",
   "updated_at": "2023-01-01T12:00:00Z",
   "test_devices": [
      {
         "id": "78d335fa-323d-0114-9c3d-d6f0d48968cf",
         "phone": "+1234567890",
         "status": "ACCEPTED",
         "created_at": "2023-01-01T12:00:00Z"
      }
   ],
   "carriers": {
      "id": "att-us",
      "launch_state": "LAUNCH_STATE_UNLAUNCHED"
   },
   "verification_details": {
      "status": "VERIFICATION_STATE_UNVERIFIED"
   },
   "launch_submitted_at": "2023-01-01T12:00:00Z"
}

Partially Update Agent

Partially update an existing RCS Agent.

patchhttps://api.nexmo.com/v1/channel-manager/rcs/agents/:agent_id

Authentication

KeyDescriptionWhereExample
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

agent_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The agent_id of the RCS Agent to update.

Request Body
Content Type
application/json

application_settings
object
application_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The id of the Vonage application with which to associate this agent.

basic_info
object
brand_id
string
Required
example0198095f-f18a-7f75-aa0a-59c3dfd68802

The id of the RCS Brand with which to associate this agent.

display_name
string
Required
exampleExample Co

The unique display name of the RCS Agent.

sender_id
string
Required
exampleExampleCo-RCSAgent-1

A unique sender identifier on the Vonage platform. This cannot be blank, include whitespaces, or be changed after creation. The sender ID is used as the from value when sending RCS messages via the Messages API.

hosting_region
string
Required
exampleNORTH_AMERICA

The geographic location where your RCS business messaging service will be hosted and operated. This can affect data residency and compliance requirements.

Must be one of:NORTH_AMERICAEUROPEASIA_PACIFIC
agent_purpose
string
Required
exampleTRANSACTIONAL

Specifies the intended use of the RCS Agent. This cannot be changed after creation.

Must be one of:PROMOTIONALTRANSACTIONALOTPMULTI_USE
billing_category
string
Required
exampleBASIC_MESSAGE

Specifies the pricing model applied to messages sent via this RCS Agent.

Must be one of:BASIC_MESSAGESINGLE_MESSAGECONVERSATIONAL
notes
string
exampleThis agent is used for transactional messages only.

Additional notes or comments about the RCS Agent.

visual_design
object
brand_color
string
Required
example#8860CD

The hexadecimal color code for the primary color used in UI elements. The specified color must meet WCAG 2.1 contrast ratio of 4.5:1 for legibility.

email
object
Required
address
string
Required
examplesupport@example.com

The contact email address for the RCS Agent.

label
string
Max25
exampleCustomer Support

A label for the email address.

phone
object
Required
number
string
Required
example+1234567890

End-user contact number in E.164 format.

label
string
Max25
exampleCustomer Support

A label for the phone number.

tagline
string
Required
Max100
exampleYour trusted partner in messaging.

A short phrase that represents the RCS Agent.

website
array
Required
address
string(uri)
Required
label
string
Max25
exampleCompany Website

A label for the website URL.

privacy_policy
string(uri)
examplehttps://www.example.com/privacy-policy

The publicly accessible URL of the privacy policy for the RCS Agent.

terms_of_service
string(uri)
examplehttps://www.example.com/terms-of-service

The publicly accessible URL of the terms of service for the RCS Agent.

representative
object
first_name
string
Required
Max200
exampleJohn

The first name of the representative for the RCS Agent.

last_name
string
Required
Max200
exampleDoe

The last name of the representative for the RCS Agent.

email
string(email)
Required
examplejohn.doe@example.com

The email address of the representative.

brand_website
string(uri)
examplehttps://www.example.com

The website URL of the brand represented by the RCS Agent.

carrier_requirements
object
agent_preview
object
Required
agent_access_instructions
string
Required
exampleProvide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. If you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. Test the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.

Agent access instructions specify how reviewers and testers can access and interact with your RBM agent during the review and testing phases before launch. This property provides guidance on methods for triggering agent functionality and testing various features.

urls
array
media_type
string
Required
exampleimage

The media type of the agent preview.

Must be one of:imagevideo
url
string(uri)
examplehttps://www.example.com/rcs-agent-preview.jpg

The URL to the agent preview.

points_of_contact
array
Required

A list of points of contact for the RCS Agent.

first_name
string
Required
Max200
exampleJane

The first name of the point of contact.

last_name
string
Required
Max200
exampleSmith

The last name of the point of contact.

email
string(email)
Required
examplejane.smith@example.com

The email address of the point of contact.

job_title
string
Required
Max200
exampleTechnical Support

The job title of the point of contact.

traffic_estimates
object
Required

Traffic estimates for the RCS Agent.

average_global_traffic
string
Required
exampleTHOUSAND

Estimated global traffic.

Must be one of:THOUSANDTEN_THOUSANDFIFTY_THOUSANDHUNDRED_THOUSANDMILLIONMILLION_AND_MORE
average_message_rate_per_user
string
Required
exampleONCE_PER_MONTH

Estimated message rate per user.

Must be one of:ONCE_PER_MONTH2_4_TIMES_PER_MONTHONCE_PER_WEEK2_6_TIMES_PER_WEEKDAILYMULTIPLE_TIMES_PER_DAY
users_targeted
string
Required
exampleHUNDRED

Estimated number of users targeted.

Must be one of:HUNDREDTHOUSANDTEN_THOUSANDHUNDRED_THOUSANDHALF_MILLIONMILLIONMILLION_AND_MORE
user_experience
object
Required
interactions_description
string
Required
Max10000
exampleThis agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. Secondary interactions may include promotional offers for existing customers and appointment scheduling assistance.

This field describes the primary and secondary types of interactions your RBM agent will have with users. It outlines the conversational patterns, message types, and engagement scenarios your agent supports.

optin_description
string
Required
Max10000
exampleThis is a test environment. Customers consent to receive messages directly via request, phone, or email. Users can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. Opt-in confirmation includes details about message frequency and content type.

Details how users will provide consent to receive messages from your RBM agent. This must clearly explain the opt-in mechanism and what users can expect when they subscribe to your messaging service.

optout_description
string
Required
Max10000
exampleCustomers can unsubscribe from receiving messages by replying 'STOP' to any message. They can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, and can re-subscribe at any time by replying 'START'.

Explains how users can unsubscribe from receiving messages from your agent. Must describe the process for users to stop receiving communications and how your system handles these requests.

trigger_description
string
Required
Max10000
exampleThis account is used exclusively for sending test messages to introduce RCS capabilities to customers. Triggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, and weekly promotional campaigns for opted-in users.

Defines the external events or conditions that will cause your RBM agent to initiate conversations with users. These triggers determine when and why your agent sends the first message to users.

Example Request

{
   "application_settings": {
      "application_id": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
   },
   "basic_info": {
      "brand_id": "0198095f-f18a-7f75-aa0a-59c3dfd68802",
      "display_name": "Example Co",
      "sender_id": "ExampleCo-RCSAgent-1",
      "hosting_region": "NORTH_AMERICA",
      "agent_purpose": "TRANSACTIONAL",
      "billing_category": "BASIC_MESSAGE",
      "notes": "This agent is used for transactional messages only."
   },
   "visual_design": {
      "brand_color": "#8860CD",
      "email": {
         "address": "support@example.com",
         "label": "Customer Support"
      },
      "phone": {
         "number": "+1234567890",
         "label": "Customer Support"
      },
      "tagline": "Your trusted partner in messaging.",
      "website": {
         "address": "https://www.example.com"
      },
      "privacy_policy": "https://www.example.com/privacy-policy",
      "terms_of_service": "https://www.example.com/terms-of-service"
   },
   "representative": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@example.com",
      "brand_website": "https://www.example.com"
   },
   "carrier_requirements": {
      "agent_preview": {
         "agent_access_instructions": "Provide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. \nIf you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. \nTest the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.\n",
         "urls": [
            {
               "media_type": "image",
               "url": "https://www.example.com/rcs-agent-preview.jpg"
            }
         ]
      },
      "points_of_contact": [
         {
            "first_name": "Jane",
            "last_name": "Smith",
            "email": "jane.smith@example.com",
            "job_title": "Technical Support"
         }
      ],
      "traffic_estimates": {
         "average_global_traffic": "THOUSAND",
         "average_message_rate_per_user": "ONCE_PER_MONTH",
         "users_targeted": "HUNDRED"
      },
      "user_experience": {
         "interactions_description": "This agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. \nSecondary interactions may include promotional offers for existing customers and appointment scheduling assistance.\n",
         "optin_description": "This is a test environment. Customers consent to receive messages directly via request, phone, or email. \nUsers can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. \nOpt-in confirmation includes details about message frequency and content type.\n",
         "optout_description": "Customers can unsubscribe from receiving messages by replying 'STOP' to any message. \nThey can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, \nand can re-subscribe at any time by replying 'START'.\n",
         "trigger_description": "This account is used exclusively for sending test messages to introduce RCS capabilities to customers. \nTriggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, \nand weekly promotional campaigns for opted-in users.\n"
      }
   }
}

Responses
Content Type
application/json

Accepted

id
string(uuid)
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The unique ID of the created RCS Agent.

state
string
exampleDRAFT

The current state of the created RCS Agent.

basic_info
object
Required
brand_id
string
Required
example0198095f-f18a-7f75-aa0a-59c3dfd68802

The id of the RCS Brand with which to associate this agent.

display_name
string
Required
exampleExample Co

The unique display name of the RCS Agent.

sender_id
string
Required
exampleExampleCo-RCSAgent-1

A unique sender identifier on the Vonage platform. This cannot be blank, include whitespaces, or be changed after creation. The sender ID is used as the from value when sending RCS messages via the Messages API.

hosting_region
string
Required
exampleNORTH_AMERICA

The geographic location where your RCS business messaging service will be hosted and operated. This can affect data residency and compliance requirements.

Must be one of:NORTH_AMERICAEUROPEASIA_PACIFIC
agent_purpose
string
Required
exampleTRANSACTIONAL

Specifies the intended use of the RCS Agent. This cannot be changed after creation.

Must be one of:PROMOTIONALTRANSACTIONALOTPMULTI_USE
billing_category
string
Required
exampleBASIC_MESSAGE

Specifies the pricing model applied to messages sent via this RCS Agent.

Must be one of:BASIC_MESSAGESINGLE_MESSAGECONVERSATIONAL
notes
string
exampleThis agent is used for transactional messages only.

Additional notes or comments about the RCS Agent.

visual_design
object
brand_color
string
Required
example#8860CD

The hexadecimal color code for the primary color used in UI elements. The specified color must meet WCAG 2.1 contrast ratio of 4.5:1 for legibility.

email
object
Required
address
string
Required
examplesupport@example.com

The contact email address for the RCS Agent.

label
string
Max25
exampleCustomer Support

A label for the email address.

phone
object
Required
number
string
Required
example+1234567890

End-user contact number in E.164 format.

label
string
Max25
exampleCustomer Support

A label for the phone number.

tagline
string
Required
Max100
exampleYour trusted partner in messaging.

A short phrase that represents the RCS Agent.

website
array
Required
address
string(uri)
Required
label
string
Max25
exampleCompany Website

A label for the website URL.

privacy_policy
string(uri)
examplehttps://www.example.com/privacy-policy

The publicly accessible URL of the privacy policy for the RCS Agent.

terms_of_service
string(uri)
examplehttps://www.example.com/terms-of-service

The publicly accessible URL of the terms of service for the RCS Agent.

application_settings
object
application_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The id of the Vonage application with which to associate this agent.

representative
object
first_name
string
Required
Max200
exampleJohn

The first name of the representative for the RCS Agent.

last_name
string
Required
Max200
exampleDoe

The last name of the representative for the RCS Agent.

email
string(email)
Required
examplejohn.doe@example.com

The email address of the representative.

brand_website
string(uri)
examplehttps://www.example.com

The website URL of the brand represented by the RCS Agent.

carrier_requirements
object
agent_preview
object
Required
agent_access_instructions
string
Required
exampleProvide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. If you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. Test the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.

Agent access instructions specify how reviewers and testers can access and interact with your RBM agent during the review and testing phases before launch. This property provides guidance on methods for triggering agent functionality and testing various features.

urls
array
media_type
string
Required
exampleimage

The media type of the agent preview.

Must be one of:imagevideo
url
string(uri)
examplehttps://www.example.com/rcs-agent-preview.jpg

The URL to the agent preview.

points_of_contact
array
Required

A list of points of contact for the RCS Agent.

first_name
string
Required
Max200
exampleJane

The first name of the point of contact.

last_name
string
Required
Max200
exampleSmith

The last name of the point of contact.

email
string(email)
Required
examplejane.smith@example.com

The email address of the point of contact.

job_title
string
Required
Max200
exampleTechnical Support

The job title of the point of contact.

traffic_estimates
object
Required

Traffic estimates for the RCS Agent.

average_global_traffic
string
Required
exampleTHOUSAND

Estimated global traffic.

Must be one of:THOUSANDTEN_THOUSANDFIFTY_THOUSANDHUNDRED_THOUSANDMILLIONMILLION_AND_MORE
average_message_rate_per_user
string
Required
exampleONCE_PER_MONTH

Estimated message rate per user.

Must be one of:ONCE_PER_MONTH2_4_TIMES_PER_MONTHONCE_PER_WEEK2_6_TIMES_PER_WEEKDAILYMULTIPLE_TIMES_PER_DAY
users_targeted
string
Required
exampleHUNDRED

Estimated number of users targeted.

Must be one of:HUNDREDTHOUSANDTEN_THOUSANDHUNDRED_THOUSANDHALF_MILLIONMILLIONMILLION_AND_MORE
user_experience
object
Required
interactions_description
string
Required
Max10000
exampleThis agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. Secondary interactions may include promotional offers for existing customers and appointment scheduling assistance.

This field describes the primary and secondary types of interactions your RBM agent will have with users. It outlines the conversational patterns, message types, and engagement scenarios your agent supports.

optin_description
string
Required
Max10000
exampleThis is a test environment. Customers consent to receive messages directly via request, phone, or email. Users can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. Opt-in confirmation includes details about message frequency and content type.

Details how users will provide consent to receive messages from your RBM agent. This must clearly explain the opt-in mechanism and what users can expect when they subscribe to your messaging service.

optout_description
string
Required
Max10000
exampleCustomers can unsubscribe from receiving messages by replying 'STOP' to any message. They can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, and can re-subscribe at any time by replying 'START'.

Explains how users can unsubscribe from receiving messages from your agent. Must describe the process for users to stop receiving communications and how your system handles these requests.

trigger_description
string
Required
Max10000
exampleThis account is used exclusively for sending test messages to introduce RCS capabilities to customers. Triggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, and weekly promotional campaigns for opted-in users.

Defines the external events or conditions that will cause your RBM agent to initiate conversations with users. These triggers determine when and why your agent sends the first message to users.

created_at
string(date-time)
example2023-01-01T12:00:00Z

The date and time when the RCS Agent was created.

updated_at
string(date-time)
example2023-01-01T12:00:00Z

The date and time when the RCS Agent was last updated.

test_devices
array
id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The id of the test device.

phone
string
Required
example+1234567890

The phone number of the test device in E.164 format.

status
string
Required
exampleACCEPTED

The current status of the test device.

created_at
string(date-time)
Required
example2023-01-01T12:00:00Z

The date and time when the test device was created.

carriers
object
id
string
Required
exampleatt-us

The id of the carrier.

launch_state
string
exampleLAUNCH_STATE_UNLAUNCHED

The launch state of the carrier.

Must be one of:LAUNCH_STATE_UNSPECIFIEDLAUNCH_STATE_UNLAUNCHEDLAUNCH_STATE_PENDINGLAUNCH_STATE_LAUNCHEDLAUNCH_STATE_REJECTEDLAUNCH_STATE_SUSPENDEDLAUNCH_STATE_PENDING_UNLAUNCHLAUNCH_STATE_INVALID_IN_GMB
verification_details
object
status
string
exampleVERIFICATION_STATE_UNVERIFIED

The verification status of the RCS Agent.

launch_submitted_at
string(date-time)
example2023-01-01T12:00:00Z

The date and time when the RCS Agent launch was submitted.

Example Response

{
   "id": "78d335fa-323d-0114-9c3d-d6f0d48968cf",
   "state": "DRAFT",
   "basic_info": {
      "brand_id": "0198095f-f18a-7f75-aa0a-59c3dfd68802",
      "display_name": "Example Co",
      "sender_id": "ExampleCo-RCSAgent-1",
      "hosting_region": "NORTH_AMERICA",
      "agent_purpose": "TRANSACTIONAL",
      "billing_category": "BASIC_MESSAGE",
      "notes": "This agent is used for transactional messages only."
   },
   "visual_design": {
      "brand_color": "#8860CD",
      "email": {
         "address": "support@example.com",
         "label": "Customer Support"
      },
      "phone": {
         "number": "+1234567890",
         "label": "Customer Support"
      },
      "tagline": "Your trusted partner in messaging.",
      "website": {
         "address": "https://www.example.com"
      },
      "privacy_policy": "https://www.example.com/privacy-policy",
      "terms_of_service": "https://www.example.com/terms-of-service"
   },
   "application_settings": {
      "application_id": "78d335fa-323d-0114-9c3d-d6f0d48968cf"
   },
   "representative": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@example.com",
      "brand_website": "https://www.example.com"
   },
   "carrier_requirements": {
      "agent_preview": {
         "agent_access_instructions": "Provide a method for reviewers to trigger the agent, such as a website where reviewers can invite and add phone numbers. \nIf you need a list of phone numbers to add as test devices, contact rbm-support@vonage.com. \nTest the agent by sending a keyword like 'HELP' or 'START' to initiate conversation flow.\n",
         "urls": [
            {
               "media_type": "image",
               "url": "https://www.example.com/rcs-agent-preview.jpg"
            }
         ]
      },
      "points_of_contact": [
         {
            "first_name": "Jane",
            "last_name": "Smith",
            "email": "jane.smith@example.com",
            "job_title": "Technical Support"
         }
      ],
      "traffic_estimates": {
         "average_global_traffic": "THOUSAND",
         "average_message_rate_per_user": "ONCE_PER_MONTH",
         "users_targeted": "HUNDRED"
      },
      "user_experience": {
         "interactions_description": "This agent handles customer support inquiries and provides product information. Primary interactions include order status updates, account notifications, and FAQ responses. \nSecondary interactions may include promotional offers for existing customers and appointment scheduling assistance.\n",
         "optin_description": "This is a test environment. Customers consent to receive messages directly via request, phone, or email. \nUsers can opt-in by visiting our website and providing their phone number, or by texting 'JOIN' to our SMS shortcode. \nOpt-in confirmation includes details about message frequency and content type.\n",
         "optout_description": "Customers can unsubscribe from receiving messages by replying 'STOP' to any message. \nThey can also contact us by email at support@company.com. Users will receive a confirmation message when successfully unsubscribed, \nand can re-subscribe at any time by replying 'START'.\n",
         "trigger_description": "This account is used exclusively for sending test messages to introduce RCS capabilities to customers. \nTriggers include: order placement confirmations, shipping notifications, appointment reminders, customer service escalations, \nand weekly promotional campaigns for opted-in users.\n"
      }
   },
   "created_at": "2023-01-01T12:00:00Z",
   "updated_at": "2023-01-01T12:00:00Z",
   "test_devices": [
      {
         "id": "78d335fa-323d-0114-9c3d-d6f0d48968cf",
         "phone": "+1234567890",
         "status": "ACCEPTED",
         "created_at": "2023-01-01T12:00:00Z"
      }
   ],
   "carriers": {
      "id": "att-us",
      "launch_state": "LAUNCH_STATE_UNLAUNCHED"
   },
   "verification_details": {
      "status": "VERIFICATION_STATE_UNVERIFIED"
   },
   "launch_submitted_at": "2023-01-01T12:00:00Z"
}

Get Carriers

Retrieve a list of available carriers for RCS.

gethttps://api.nexmo.com/v1/channel-manager/rcs/metadata/carriers

Authentication

KeyDescriptionWhereExample
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Responses
Content Type
application/json

OK

carriers
array
Required

A list of available carriers for RCS.

id
string
exampleverizon-us

A unique identifier for the carrier.

carrier
string
exampleVerizon

The name of the carrier.

country_letter_code
string
exampleUS

Code for the country where the carrier operates.

Example Response

{
   "carriers": [
      {
         "id": "verizon-us",
         "carrier": "Verizon",
         "country_letter_code": "US"
      }
   ]
}

Add Carriers to Agent

Add carriers to an existing RCS Agent.

posthttps://api.nexmo.com/v1/channel-manager/rcs/agents/:agent_id/carriers

Authentication

KeyDescriptionWhereExample
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

agent_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The agent_id of the RCS Agent to which to add carriers.

Request Body
Content Type
application/json

carriers
array
Required

An array of Carrier IDs to add to the RCS Agent.

Example Request

{
   "carriers": [
      "verizon-us"
   ]
}

Responses
Content Type
application/json

Accepted

message
string
Required
exampleCarriers accepted for processing

Example Response

{
   "message": "Carriers accepted for processing"
}

Add Test Devices to Agent

Add test devices to an existing RCS Agent.

posthttps://api.nexmo.com/v1/channel-manager/rcs/agents/:agent_id/test-devices

Authentication

KeyDescriptionWhereExample
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

agent_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The agent_id of the RCS Agent to which to add test devices.

Request Body
Content Type
application/json

phone
string
Required
example+14155552671

The phone number to add to the RCS Agent in E.164 format.

Example Request

{
   "phone": "+14155552671"
}

Responses
Content Type
application/json

Accepted

id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The unique ID of the created test device.

phone
string
Required
example+14155552671

The phone number to add to the RCS Agent in E.164 format.

created_at
string(date-time)
Required
example2023-01-01T12:00:00Z

The date and time when the test device was created.

status
string
Required
exampleACCEPTED

The current status of the test device.

Example Response

{
   "id": "78d335fa-323d-0114-9c3d-d6f0d48968cf",
   "phone": "+14155552671",
   "created_at": "2023-01-01T12:00:00Z",
   "status": "ACCEPTED"
}

Remove Test Device from Agent

Remove a test device from an existing RCS Agent.

deletehttps://api.nexmo.com/v1/channel-manager/rcs/agents/:agent_id/test-devices/:test_device_id

Authentication

KeyDescriptionWhereExample
Authorization

Base64 encoded API key and secret joined by a colon.
Read more

Headers

Basic <base64>

Path Parameters

agent_id
string
Required
example78d335fa-323d-0114-9c3d-d6f0d48968cf

The id of the RCS Agent from which to remove the test device.

test_device_id
string
Required
example019809ba-a274-7bd2-aea0-f1f70f2210dc

The id of the test device to remove.

Responses

No Content