1. Introduction
    1. Authentication
    2. Getting your Account ID
  2. Channels
    1. Request a channel
    2. Get your channel requests
    3. Get a channel request by id
    4. Get your channels
    5. Get a channel by id
    6. Get available channel types
    7. Get a channel type by id
    8. Get available categories for a channel type
  3. ChannelConfiguration
    1. Get all configurations for a channel
    2. Get a configuration for a channel
    3. Enable/Disable a channel configuration
    4. Update a customer contact configuration element
    5. Add an email configuration element
    6. Delete an email configuration element
    7. Update an email configuration element
    8. Add an event webhook configuration element
    9. Delete an event webhook configuration element
    10. Update an event webhook configuration element
    11. Update a messaging log configuration
    12. Add a webhook configuration element
    13. Delete a webhook configuration element
    14. Update a webhook configuration element
  4. WhatsApp
    1. Get your business account
    2. Get supported WhatsApp languages
    3. Get your active WhatsApp languages
    4. Activate a WhatsApp language
    5. Profiles
      1. Get your profiles
      2. Get a profile by id
      3. Update a profile's phone number
      4. Start a profile's otp validation
      5. Finish a profile's otp validation
    6. Templates
      1. Get supported template categories
      2. Create a template
      3. Get your templates
      4. Get a template by id
      5. Update a template
      6. Request validation of a template
      7. Create a template replacement field
      8. Update a template replacement field
      9. Delete a template replacement field
  5. Keyword claims
    1. Claim a keyword
    2. Get your claimed keywords
    3. Get a keyword claim by id
    4. Cancel a keyword claim
    5. Verify a claim
  6. Dedicated phone numbers
    1. Request a phone number
    2. Get your phone number requests
    3. Cancel phone number ownership
    4. Get available phone numbers
    5. Get an available phone number by id
    6. Get available phone number types
  7. API Model definitions
    1. Channels
      1. ApiChannelBase
      2. ApiRequestState
      3. ApiRequestNextState
      4. ApiRequestProgression
      5. ApiChannelGroupBase
      6. ApiChannelRequestBase
      7. ApiChannelRequest
      8. ApiChannels
      9. ApiChannelsAvailable
      10. ApiChannel
      11. ApiChannelTypeBaseResponse
      12. ApiChannelTypeResponse
      13. ApiChannelCategory
    2. Channel configuration
      1. ApiChannelConfigurations
      2. ApiChannelConfigurationsInbound
      3. ApiChannelConfigurationResponse
      4. ApiChannelCustomerContactConfigurationRequest
      5. ApiChannelCustomerContactEndpointRequest
      6. ApiChannelCustomerContactConfigurationResponse
      7. ApiChannelCustomerContactEndpointResponse
      8. ApiChannelEmailConfigurationRequest
      9. ApiChannelEmailAddressRequest
      10. ApiChannelEmailConfigurationResponse
      11. ApiChannelEmailAddressResponse
      12. ApiChannelEventWebHookConfigurationRequest
      13. ApiChannelEventWebHookEndpointRequest
      14. ApiChannelEventWebHookConfigurationResponse
      15. ApiChannelEventWebHookEndpointResponse
      16. ApiChannelMessagingLogConfigurationRequest
      17. ApiChannelMessagingLogConfigurationResponse
      18. ApiChannelWebHookConfigurationRequest
      19. ApiChannelWebHookEndpointRequest
      20. ApiChannelWebHookConfigurationResponse
      21. ApiChannelWebHookEndpointResponse
    3. WhatsApp
      1. ApiWhatsAppBusinessAccount
      2. ApiWhatsAppSupportedLanguage
      3. ApiWhatsAppProfile
      4. ApiWhatsAppProfileBase
      5. ApiWhatsAppTemplateBaseResponse
      6. ApiWhatsAppTemplate
      7. ApiWhatsAppTemplateSettings
      8. ApiWhatsAppTemplateReplacementField
      9. ApiWhatsAppTemplateLanguage
      10. ApiWhatsAppTemplateUpdateRequest
      11. ApiWhatsAppTemplateCategory
    4. Keyword claims
      1. ApiKeywordClaimRequest
      2. ApiKeywordClaimResponse
    5. Dedicated phone numbers
      1. ApiNumberRequestResponse
      2. ApiPhoneNumberResponse
      3. ApiNumberTypeResponse

Introduction

This API allows you to enhance your usage of the various communication channels CM.com offers.
Via various calls you can request phone numbers and claim SMS-key words. But you can also request the status of your WhatsApp templates.

When you want to request a dedicated short code, please contact our support teams.

Authentication

Authentication and authorization is done via a product token. You can obtain your product token from the messaging gateway app (https://gateway.cmtelecom.com).
If you cannot access that app you might have received the token via your account manager or you can contact support to obtain one. For all calls described in this API, the product token should be provided by including it in the X-CM-PRODUCTTOKEN header.

Getting your Account ID

In all methods you need to provide the accountId. This is a guid that identifies your account.
This identifier can be found on the url of CM.com's platform applications, after the language indicator. Below you can find an example.

Url AccountID
https://www.cm.com/en-gb/app/dashboard/00000000-0000-0000-0000-000000000000 00000000-0000-0000-0000-000000000000



Channels

Channels description.

Request a channel

Request a channel.

POST https://api.cm.com/channels/v1/accounts/{accountId}/channels/requests

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Query channelTypeId
optional
The channel type identifier. string (uuid)

Responses

HTTP Code Description Schema
201 Created ApiChannelRequestBase

Example HTTP request

Request path

POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/requests

Response body (201)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelTypeId": "00000000-0000-0000-0000-000000000000",
  "isPending": false,
  "isActive": true,
  "createdOnUtc": "2019-07-29T09:30:01.709Z"
}

Get your channel requests

Get your channel requests.

GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/requests

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Query channelTypeId
optional
The channel type identifier. string (uuid)
Query skip
optional
The amount of results to skip. (pagination) integer
Query take
optional
The amount of results to take. (pagination) integer

Responses

HTTP Code Description Schema
200 OK array[ApiChannelRequestBase]

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/requests

Response body (200)

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "channelTypeId": "00000000-0000-0000-0000-000000000000",
    "isPending": false,
    "isActive": true,
    "createdOnUtc": "2019-07-29T09:30:01.705Z"
  }
]

Get a channel request by id

Get a channel request by id.

GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/requests/{channelRequestId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
The channel request identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK ApiChannelRequest

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/requests/00000000-0000-0000-0000-000000000000

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelTypeId": "00000000-0000-0000-0000-000000000000",
  "isPending": false,
  "isActive": true,
  "cancelledOnUtc": "2019-07-29T09:30:01.714Z",
  "fulfilledOnUtc": "2019-07-29T09:30:01.714Z",
  "createdOnUtc": "2019-07-29T09:30:01.714Z"
}

Get your channels

Get your channels.

GET https://api.cm.com/channels/v1/accounts/{accountId}/channels

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Query channelTypeId
optional
The channel type identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK ApiChannels

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels

Response body (200)

{
  "available": {
    "sms": {
      "keywords": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "channelID": "0000000000|KEYWORD",
          "channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/sms/00000000-0000-0000-0000-000000000000/keywords/0000000000|KEYWORD",
          "isPending": false,
          "createdOnUtc": "2019-07-24T13:43:58.3329114"
        }
      ],
      "numbers": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "channelID": "00000000-0000-0000-0000-000000000000",
          "channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/sms/00000000-0000-0000-0000-000000000000/numbers/00000000-0000-0000-0000-000000000000",
          "isPending": true,
          "createdOnUtc": "2019-07-24T13:18:01.1650535"
        }
      ]
    },
    "whatsApp": {
      "templates": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "channelID": "00000000-0000-0000-0000-000000000000",
          "channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates/00000000-0000-0000-0000-000000000000",
          "isPending": true,
          "createdOnUtc": "2019-06-27T14:03:59.5380232"
        }
      ],
      "profiles": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "channelID": "00000000-0000-0000-0000-000000000000",
          "channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/profiles/00000000-0000-0000-0000-000000000000",
          "isPending": false,
          "createdOnUtc": "2019-05-21T15:23:49.2085959"
        }
      ]
    }
  },
  "comingSoon": [
    "RCS",
    "Viber"
  ]
}

Get a channel by id

Get a channel by id.

GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/{channelId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK ApiChannel

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/00000000-0000-0000-0000-000000000000

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelID": "string",
  "channelUrl": "string",
  "isPending": true,
  "createdOnUtc": "2019-07-29T09:30:01.701Z"
}

Get available channel types

Get available channel types.

GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/types

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Query skip
optional
The amount of results to skip. (pagination) integer
Query take
optional
The amount of results to take. (pagination) integer

Responses

HTTP Code Description Schema
200 OK array[ApiChannelTypeBaseResponse]

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/types

Response body (200)

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "currency": "EUR",
    "description": "WhatsApp",
    "startupCost": 0,
    "monthlyCost": 0,
    "channelRequestProcessingDays": 7
  }
]

Get a channel type by id

Get a channel type by id.

GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/types/{channelTypeId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelTypeId
required
The channel type identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK ApiChannelTypeResponse

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/00000000-0000-0000-0000-000000000000

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "currency": "EUR",
  "description": "WhatsApp",
  "startupCost": 0,
  "monthlyCost": 0,
  "channelRequestProcessingDays": 7,
  "noticePeriodDays": 30,
  "categories": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "templates"
    },
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "profiles"
    },
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "businessAccount"
    }
  ]
}

Get available categories for a channel type

Get available categories for a channel type.

GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/types/{channelTypeId}/categories

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelTypeId
required
The channel type identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK array[ApiChannelCategory]

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/types/00000000-0000-0000-0000-000000000000/categories

Response body (200)

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "CATEGORY NAME"
  }
]



Channel Configuration

This API enables receiving incoming messages and events for channels supported by the CM.com Business Messaging API in your systems, by registering an inbound configuration in the Channels-app.

Get all configurations for a channel

Get all configurations for a channel.

GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/{channelId}/configuration

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK ApiChannelConfigurations

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/00000000-0000-0000-0000-000000000000/configuration

Response body (201)

{
  "channelGroup": {
    "id": "00000000-0000-0000-0000-000000000000",
    "channels": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "channelRequestId": "00000000-0000-0000-0000-000000000000",
        "channelTypeId": "00000000-0000-0000-0000-000000000000",
        "channelCategoryId": "00000000-0000-0000-0000-000000000000",
        "channelID": "string",
        "channelUrl": "string",
        "customRequestFormId": "00000000-0000-0000-0000-000000000000",
        "customRequestFormIsPending": true,
        "isPending": true,
        "createdOnUtc": "2021-12-05T13:17:59.112Z",
        "requestState": {
          "completeness": 0,
          "nextStage": {
            "type": "UNKNOWN",
            "descriptionKey": "string"
          },
          "progression": {
            "stages": [
              "string"
            ],
            "current": "string"
          },
          "hasPendingOrder": true
        }
      }
    ]
  },
  "inbound": {
    "messagingLog": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "updatedOnUtc": "2021-12-05T13:17:59.112Z",
      "createdOnUtc": "2021-12-05T13:17:59.112Z"
    },
    "customerContact": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "endpoints": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "method": "POST",
          "url": "string",
          "type": "Xml",
          "updatedOnUtc": "2021-12-05T13:17:59.112Z",
          "createdOnUtc": "2021-12-05T13:17:59.112Z"
        }
      ],
      "updatedOnUtc": "2021-12-05T13:17:59.112Z",
      "createdOnUtc": "2021-12-05T13:17:59.112Z"
    },
    "email": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "addresses": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "address": "string",
          "updatedOnUtc": "2021-12-05T13:17:59.113Z",
          "createdOnUtc": "2021-12-05T13:17:59.113Z"
        }
      ],
      "updatedOnUtc": "2021-12-05T13:17:59.113Z",
      "createdOnUtc": "2021-12-05T13:17:59.113Z"
    },
    "webhook": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "endpoints": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "method": "POST",
          "url": "string",
          "type": "Json",
          "updatedOnUtc": "2021-12-05T13:17:59.113Z",
          "createdOnUtc": "2021-12-05T13:17:59.113Z"
        }
      ],
      "updatedOnUtc": "2021-12-05T13:17:59.113Z",
      "createdOnUtc": "2021-12-05T13:17:59.113Z"
    },
    "eventWebhook": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "endpoint": {
        "id": "00000000-0000-0000-0000-000000000000",
        "channelsOneId": "00000000-0000-0000-0000-000000000000",
        "method": "POST",
        "url": "string",
        "type": "Json",
        "updatedOnUtc": "2021-12-05T13:17:59.113Z",
        "createdOnUtc": "2021-12-05T13:17:59.113Z"
      },
      "updatedOnUtc": "2021-12-05T13:17:59.113Z",
      "createdOnUtc": "2021-12-05T13:17:59.113Z"
    }
  }
}

