Syniverse Message API

The Message API from Syniverse — 3 operation(s) for message.

Operations 5

GET /messaging/messages Retrieve messages
POST /messaging/messages Send a Message
GET /'messaging/messages/{Message_ID}' Returns current version of the specified message
DELETE /'messaging/messages/{Message_ID}' Update Message Status to DELETED
GET /'messaging/messages/{Message_ID}/attachments' Returns a list of matching attachments

Documentation

📖
Documentation
https://sdcdocumentation.syniverse.com/index.php/omni-channel/user-guides/sms-mms-user-guide
📖
APIReference
https://sdcdocumentation.syniverse.com/index.php/omni-channel/api-reference/explore-api-reference
📖
Documentation
https://sdcdocumentation.syniverse.com/index.php/multi-factor-authentication/getting-started/multi-factor-authentication-overview
📖
APIReference
https://sdcdocumentation.syniverse.com/index.php/multi-factor-authentication/api-reference/explore-api-reference
📖
Documentation
https://sdcdocumentation.syniverse.com/index.php/phone-number-verification/getting-started/phone-number-verification-overview
📖
APIReference
https://sdcdocumentation.syniverse.com/index.php/phone-number-verification/api-reference/explore-pnv-api-reference
📖
Documentation
https://sdcdocumentation.syniverse.com/index.php/right-party-verification/getting-started/right-party-verification-overview
📖
APIReference
https://sdcdocumentation.syniverse.com/index.php/right-party-verification/api-reference/explore-rpv-api-reference
📖
Documentation
https://sdcdocumentation.syniverse.com/index.php/account-takeover-detection/getting-started/account-takeover-detection-overview
📖
APIReference
https://sdcdocumentation.syniverse.com/index.php/account-takeover-detection/api-reference/explore-ato-api-reference
📖
Documentation
https://sdcdocumentation.syniverse.com/index.php/messaging-trust/getting-started/messaging-trust-overview
📖
APIReference
https://sdcdocumentation.syniverse.com/index.php/messaging-trust/api-reference/messaging-trust-api
📖
APIReference
https://sdcdocumentation.syniverse.com/index.php/messaging-trust/api-reference/resolve-api
📖
Documentation
https://sdcdocumentation.syniverse.com/index.php/10-dlc/getting-started/10-dlc-overview
📖
APIReference
https://sdcdocumentation.syniverse.com/index.php/10-dlc/api-reference/api-specification-v23
📖
APIReference
https://sdcdocumentation.syniverse.com/index.php/10-dlc/api-version-1-deprecated/explore-api-reference
📖
APIReference
https://sdcdocumentation.syniverse.com/index.php/developer-community-gateway-services/api-reference/explore-whitelist-api-reference
📖
APIReference
https://sdcdocumentation.syniverse.com/index.php/developer-community-gateway-services/api-reference/explore-token-management-api-reference

Specifications

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/syniverse-message-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 email required.

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

OpenAPI Specification

syniverse-message-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Synivere Communication Gateway API
  version: 1.0.0
  title: SCG Message API
