Route Mobile Opt-in Management API

Store and verify user opt-in and opt-out consent for WhatsApp messaging compliance.

Operations 3

POST /wbo/v2/optin/store Create Optin #
POST /wbo/v2/optinout/store Create Optin and Optout #
GET /wbo/v2/optin/check Check Optin #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/route-mobile-opt-in-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

route-mobile-opt-in-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.8.0
  title: Route Mobile WhatsApp Business Opt-in Management API
  description: The Route Mobile WhatsApp Business API enables enterprises to programmatically send and receive WhatsApp messages at scale.
  contact:
    name: Route Mobile Developer Support
    url: https://developers.routemobile.com/
    email: product-desk@routemobile.com
  termsOfService: https://www.routemobile.com/terms-of-service/
  license:
    name: Proprietary
    url: https://www.routemobile.com/terms-of-service/
  x-logo:
    url: https://www.routemobile.com/wp-content/uploads/2023/04/route-mobile-logo.svg
    altText: Route Mobile
servers:
- url: https://apis.rmlconnect.net
security:
- BearerAuth: []
tags:
- name: Opt-in Management
  description: Store and verify user opt-in and opt-out consent for WhatsApp messaging compliance.
paths:
  /wbo/v2/optin/store:
    post:
      tags:
      - Opt-in Management
      summary: Create Optin
      description: Create optin for the WhatsApp Business account.
      operationId: createOptin
      requestBody:
        description: Store opt-in consent for one or more phone numbers.
        content:
          application/json:
            schema:
              type: object
              properties:
                msisdn:
                  type: string
                  description: The phone number with '+' and country code for the user opting in.
                optin_channel:
                  type: string
                  description: The channel through which the user opted in.
                extra:
                  type: string
                  description: Any additional information related to the optin process.
              required:
              - msisdn
              - optin_channel
            examples:
              default:
                value:
                  extra: '{extra}'
                  msisdn: '{phone number with + and country code}'
                  optin_channel: whatsapp-api/third-party/sms/landing-page/email/voice/missed-call/physical-form
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OptinStoreResponse'
              examples:
                Example 1:
                  value:
                    status: success
                    message: api execution successful
                    details: given 'msisdn' is not opted in for user Demo8
        '401':
          description: Authentication Failure
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JwtExpiredError'
              examples:
                Incorrect authorization token:
                  value:
                    message: Unable to process request
                    status: Failed
                    reason: Please check the integrity or validity of the token sent.
        '404':
          description: Page Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
              examples:
                Incorrect API URL:
                  value:
                    message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
        '422':
          description: Unprocessable Entity (WebDAV)
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: The response message.
                  status:
                    type: string
                    description: The status for the optin.
                  error:
                    type: object
                    description: The error for not processing the optin request.
                    properties:
                      optin_channel:
                        type: array
                        description: The channel through which the user opted in.
                        items:
                          type: string
              examples:
                Validation Error:
                  value:
                    message: unable to process request
                    status: failed
                    error:
                      optin_channel:
                      - Unknown field.
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: The status for creating optin.
                  message:
                    type: string
                    description: The response message.
                  reason:
                    type: string
                    description: The reason for not processing the request.
              examples:
                Example 1:
                  value:
                    status: failed
                    message: unable to process request
                    reason: reason
      security:
      - BearerAuth: []
  /wbo/v2/optinout/store:
    post:
      tags:
      - Opt-in Management
      summary: Create Optin and Optout
      description: Create optin/optout for the WhatsApp Business account.
      operationId: createOptinOut
      requestBody:
        description: Store opt-in or opt-out consent for one or more phone numbers.
        content:
          application/json:
            schema:
              type: object
              properties:
                msisdn:
                  type: string
                  description: The phone number with '+' and country code for the user opting in.
                optin_channel:
                  type: string
                  description: The channel through which the user opted in.
                extra:
                  type: string
                  description: Any additional information related to the optin process.
                status:
                  type: string
                  description: Status which implies whether user is being opt-in or opt out
              required:
              - msisdn
              - optin_channel
              - status
            examples:
              default:
                value:
                  extra: '{extra}'
                  msisdn: '{phone number with + and country code}'
                  optin_channel: whatsapp-api/third-party/sms/landing-page/email/voice/missed-call/physical-form
                  status: optin/optout
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OptinStoreResponse'
              examples:
                Example 1:
                  value:
                    status: success
                    message: api execution successful
                    details: given 'msisdn' is now opted out  for user <channel_name>
        '401':
          description: Authentication Failure
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JwtExpiredError'
              examples:
                Incorrect authorization token:
                  value:
                    message: Unable to process request
                    status: Failed
                    reason: Please check the integrity or validity of the token sent.
        '404':
          description: Page Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
              examples:
                Incorrect API URL:
                  value:
                    message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
        '422':
          description: Unprocessable Entity (WebDAV)
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: The response message.
                  status:
                    type: string
                    description: The status for the optin.
                  error:
                    type: object
                    description: The error for not processing the optin request.
                    properties:
                      optin_channel:
                        type: array
                        description: The channel through which the user opted in.
                        items:
                          type: string
              examples:
                Validation Error:
                  value:
                    message: unable to process request
                    status: failed
                    error:
                      optin_channel:
                      - Unknown field.
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: The status for creating optin.
                  message:
                    type: string
                    description: The response message.
                  reason:
                    type: string
                    description: The reason for not processing the request.
              examples:
                Example 1:
                  value:
                    status: failed
                    message: unable to process request
                    reason: reason
      security:
      - BearerAuth: []
  /wbo/v2/optin/check:
    get:
      tags:
      - Opt-in Management
      summary: Check Optin
      description: Check optin if a particular phone number has opted-in to receive messages from the WhatsApp Business account.
      operationId: checkOptin
      parameters:
      - name: msisdn
        in: query
        description: The phone number with '+' and country code for the user opting in.
        required: true
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: The status for check optin.
                  message:
                    type: string
                    description: The response message.
                  details:
                    type: string
                    description: The optin details.
              examples:
                Example 1:
                  value:
                    status: success
                    message: api execution successful
                    details: Given 'msisdn' is not opted in  'channel' missed-call
        '401':
          description: Authentication Failure
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JwtExpiredError'
              examples:
                Example 1:
                  value:
                    message: Unable to process request
                    status: Failed
                    reason: Please check the integrity or validity of the token sent.
        '404':
          description: Page Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
              examples:
                Incorrect API URL:
                  value:
                    message: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
        '422':
          description: Unprocessable Entity (WebDAV)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OptinValidationError'
              examples:
                Validation Error:
                  value:
                    message: unable to process request
                    status: failed
                    error:
                      msisdn:
                      - Field may not be null.
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: The status for check optin.
                  message:
                    type: string
                    description: The response message.
                  reason:
                    type: string
                    description: The reason for not processing the request.
              examples:
                Example 1:
                  value:
                    status: failed
                    message: unable to process request
                    reason: reason
      security:
      - BearerAuth: []
components:
  schemas:
    NotFoundError:
      type: object
      properties:
        message:
          type: string
          description: The message response.
    OptinValidationError:
      type: object
      properties:
        message:
          type: string
          description: The response message.
        status:
          type: string
          description: The optin status of msisdn.
        error:
          $ref: '#/components/schemas/OptinValidationErrorDetail'
    OptinValidationErrorDetail:
      type: object
      properties:
        msisdn:
          type: array
          description: The phone number of the customer.
          items:
            type: string
    JwtExpiredError:
      type: object
      properties:
        message:
          type: string
          description: The response message.
        reason:
          type: string
          description: The reason for not processing the product feed update request.
        status:
          type: string
          description: The status of the product feed update.
    OptinStoreResponse:
      type: object
      properties:
        status:
          type: string
          description: The status of the message delivery.
        message:
          type: string
          description: The message response.
        details:
          type: string
          description: The details of the message.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JSON Web Token obtained from the Login API. Include the token in the `Authorization` header as `Bearer <token>`. Tokens expire after one hour by default.
x-readme:
  explorer-enabled: true
  proxy-enabled: true
  samples-enabled: true