Get a configuration for a channel

Get a configuration for a channel by id.

GET https://api.cm.com/channels/v1/accounts/{accountId}/channels/{channelId}/configuration/{configurationId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)
Path configurationId
required
The configuration identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK ApiChannelConfigurationResponse

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/00000000-0000-0000-0000-000000000000/configuration/00000000-0000-0000-0000-000000000000

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "updatedOnUtc": "2021-12-05T13:17:59.126Z",
  "createdOnUtc": "2021-12-05T13:17:59.126Z"
}

Enable/Disable a channel configuration

Enable/Disable a channel configuration by id.

PUT https://api.cm.com/channels/v1/accounts/{accountId}/channels/{channelId}/configuration/{configurationId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)
Path configurationId
required
The configuration identifier. string (uuid)
Query enabled
required
If set to true [enabled]. boolean

Responses

HTTP Code Description Schema
200 OK ApiChannelConfigurationResponse

Example HTTP request

Request path

PUT https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/00000000-0000-0000-0000-000000000000/configuration/00000000-0000-0000-0000-000000000000

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "updatedOnUtc": "2021-12-05T13:17:59.126Z",
  "createdOnUtc": "2021-12-05T13:17:59.126Z"
}

Update a customer contact configuration element

Update a channel's customer contact configuration element by id.

POST https://api.cm.com/channels/v1/accounts/{accountId}/channel/{channelId}/configuration/customercontact

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)
Body configuration
required
The configuration. ApiChannelCustomerContactConfigurationRequest

Responses

HTTP Code Description Schema
200 OK ApiChannelCustomerContactConfigurationResponse

Example HTTP request

Request path

POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channel/00000000-0000-0000-0000-000000000000/configuration/customercontact

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "endpoints": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "method": "POST",
      "url": "string",
      "type": "Xml",
      "updatedOnUtc": "2021-12-05T13:17:59.201Z",
      "createdOnUtc": "2021-12-05T13:17:59.201Z"
    }
  ],
  "updatedOnUtc": "2021-12-05T13:17:59.201Z",
  "createdOnUtc": "2021-12-05T13:17:59.201Z"
}

Add an email configuration element

Add a channel's email configuration element.

POST https://api.cm.com/channels/v1/accounts/{accountId}/channel/{channelId}/configuration/email

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)
Body configuration
required
The configuration. ApiChannelEmailConfigurationRequest

Responses

HTTP Code Description Schema
200 OK ApiChannelEmailConfigurationResponse

Example HTTP request

Request path

POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channel/00000000-0000-0000-0000-000000000000/configuration/email

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "addresses": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "address": "string",
      "updatedOnUtc": "2021-12-05T13:17:59.136Z",
      "createdOnUtc": "2021-12-05T13:17:59.136Z"
    }
  ],
  "updatedOnUtc": "2021-12-05T13:17:59.136Z",
  "createdOnUtc": "2021-12-05T13:17:59.136Z"
}

Delete an email configuration element

Delete a channel's email configuration element by id.

DELETE https://api.cm.com/channels/v1/accounts/{accountId}/channel/{channelId}/configuration/email/{addressId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)
Path addressId
required
The address identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK

Example HTTP request

Request path

DELETE https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/00000000-0000-0000-0000-000000000000/configuration/email/00000000-0000-0000-0000-000000000000

Update an email configuration element

Update a channel's email configuration element.

PUT https://api.cm.com/channels/v1/accounts/{accountId}/channels/{channelId}/configuration/email/{addressId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)
Path addressId
required
The address identifier. string (uuid)
Body configuration
required
The configuration. ApiChannelEmailConfigurationRequest

Responses

HTTP Code Description Schema
200 OK ApiChannelEmailConfigurationResponse

Example HTTP request

Request path

PUT https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/00000000-0000-0000-0000-000000000000/configuration/email/00000000-0000-0000-0000-000000000000

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "addresses": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "address": "string",
      "updatedOnUtc": "2021-12-05T13:17:59.145Z",
      "createdOnUtc": "2021-12-05T13:17:59.145Z"
    }
  ],
  "updatedOnUtc": "2021-12-05T13:17:59.145Z",
  "createdOnUtc": "2021-12-05T13:17:59.145Z"
}

Add an event webhook configuration element

Add a channel's event webhook configuration element.

POST https://api.cm.com/channels/v1/accounts/{accountId}/channel/{channelId}/configuration/eventwebhook

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)
Body configuration
required
The configuration. ApiChannelEventWebHookConfigurationRequest

Responses

HTTP Code Description Schema
200 OK ApiChannelEventWebHookConfigurationResponse

Example HTTP request

Request path

POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channel/00000000-0000-0000-0000-000000000000/configuration/eventwebhook

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "endpoint": {
    "id": "00000000-0000-0000-0000-000000000000",
    "channelsOneId": "00000000-0000-0000-0000-000000000000",
    "method": "POST",
    "url": "string",
    "type": "Json",
    "updatedOnUtc": "2021-12-05T13:17:59.168Z",
    "createdOnUtc": "2021-12-05T13:17:59.168Z"
  },
  "updatedOnUtc": "2021-12-05T13:17:59.168Z",
  "createdOnUtc": "2021-12-05T13:17:59.168Z"
}

Delete an event webhook configuration element

Delete a channel's event webhook configuration element by id.

DELETE https://api.cm.com/channels/v1/accounts/{accountId}/channel/{channelId}/configuration/eventwebhook/{eventwebhookId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)
Path webhookId
required
The webhook identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK

Example HTTP request

Request path

DELETE https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/00000000-0000-0000-0000-000000000000/configuration/webhook/00000000-0000-0000-0000-000000000000

Update an event webhook configuration element

Update a channel's event webhook configuration element.

PUT https://api.cm.com/channels/v1/accounts/{accountId}/channels/{channelId}/configuration/eventwebhook/{eventwebhookId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)
Path webhookId
required
The webhook identifier. string (uuid)
Body configuration
required
The configuration. ApiChannelWebHookConfigurationRequest

Responses

HTTP Code Description Schema
200 OK ApiChannelEventWebHookConfigurationResponse

Example HTTP request

Request path

PUT https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/00000000-0000-0000-0000-000000000000/configuration/eventwebhook/00000000-0000-0000-0000-000000000000

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "endpoint": {
    "id": "00000000-0000-0000-0000-000000000000",
    "channelsOneId": "00000000-0000-0000-0000-000000000000",
    "method": "POST",
    "url": "string",
    "type": "Json",
    "updatedOnUtc": "2021-12-05T13:17:59.183Z",
    "createdOnUtc": "2021-12-05T13:17:59.183Z"
  },
  "updatedOnUtc": "2021-12-05T13:17:59.183Z",
  "createdOnUtc": "2021-12-05T13:17:59.183Z"
}

Update a messaging log configuration

Update a channel's messaging log configuration.

POST https://api.cm.com/channels/v1/accounts/{accountId}/channel/{channelId}/configuration/messaginglog

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)
Body configuration
required
The configuration. ApiChannelMessagingLogConfigurationRequest

Responses

HTTP Code Description Schema
200 OK ApiChannelMessagingLogConfigurationResponse

Example HTTP request

Request path

POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channel/00000000-0000-0000-0000-000000000000/configuration/messagingLog

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "updatedOnUtc": "2021-12-05T13:17:59.194Z",
  "createdOnUtc": "2021-12-05T13:17:59.194Z"
}

Add a webhook configuration element

Add a channel's webhook configuration element.

POST https://api.cm.com/channels/v1/accounts/{accountId}/channel/{channelId}/configuration/webhook

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)
Body configuration
required
The configuration. ApiChannelWebHookConfigurationRequest

Responses

HTTP Code Description Schema
200 OK ApiChannelWebHookConfigurationResponse

Example HTTP request

Request path

POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channel/00000000-0000-0000-0000-000000000000/configuration/webhook

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "endpoints": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "method": "POST",
      "url": "string",
      "type": "Json",
      "updatedOnUtc": "2021-12-05T13:17:59.151Z",
      "createdOnUtc": "2021-12-05T13:17:59.151Z"
    }
  ],
  "updatedOnUtc": "2021-12-05T13:17:59.151Z",
  "createdOnUtc": "2021-12-05T13:17:59.151Z"
}

Delete a webhook configuration element

Delete a channel's webhook configuration element by id.

DELETE https://api.cm.com/channels/v1/accounts/{accountId}/channel/{channelId}/configuration/webhook/{webhookId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)
Path webhookId
required
The webhook identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK

Example HTTP request

Request path

DELETE https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/00000000-0000-0000-0000-000000000000/configuration/webhook/00000000-0000-0000-0000-000000000000

Update a webhook configuration element

Update a channel's webhook configuration element.

PUT https://api.cm.com/channels/v1/accounts/{accountId}/channels/{channelId}/configuration/webhook/{webhookId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelId
required
The channel identifier. string (uuid)
Path webhookId
required
The webhook identifier. string (uuid)
Body configuration
required
The configuration. ApiChannelWebHookConfigurationRequest

Responses

HTTP Code Description Schema
200 OK ApiChannelWebHookConfigurationResponse

Example HTTP request

Request path

PUT https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/channels/00000000-0000-0000-0000-000000000000/configuration/webhook/00000000-0000-0000-0000-000000000000

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "endpoints": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "method": "POST",
      "url": "string",
      "type": "Json",
      "updatedOnUtc": "2021-12-05T13:17:59.161Z",
      "createdOnUtc": "2021-12-05T13:17:59.161Z"
    }
  ],
  "updatedOnUtc": "2021-12-05T13:17:59.161Z",
  "createdOnUtc": "2021-12-05T13:17:59.161Z"
}



WhatsApp

WhatsApp description.

Get your business account

Get your business account.

GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/businessaccount

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK ApiWhatsAppBusinessAccount

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/businessaccount

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "channelRequestId": "00000000-0000-0000-0000-000000000000",
  "isPending": true,
  "cancelledOnUtc": "2019-07-29T09:30:01.877Z",
  "fulfilledOnUtc": "2019-07-29T09:30:01.877Z",
  "createdOnUtc": "2019-07-29T09:30:01.877Z"
}

Get supported WhatsApp languages

Get supported WhatsApp languages.

GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/supportedlanguages

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK array[ApiWhatsAppSupportedLanguage]

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/supportedlanguages

Response body (200)

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "code": "string",
    "name": "string"
  }
]

Get your active WhatsApp languages

Get your active WhatsApp languages.

GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/languages

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK array[ApiWhatsAppSupportedLanguage]

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/languages

Response body (200)

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "code": "string",
    "name": "string"
  }
]

Activate a WhatsApp language

Activate a WhatsApp language.

POST https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/languages

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)
Query languageId
required
The language identifier. string (uuid)

Responses

HTTP Code Description Schema
201 Created array[ApiWhatsAppSupportedLanguage]

Example HTTP request

Request path

POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/languages?languageId=00000000-0000-0000-0000-000000000000

Response body (201)

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "code": "string",
    "name": "string"
  }
]

Profiles

Get your profiles

Get your profiles.

GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/profiles

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)
Query q
optional
The text to filter results on. string
Query skip
optional
The amount of results to skip. (pagination) integer
Query take
optional
The amount of results to take. (pagination) integer