servers:
- url: https://api.syniverse.com/scg-external-api/api/v1
tags:
- name: Message
paths:
  /messaging/messages:
    get:
      tags:
      - Message
      summary: Retrieve messages
      description: '  Retrieve messages  '
      parameters:
      - name: id
        in: query
        description: 'Unique identifier

          '
        required: false
        schema:
          type: string
      - name: message_request_id
        in: query
        description: 'The unique id of the associated message request resource.

          '
        required: false
        schema:
          type: string
      - name: direction
        in: query
        description: 'Message direction: MO for received messages and MT sent messages

          '
        required: false
        schema:
          type: string
      - name: from_address
        in: query
        description: 'The sender address.

          '
        required: false
        schema:
          type: string
      - name: to_address
        in: query
        description: 'The recipient address.

          '
        required: false
        schema:
          type: string
      - name: state
        in: query
        description: "The status of the message to this recipient.  \nValid values for MT messages are:\n- CREATED (message was created and is in the queue of SCG)\n- SENT (message was sent to the outbound delivery system)\n- DELIVERED (message was delivered to end-device of the user)\n- READ (message was read by the user)\n- CONVERTED (message was converted i.e. end user took action upon message)\n- FAILED (message delivery failed)\n- EXPIRED (message was too old to be sent)\n- SCHEDULED (message is created but not submitted for sending)\n- TEST (message was created but the request was a test request)\n- PAUSED (message was created but the request was to pause before delivery)\n- DELETED \nSCG will automatically set the status of the message to converted when the message contains a 'tracked' URL and the link was clicked by the recipient.\nAlternatively the customer also externally can track conversion and could update the message status put applying the PUT method and specifying status = CONVERTED and the conversion timestamp\nValid values for MO Messages are:\n- RECEIVED (received at SCG)\n- PROCESSED (when the customer has accessed the message and updated the status)\n- DELETED (when the message was deleted by the customer)\n"
        required: false
        schema:
          type: string
      - name: sent_date
        in: query
        description: "The timestamp when the message was submitted to downstream system for delivery.\nExample: \"2023-05-24T23:24:37.464Z\"  \n"
        required: false
        schema:
          type: string
          pattern: yyyy-mm-dd'T'HH:mm:ss.SSS'Z'
      - name: delivered_date
        in: query
        description: 'The timestamp when the message has been delivered, corresponds to DR date.

          Example: "2023-05-24T23:24:37.464Z"

          '
        required: false
        schema:
          type: string
          pattern: yyyy-mm-dd'T'HH:mm:ss.SSS'Z'
      - name: type
        in: query
        description: 'The message type (SMS, MMS, PSH, FB)

          '
        required: false
        schema:
          type: string
      - name: created_date
        in: query
        description: 'The timestamp when the message was created, which corresponds to the time when the bulk message POST was done by the client.

          Example: 2023-03-20T14:14:14.672Z

          '
        required: false
        schema:
          type: string
          pattern: yyyy-mm-dd'T'HH:mm:ss.SSS'Z'
      - name: from
        in: query
        description: "The from attribute is the channel Id or Sender Id over/from which the message is to be sent.\n-To send from a sender ID, the ID should be prefixed with 'sender_id:'.   \n-To send from a channel the ID should be prefixed with 'channel:'.\n  example: channel:1KJPMkuHQkair_o15etpmg"
        required: false
        schema:
          type: string
      - name: pause_before_transmit
        in: query
        description: 'This is a flag that tells SCG to generate the messages but not to deliver them.

          '
        required: false
        schema:
          type: boolean
      - name: pause_expiry_time
        in: query
        description: 'This is the timestamp after which all paused messages will expire and will be removed from the outbound queue. The maximum expiry time is 24h. If application creates a message request with Integer pause expiry time, the message request will fail

          '
        required: false
        schema:
          type: string
      - name: to
        in: query
        description: 'Recipient address or contact id.

          example: fyX3rO7eL48xj2HNXNWIu4

          '
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_6'
        '400':
          description: "Bad Request.  The request could not be understood by the server.\n\n  * **400** - Bad Request - Error Message provides information about what's wrong with the request\n  * **1023** - Indexed field too long - One of the values in the request exceeded the maximum allowed length\n  * **SCG_ERROR_4001** - Required parameter<parameter> missing or is null\n  * **SCG_ERROR_4002** - Required parameter <parameter> data type/format is incorrect\n  * **SCG_ERROR_4003** - Optional parameter <parameter> data type/format is incorrect            \n  * **SCG_ERROR_4004** - Invalid parameter <parameter> defined            \n  * **SCG_ERROR_400**5 - Error message contains details about the limit being exceeded - Message size exceeds system limit            \n  * **SCG_ERROR_4006** -  Indexed parameter <parameter> too long - Value of <parameter> in the request exceeded the maximum allowed length          \n  * **SCG_ERROR_4007** -  Invalid Tracking URL - The tracking URL <parameter> that was provided is invalid          \n  * **SCG_ERROR_4008** -  Message scheduled time exceeds max allowed days: <parameter>          \n * **SCG_ERROR_4009** -  Cannot exceed more than <parameter> media URLs                    \n  * **SCG_ERROR_40010**  -  Cannot include media URLs with attachment        \n  * **SCG_ERROR_40011**  -  Group message only supported for US Phone numbers        \n  * **SCG_ERROR_40012**  -  No sender addresses capable of sending requested message type        \n * **SCG_ERROR_40013**  -  No sender addresses capable of sending requested verifiedSms message      \n  * **SCG_ERROR_40014**  -  Cannot failover to SMS on a message with attachments        \n  * **SCG_ERROR_40015**  - Cannot exceed more than <parameter> recipients          \n  * **SCG_ERROR_40016**  -  Sender id is not capable of sending MMS        \n  * **SCG_ERROR_40017**  -  Only sender id with type id LONGCODE is supported for group MMS        \n  * **SCG_ERROR_40018**  -  Invalid senderId/address: <parameter>        \n  * **SCG_ERROR_40019**  -  Multiple sender id with address: <parameter>. Use sender id to send message.        \n  * **SCG_ERROR_40020**  -  Unrecognized option(s): <parameter>        \n  * **SCG_ERROR_40021**  -  Failover to SMS requires a SenderId for SMS (use a channel)        \n  * **SCG_ERROR_40022**  -  Failover TO SMS requires a SenderId for <parameter> (use a channel)        \n  * **SCG_ERROR_40023**  -  Delivery Window Restriction Violation        \n  * **SCG_ERROR_40024**  -  Invalid Recipient        \n  * **SCG_ERROR_40025**  -  Invalid payload        \n  * **SCG_ERROR_40026**  -  Missing form-data part: <part>        \n  * **SCG_ERROR_40027**  -  Content size in Content-Disposition is mandatory        \n  * **SCG_ERROR_40028**  -  Content length is mandatory        \n  * **SCG_ERROR_40029**  -  Attachment size <parameter> exceeds max allowed attachment size <parameter>        \n  * **SCG_ERROR_40030**  - Only UPLOADED attachments can be downloaded.\n  \n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '401':
          description: "Unauthorized. The request requires user authentication.\n\n  * **401** - Unauthorized - Provided authentication data is invalid or insufficient\n  * **SCG_ERROR_4010** - Token unauthorized for this resource\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '402':
          description: "Payment Required.\n\n  * **402** - Insufficient credit - The account does not have sufficient funds for this operation\n  * **SCG_ERROR_4021** - Quota exceeded\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '403':
          description: "Forbidden. The user does not have permission to access the specified resource.\n\n  * **403** - Forbidden - Access to this resource is not allowed with the current application token\n  * **SCG_ERROR_4030** - Forbidden          \n  * **SCG_ERROR_4031** - Attachment <parameter> was not found neither in cache nor in database            \n  * **SCG_ERROR_4032** - Attachment <parameter> is in incorrect state\n    <parameter>                       \n  * **SCG_ERROR_4033** - SenderId start date in the future: <parameter>           \n  * **SCG_ERROR_4034** - SenderId end date in the past: <parameter>           \n  * **SCG_ERROR_4035** - Invalid sender ID state: <parameter>          \n  * **SCG_ERROR_4036** - Invalid sender ID ownership: <parameter>           \n  * **SCG_ERROR_4037** - <parameter> forbidden for attachment in state: <parameter>\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '404':
          description: "Not found. The requested resource could not be found.\n\n  * **404** - Error message contains details about the missing resource - Requested resource not found\n  * **SCG_ERROR_4040**  - Resource you are trying to fetch not found for <parameter>          \n  * **SCG_ERROR_4041**  -  Resource you are trying to update cannot be found for <parameter>        \n  * **SCG_ERROR_4043**  -  The language code <language> is not found among the languages supported by Google Translate        \n  * **SCG_ERROR_4045**  -  No sender id matches with recipient country.        \n  * **SCG_ERROR_4046**  - Access token expired\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '409':
          description: "Conflict. The request could not be completed due to a conflict with the current state of the target resource.\n\n  * **1001** - Stale data - Concurrent resource update. Refresh the resource and retry.\n  * **1011** - Error message contains details about the key being violated - Unique key constraint violated\n  * **SCG_ERROR_4090** - The access token could not be updated because resource is being updated\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '422':
          description: "Unprocessable Entity\n  * **SCG_ERROR_4220** - Attachment content could not be downloaded from the provided URL. The error message is <error message>\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '500':
          description: "Server Error. An error has been encountered while processing this request.\n\n  * **500** - Server Error - Internal server error. Please report\n  * **SCG_ERROR_5000** - Unexpected Server Error\n  * **SCG_ERROR_5002** - Message type restriction not implemented for: <messageType>            \n  * **SCG_ERROR_5003** - Error redirecting to proxy: <parameter>                      \n  * **SCG_ERROR_5004** - Error downloading attachment from storage: <parameter>\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
    post:
      tags:
      - Message
      summary: Send a Message
      description: '  Send a Message'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_3'
        '400':
          description: "Bad Request.  The request could not be understood by the server.\n\n  * **400** - Bad Request - Error Message provides information about what's wrong with the request\n  * **1023** - Indexed field too long - One of the values in the request exceeded the maximum allowed length\n  * **SCG_ERROR_4001** - Required parameter<parameter> missing or is null\n  * **SCG_ERROR_4002** - Required parameter <parameter> data type/format is incorrect\n  * **SCG_ERROR_4003** - Optional parameter <parameter> data type/format is incorrect            \n  * **SCG_ERROR_4004** - Invalid parameter <parameter> defined            \n  * **SCG_ERROR_4005** - Error message contains details about the limit being exceeded - Message size exceeds system limit            \n  * **SCG_ERROR_4006** -  Indexed parameter <parameter> too long - Value of <parameter> in the request exceeded the maximum allowed length          \n  * **SCG_ERROR_4007** -  Invalid Tracking URL - The tracking URL <parameter> that was provided is invalid          \n  * **SCG_ERROR_4008** -  Message scheduled time exceeds max allowed days: <parameter>          \n  * **SCG_ERROR_4009** -  Cannot exceed more than <parameter> media URLs                    \n  * **SCG_ERROR_40010**  -  Cannot include media URLs with attachment        \n  * **SCG_ERROR_40011**  -  Group message only supported for US Phone numbers        \n  * **SCG_ERROR_40012**  -  No sender addresses capable of sending requested message type        \n  * **SCG_ERROR_40013**  -  No sender addresses capable of sending requested verifiedSms message      \n  * **SCG_ERROR_40014**  -  Cannot failover to SMS on a message with attachments        \n  * **SCG_ERROR_40015**  - Cannot exceed more than <parameter> recipients          \n  * **SCG_ERROR_40016**  -  Sender id is not capable of sending MMS        \n  * **SCG_ERROR_40017**  -  Only sender id with type id LONGCODE is supported for group MMS        \n  * **SCG_ERROR_40018**  -  Invalid senderId/address: <parameter>        \n  * **SCG_ERROR_40019**  -  Multiple sender id with address: <parameter>. Use sender id to send message.        \n  * **SCG_ERROR_40020**  -  Unrecognized option(s): <parameter>        \n  * **SCG_ERROR_40021**  -  Failover to SMS requires a SenderId for SMS (use a channel)        \n  * **SCG_ERROR_40022**  -  Failover TO SMS requires a SenderId for <parameter> (use a channel)        \n  * **SCG_ERROR_40023**  -  Delivery Window Restriction Violation        \n  * **SCG_ERROR_40024**  -  Invalid Recipient        \n  * **SCG_ERROR_40025**  -  Invalid payload        \n  * **SCG_ERROR_40026**  -  Missing form-data part: <part>        \n  * **SCG_ERROR_40027**  -  Content size in Content-Disposition is mandatory        \n  * **SCG_ERROR_40028**  -  Content length is mandatory        \n  * **SCG_ERROR_40029**  -  Attachment size <parameter> exceeds max allowed attachment size <parameter>        \n  * **SCG_ERROR_40030**  - Only UPLOADED attachments can be downloaded.\n  \n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '401':
          description: "Unauthorized. The request requires user authentication.\n\n  * **401** - Unauthorized - Provided authentication data is invalid or insufficient\n  * **SCG_ERROR_4010** - Token unauthorized for this resource\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '402':
          description: "Payment Required.\n\n  * **402** - Insufficient credit - The account does not have sufficient funds for this operation\n  * **SCG_ERROR_4021** - Quota exceeded\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '403':
          description: "Forbidden. The user does not have permission to access the specified resource.\n\n  * **403** - Forbidden - Access to this resource is not allowed with the current application token\n  * **SCG_ERROR_4030** - Forbidden          \n  * **SCG_ERROR_4031** - Attachment <parameter> was not found neither in cache nor in database            \n  * **SCG_ERROR_4032** - Attachment <parameter> is in incorrect state\n    <parameter>                       \n  * **SCG_ERROR_4033** - SenderId start date in the future: <parameter>           \n  * **SCG_ERROR_4034** - SenderId end date in the past: <parameter>           \n  * **SCG_ERROR_4035** - Invalid sender ID state: <parameter>          \n  * **SCG_ERROR_4036** - Invalid sender ID ownership: <parameter>           \n  * **SCG_ERROR_4037** - <parameter> forbidden for attachment in state: <parameter>\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '404':
          description: "Not found. The requested resource could not be found.\n\n  * **404** - Error message contains details about the missing resource - Requested resource not found\n  * **SCG_ERROR_4040**  - Resource you are trying to fetch not found for <parameter>          \n  * **SCG_ERROR_4041**  -  Resource you are trying to update cannot be found for <parameter>        \n  * **SCG_ERROR_4043**  -  The language code <language> is not found among the languages supported by Google Translate        \n  * **SCG_ERROR_4045**  -  No sender id matches with recipient country.        \n  * **SCG_ERROR_4046**  - Access token expired\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '409':
          description: "Conflict. The request could not be completed due to a conflict with the current state of the target resource.\n\n  * **1001** - Stale data - Concurrent resource update. Refresh the resource and retry.\n  * **1011** - Error message contains details about the key being violated - Unique key constraint violated\n  * **SCG_ERROR_4090** - The access token could not be updated because resource is being updated\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '422':
          description: "Unprocessable Entity\n  * **SCG_ERROR_4220** - Attachment content could not be downloaded from the provided URL. The error message is <error message>\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '500':
          description: "Server Error. An error has been encountered while processing this request.\n\n  * **500** - Server Error - Internal server error. Please report\n  * **SCG_ERROR_5000** - Unexpected Server Error\n  * **SCG_ERROR_5002** - Message type restriction not implemented for: <messageType>            \n  * **SCG_ERROR_5003** - Error redirecting to proxy: <parameter>                      \n  * **SCG_ERROR_5004** - Error downloading attachment from storage: <parameter>\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Message'
  /'messaging/messages/{Message_ID}':
    get:
      tags:
      - Message
      summary: Returns current version of the specified message
      description: '  Returns current version of the specified message'
      parameters:
      - name: Message_ID
        in: path
        description: The Message ID for this resource.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_6_list'
        '400':
          description: "Bad Request.  The request could not be understood by the server.\n\n  * **400** - Bad Request - Error Message provides information about what's wrong with the request\n  * **1023** - Indexed field too long - One of the values in the request exceeded the maximum allowed length\n  * **SCG_ERROR_4001** - Required parameter<parameter> missing or is null\n  * **SCG_ERROR_4002** - Required parameter <parameter> data type/format is incorrect\n  * **SCG_ERROR_4003** - Optional parameter <parameter> data type/format is incorrect            \n  * **SCG_ERROR_4004** - Invalid parameter <parameter> defined            \n  * **SCG_ERROR_4005** - Error message contains details about the limit being exceeded - Message size exceeds system limit            \n  * **SCG_ERROR_4006** -  Indexed parameter <parameter> too long - Value of <parameter> in the request exceeded the maximum allowed length          \n  * **SCG_ERROR_4007** -  Invalid Tracking URL - The tracking URL <parameter> that was provided is invalid          \n  * **SCG_ERROR_4008** -  Message scheduled time exceeds max allowed days: <parameter>          \n  * **SCG_ERROR_4009** -  Cannot exceed more than <parameter> media URLs                    \n  * **SCG_ERROR_40010**  -  Cannot include media URLs with attachment        \n  * **SCG_ERROR_40011**  -  Group message only supported for US Phone numbers        \n  * **SCG_ERROR_40012**  -  No sender addresses capable of sending requested message type        \n  * **SCG_ERROR_40013**  -  No sender addresses capable of sending requested verifiedSms message      \n  * **SCG_ERROR_40014**  -  Cannot failover to SMS on a message with attachments        \n  * **SCG_ERROR_40015**  - Cannot exceed more than <parameter> recipients**          \n  * **SCG_ERROR_40016**  -  Sender id is not capable of sending MMS        \n  * **SCG_ERROR_40017**  -  Only sender id with type id LONGCODE is supported for group MMS        \n  * **SCG_ERROR_40018**  -  Invalid senderId/address: <parameter>        \n  * **SCG_ERROR_40019**  -  Multiple sender id with address: <parameter>. Use sender id to send message.        \n  * **SCG_ERROR_40020**  -  Unrecognized option(s): <parameter>        \n  * **SCG_ERROR_40021**  -  Failover to SMS requires a SenderId for SMS (use a channel)        \n  * **SCG_ERROR_40022**  -  Failover TO SMS requires a SenderId for <parameter> (use a channel)        \n  * **SCG_ERROR_40023**  -  Delivery Window Restriction Violation        \n  * **SCG_ERROR_40024**  -  Invalid Recipient        \n  * **SCG_ERROR_40025**  -  Invalid payload        \n  * **SCG_ERROR_40026**  -  Missing form-data part: <part>        \n  * **SCG_ERROR_40027**  -  Content size in Content-Disposition is mandatory        \n  * **SCG_ERROR_40028**  -  Content length is mandatory        \n  * **SCG_ERROR_40029**  -  Attachment size <parameter> exceeds max allowed attachment size <parameter>        \n  * **SCG_ERROR_40030**  - Only UPLOADED attachments can be downloaded.\n  \n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '401':
          description: "Unauthorized. The request requires user authentication.\n\n  * **401** - Unauthorized - Provided authentication data is invalid or insufficient\n  * **SCG_ERROR_4010** - Token unauthorized for this resource\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '402':
          description: "Payment Required.\n\n  * **402** - Insufficient credit - The account does not have sufficient funds for this operation\n  * **SCG_ERROR_4021** - Quota exceeded\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '403':
          description: "Forbidden. The user does not have permission to access the specified resource.\n\n  * **403** - Forbidden - Access to this resource is not allowed with the current application token\n  * **SCG_ERROR_4030** - Forbidden          \n  * **SCG_ERROR_4031** - Attachment <parameter> was not found neither in cache nor in database            \n  * **SCG_ERROR_4032** - Attachment <parameter> is in incorrect state\n    <parameter>                       \n  * **SCG_ERROR_4033** - SenderId start date in the future: <parameter>           \n  * **SCG_ERROR_4034** - SenderId end date in the past: <parameter>           \n  * **SCG_ERROR_4035** - Invalid sender ID state: <parameter>          \n  * **SCG_ERROR_4036** - Invalid sender ID ownership: <parameter>           \n  * **SCG_ERROR_4037** - <parameter> forbidden for attachment in state: <parameter>\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '404':
          description: "Not found. The requested resource could not be found.\n\n  * **404** - Error message contains details about the missing resource - Requested resource not found\n  * **SCG_ERROR_4040**  - Resource you are trying to fetch not found for <parameter>          \n  * **SCG_ERROR_4041**  -  Resource you are trying to update cannot be found for <parameter>        \n  * **SCG_ERROR_4043**  -  The language code <language> is not found among the languages supported by Google Translate        \n  * **SCG_ERROR_4045**  -  No sender id matches with recipient country.        \n  * **SCG_ERROR_4046**  - Access token expired\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '409':
          description: "Conflict. The request could not be completed due to a conflict with the current state of the target resource.\n\n  * **1001** - Stale data - Concurrent resource update. Refresh the resource and retry.\n  * **1011** - Error message contains details about the key being violated - Unique key constraint violated\n  * **SCG_ERROR_4090** - The access token could not be updated because resource is being updated\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
                    description: A human readable description of the error.
        '422':
          description: "Unprocessable Entity\n  * **SCG_ERROR_4220** - Attachment content could not be downloaded from the provided URL. The error message is <error message>\n"
          content:
            application/json:
              schema:
                properties:
                  error_code:
                    type: string
                    description: The error code for this error.
                  error_description:
                    type: string
          

# --- truncated at 32 KB (70 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/syniverse/refs/heads/main/openapi/syniverse-message-api-openapi.yml