Responses

HTTP Code Description Schema
200 OK array[ApiWhatsAppProfileBase]

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/profiles

Response body (200)

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "accountId": "00000000-0000-0000-0000-000000000000",
    "phoneNumber": "0000000000",
    "name": "NAME",
    "image": "data:image/ ...",
    "isActive": false,
    "isOtpProcessed": false,
    "isOtpSent": false,
    "isPending": true,
    "createdOnUtc": "2019-07-31T07:12:06.004Z",
    "rejectedOnUtc": "2019-07-31T07:12:06.004Z",
    "cancelledOnUtc": "2019-07-31T07:12:06.004Z"
  }
]

Get a profile by id

Get a profile by id.

GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/profiles/{profileId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)
Path profileId
required
The profile identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK ApiWhatsAppProfile

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/profiles/00000000-0000-0000-0000-000000000000

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelId": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "phoneNumber": "0000000000",
  "rejectionReason": "REJECTION REASON",
  "name": "NAME",
  "image": "data:image/ ...",
  "isActive": false,
  "isOtpProcessed": false,
  "isOtpSent": false,
  "isPending": true,
  "fulfilledOnUtc": "2019-07-31T06:20:52.280Z",
  "createdOnUtc": "2019-07-31T06:20:52.280Z",
  "rejectedOnUtc": "2019-07-31T06:20:52.280Z",
  "cancelledOnUtc": "2019-07-31T06:20:52.280Z"
}

Update a profile's phone number

Update a profile's phone number.

PUT https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/profiles/{profileId}/phonenumber

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)
Path profileId
required
The profile identifier. string (uuid)
Query phoneNumber
required
The new phone number. string

Responses

HTTP Code Description Schema
202 Accepted ApiWhatsAppProfile

Example HTTP request

Request path

PUT https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/profiles/00000000-0000-0000-0000-000000000000/phonenumber?phoneNumber=0000000000

Response body (202)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelId": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "phoneNumber": "0000000000",
  "rejectionReason": "REJECTION REASON",
  "name": "NAME",
  "image": "data:image/ ...",
  "isActive": false,
  "isOtpProcessed": false,
  "isOtpSent": false,
  "isPending": true,
  "fulfilledOnUtc": "2019-07-31T06:20:52.280Z",
  "createdOnUtc": "2019-07-31T06:20:52.280Z",
  "rejectedOnUtc": "2019-07-31T06:20:52.280Z",
  "cancelledOnUtc": "2019-07-31T06:20:52.280Z"
}

Start a profile's otp validation

Start a profile's otp validation.

GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/profiles/{profileId}/phonenumber/otp

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)
Path profileId
required
The profile identifier. string (uuid)
Query otpMethod
required
The one-time-password method. "voice", "sms"

Responses

HTTP Code Description Schema
202 Accepted

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/profiles/00000000-0000-0000-0000-000000000000/phonenumber/otp

Response body (202)

Finish a profile's otp validation

Finish a profile's otp validation.

POST https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/profiles/{profileId}/phonenumber/otp

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)
Path profileId
required
The profile identifier. string (uuid)
Query phoneNumber
required
The profile's phone number. string
Query otp
required
The received one-time-password. string

Responses

HTTP Code Description Schema
200 Ok ApiWhatsAppProfile

Example HTTP request

Request path

POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/profiles/00000000-0000-0000-0000-000000000000/phonenumber/otp?phoneNumber=00000000000&otp=000000

Response body (201)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelId": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "phoneNumber": "0000000000",
  "rejectionReason": "REJECTION REASON",
  "name": "NAME",
  "image": "data:image/ ...",
  "isActive": true,
  "isOtpProcessed": true,
  "isOtpSent": true,
  "isPending": false,
  "fulfilledOnUtc": "2019-07-31T06:20:52.280Z",
  "createdOnUtc": "2019-07-31T06:20:52.280Z",
  "rejectedOnUtc": "2019-07-31T06:20:52.280Z",
  "cancelledOnUtc": "2019-07-31T06:20:52.280Z"
}

Templates

When you want to make use of Templates in your own application, you obviously want to know which templates you have available for your account, what the content is of those templates, and which parameters you can fill in to personalize/actualize the message.
This part of the Channels API provides this information, and more.

Templates are used when an organization wants to send a message to a user first. Templates must be setup and approved before they can be used. You can request new templates via CM.com (see implementation manual). A user must have opted in. As you know a user must first consent to receive messages in WhatsApp by opting in. The opt-in must be an active opt-in. See also Facebook's opt-in guide and our API documentation.

WhatsApp Templates can be used by the entire business account. When one account has more than one Business Profile, the registered templates can be used for All profiles.

Get supported template categories

Get supported template categories.

GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/templates/categories

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK array[ApiWhatsAppTemplateCategory]

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates/categories

Response body (200)

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "CATEGORY NAME"
  }
]

Create a template

POST https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/templates

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)
Query templateCategoryId
required
The template category identifier. string (uuid)
Body templateRequest
required
The template request object. ApiWhatsAppTemplateBaseRequest

Responses

HTTP Code Description Schema
201 Created ApiWhatsAppTemplate

Example HTTP request

Request path

POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates?templateCategoryId=00000000-0000-0000-0000-000000000000

Request body

{
  "name": "TEMPLATE NAME"
}

Response body (201)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "templateCategoryId": "00000000-0000-0000-0000-000000000000",
  "facebookName": "facebook_name",
  "facebookNamespaceId": "0a0a0a0a0a0a0a0a",
  "name": "TEMPLATE NAME",
  "category": "TEMPLATE CATEGORY",
  "settings": {
    "replacementFields": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "index": 0,
        "name": "FIELD NAME",
        "type": "FIELD TYPE"
      }
    ]
  },
  "languages": {
    "LANGUAGE NAME": {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "LANGUAGE NAME",
      "content": "LANGUAGE CONTENT",
      "rejectionReason": "REJECTION REASON",
      "isActive": false,
      "isIncomplete": true,
      "isValidationRequested": false,
      "isPending": false,
      "updatedOnUtc": "2019-07-31T07:12:06.050Z",
      "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
      "createdOnUtc": "2019-07-31T07:12:06.050Z",
      "rejectedOnUtc": "2019-07-31T07:12:06.050Z"
    }
  },
  "rejectionReason": "REJECTION REASON",
  "isActive": false,
  "isIncomplete": true,
  "isValidationRequested": false,
  "isPending": true,
  "updatedOnUtc": "2019-07-31T07:12:06.050Z",
  "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
  "createdOnUtc": "2019-07-31T07:12:06.050Z",
  "rejectedOnUtc": "2019-07-31T07:12:06.050Z",
  "cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}

Get your templates

Via this request you can see the status of all your templates under your business account.

GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/templates

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)
Query q
optional
The text to filter results on. string
Query skip
optional
The amount of results to skip. (pagination) integer
Query take
optional
The amount of results to take. (pagination) integer

Responses

HTTP Code Description Schema
200 OK array[ApiWhatsAppTemplateBaseResponse]

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates

Response body (200)

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "accountId": "00000000-0000-0000-0000-000000000000",
    "templateCategoryId": "00000000-0000-0000-0000-000000000000",
    "facebookName": "facebook_name",
    "facebookNamespaceId": "0a0a0a0a0a0a0a0a",
    "name": "TEMPLATE NAME",
    "category": "TEMPLATE CATEGORY",
    "languages": {
      "LANGUAGE NAME": {
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "LANGUAGE NAME",
        "content": "LANGUAGE CONTENT",
        "rejectionReason": "REJECTION REASON",
        "isActive": false,
        "isIncomplete": true,
        "isValidationRequested": false,
        "isPending": false,
        "updatedOnUtc": "2019-07-31T07:12:06.050Z",
        "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
        "createdOnUtc": "2019-07-31T07:12:06.050Z",
        "rejectedOnUtc": "2019-07-31T07:12:06.050Z"
      }
    },
    "isActive": false,
    "isIncomplete": true,
    "isValidationRequested": false,
    "isPending": true,
    "createdOnUtc": "2019-07-31T07:12:06.050Z",
    "rejectedOnUtc": "2019-07-31T07:12:06.050Z",
    "cancelledOnUtc": "2019-07-31T07:12:06.050Z"
  }
]

Get a template by id

Get a template by id.

GET https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/templates/{templateId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)
Path templateId
required
The template identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK ApiWhatsAppTemplate

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates/00000000-0000-0000-0000-000000000000

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "templateCategoryId": "00000000-0000-0000-0000-000000000000",
  "facebookName": "facebook_name",
  "facebookNamespaceId": "0a0a0a0a0a0a0a0a",
  "name": "TEMPLATE NAME",
  "category": "TEMPLATE CATEGORY",
  "settings": {
    "replacementFields": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "index": 0,
        "name": "FIELD NAME",
        "type": "FIELD TYPE"
      }
    ]
  },
  "languages": {
    "LANGUAGE NAME": {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "LANGUAGE NAME",
      "content": "LANGUAGE CONTENT",
      "rejectionReason": "REJECTION REASON",
      "isActive": false,
      "isIncomplete": true,
      "isValidationRequested": false,
      "isPending": false,
      "updatedOnUtc": "2019-07-31T07:12:06.050Z",
      "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
      "createdOnUtc": "2019-07-31T07:12:06.050Z",
      "rejectedOnUtc": "2019-07-31T07:12:06.050Z"
    }
  },
  "rejectionReason": "REJECTION REASON",
  "isActive": false,
  "isIncomplete": true,
  "isValidationRequested": false,
  "isPending": true,
  "updatedOnUtc": "2019-07-31T07:12:06.050Z",
  "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
  "createdOnUtc": "2019-07-31T07:12:06.050Z",
  "rejectedOnUtc": "2019-07-31T07:12:06.050Z",
  "cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}

Update a template

Update a template.

PUT https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/templates/{templateId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)
Path templateId
required
The template identifier. string (uuid)
Body templateUpdate
required
The template update. ApiWhatsAppTemplateUpdateRequest

Responses

HTTP Code Description Schema
200 OK ApiWhatsAppTemplate

Example HTTP request

Request path

PUT https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates/00000000-0000-0000-0000-000000000000

Request body

{
  "templateCategoryId": "00000000-0000-0000-0000-000000000000",
  "name": "TEMPLATE NAME",
  "languages": {
    "LANGUAGE NAME": {
      "content": "LANGUAGE CONTENT"
    }
  }
}

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "templateCategoryId": "00000000-0000-0000-0000-000000000000",
  "facebookName": "facebook_name",
  "facebookNamespaceId": "0a0a0a0a0a0a0a0a",
  "name": "TEMPLATE NAME",
  "category": "TEMPLATE CATEGORY",
  "settings": {
    "replacementFields": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "index": 0,
        "name": "FIELD NAME",
        "type": "FIELD TYPE"
      }
    ]
  },
  "languages": {
    "LANGUAGE NAME": {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "LANGUAGE NAME",
      "content": "LANGUAGE CONTENT",
      "rejectionReason": "REJECTION REASON",
      "isActive": false,
      "isIncomplete": true,
      "isValidationRequested": false,
      "isPending": false,
      "updatedOnUtc": "2019-07-31T07:12:06.050Z",
      "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
      "createdOnUtc": "2019-07-31T07:12:06.050Z",
      "rejectedOnUtc": "2019-07-31T07:12:06.050Z"
    }
  },
  "rejectionReason": "REJECTION REASON",
  "isActive": false,
  "isIncomplete": true,
  "isValidationRequested": false,
  "isPending": true,
  "updatedOnUtc": "2019-07-31T07:12:06.050Z",
  "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
  "createdOnUtc": "2019-07-31T07:12:06.050Z",
  "rejectedOnUtc": "2019-07-31T07:12:06.050Z",
  "cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}

Request validation of a template

Request validation of a template.

POST https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/templates/{templateId}/validate

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)
Path templateId
required
The template identifier. string (uuid)

Responses

HTTP Code Description Schema
202 Accepted ApiWhatsAppTemplate

Example HTTP request

Request path

POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates/00000000-0000-0000-0000-000000000000/validate

Response body (202)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "templateCategoryId": "00000000-0000-0000-0000-000000000000",
  "facebookName": "facebook_name",
  "facebookNamespaceId": "0a0a0a0a0a0a0a0a",
  "name": "TEMPLATE NAME",
  "category": "TEMPLATE CATEGORY",
  "settings": {
    "replacementFields": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "index": 0,
        "name": "FIELD NAME",
        "type": "FIELD TYPE"
      }
    ]
  },
  "languages": {
    "LANGUAGE NAME": {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "LANGUAGE NAME",
      "content": "LANGUAGE CONTENT",
      "rejectionReason": "REJECTION REASON",
      "isActive": false,
      "isIncomplete": false,
      "isValidationRequested": false,
      "isPending": false,
      "updatedOnUtc": "2019-07-31T07:12:06.050Z",
      "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
      "createdOnUtc": "2019-07-31T07:12:06.050Z",
      "rejectedOnUtc": "2019-07-31T07:12:06.050Z"
    }
  },
  "rejectionReason": "REJECTION REASON",
  "isActive": false,
  "isIncomplete": false,
  "isValidationRequested": true,
  "isPending": false,
  "updatedOnUtc": "2019-07-31T07:12:06.050Z",
  "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
  "createdOnUtc": "2019-07-31T07:12:06.050Z",
  "rejectedOnUtc": "2019-07-31T07:12:06.050Z",
  "cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}

Create a template replacement field

Fields to personalize, localize and actualize messages.

POST https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/templates/{templateId}/fields

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)
Path templateId
required
The template identifier. string (uuid)
Query name
required
The field name. string
Query type
required
The field type. "text", "currency", "datetime"

Responses

HTTP Code Description Schema
201 Created ApiWhatsAppTemplate

Example HTTP request

Request path

POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates/00000000-0000-0000-0000-000000000000/fields?name=FIELDNAME&type=text

Response body (202)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "templateCategoryId": "00000000-0000-0000-0000-000000000000",
  "facebookName": "facebook_name",
  "facebookNamespaceId": "0a0a0a0a0a0a0a0a",
  "name": "TEMPLATE NAME",
  "category": "TEMPLATE CATEGORY",
  "settings": {
    "replacementFields": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "index": 0,
        "name": "FIELDNAME",
        "type": "text"
      }
    ]
  },
  "languages": {
    "LANGUAGE NAME": {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "LANGUAGE NAME",
      "content": "LANGUAGE CONTENT",
      "rejectionReason": "REJECTION REASON",
      "isActive": false,
      "isIncomplete": false,
      "isValidationRequested": false,
      "isPending": false,
      "updatedOnUtc": "2019-07-31T07:12:06.050Z",
      "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
      "createdOnUtc": "2019-07-31T07:12:06.050Z",
      "rejectedOnUtc": "2019-07-31T07:12:06.050Z"
    }
  },
  "rejectionReason": "REJECTION REASON",
  "isActive": false,
  "isIncomplete": false,
  "isValidationRequested": true,
  "isPending": false,
  "updatedOnUtc": "2019-07-31T07:12:06.050Z",
  "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
  "createdOnUtc": "2019-07-31T07:12:06.050Z",
  "rejectedOnUtc": "2019-07-31T07:12:06.050Z",
  "cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}

Update a template replacement field

Fields to personalize, localize and actualize messages.

PUT https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/templates/{templateId}/fields/{fieldId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)
Path templateId
required
The template identifier. string (uuid)
Path fieldId
required
The field identifier. string (uuid)
Query name
required
The new field name. string
Query type
required
The new field type. "text", "currency", "datetime"

Responses

HTTP Code Description Schema
200 OK ApiWhatsAppTemplate

Example HTTP request

Request path

PUT https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates/00000000-0000-0000-0000-000000000000/fields/00000000-0000-0000-0000-000000000000?name=FIELDNAME2&type=currency

Request body

{
  "templateCategoryId": "00000000-0000-0000-0000-000000000000",
  "name": "TEMPLATE NAME",
  "languages": {
    "LANGUAGE NAME": {
      "content": "LANGUAGE CONTENT"
    }
  }
}

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "templateCategoryId": "00000000-0000-0000-0000-000000000000",
  "facebookName": "facebook_name",
  "facebookNamespaceId": "0a0a0a0a0a0a0a0a",
  "name": "TEMPLATE NAME",
  "category": "TEMPLATE CATEGORY",
  "settings": {
    "replacementFields": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "index": 0,
        "name": "FIELDNAME2",
        "type": "currency"
      }
    ]
  },
  "languages": {
    "LANGUAGE NAME": {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "LANGUAGE NAME",
      "content": "LANGUAGE CONTENT",
      "rejectionReason": "REJECTION REASON",
      "isActive": false,
      "isIncomplete": false,
      "isValidationRequested": false,
      "isPending": false,
      "updatedOnUtc": "2019-07-31T07:12:06.050Z",
      "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
      "createdOnUtc": "2019-07-31T07:12:06.050Z",
      "rejectedOnUtc": "2019-07-31T07:12:06.050Z"
    }
  },
  "rejectionReason": "REJECTION REASON",
  "isActive": false,
  "isIncomplete": false,
  "isValidationRequested": true,
  "isPending": false,
  "updatedOnUtc": "2019-07-31T07:12:06.050Z",
  "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
  "createdOnUtc": "2019-07-31T07:12:06.050Z",
  "rejectedOnUtc": "2019-07-31T07:12:06.050Z",
  "cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}

Delete a template replacement field

Fields to personalize, localize and actualize messages.

DELETE https://api.cm.com/channels/v1/accounts/{accountId}/whatsapp/{channelRequestId}/templates/{templateId}/fields/{fieldId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path channelRequestId
required
Your WhatsApp channel request identifier. string (uuid)
Path templateId
required
The template identifier. string (uuid)
Path fieldId
required
The field identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK ApiWhatsAppTemplate

Example HTTP request

Request path

DELETE https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates/00000000-0000-0000-0000-000000000000/fields/00000000-0000-0000-0000-000000000000

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "templateCategoryId": "00000000-0000-0000-0000-000000000000",
  "facebookName": "facebook_name",
  "facebookNamespaceId": "0a0a0a0a0a0a0a0a",
  "name": "TEMPLATE NAME",
  "category": "TEMPLATE CATEGORY",
  "settings": {
    "replacementFields": []
  },
  "languages": {
    "LANGUAGE NAME": {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "LANGUAGE NAME",
      "content": "LANGUAGE CONTENT",
      "rejectionReason": "REJECTION REASON",
      "isActive": false,
      "isIncomplete": false,
      "isValidationRequested": false,
      "isPending": false,
      "updatedOnUtc": "2019-07-31T07:12:06.050Z",
      "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
      "createdOnUtc": "2019-07-31T07:12:06.050Z",
      "rejectedOnUtc": "2019-07-31T07:12:06.050Z"
    }
  },
  "rejectionReason": "REJECTION REASON",
  "isActive": false,
  "isIncomplete": false,
  "isValidationRequested": true,
  "isPending": false,
  "updatedOnUtc": "2019-07-31T07:12:06.050Z",
  "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
  "createdOnUtc": "2019-07-31T07:12:06.050Z",
  "rejectedOnUtc": "2019-07-31T07:12:06.050Z",
  "cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}



Keyword claims

Claim a keyword on a shared or dedicated (owned) number.

Claim a keyword

Claim a keyword. (Or simulate the outcome)

POST https://api.cm.com/channels/v1/accounts/{accountId}/keywords

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Query simulate
optional
If set to true no actual operations will be performed, but validation will occur. boolean
Body claim
required
The claim. ApiKeywordClaimRequest

Responses

HTTP Code Description Schema
201 Created ApiKeywordClaimResponse

Example HTTP request

Request path

POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/keywords&simulate=true

Request body

{
  "phoneNumberId": "0000000000",
  "keyword": "KEYWORD"
}

Response body (201)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelId": "00000000-0000-0000-0000-000000000000",
  "phoneNumber": "0000000000",
  "country": "NL",
  "keyword": "KEYWORD",
  "currency": "EUR",
  "startupCost": 0,
  "monthlyCost": 0,
  "noticePeriodDays": 0,
  "claimedOnUtc": "2019-03-18T09:56:31.723Z"
}

Get your claimed keywords

This call is used to get all claimed keywords you have registered with CM.com and their status.

GET https://api.cm.com/channels/v1/accounts/{accountId}/keywords

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Query phoneNumber
optional
The phone numbers to filter the results on. array[string]
Query keyword
optional
The keywords to filter the results on. array[string]
Query country
optional
The country to filter the results on. string
Query skip
optional
The amount of results to skip. (pagination) integer
Query take
optional
The amount of results to take. (pagination) integer

Responses

HTTP Code Description Schema
200 OK array[ApiKeywordClaimResponse]

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/keywords

Response body (200)

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "channelId": "00000000-0000-0000-0000-000000000000",
    "phoneNumber": "0000000000",
    "country": "NL",
    "keyword": "KEYWORD",
    "currency": "EUR",
    "startupCost": 0,
    "monthlyCost": 0,
    "noticePeriodDays": 0,
    "claimedOnUtc": "2019-03-18T09:56:31.723Z"
  }
]

Get a keyword claim by id

When you require to know the status of a keyword claim, you can request that too.
You can do this by implementing this call.

GET https://api.cm.com/channels/v1/accounts/{accountId}/keywords/{keywordClaimId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path keywordClaimId
required
The claim identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK ApiKeywordClaimResponse

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/keywords/00000000-0000-0000-0000-000000000000

Response body (200)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelId": "00000000-0000-0000-0000-000000000000",
  "phoneNumber": "0000000000",
  "country": "NL",
  "keyword": "KEYWORD",
  "currency": "EUR",
  "startupCost": 0,
  "monthlyCost": 0,
  "noticePeriodDays": 0,
  "claimedOnUtc": "2019-03-18T09:56:31.723Z"
}

Cancel a keyword claim

If you make use of a keyword you no longer need, you can cancel the claim.
Your invoicing will be stopped coming invoicing month, which means you only need to pay for the current month.
Right after you cancel your keyword subscription this can no longer be used by you, we block it right away and do not await the end of your monthly subscription.

DELETE https://api.cm.com/channels/v1/accounts/{accountId}/keywords/{keywordClaimId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path keywordClaimId
required
The claim identifier. string (uuid)

Responses

HTTP Code Description Schema
204 NoContent

Example HTTP request

Request path

DELETE https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/keywords/00000000-0000-0000-0000-000000000000

Verify a claim

Verifies a claim by id and returns an array of strings describing found issues.

GET https://api.cm.com/channels/v1/accounts/{accountId}/keywords/{keywordClaimId}/verify

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path keywordClaimId
required
The claim identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK array[string]

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/keywords/00000000-0000-0000-0000-000000000000/verify

Response body (200)

[
  "string"
]



Dedicated phone numbers

Rent a dedicated phone number.

Request a phone number

Request to rent a dedicated phone number. (Or simulate the outcome)

POST https://api.cm.com/channels/v1/accounts/{accountId}/phonenumbers/requests

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Query numberTypeId
required
The number type identifier. string (uuid)
Query simulate
optional
If set to true no actual operations will be performed, but validation will occur. boolean

Responses

HTTP Code Description Schema
201 Created ApiNumberRequestResponse

Example HTTP request

Request path

POST https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/phonenumbers/requests?numberTypeId=00000000-0000-0000-0000-000000000000&simulate=true

Response body (201)

{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelId": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "phoneNumberId": "0000000000",
  "numberType": 
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "purpose": [
      "SMS"
    ],
    "country": "NL",
    "category": "MOBILE",
    "description": "A Dutch mobile number",
    "currency": "EUR",
    "startupCost": 0,
    "monthlyCost": 0,
    "noticePeriodDays": 0,
    "keywordStartupCost": 0,
    "keywordMonthlyCost": 0,
    "keywordNoticePeriodDays": 0,
    "numberRequestProcessingDays": 0
  },
  "isPending": true,
  "isActive": false,
  "cancelledOnUtc": "2019-07-29T09:30:01.785Z",
  "fulfilledOnUtc": "2019-03-18T09:56:31.764Z",
  "createdOnUtc": "2019-01-31T10:39:16.241Z"
}

Get your phone number requests

This call is used to get all your phone number requests registered with CM.com and their status.

GET https://api.cm.com/channels/v1/accounts/{accountId}/phonenumbers/requests

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Query country
optional
The country to filter the results on. string
Query isPending
optional
If set, filters the result on pending state. boolean
Query skip
optional
The amount of results to skip. (pagination) integer
Query take
optional
The amount of results to take. (pagination) integer

Responses

HTTP Code Description Schema
200 OK array[ApiNumberRequestResponse]

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/phonenumbers/requests?country=NL&isPending=true&skip=0&take=1

Response body (200)

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "channelId": "00000000-0000-0000-0000-000000000000",
    "accountId": "00000000-0000-0000-0000-000000000000",
    "phoneNumberId": "0000000000",
    "numberType": 
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "purpose": [
        "SMS"
      ],
      "country": "NL",
      "category": "MOBILE",
      "description": "A Dutch mobile number",
      "currency": "EUR",
      "startupCost": 0,
      "monthlyCost": 0,
      "noticePeriodDays": 0,
      "keywordStartupCost": 0,
      "keywordMonthlyCost": 0,
      "keywordNoticePeriodDays": 0,
      "numberRequestProcessingDays": 0
    },
    "isPending": true,
    "isActive": false,
    "cancelledOnUtc": "2019-07-29T09:30:01.785Z",
    "fulfilledOnUtc": "2019-03-18T09:56:31.764Z",
    "createdOnUtc": "2019-01-31T10:39:16.241Z"
  }
]

Cancel a phone number subscription

If you rent a phone numbers you no longer need, you can cancel the subscription.
Your invoicing will be stopped coming invoicing month, which means you only need to pay for the current month.
Right after you cancel your phone number subscription this can no longer be used by you, we block it right away and do not await the end of your monthly subscription.

DELETE https://api.cm.com/channels/v1/accounts/{accountId}/phonenumbers/{phoneNumberId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path phoneNumberId
required
The phone number identifier. string (uuid)

Responses

HTTP Code Description Schema
204 NoContent

Example HTTP request

Request path

DELETE https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/phonenumbers/0000000000

Get available phone numbers

This call is used to get all available phone numbers registered with CM.com.
Only shared (for claiming a keyword on) and owned phone numbers are returned.

GET https://api.cm.com/channels/v1/accounts/{accountId}/phonenumbers

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Query query
optional
The query to search for and filter the results on. string
Query country
optional
The country to filter the results on. string
Query isOwned
optional
If set, result is filtered on whether a phone number is/is not owned by you. boolean
Query isShortcode
optional
If set, result is filtered on whether a phone number is/is not a shortcode. boolean
Query isShared
optional
If set, result is filtered on whether a phone number is/is not a shared number. boolean
Query skip
optional
The amount of results to skip. (pagination) integer
Query take
optional
The amount of results to take. (pagination) integer

Responses

HTTP Code Description Schema
200 OK array[ApiPhoneNumberResponse]

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/phonenumbers?query=0000&country=NL&isOwned=true&isShortcode=false&isShared=false&skip=0&take=1

Response body (200)

[
  {
    "id": "0000000000",
    "accountId": "00000000-0000-0000-0000-000000000000",
    "numberType": 
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "purpose": [
        "SMS"
      ],
      "country": "NL",
      "category": "MOBILE",
      "description": "A Dutch mobile number",
      "currency": "EUR",
      "startupCost": 0,
      "monthlyCost": 0,
      "noticePeriodDays": 0,
      "keywordStartupCost": 0,
      "keywordMonthlyCost": 0,
      "keywordNoticePeriodDays": 0,
      "numberRequestProcessingDays": 0
    },
    "number": "0000000000",
    "isShared": false,
    "ownedSinceUtc": "2019-02-05T12:34:08.614Z"
  }
]

Get an available phone number by id

When you require to know the status of a phone number, you can request that too.
You can do this by implementing this call.
Only shared (for claiming a keyword on) and owned phone numbers are returned.

GET https://api.cm.com/channels/v1/accounts/{accountId}/phonenumbers/{phoneNumberId}

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Path phoneNumberId
required
The phone number identifier. string (uuid)

Responses

HTTP Code Description Schema
200 OK ApiPhoneNumberResponse

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000//phonenumbers/0000000000

Response body (200)

{
  "id": "0000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "numberType": 
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "purpose": [
      "SMS"
    ],
    "country": "NL",
    "category": "MOBILE",
    "description": "A Dutch mobile number",
    "currency": "EUR",
    "startupCost": 0,
    "monthlyCost": 0,
    "noticePeriodDays": 0,
    "keywordStartupCost": 0,
    "keywordMonthlyCost": 0,
    "keywordNoticePeriodDays": 0,
    "numberRequestProcessingDays": 0
  },
  "number": "0000000000",
  "isShared": false,
  "ownedSinceUtc": "2019-02-05T12:34:08.614Z"
}

Get available phone number types

This call is used to get all available number types registered with CM.com.
Number types are linked to phone numbers and are mandatory in requesting a dedicated phone number.

GET https://api.cm.com/channels/v1/accounts/{accountId}/phonenumbers/numbertypes

Parameters

Type Name Description Schema
Path accountId
required
Your account identifier. string (uuid)
Query country
optional
The country to filter the results on. string
Query type
optional
The type to filter the results on. string
Query purpose
optional
The purpose to filter the results on. string
Query skip
optional
The amount of results to skip. (pagination) integer
Query take
optional
The amount of results to take. (pagination) integer

Responses

HTTP Code Description Schema
200 OK array[ApiNumberTypeResponse]

Example HTTP request

Request path

GET https://api.cm.com/channels/v1/accounts/00000000-0000-0000-0000-000000000000/phonenumbers?country=NL&isOwned=true&isShortcode=false&isShared=false&skip=0&take=1

Response body (200)

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "purpose": [
      "SMS"
    ],
    "country": "NL",
    "category": "MOBILE",
    "description": "A Dutch mobile number",
    "currency": "EUR",
    "startupCost": 0,
    "monthlyCost": 0,
    "noticePeriodDays": 0,
    "keywordStartupCost": 0,
    "keywordMonthlyCost": 0,
    "keywordNoticePeriodDays": 0,
    "numberRequestProcessingDays": 0
  }
]



Model Definitions

Definitions of Numbers API specific request and response data models.
This includes names, types, descriptions and a JSON representation.


Channels

Models used at channels related endpoints.


ApiChannelBase

Model
Name Schema Description
id string (uuid) The channel identifier.
channelRequestId string (uuid) The channel request identifier.
channelTypeId string (uuid) The channel type identifier.
channelCategoryId string (uuid) The channel category identifier.
channelId string (uuid) The channel element identifier.
customRequestFormId string (uuid) The customer request form identifier.
customRequestFormIsPending boolean Indicates whether this customer request form is pending. A form is pending when the underlying onboarding process is not yet finalized.
isPending boolean Indicates whether this channel is pending. A channel is pending when the underlying onboarding process is not yet finalized.
createdOnUtc timestamp (UTC) The moment (UTC) the channel was created.
requestState timestamp (UTC) The moment (UTC) the channel was updated.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelRequestId": "00000000-0000-0000-0000-000000000000",
  "channelTypeId": "00000000-0000-0000-0000-000000000000",
  "channelCategoryId": "00000000-0000-0000-0000-000000000000",
  "channelID": "string",
  "channelUrl": "string",
  "customRequestFormId": "00000000-0000-0000-0000-000000000000",
  "customRequestFormIsPending": true,
  "isPending": true,
  "createdOnUtc": "2021-12-06T10:34:25.852Z",
  "requestState": {
    "completeness": 0,
    "nextStage": {
      "type": "UNKNOWN",
      "descriptionKey": "string"
    },
    "progression": {
      "stages": [
        "string"
      ],
      "current": "string"
    },
    "hasPendingOrder": true
  }
}


ApiRequestState

Model
Name Schema Description
completeness integer The request completeness status.
nextStage ApiRequestNextState The next state of the request.
progression ApiRequestProgression The progression of the request.
hasPendingOrder boolean Indicates whether the request has pending order.
JSON
{
    "completeness": 0,
    "nextStage": {
      "type": "UNKNOWN",
      "descriptionKey": "string"
    },
    "progression": {
      "stages": [
        "string"
      ],
      "current": "string"
    },
    "hasPendingOrder": true
}


ApiRequestNextState

Model
Name Schema Description
type string The next state type. Value can be 'UNKNOWN', 'PROCESSING', 'ACTION_REQUIRED'
descriptionKey string The next state description.
JSON
{
  "type": "UNKNOWN",
  "descriptionKey": "string"
}


ApiRequestProgression

Model
Name Schema Description
stages array[string] The request stages.
current string The current request stage.
JSON
{
  "stages": [
     "string"
  ],
  "current": "string"
}


ApiChannelGroupBase

Model
Name Schema Description
id string (uuid) The channel group identifier.
channels array[ApiChannelBase] The channels included in the channel group.
JSON
{
    "id": "00000000-0000-0000-0000-000000000000",
    "channels": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "channelRequestId": "00000000-0000-0000-0000-000000000000",
        "channelTypeId": "00000000-0000-0000-0000-000000000000",
        "channelCategoryId": "00000000-0000-0000-0000-000000000000",
        "channelID": "string",
        "channelUrl": "string",
        "customRequestFormId": "00000000-0000-0000-0000-000000000000",
        "customRequestFormIsPending": true,
        "isPending": true,
        "createdOnUtc": "2021-12-06T10:25:50.735Z",
        "requestState": {
          "completeness": 0,
          "nextStage": {
            "type": "UNKNOWN",
            "descriptionKey": "string"
          },
          "progression": {
            "stages": [
              "string"
            ],
            "current": "string"
          },
          "hasPendingOrder": true
        }
      }
    ]
  }


ApiChannelRequestBase

Model
Name Schema Description
id string (uuid) The channel request identifier.
channelTypeId string (uuid) The channel type identifier.
isPending boolean Indicates whether this request is pending. A request is pending when the underlying onboarding process is not yet finalized.
isActive boolean Indicates whether this request is active. A request is active when the underlying onboarding process is finalized.
createdOnUtc timestamp (UTC) The moment (UTC) the request was created.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelTypeId": "00000000-0000-0000-0000-000000000000",
  "isPending": false,
  "isActive": true,
  "createdOnUtc": "2019-07-29T09:30:01.709Z"
}


ApiChannelRequest

Model
Name Schema Description
id string (uuid) The channel request identifier.
channelTypeId string (uuid) The channel type identifier.
isPending boolean Indicates whether this request is pending. A request is pending when the underlying onboarding process is not yet finalized.
isActive boolean Indicates whether this request is active. A request is active when the underlying onboarding process is finalized.
cancelledOnUtc timestamp (UTC) The moment (UTC) the request was cancelled.
fulfilledOnUtc timestamp (UTC) The moment (UTC) the request was fulfilled.
createdOnUtc timestamp (UTC) The moment (UTC) the request was created.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelTypeId": "00000000-0000-0000-0000-000000000000",
  "isPending": false,
  "isActive": true,
  "cancelledOnUtc": "2019-07-29T09:30:01.714Z",
  "fulfilledOnUtc": "2019-07-29T09:30:01.714Z",
  "createdOnUtc": "2019-07-29T09:30:01.714Z"
}


ApiChannels

Model
Name Schema Description
available ApiChannelsAvailable The currently available channel types.
comingSoon array[string] Channel types that will become available soon.
JSON
{
  "available": {
    "sms": {
      "keywords": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "channelID": "0000000000|KEYWORD",
          "channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/sms/00000000-0000-0000-0000-000000000000/keywords/0000000000|KEYWORD",
          "isPending": false,
          "createdOnUtc": "2019-07-24T13:43:58.3329114"
        }
      ],
      "numbers": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "channelID": "00000000-0000-0000-0000-000000000000",
          "channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/sms/00000000-0000-0000-0000-000000000000/numbers/00000000-0000-0000-0000-000000000000",
          "isPending": true,
          "createdOnUtc": "2019-07-24T13:18:01.1650535"
        }
      ]
    },
    "whatsApp": {
      "templates": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "channelID": "00000000-0000-0000-0000-000000000000",
          "channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates/00000000-0000-0000-0000-000000000000",
          "isPending": true,
          "createdOnUtc": "2019-06-27T14:03:59.5380232"
        }
      ],
      "profiles": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "channelID": "00000000-0000-0000-0000-000000000000",
          "channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/profiles/00000000-0000-0000-0000-000000000000",
          "isPending": false,
          "createdOnUtc": "2019-05-21T15:23:49.2085959"
        }
      ]
    }
  },
  "comingSoon": [
    "RCS",
    "Viber"
  ]
}


ApiChannelsAvailable

The object contains of a field for each available channel.
Each field is a dictionary containing a key for each category and a collection of configured channels as value.

JSON
{
  "sms": {
    "keywords": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "channelID": "0000000000|KEYWORD",
        "channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/sms/00000000-0000-0000-0000-000000000000/keywords/0000000000|KEYWORD",
        "isPending": false,
        "createdOnUtc": "2019-07-24T13:43:58.3329114"
      }
    ],
    "numbers": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "channelID": "00000000-0000-0000-0000-000000000000",
        "channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/sms/00000000-0000-0000-0000-000000000000/numbers/00000000-0000-0000-0000-000000000000",
        "isPending": true,
        "createdOnUtc": "2019-07-24T13:18:01.1650535"
      }
    ]
  },
  "whatsApp": {
    "templates": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "channelID": "00000000-0000-0000-0000-000000000000",
        "channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/templates/00000000-0000-0000-0000-000000000000",
        "isPending": true,
        "createdOnUtc": "2019-06-27T14:03:59.5380232"
      }
    ],
    "profiles": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "channelID": "00000000-0000-0000-0000-000000000000",
        "channelUrl": "https://www.cm.com/app/channels/00000000-0000-0000-0000-000000000000/whatsapp/00000000-0000-0000-0000-000000000000/profiles/00000000-0000-0000-0000-000000000000",
        "isPending": false,
        "createdOnUtc": "2019-05-21T15:23:49.2085959"
      }
    ]
  }
  ...
}


ApiChannel

Model
Name Schema Description
id string (uuid) The channel identifier.
channelID string The underlying entity identifier.
channelUrl string The URL to the Channels web application.
isPending boolean Indicates whether this channel is pending. A channel is pending when the underlying entity is not yet active.
createdOnUtc timestamp (UTC) The moment (UTC) the channel was created.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelID": "CHANNELID",
  "channelUrl": "string",
  "isPending": true,
  "createdOnUtc": "2019-07-29T09:30:01.701Z"
}


ApiChannelTypeBaseResponse

Model
Name Schema Description
id string (uuid) The channel type identifier.
currency string The currency in the ISO 4217 notation.
description string Text that describes the channel type.
startupCost integer The startup cost.
monthlyCost integer The monthly cost.
channelRequestProcessingDays integer The processing time in days to fulfill a request of this type.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "currency": "EUR",
  "description": "WhatsApp",
  "startupCost": 0,
  "monthlyCost": 0,
  "channelRequestProcessingDays": 7
}


ApiChannelTypeResponse

Model
Name Schema Description
id string (uuid) The channel type identifier.
currency string The currency in the ISO 4217 notation.
description string Text that describes the channel type.
startupCost integer The startup cost.
monthlyCost integer The monthly cost.
channelRequestProcessingDays integer The processing time in days to fulfill a request of this type.
noticePeriodDays integer The notice period in days.
categories array[ApiChannelCategory] The categories for the channel type.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "currency": "EUR",
  "description": "WhatsApp",
  "startupCost": 0,
  "monthlyCost": 0,
  "channelRequestProcessingDays": 7,
  "noticePeriodDays": 30,
  "categories": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "templates"
    },
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "profiles"
    },
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "businessAccount"
    }
  ]
}


ApiChannelCategory

Model
Name Schema Description
id string (uuid) The channel category identifier.
name string The category name.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "CATEGORY NAME"
}


Channel configuration

Models used at channel configurations related endpoints.


ApiChannelConfigurations

Model
Name Schema Description
channelGroup ApiChannelGroupBase The channel group of the current channel.
inbound array[ApiChannelConfigurationsInbound] The inbound configurations for the channel group.
JSON
{
  "channelGroup": {
    "id": "00000000-0000-0000-0000-000000000000",
    "channels": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "channelRequestId": "00000000-0000-0000-0000-000000000000",
        "channelTypeId": "00000000-0000-0000-0000-000000000000",
        "channelCategoryId": "00000000-0000-0000-0000-000000000000",
        "channelID": "string",
        "channelUrl": "string",
        "customRequestFormId": "00000000-0000-0000-0000-000000000000",
        "customRequestFormIsPending": true,
        "isPending": true,
        "createdOnUtc": "2021-12-03T10:32:02.324Z",
        "requestState": {
          "completeness": 0,
          "nextStage": {
            "type": "UNKNOWN",
            "descriptionKey": "string"
          },
          "progression": {
            "stages": [
              "string"
            ],
            "current": "string"
          },
          "hasPendingOrder": true
        }
      }
    ]
  },
  "inbound": {
    "messagingLog": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "updatedOnUtc": "2021-12-03T10:32:02.324Z",
      "createdOnUtc": "2021-12-03T10:32:02.324Z"
    },
    "customerContact": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "endpoints": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "method": "POST",
          "url": "string",
          "type": "Xml",
          "updatedOnUtc": "2021-12-03T10:32:02.324Z",
          "createdOnUtc": "2021-12-03T10:32:02.324Z"
        }
      ],
      "updatedOnUtc": "2021-12-03T10:32:02.324Z",
      "createdOnUtc": "2021-12-03T10:32:02.324Z"
    },
    "email": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "addresses": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "address": "string",
          "updatedOnUtc": "2021-12-03T10:32:02.324Z",
          "createdOnUtc": "2021-12-03T10:32:02.324Z"
        }
      ],
      "updatedOnUtc": "2021-12-03T10:32:02.324Z",
      "createdOnUtc": "2021-12-03T10:32:02.324Z"
    },
    "webhook": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "endpoints": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "method": "POST",
          "url": "string",
          "type": "Json",
          "updatedOnUtc": "2021-12-03T10:32:02.324Z",
          "createdOnUtc": "2021-12-03T10:32:02.324Z"
        }
      ],
      "updatedOnUtc": "2021-12-03T10:32:02.324Z",
      "createdOnUtc": "2021-12-03T10:32:02.324Z"
    },
    "eventWebhook": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "endpoint": {
        "id": "00000000-0000-0000-0000-000000000000",
        "channelsOneId": "00000000-0000-0000-0000-000000000000",
        "method": "POST",
        "url": "string",
        "type": "Json",
        "updatedOnUtc": "2021-12-03T10:32:02.324Z",
        "createdOnUtc": "2021-12-03T10:32:02.324Z"
      },
      "updatedOnUtc": "2021-12-03T10:32:02.324Z",
      "createdOnUtc": "2021-12-03T10:32:02.324Z"
    }
  }
}


ApiChannelConfigurationsInbound

Model
Name Schema Description
messagingLog ApiChannelMessagingLogConfigurationResponse The messaging log configuration.
customerContact ApiChannelCustomerContactConfigurationResponse The customer contact configuration.
email ApiChannelEmailConfigurationResponse The email configuration.
webhook ApiChannelWebHookConfigurationResponse The webhook configuration.
eventWebhook ApiChannelEventWebHookConfigurationResponse The event webhook configuration.
JSON
{
   "messagingLog": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "updatedOnUtc": "2021-12-03T10:32:02.324Z",
      "createdOnUtc": "2021-12-03T10:32:02.324Z"
    },
    "customerContact": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "endpoints": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "method": "POST",
          "url": "string",
          "type": "Xml",
          "updatedOnUtc": "2021-12-03T10:32:02.324Z",
          "createdOnUtc": "2021-12-03T10:32:02.324Z"
        }
      ],
      "updatedOnUtc": "2021-12-03T10:32:02.324Z",
      "createdOnUtc": "2021-12-03T10:32:02.324Z"
    },
    "email": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "addresses": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "address": "string",
          "updatedOnUtc": "2021-12-03T10:32:02.324Z",
          "createdOnUtc": "2021-12-03T10:32:02.324Z"
        }
      ],
      "updatedOnUtc": "2021-12-03T10:32:02.324Z",
      "createdOnUtc": "2021-12-03T10:32:02.324Z"
    },
    "webhook": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "endpoints": [
        {
          "id": "00000000-0000-0000-0000-000000000000",
          "method": "POST",
          "url": "string",
          "type": "Json",
          "updatedOnUtc": "2021-12-03T10:32:02.324Z",
          "createdOnUtc": "2021-12-03T10:32:02.324Z"
        }
      ],
      "updatedOnUtc": "2021-12-03T10:32:02.324Z",
      "createdOnUtc": "2021-12-03T10:32:02.324Z"
    },
    "eventWebhook": {
      "id": "00000000-0000-0000-0000-000000000000",
      "enabled": true,
      "endpoint": {
        "id": "00000000-0000-0000-0000-000000000000",
        "channelsOneId": "00000000-0000-0000-0000-000000000000",
        "method": "POST",
        "url": "string",
        "type": "Json",
        "updatedOnUtc": "2021-12-03T10:32:02.324Z",
        "createdOnUtc": "2021-12-03T10:32:02.324Z"
      },
      "updatedOnUtc": "2021-12-03T10:32:02.324Z",
      "createdOnUtc": "2021-12-03T10:32:02.324Z"
    }
  }


ApiChannelConfigurationResponse

Model
Name Schema Description
id string (uuid) The channel configuration identifier.
enabled boolean Indicates whether this configuration is enabled.
updatedOnUtc timestamp (UTC) The moment (UTC) the configuration was updated.
createdOnUtc timestamp (UTC) The moment (UTC) the configuration was created.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "updatedOnUtc": "2021-12-03T10:30:52.989Z",
  "createdOnUtc": "2021-12-03T10:30:52.989Z"
}


ApiChannelCustomerContactConfigurationRequest

Model
Name Schema Description
endpoint ApiChannelCustomerContactEndpointRequest The customer contact configuration endpoint.
JSON
{
  "endpoint": {
    "method": "POST",
    "url": "string",
    "type": "Xml"
  }
}


ApiChannelCustomerContactEndpointRequest

Model
Name Schema Description
method string The endpoint method. Value can only be 'POST'.
url string The endpoint url.
type string The endpoint type. Values can be either 'Xml' or 'Json'.
JSON
{
    "method": "POST",
    "url": "string",
    "type": "Xml"
  }


ApiChannelCustomerContactConfigurationResponse

Model
Name Schema Description
id string (uuid) The customer contact configuration identifier.
enabled boolean Indicates whether this configuration is enabled.
endpoints array[ApiChannelCustomerContactEndpointResponse] The endpoints.
updatedOnUtc timestamp (UTC) The moment (UTC) the configuration was updated.
createdOnUtc timestamp (UTC) The moment (UTC) the configuration was created.
JSON
{
 "id": "00000000-0000-0000-0000-000000000000",
 "enabled": true,
 "endpoints": [
   {
     "id": "00000000-0000-0000-0000-000000000000",
     "method": "POST",
     "url": "string",
     "type": "Xml",
     "updatedOnUtc": "2021-12-03T13:11:13.118Z",
     "createdOnUtc": "2021-12-03T13:11:13.118Z"
   }
 ],
 "updatedOnUtc": "2021-12-03T13:11:13.118Z",
 "createdOnUtc": "2021-12-03T13:11:13.118Z"
}


ApiChannelCustomerContactEndpointResponse

Model
Name Schema Description
id string (uuid) The customer contact endpoint identifier.
method string The endpoint method.
url string The endpoint url.
type string The endpoint type.
updatedOnUtc timestamp (UTC) The moment (UTC) the endpoint was updated.
createdOnUtc timestamp (UTC) The moment (UTC) the endpoint was created.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "method": "POST",
  "url": "string",
  "type": "Xml",
  "updatedOnUtc": "2021-12-03T13:11:13.118Z",
  "createdOnUtc": "2021-12-03T13:11:13.118Z"
}


ApiChannelEmailConfigurationRequest

Model
Name Schema Description
email string The e-mail configuration request.
JSON
{
  "email": {
    "address": "string"
  }
}


ApiChannelEmailAddressRequest

Model
Name Schema Description
address string The e-mail address.
JSON
{
   "address": "string"
}


ApiChannelEmailConfigurationResponse

Model
Name Schema Description
id string (uuid) The customer contact configuration identifier.
enabled boolean Indicates whether this configuration is enabled. An enabled configuration enables receiving e-mails
addresses array[ApiChannelEmailAddressResponse] The addresses to which e-mails are sent.
updatedOnUtc timestamp (UTC) The moment (UTC) the configuration was updated.
createdOnUtc timestamp (UTC) The moment (UTC) the configuration was created.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "addresses": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "address": "string",
      "updatedOnUtc": "2021-12-06T10:34:25.832Z",
      "createdOnUtc": "2021-12-06T10:34:25.832Z"
    }
  ],
  "updatedOnUtc": "2021-12-06T10:34:25.832Z",
  "createdOnUtc": "2021-12-06T10:34:25.832Z"
}


ApiChannelEmailAddressResponse

Model
Name Schema Description
id string (uuid) The e-mail address response identifier.
address string The e-mail address.
updatedOnUtc timestamp (UTC) The moment (UTC) the address was updated.
createdOnUtc timestamp (UTC) The moment (UTC) the address was created.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "address": "string",
  "updatedOnUtc": "2021-12-03T10:32:02.324Z",
  "createdOnUtc": "2021-12-03T10:32:02.324Z"
}


ApiChannelEventWebhookConfigurationRequest

Model
Name Schema Description
endpoint ApiChannelEventWebHookEndpointRequest The event webhook configuration endpoint.
JSON
{
  "endpoint": {
    "method": "POST",
    "url": "string",
    "type": "Json"
  }
}


ApiChannelEventWebhookEndpointRequest

Model
Name Schema Description
method string The endpoint method. Value can only be 'POST'.
url string The endpoint url.
type string The endpoint type. Values can only be 'Json'.
JSON
{
    "method": "POST",
    "url": "string",
    "type": "Json"
}


ApiChannelEventWebHookConfigurationResponse

Model
Name Schema Description
id string (uuid) The event webhook configuration identifier.
enabled boolean Indicates whether this configuration is enabled. An enabled configuration enables receiving event messages.
endpoints array[ApiChannelEventWebHookEndpointResponse] The endpoints to which event messages are sent.
updatedOnUtc timestamp (UTC) The moment (UTC) the configuration was updated.
createdOnUtc timestamp (UTC) The moment (UTC) the configuration was created.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "endpoint": {
     "id": "00000000-0000-0000-0000-000000000000",
     "channelsOneId": "00000000-0000-0000-0000-000000000000",
     "method": "POST",
     "url": "string",
     "type": "Json",
     "updatedOnUtc": "2021-12-03T10:32:02.324Z",
     "createdOnUtc": "2021-12-03T10:32:02.324Z"
  },
  "updatedOnUtc": "2021-12-03T10:32:02.324Z",
  "createdOnUtc": "2021-12-03T10:32:02.324Z"
}


ApiChannelEventWebHookEndpointResponse

Model
Name Schema Description
id string (uuid) The event webhook endpoint identifier.
channelsOneId string (uuid) The endpoint identifier stored in the database of Channels One team.
method string The endpoint method.
url string The endpoint url.
type string The endpoint type.
updatedOnUtc timestamp (UTC) The moment (UTC) the endpoint was updated.
createdOnUtc timestamp (UTC) The moment (UTC) the endpoint was created.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelsOneId": "00000000-0000-0000-0000-000000000000",
  "method": "POST",
  "url": "string",
  "type": "Json",
  "updatedOnUtc": "2021-12-03T10:32:02.324Z",
  "createdOnUtc": "2021-12-03T10:32:02.324Z"
}


ApiChannelMessagingLogConfigurationResponse

Model
Name Schema Description
id string (uuid) The messaging log configuration identifier.
enabled boolean Indicates whether this configuration is enabled.
updatedOnUtc timestamp (UTC) The moment (UTC) the configuration was updated.
createdOnUtc timestamp (UTC) The moment (UTC) the configuration was created.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "updatedOnUtc": "2021-12-03T10:32:02.324Z",
  "createdOnUtc": "2021-12-03T10:32:02.324Z"
}


ApiChannelWebhookConfigurationRequest

Model
Name Schema Description
endpoint ApiChannelWebHookEndpointRequest The webhook configuration endpoint.
JSON
{
  "endpoint": {
    "method": "POST",
    "url": "string",
    "type": "Json"
  }
}


ApiChannelWebhookEndpointRequest

Model
Name Schema Description
method string The endpoint method. Value can be 'POST', 'GET', 'PUT', 'UNKNOWN'.
url string The endpoint url.
type string The endpoint type. Values can be 'Json', 'Xml', 'Custom'.
JSON
{
    "method": "POST",
    "url": "string",
    "type": "Json"
}


ApiChannelWebHookConfigurationResponse

Model
Name Schema Description
id string (uuid) The webhook configuration identifier.
enabled boolean Indicates whether this configuration is enabled. An enabled configuration enables receiving messages.
endpoints array[ApiChannelWebHookEndpointResponse] The endpoints to which messages are sent.
updatedOnUtc timestamp (UTC) The moment (UTC) the configuration was updated.
createdOnUtc timestamp (UTC) The moment (UTC) the configuration was created.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "enabled": true,
  "endpoints": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "method": "POST",
      "url": "string",
      "type": "Json",
      "updatedOnUtc": "2021-12-03T10:30:52.986Z",
      "createdOnUtc": "2021-12-03T10:30:52.986Z"
    }
  ],
  "updatedOnUtc": "2021-12-03T10:30:52.986Z",
  "createdOnUtc": "2021-12-03T10:30:52.986Z"
}


ApiChannelWebHookEndpointResponse

Model
Name Schema Description
id string (uuid) The webhook endpoint identifier.
method string The endpoint method.
url string The endpoint url.
type string The endpoint type.
updatedOnUtc timestamp (UTC) The moment (UTC) the endpoint was updated.
createdOnUtc timestamp (UTC) The moment (UTC) the endpoint was created.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "method": "POST",
  "url": "string",
  "type": "Json",
  "updatedOnUtc": "2021-12-03T10:30:52.986Z",
  "createdOnUtc": "2021-12-03T10:30:52.986Z"
}


Channels

Models used at WhatsApp related endpoints.


ApiWhatsAppBusinessAccount

Model
Name Schema Description
id string (uuid) The business account identifier.
accountId string (uuid) Your account identifier.
channelRequestId string (uuid) Your WhatsApp channel request identifier.
isPending boolean Indicates whether this request is pending. A request is pending when the underlying onboarding process is not yet finalized.
cancelledOnUtc timestamp (UTC) The moment (UTC) the request was cancelled.
fulfilledOnUtc timestamp (UTC) The moment (UTC) the request was fulfilled.
createdOnUtc timestamp (UTC) The moment (UTC) the request was created.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "channelRequestId": "00000000-0000-0000-0000-000000000000",
  "isPending": true,
  "cancelledOnUtc": "2019-07-29T09:30:01.877Z",
  "fulfilledOnUtc": "2019-07-29T09:30:01.877Z",
  "createdOnUtc": "2019-07-29T09:30:01.877Z"
}


ApiWhatsAppSupportedLanguage

Model
Name Schema Description
id string (uuid) The language identifier.
code string The WhatsApp language code.
name string The WhatsApp language name.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "code": "string",
  "name": "string"
}


ApiWhatsAppProfile

Model
Name Schema Description
id string (uuid) The profile identifier.
channelId string (uuid) The channel identifier.
accountId string (uuid) Your account identifier.
phoneNumber string The phone number linked to the profile.
rejectionReason string The reason why the profile was rejected (if rejected).
name string The profile name.
image string The base64 encoded profile image.
isActive boolean Indicates whether this profile is active.
isOtpProcessed boolean Indicates whether the one-time-password for this profile is validated.
isOtpSent boolean Indicates whether the one-time-password for this profile is requested.
isPending boolean Indicates whether this profile is pending.
fulfilledOnUtc timestamp (UTC) The moment (UTC) the profile went active.
createdOnUtc timestamp (UTC) The moment (UTC) the profile was created.
rejectedOnUtc timestamp (UTC) The moment (UTC) the profile was rejected.
cancelledOnUtc timestamp (UTC) The moment (UTC) the profile was cancelled.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelId": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "phoneNumber": "0000000000",
  "rejectionReason": "REJECTION REASON",
  "name": "NAME",
  "image": "data:image/ ...",
  "isActive": false,
  "isOtpProcessed": false,
  "isOtpSent": false,
  "isPending": true,
  "fulfilledOnUtc": "2019-07-31T06:20:52.280Z",
  "createdOnUtc": "2019-07-31T06:20:52.280Z",
  "rejectedOnUtc": "2019-07-31T06:20:52.280Z",
  "cancelledOnUtc": "2019-07-31T06:20:52.280Z"
}


ApiWhatsAppProfileBase

Model
Name Schema Description
id string (uuid) The profile identifier.
accountId string (uuid) Your account identifier.
phoneNumber string The phone number linked to the profile.
name string The profile name.
image string The base64 encoded profile image.
isActive boolean Indicates whether this profile is active.
isOtpProcessed boolean Indicates whether the one-time-password for this profile is validated.
isOtpSent boolean Indicates whether the one-time-password for this profile is requested.
isPending boolean Indicates whether this profile is pending.
createdOnUtc timestamp (UTC) The moment (UTC) the profile was created.
rejectedOnUtc timestamp (UTC) The moment (UTC) the profile was rejected.
cancelledOnUtc timestamp (UTC) The moment (UTC) the profile was cancelled.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "phoneNumber": "0000000000",
  "name": "NAME",
  "image": "data:image/ ...",
  "isActive": false,
  "isOtpProcessed": false,
  "isOtpSent": false,
  "isPending": true,
  "createdOnUtc": "2019-07-31T07:12:06.004Z",
  "rejectedOnUtc": "2019-07-31T07:12:06.004Z",
  "cancelledOnUtc": "2019-07-31T07:12:06.004Z"
}


ApiWhatsAppTemplateBaseResponse

Model
Name Schema Description
id string (uuid) The template identifier.
accountId string (uuid) Your account identifier.
templateCategoryId string (uuid) The template category identifier.
facebookName string The (generated) name the template is known as at facebook.
facebookNamespaceId string The linked namespace identifier at facebook.
name string The template name.
category string The template's category name. Templates are available for various categories, like a shipping update. A category was selected during the template creation and can be used to group message types.
languages dictionary[string (LANGUAGE NAME), ApiWhatsAppTemplateLanguage] The template languages.
isActive boolean Indicates whether this template is active. Template is active and usable when approved by Facebook.
isIncomplete boolean Indicates whether the template is incomplete. Template is incomplete when one, or more of the languages are not approved or submitted.
isValidationRequested boolean Indicates whether validation for this template is requested.
isPending boolean Indicates whether this template is pending. Template is pending when awaiting approval by Facebook, usually the throughput time is about 2 working days.
createdOnUtc timestamp (UTC) The moment (UTC) the template was created.
rejectedOnUtc timestamp (UTC) The moment (UTC) the template was rejected.
cancelledOnUtc timestamp (UTC) The moment (UTC) the template was cancelled.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "templateCategoryId": "00000000-0000-0000-0000-000000000000",
  "facebookName": "facebook_name",
  "facebookNamespaceId": "0a0a0a0a0a0a0a0a",
  "name": "TEMPLATE NAME",
  "category": "TEMPLATE CATEGORY",
  "languages": {
    "LANGUAGE NAME": {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "LANGUAGE NAME",
      "content": "LANGUAGE CONTENT",
      "rejectionReason": "REJECTION REASON",
      "isActive": false,
      "isIncomplete": true,
      "isValidationRequested": false,
      "isPending": false,
      "updatedOnUtc": "2019-07-31T07:12:06.050Z",
      "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
      "createdOnUtc": "2019-07-31T07:12:06.050Z",
      "rejectedOnUtc": "2019-07-31T07:12:06.050Z"
    }
  },
  "isActive": false,
  "isIncomplete": true,
  "isValidationRequested": false,
  "isPending": true,
  "createdOnUtc": "2019-07-31T07:12:06.050Z",
  "rejectedOnUtc": "2019-07-31T07:12:06.050Z",
  "cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}


ApiWhatsAppTemplate

Model
Name Schema Description
id string (uuid) The template identifier.
accountId string (uuid) Your account identifier.
templateCategoryId string (uuid) The template category identifier.
facebookName string The (generated) name the template is known as at facebook.
facebookNamespaceId string The linked namespace identifier at facebook.
name string The template name.
category string The template's category name. Templates are available for various categories, like a shipping update. A category was selected during the template creation and can be used to group message types.
settings ApiWhatsAppTemplateSettings The template settings.
languages dictionary[string (LANGUAGE NAME), ApiWhatsAppTemplateLanguage] The template languages.
rejectionReason string The reason why the template was rejected (if rejected).
isActive boolean Indicates whether this template is active. Template is active and usable when approved by Facebook.
isIncomplete boolean Indicates whether the template is incomplete. Template is incomplete when one, or more of the languages are not approved or submitted.
isValidationRequested boolean Indicates whether validation for this template is requested.
isPending boolean Indicates whether this template is pending. Template is pending when awaiting approval by Facebook, usually the throughput time is about 2 working days.
updatedOnUtc timestamp (UTC) The moment (UTC) the template was last updated.
fulfilledOnUtc timestamp (UTC) The moment (UTC) the template went active.
createdOnUtc timestamp (UTC) The moment (UTC) the template was created.
rejectedOnUtc timestamp (UTC) The moment (UTC) the template was rejected.
cancelledOnUtc timestamp (UTC) The moment (UTC) the template was cancelled.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "templateCategoryId": "00000000-0000-0000-0000-000000000000",
  "facebookName": "facebook_name",
  "facebookNamespaceId": "0a0a0a0a0a0a0a0a",
  "name": "TEMPLATE NAME",
  "category": "TEMPLATE CATEGORY",
  "settings": {
    "replacementFields": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "index": 0,
        "name": "FIELD NAME",
        "type": "FIELD TYPE"
      }
    ]
  },
  "languages": {
    "LANGUAGE NAME": {
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "LANGUAGE NAME",
      "content": "LANGUAGE CONTENT",
      "rejectionReason": "REJECTION REASON",
      "isActive": false,
      "isIncomplete": true,
      "isValidationRequested": false,
      "isPending": false,
      "updatedOnUtc": "2019-07-31T07:12:06.050Z",
      "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
      "createdOnUtc": "2019-07-31T07:12:06.050Z",
      "rejectedOnUtc": "2019-07-31T07:12:06.050Z"
    }
  },
  "rejectionReason": "REJECTION REASON",
  "isActive": false,
  "isIncomplete": true,
  "isValidationRequested": false,
  "isPending": true,
  "updatedOnUtc": "2019-07-31T07:12:06.050Z",
  "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
  "createdOnUtc": "2019-07-31T07:12:06.050Z",
  "rejectedOnUtc": "2019-07-31T07:12:06.050Z",
  "cancelledOnUtc": "2019-07-31T07:12:06.050Z"
}


ApiWhatsAppTemplateSettings

Model
Name Schema Description
replacementFields array[ApiWhatsAppTemplateReplacementField] The replacement fields.
JSON
{
  "replacementFields": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "index": 0,
      "name": "FIELD NAME",
      "type": "FIELD TYPE"
    }
  ]
}


ApiWhatsAppTemplateReplacementField

Model
Name Schema Description
id string (uuid) The field identifier.
index integer The field index.
name string The field name.
type "text", "currency, "datetime" The field type.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "index": 0,
  "name": "FIELD NAME",
  "type": "FIELD TYPE"
}


ApiWhatsAppTemplateLanguage

Model
Name Schema Description
id string (uuid) The language identifier.
name string The language name.
content string The language content. Body of the template/language.
rejectionReason string The reason why the language was rejected (if rejected).
isActive boolean Indicates whether this language is active. Language is active/usable when approved by Facebook.
isIncomplete boolean Indicates whether the language is incomplete. Language is incomplete when the content is empty or missing fields.
isValidationRequested boolean Indicates whether validation for this language is requested.
isPending boolean Indicates whether this language is pending. Language is pending when not yet approved by Facebook.
updatedOnUtc timestamp (UTC) The moment (UTC) the language was last updated. (Languages can not be edited once Facebook has approved them)
fulfilledOnUtc timestamp (UTC) The moment (UTC) the language went active. Template was approved by Facebook.
createdOnUtc timestamp (UTC) The moment (UTC) the language was created.
rejectedOnUtc timestamp (UTC) The moment (UTC) the language was rejected.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "LANGUAGE NAME",
  "content": "LANGUAGE CONTENT",
  "rejectionReason": "REJECTION REASON",
  "isActive": false,
  "isIncomplete": true,
  "isValidationRequested": false,
  "isPending": false,
  "updatedOnUtc": "2019-07-31T07:12:06.050Z",
  "fulfilledOnUtc": "2019-07-31T07:12:06.050Z",
  "createdOnUtc": "2019-07-31T07:12:06.050Z",
  "rejectedOnUtc": "2019-07-31T07:12:06.050Z" 
}


ApiWhatsAppTemplateUpdateRequest

Model
Name Schema Description
templateCategoryId string (uuid) The template category identifier.
name string The new template name.
languages dictionary[string (LANGUAGE NAME), ApiWhatsAppTemplateLanguage] The updated template languages (only content is editable).
JSON
{
  "templateCategoryId": "00000000-0000-0000-0000-000000000000",
  "name": "TEMPLATE NAME",
  "languages": {
    "LANGUAGE NAME": {
      "content": "LANGUAGE CONTENT"
    }
  }
}


ApiWhatsAppTemplateCategory

Model
Name Schema Description
id string (uuid) The category identifier.
name string The category name.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "CATEGORY NAME"
}


Keyword claims

Models used at keyword claiming related endpoints.


ApiKeywordClaimRequest

Model
Name Schema Description
phoneNumber
required
string The id of the phone number on which the keyword is about to be claimed on.
keyword
required
string The keyword that is about to be claimed.
JSON
{
  "phoneNumberId": "0000000000",
  "keyword": "KEYWORD"
}


ApiKeywordClaimResponse

Model
Name Schema Description
id string The identifier of the claim.
channelId string The channel id that's linked to the keyword claim.
phoneNumberId string The id of the phone number on which the claim is active on.
country string The country in ISO 3166-2 notation.
keyword string The keyword on which the claim is active on.
currency string The currency in the ISO 4217 notation.
startupCost integer The startup cost.
monthlyCost integer The monthly cost.
noticePeriodDays integer The notice period in days.
claimedOnUtc string The moment (UTC) the claim went active.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelId": "00000000-0000-0000-0000-000000000000",
  "phoneNumber": "0000000000",
  "country": "NL",
  "keyword": "KEYWORD",
  "currency": "EUR",
  "startupCost": 0,
  "monthlyCost": 0,
  "noticePeriodDays": 0,
  "claimedOnUtc": "2019-03-18T09:56:31.723Z"
}


Dedicated phone numbers

Models used at dedicated phone number related endpoints.


ApiNumberRequestResponse

Model
Name Schema Description
id string (uuid) The number request identifier.
channelId string The channel id that's linked to the request.
accountId string (uuid) The account this request belongs to.
phoneNumberId
optional
string The phone number identifier. Is only set/returned when request is fulfilled/not pending.
numberType ApiNumberTypeResponse The type of number.
isPending boolean Indicates whether this request is pending. A request is pending when a suitable number is not immediately available.
isActive boolean Indicates whether this request is active. A request is active when a suitable number is assigned.
cancelledOnUtc timestamp (UTC) The moment (UTC) the request was cancelled.
fulfilledOnUtc timestamp (UTC) The moment (UTC) the request was fulfilled.
createdOnUtc timestamp (UTC) The moment (UTC) the request was created.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "channelId": "00000000-0000-0000-0000-000000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "phoneNumberId": "0000000000",
  "numberType": 
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "purpose": [
      "SMS"
    ],
    "country": "NL",
    "category": "MOBILE",
    "description": "A Dutch mobile number",
    "currency": "EUR",
    "startupCost": 0,
    "monthlyCost": 0,
    "noticePeriodDays": 0,
    "keywordStartupCost": 0,
    "keywordMonthlyCost": 0,
    "keywordNoticePeriodDays": 0,
    "numberRequestProcessingDays": 0
  },
  "isPending": true,
  "isActive": false,
  "cancelledOnUtc": "2019-07-29T09:30:01.785Z",
  "fulfilledOnUtc": "2019-03-18T09:56:31.764Z",
  "createdOnUtc": "2019-01-31T10:39:16.241Z"
}


ApiPhoneNumberResponse

Model
Name Schema Description
id string (uuid) The phone number identifier.
accountId
optional
string (uuid) The account this phone number is owned by. Is only returned to the account that owns the number.
numberType ApiNumberTypeResponse The type of number.
number string The phone number in international format with a "00" prefix.
isShared boolean True if this number can be shared by multiple customers.
ownedSinceUtc timestamp (UTC) The moment (UTC) since the number is in possession. Is only returned to the account that owns the number.
JSON
{
  "id": "0000000000",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "numberType": 
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "purpose": [
      "SMS"
    ],
    "country": "NL",
    "category": "MOBILE",
    "description": "A Dutch mobile number",
    "currency": "EUR",
    "startupCost": 0,
    "monthlyCost": 0,
    "noticePeriodDays": 0,
    "keywordStartupCost": 0,
    "keywordMonthlyCost": 0,
    "keywordNoticePeriodDays": 0,
    "numberRequestProcessingDays": 0
  },
  "number": "0000000000",
  "isShared": false,
  "ownedSinceUtc": "2019-02-05T12:34:08.614Z"
}


ApiNumberTypeResponse

Model
Name Schema Description
id string (uuid) The number type identifier.
purpose string The purpose of the number.
country string The country in ISO 3166-2 notation.
category string The category.
description string The description.
currency string The currency in the ISO 4217 notation.
startupCost double The initial cost when renting a dedicated number of this type.
monthlyCost double The cost per month when renting a dedicated number of this type.
noticePeriodDays integer The notice period in days when renting a dedicated number of this type.
keywordStartupCost double The initial cost when claiming a keyword on a shared number of this type.
keywordMonthlyCost double The cost per month per claimed keyword on a shared number of this type.
keywordNoticePeriodDays integer The notice period in days for a claimed keyword on a shared number of this type.
numberRequestProcessingDays integer The processing time in days to fulfill the request of an unavailable dedicated number of this type.
JSON
{
  "id": "00000000-0000-0000-0000-000000000000",
  "purpose": [
    "SMS"
  ],
  "country": "NL",
  "category": "MOBILE",
  "description": "A Dutch mobile number",
  "currency": "EUR",
  "startupCost": 0,
  "monthlyCost": 0,
  "noticePeriodDays": 0,
  "keywordStartupCost": 0,
  "keywordMonthlyCost": 0,
  "keywordNoticePeriodDays": 0,
  "numberRequestProcessingDays": 0
}