MTN Group Communication Message API

The communicationMessage API from MTN Group — 4 operation(s) for communicationmessage.

Operations 4

POST /chat/inboundMessage Creates a inbound CommunicationMessage #
POST /chat/outboundMediaUpload/{communicationId} Uploads media content #
POST /chat/outboundMessageWithMedia Sends message with media reference #
POST /communicationMessage Creates a 'CommunicationMessage' #

Documentation

📖
Documentation
https://developers.mtn.com/products/account-decisioning
📖
APIReference
https://developers.mtn.com/products/account-decisioning
📖
Documentation
https://developers.mtn.com/products/tmf-customer-bill-management
📖
APIReference
https://developers.mtn.com/products/tmf-customer-bill-management
📖
Documentation
https://developers.mtn.com/products/mtn-customer-loans-api-v1
📖
APIReference
https://developers.mtn.com/products/mtn-customer-loans-api-v1
📖
Documentation
https://developers.mtn.com/products/subscriber-details
📖
APIReference
https://developers.mtn.com/products/subscriber-details
📖
Documentation
https://developers.mtn.com/products/subscriber-type
📖
APIReference
https://developers.mtn.com/products/subscriber-type
📖
Documentation
https://developers.mtn.com/products/provisioning
📖
APIReference
https://developers.mtn.com/products/provisioning
📖
Documentation
https://developers.mtn.com/products/unified-balance-v1
📖
APIReference
https://developers.mtn.com/products/unified-balance-v1
📖
Documentation
https://developers.mtn.com/products/tmf-resourceinventorymanagement-tmf639
📖
APIReference
https://developers.mtn.com/products/tmf-resourceinventorymanagement-tmf639
📖
Documentation
https://developers.mtn.com/products/sales-management
📖
APIReference
https://developers.mtn.com/products/sales-management
📖
Documentation
https://developers.mtn.com/products/service-activation-and-configuration
📖
APIReference
https://developers.mtn.com/products/service-activation-and-configuration
📖
Documentation
https://developers.mtn.com/products/service-ordering
📖
APIReference
https://developers.mtn.com/products/service-ordering
📖
Documentation
https://developers.mtn.com/products/bss-tt-oauth-v1
📖
APIReference
https://developers.mtn.com/products/bss-tt-oauth-v1
📖
Documentation
https://developers.mtn.com/products/balance-management-v1
📖
APIReference
https://developers.mtn.com/products/balance-management-v1
📖
Documentation
https://developers.mtn.com/products/callmeback-v1
📖
APIReference
https://developers.mtn.com/products/callmeback-v1
📖
Documentation
https://developers.mtn.com/products/callmeback-v2
📖
APIReference
https://developers.mtn.com/products/callmeback-v2
📖
Documentation
https://developers.mtn.com/products/rcs-communication
📖
APIReference
https://developers.mtn.com/products/rcs-communication
📖
Documentation
https://developers.mtn.com/products/communication-management-v1
📖
APIReference
https://developers.mtn.com/products/communication-management-v1
📖
Documentation
https://developers.mtn.com/products/tmf681-communication-management
📖
APIReference
https://developers.mtn.com/products/tmf681-communication-management
📖
Documentation
https://developers.mtn.com/products/ayo-preapproval
📖
APIReference
https://developers.mtn.com/products/ayo-preapproval
📖
Documentation
https://developers.mtn.com/products/content-push
📖
APIReference
https://developers.mtn.com/products/content-push
📖
Documentation
https://developers.mtn.com/products/mtn-customer-bill-management
📖
APIReference
https://developers.mtn.com/products/mtn-customer-bill-management
📖
Documentation
https://developers.mtn.com/products/customer-billing-token-v1
📖
APIReference
https://developers.mtn.com/products/customer-billing-token-v1
📖
Documentation
https://developers.mtn.com/products/mtn-nigeria-data-gifting-v1
📖
APIReference
https://developers.mtn.com/products/mtn-nigeria-data-gifting-v1
📖
Documentation
https://developers.mtn.com/products/mtn-nigeria-customer-datashare
📖
APIReference
https://developers.mtn.com/products/mtn-nigeria-customer-datashare
📖
Documentation
https://developers.mtn.com/products/customer-delivery-booking
📖
APIReference
https://developers.mtn.com/products/customer-delivery-booking
📖
Documentation
https://developers.mtn.com/products/customer-identification-v1
📖
APIReference
https://developers.mtn.com/products/customer-identification-v1
📖
Documentation
https://developers.mtn.com/products/kyc-consent
📖
APIReference
https://developers.mtn.com/products/kyc-consent
📖
Documentation
https://developers.mtn.com/products/customer-loyalty-management
📖
APIReference
https://developers.mtn.com/products/customer-loyalty-management
📖
Documentation
https://developers.mtn.com/products/customer-management-coe-za-preprod
📖
APIReference
https://developers.mtn.com/products/customer-management-coe-za-preprod
📖
Documentation
https://developers.mtn.com/products/customer-pin-management-v2
📖
APIReference
https://developers.mtn.com/products/customer-pin-management-v2
📖
Documentation
https://developers.mtn.com/products/customer-promotion
📖
APIReference
https://developers.mtn.com/products/customer-promotion
📖
Documentation
https://developers.mtn.com/products/customer-survey
📖
APIReference
https://developers.mtn.com/products/customer-survey
📖
Documentation
https://developers.mtn.com/products/customer-data-transfer-ng-prod
📖
APIReference
https://developers.mtn.com/products/customer-data-transfer-ng-prod
📖
Documentation
https://developers.mtn.com/products/mtn-customer-datatransfer
📖
APIReference
https://developers.mtn.com/products/mtn-customer-datatransfer
📖
Documentation
https://developers.mtn.com/products/device-swap-v1
📖
APIReference
https://developers.mtn.com/products/device-swap-v1
📖
Documentation
https://developers.mtn.com/products/tmf-720-digital-identity-management
📖
APIReference
https://developers.mtn.com/products/tmf-720-digital-identity-management
📖
Documentation
https://developers.mtn.com/products/digital-partner-management
📖
APIReference
https://developers.mtn.com/products/digital-partner-management
📖
Documentation
https://developers.mtn.com/products/document-managment
📖
APIReference
https://developers.mtn.com/products/document-managment
📖
Documentation
https://developers.mtn.com/products/tmf-document-management-tmf667
📖
APIReference
https://developers.mtn.com/products/tmf-document-management-tmf667
📖
Documentation
https://developers.mtn.com/products/tmf688-event-management
📖
APIReference
https://developers.mtn.com/products/tmf688-event-management
📖
Documentation
https://developers.mtn.com/products/eec-token-management
📖
APIReference
https://developers.mtn.com/products/eec-token-management
📖
Documentation
https://developers.mtn.com/products/insurance
📖
APIReference
https://developers.mtn.com/products/insurance
📖
Documentation
https://developers.mtn.com/products/iot-device-management
📖
APIReference
https://developers.mtn.com/products/iot-device-management
📖
Documentation
https://developers.mtn.com/products/hcm-v1
📖
APIReference
https://developers.mtn.com/products/hcm-v1
📖
Documentation
https://developers.mtn.com/products/logback-v1
📖
APIReference
https://developers.mtn.com/products/logback-v1
📖
Documentation
https://developers.mtn.com/products/tmf-loyalty-management-tmf658
📖
APIReference
https://developers.mtn.com/products/tmf-loyalty-management-tmf658
📖
Documentation
https://developers.mtn.com/products/rcs-capability
📖
APIReference
https://developers.mtn.com/products/rcs-capability
📖
Documentation
https://developers.mtn.com/products/medallia-sms-v2
📖
APIReference
https://developers.mtn.com/products/medallia-sms-v2
📖
Documentation
https://developers.mtn.com/products/advertising-v2
📖
APIReference
https://developers.mtn.com/products/advertising-v2
📖
Documentation
https://developers.mtn.com/products/mtn-advertising-api-v1
📖
APIReference
https://developers.mtn.com/products/mtn-advertising-api-v1
📖
Documentation
https://developers.mtn.com/products/mobile-customer-information
📖
APIReference
https://developers.mtn.com/products/mobile-customer-information
📖
Documentation
https://developers.mtn.com/products/withdrawals-v1
📖
APIReference
https://developers.mtn.com/products/withdrawals-v1
📖
Documentation
https://developers.mtn.com/products/momo-verification
📖
APIReference
https://developers.mtn.com/products/momo-verification
📖
Documentation
https://developers.mtn.com/products/ayoaccountholderinfo
📖
APIReference
https://developers.mtn.com/products/ayoaccountholderinfo
📖
Documentation
https://developers.mtn.com/products/agent-profile
📖
APIReference
https://developers.mtn.com/products/agent-profile
📖
Documentation
https://developers.mtn.com/products/customer-account-management-v1
📖
APIReference
https://developers.mtn.com/products/customer-account-management-v1
📖
Documentation
https://developers.mtn.com/products/mtn-customer-kyc-api-v1-product
📖
APIReference
https://developers.mtn.com/products/mtn-customer-kyc-api-v1-product
📖
Documentation
https://developers.mtn.com/products/customer-kyc-verification
📖
APIReference
https://developers.mtn.com/products/customer-kyc-verification
📖
Documentation
https://developers.mtn.com/products/loans-v2
📖
APIReference
https://developers.mtn.com/products/loans-v2
📖
Documentation
https://developers.mtn.com/products/mtn-customer-locations-api-v1
📖
APIReference
https://developers.mtn.com/products/mtn-customer-locations-api-v1
📖
Documentation
https://developers.mtn.com/products/customer-management
📖
APIReference
https://developers.mtn.com/products/customer-management
📖
Documentation
https://developers.mtn.com/products/mtn-customer-plans-api-v2
📖
APIReference
https://developers.mtn.com/products/mtn-customer-plans-api-v2
📖
Documentation
https://developers.mtn.com/products/mtn-customer-profiles-api-v2-product
📖
APIReference
https://developers.mtn.com/products/mtn-customer-profiles-api-v2-product
📖
Documentation
https://developers.mtn.com/products/risk-management
📖
APIReference
https://developers.mtn.com/products/risk-management
📖
Documentation
https://developers.mtn.com/products/mtn-customer-score
📖
APIReference
https://developers.mtn.com/products/mtn-customer-score
📖
Documentation
https://developers.mtn.com/products/simverification
📖
APIReference
https://developers.mtn.com/products/simverification
📖
Documentation
https://developers.mtn.com/products/mtn-subscription-api-v2
📖
APIReference
https://developers.mtn.com/products/mtn-subscription-api-v2
📖
Documentation
https://developers.mtn.com/products/g2m
📖
APIReference
https://developers.mtn.com/products/g2m
📖
Documentation
https://developers.mtn.com/products/oauth-v1
📖
APIReference
https://developers.mtn.com/products/oauth-v1
📖
Documentation
https://developers.mtn.com/products/merchant-provisioning-v1
📖
APIReference
https://developers.mtn.com/products/merchant-provisioning-v1
📖
Documentation
https://developers.mtn.com/products/mtn-sms-api-v1
📖
APIReference
https://developers.mtn.com/products/mtn-sms-api-v1
📖
Documentation
https://developers.mtn.com/products/ussd
📖
APIReference
https://developers.mtn.com/products/ussd
📖
Documentation
https://developers.mtn.com/products/mtn-product-offering-api-v2
📖
APIReference
https://developers.mtn.com/products/mtn-product-offering-api-v2
📖
Documentation
https://developers.mtn.com/products/mtn-product-offering-api-v3
📖
APIReference
https://developers.mtn.com/products/mtn-product-offering-api-v3
📖
Documentation
https://developers.mtn.com/products/mtn-ng-retailer-productivity-tracking-v1
📖
APIReference
https://developers.mtn.com/products/mtn-ng-retailer-productivity-tracking-v1
📖
Documentation
https://developers.mtn.com/products/tmf633-shopping-cart-management
📖
APIReference
https://developers.mtn.com/products/tmf633-shopping-cart-management
📖
Documentation
https://developers.mtn.com/products/siebel
📖
APIReference
https://developers.mtn.com/products/siebel
📖
Documentation
https://developers.mtn.com/products/tmf-party-management
📖
APIReference
https://developers.mtn.com/products/tmf-party-management
📖
Documentation
https://developers.mtn.com/products/tmf-usage-management-tmf635
📖
APIReference
https://developers.mtn.com/products/tmf-usage-management-tmf635
📖
Documentation
https://developers.mtn.com/products/usage-management
📖
APIReference
https://developers.mtn.com/products/usage-management
📖
Documentation
https://developers.mtn.com/products/mtnid-getinfo
📖
APIReference
https://developers.mtn.com/products/mtnid-getinfo
📖
Documentation
https://developers.mtn.com/products/notification-production
📖
APIReference
https://developers.mtn.com/products/notification-production
📖
Documentation
https://developers.mtn.com/products/notification-v2
📖
APIReference
https://developers.mtn.com/products/notification-v2
📖
Documentation
https://developers.mtn.com/products/order-fulfillment
📖
APIReference
https://developers.mtn.com/products/order-fulfillment
📖
Documentation
https://developers.mtn.com/products/tmf-party-interaction-tmf683
📖
APIReference
https://developers.mtn.com/products/tmf-party-interaction-tmf683
📖
Documentation
https://developers.mtn.com/products/mtn-party-management
📖
APIReference
https://developers.mtn.com/products/mtn-party-management
📖
Documentation
https://developers.mtn.com/products/rwanda-party-management
📖
APIReference
https://developers.mtn.com/products/rwanda-party-management
📖
Documentation
https://developers.mtn.com/products/payment-methods-management-sa
📖
APIReference
https://developers.mtn.com/products/payment-methods-management-sa
📖
Documentation
https://developers.mtn.com/products/payments-v1
📖
APIReference
https://developers.mtn.com/products/payments-v1
📖
Documentation
https://developers.mtn.com/products/tmf-prepay-balance-management-tmf654
📖
APIReference
https://developers.mtn.com/products/tmf-prepay-balance-management-tmf654
📖
Documentation
https://developers.mtn.com/products/product-catalog-coe
📖
APIReference
https://developers.mtn.com/products/product-catalog-coe
📖
Documentation
https://developers.mtn.com/products/product-catalog-management-v1
📖
APIReference
https://developers.mtn.com/products/product-catalog-management-v1
📖
Documentation
https://developers.mtn.com/products/product-catalogue-management
📖
APIReference
https://developers.mtn.com/products/product-catalogue-management
📖
Documentation
https://developers.mtn.com/products/tmf-product-catalog-tmf620
📖
APIReference
https://developers.mtn.com/products/tmf-product-catalog-tmf620
📖
Documentation
https://developers.mtn.com/products/product-ordering-coe
📖
APIReference
https://developers.mtn.com/products/product-ordering-coe
📖
Documentation
https://developers.mtn.com/products/tmf-product-ordering-tmf622
📖
APIReference
https://developers.mtn.com/products/tmf-product-ordering-tmf622
📖
Documentation
https://developers.mtn.com/products/resource-config-v1
📖
APIReference
https://developers.mtn.com/products/resource-config-v1
📖
Documentation
https://developers.mtn.com/products/tmf-resource-ordering-tmf652
📖
APIReference
https://developers.mtn.com/products/tmf-resource-ordering-tmf652
📖
Documentation
https://developers.mtn.com/products/tmf-service-activation-tmf678
📖
APIReference
https://developers.mtn.com/products/tmf-service-activation-tmf678
📖
Documentation
https://developers.mtn.com/products/job-card-management
📖
APIReference
https://developers.mtn.com/products/job-card-management
📖
Documentation
https://developers.mtn.com/products/ticket
📖
APIReference
https://developers.mtn.com/products/ticket
📖
Documentation
https://developers.mtn.com/products/mtn-sms-interface
📖
APIReference
https://developers.mtn.com/products/mtn-sms-interface
📖
Documentation
https://developers.mtn.com/products/sms-v3-api
📖
APIReference
https://developers.mtn.com/products/sms-v3-api
📖
Documentation
https://developers.mtn.com/products/sim-management-staging
📖
APIReference
https://developers.mtn.com/products/sim-management-staging
📖
Documentation
https://developers.mtn.com/products/sim-swap-verification-v1
📖
APIReference
https://developers.mtn.com/products/sim-swap-verification-v1
📖
Documentation
https://developers.mtn.com/products/subscriber-management
📖
APIReference
https://developers.mtn.com/products/subscriber-management
📖
Documentation
https://developers.mtn.com/products/taxation-v1
📖
APIReference
https://developers.mtn.com/products/taxation-v1
📖
Documentation
https://developers.mtn.com/products/tmf-trouble-ticket-tmf621
📖
APIReference
https://developers.mtn.com/products/tmf-trouble-ticket-tmf621
📖
Documentation
https://developers.mtn.com/products/tmf629-customer-management
📖
APIReference
https://developers.mtn.com/products/tmf629-customer-management
📖
Documentation
https://developers.mtn.com/products/tmf637-product-inventory
📖
APIReference
https://developers.mtn.com/products/tmf637-product-inventory
📖
Documentation
https://developers.mtn.com/products/account-management-coe
📖
APIReference
https://developers.mtn.com/products/account-management-coe
📖
Documentation
https://developers.mtn.com/products/tmf-payment-management-tmf676
📖
APIReference
https://developers.mtn.com/products/tmf-payment-management-tmf676
📖
Documentation
https://developers.mtn.com/products/resource-pool-management
📖
APIReference
https://developers.mtn.com/products/resource-pool-management
📖
Documentation
https://developers.mtn.com/products/tmf-usage-consumption-tmf677
📖
APIReference
https://developers.mtn.com/products/tmf-usage-consumption-tmf677
📖
Documentation
https://developers.mtn.com/products/usage-consumption
📖
APIReference
https://developers.mtn.com/products/usage-consumption

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/mtn-group-communicationmessage-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

mtn-group-communicationmessage-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mtn Group Communication Message API
  version: '1.0'
  description: 'Operations tagged communicationMessage across 3 of this provider''s published API definitions: mtn-group-communication-management-v1.yml, mtn-group-rcs-communication.yml, mtn-group-tmf681-communication-management.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.mtn.com/v1
- url: https://serverRoot/tmf-api/communicationManagement/v4/
tags:
- name: communicationMessage
paths:
  /chat/inboundMessage:
    post:
      operationId: createInboundMessage
      summary: Creates a inbound CommunicationMessage
      description: This operation creates a inbound CommunicationMessage entity.
      tags:
      - communicationMessage
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationMessage'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method Not allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommunicationMessage_inbound'
        description: The CommunicationMessage to be created
        required: true
      security:
      - ApiKeyAuth: []
      - OAuth2: []
    servers:
    - url: https://api.mtn.com/v1
  /chat/outboundMediaUpload/{communicationId}:
    post:
      operationId: UploadMedia
      summary: Uploads media content
      description: This operation uploads media file .
      tags:
      - communicationMessage
      parameters:
      - name: communicationId
        description: The Communication Id to which the media is to be sent
        required: true
        in: path
        schema:
          type: string
      - name: name
        description: The media filename that is to be sent
        in: header
        schema:
          type: string
      - name: mediaType
        description: The media type of the file that is to be sent
        in: header
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediaResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method Not allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              type: string
        description: The file contents to be transferred
        required: true
      security:
      - ApiKeyAuth: []
      - OAuth2: []
    servers:
    - url: https://api.mtn.com/v1
  /chat/outboundMessageWithMedia:
    post:
      operationId: Send message with media reference
      summary: Sends message with media reference
      description: This operation Sends message with media reference.
      tags:
      - communicationMessage
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageMediaResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method Not allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommunicationMessage_outboundMessageWithMedia'
        description: The CommunicationMessage to be created
        required: true
      security:
      - ApiKeyAuth: []
      - OAuth2: []
    servers:
    - url: https://api.mtn.com/v1
  /communicationMessage:
    post:
      operationId: createCommunicationMessage
      summary: Creates a 'CommunicationMessage'
      tags:
      - communicationMessage
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationMessage_2'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error_2'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommunicationMessage_Create2'
        description: The Communication Message to be created
    servers:
    - url: https://api.mtn.com/v1
components:
  schemas:
    TextReply:
      type: object
      properties:
        channel:
          type: string
        messageId:
          type: string
        relatedMessageId:
          type: string
        relatedClientMessageId:
          type: string
        from:
          type: string
        to:
          type: string
        timestamp:
          type: integer
          format: int64
        encryptionKey:
          type: string
        whatsapp:
          $ref: '#/components/schemas/WhatsAppContent'
        charset:
          type: string
        content:
          type: string
    WhatsAppContent:
      type: object
      properties:
        profileName:
          type: string
    CommunicationMessage:
      allOf:
      - required:
        - statusCode
        - statusMessage
        - integrationId
        properties:
          statusCode:
            type: string
            description: Status of the transaction •  0- Success •  Any value other than 0- Failure
            example: '0000'
          statusMessage:
            type: string
            description: Indicates status of transaction
          supportMessage:
            type: string
            description: Support message
          integrationId:
            type: string
            description: Unique integration Id
    CommunicationMessage_inbound:
      type: object
      properties:
        integrationId:
          type: string
        integrationName:
          type: string
        event:
          $ref: '#/components/schemas/ReplyEvents'
    MessagingTemplate:
      type: array
      items:
        properties:
          contentType:
            type: string
            example: Attachment
          attachment:
            type: object
            properties:
              mediaType:
                type: string
              filename:
                type: string
              mime:
                type: string
              url:
                type: string
    MessageMediaResponse:
      allOf:
      - required:
        - apiMessageId
        - accepted
        - error
        properties:
          apiMessageId:
            type: string
            description: Unique identifier for every file upload response
          accepted:
            type: boolean
            description: Status of the upload
          to:
            type: string
            description: Sender Id
          error:
            type: string
            description: Indicates error status
    ReferenceMediaReply:
      required:
      - files
      type: object
      properties:
        channel:
          type: string
        messageId:
          type: string
        relatedMessageId:
          type: string
        relatedClientMessageId:
          type: string
        from:
          type: string
        to:
          type: string
        timestamp:
          type: integer
          format: int64
        encryptionKey:
          type: string
        whatsapp:
          $ref: '#/components/schemas/WhatsAppContent'
        caption:
          type: string
        files:
          type: array
          description: 'An array of the file object with a list of media items that is attached to the inbound media message. This parameter is only applicable to MO event callbacks for media by reference '
          items:
            $ref: '#/components/schemas/ReferenceMediaFile'
    CommunicationMessage_outboundMessageWithMedia:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          example: Text
        text:
          type: string
          description: Text Content
        channel:
          type: object
          properties:
            id:
              type: string
            platform:
              type: string
              example: Open
            type:
              type: string
              example: Private
            to:
              type: object
              properties:
                id:
                  type: string
                idType:
                  type: string
                nickname:
                  type: string
            from:
              type: object
              properties:
                id:
                  type: string
                idType:
                  type: string
                nickname:
                  type: string
            time:
              type: string
              format: date-time
            messageId:
              type: string
        content:
          $ref: '#/components/schemas/MessagingTemplate'
    MediaResponse:
      allOf:
      - required:
        - fileId
        - accepted
        - error
        properties:
          fileId:
            type: string
            description: Unique identifier for every file upload response
          accepted:
            type: boolean
            description: Status of the upload
          error:
            type: string
            description: Indicates error status
    MediaReply:
      type: object
      properties:
        channel:
          type: string
        messageId:
          type: string
        relatedMessageId:
          type: string
        relatedClientMessageId:
          type: string
        from:
          type: string
        to:
          type: string
        timestamp:
          type: integer
          format: int64
        encryptionKey:
          type: string
        whatsapp:
          $ref: '#/components/schemas/WhatsAppContent'
        caption:
          type: string
        anyOf:
          $ref: '#/components/schemas/ReferenceMediaReply'
    ReferenceMediaFile:
      required:
      - byteSize
      - contentType
      - downloadUrl
      type: object
      properties:
        contentType:
          type: string
          description: Media content type for the media item
        downloadUrl:
          type: string
          description: Download URL to be used for downloading the media item
        sha256Hash:
          type: string
        byteSize:
          type: integer
          description: Byte size of the file to be downloaded
          format: int64
        fileName:
          type: string
          description: Original file name (if it is available)
    ReplyEvents:
      type: object
      properties:
        moText:
          type: array
          items:
            $ref: '#/components/schemas/TextReply'
        moMedia:
          type: array
          items:
            $ref: '#/components/schemas/MediaReply'
    Error:
      type: object
      required:
      - statusCode
      - statusMessage
      properties:
        statusCode:
          type: string
          description: This is the MADAPI Canonical Error Code (it is 4 characters long and it is not the HTTP Status Code which is 3 characters long). Back-end system errors are mapped to specific canonical error codes which are returned. More information on these mappings can be found on the MADAPI Confluence Page 'Response Codes'
          example: '1000'
        statusMessage:
          type: string
          description: More details and corrective actions related to the error which can be shown to a client
        supportMessage:
          type: string
          description: Internal message meant for consumers of the API to troubleshoot the error (could possible include the back-end system error code in the message if it would be useful)
        transactionId:
          type: string
          description: This is the same transactionId that is sent in the request
        timestamp:
          type: string
          format: date-time
          description: Timestamp of the error
          example: 2019-08-23T07:29:25.593+0000
        _links:
          type: object
          properties:
            self:
              type: object
              properties:
                href:
                  type: string
                  example: https://api.mtn.com/v1/<path>
    Attachment:
      type: object
      description: Complements the description of an element (for instance a product) through video, pictures...
      properties:
        description:
          type: string
          description: A narrative text describing the content of the attachment
        href:
          type: string
          description: Reference of the attachment
        id:
          type: string
          description: Unique identifier of the attachment
        type:
          type: string
          description: Attachment type such as video, picture
        url:
          type: string
          description: Uniform Resource Locator, is a web page address (a subset of URI)
    CommunicationMessage_2:
      type: object
      description: 'Communication message means a notification approach in the format of a message which can be dispatched (sent) to the certain user by the system with the content which can be felt and understood by the recipient. The user can be either a final customer or a customer service agent. The message can reach the customer in different interaction channels, including: email, short message, mobile app notification (push).'
      properties:
        statusCode:
          type: string
          description: HTTP error code extension
        customerId:
          type: string
          description: CustomerId provided in the input
          example: string
        statusMessage:
          type: string
          description: Description of the processing result. Forexample incase there was an error, this will have the message showing the error that happened
        transactionId:
          type: string
          description: This is the same transactionId that is sent in the request
        sendTime:
          type: string
          format: date-time
          description: The time of sending communication message
    TimePeriod:
      type: object
      description: A base / value business entity used to represent a period of time between two timepoints.
      properties:
        endDateTime:
          type: string
          format: date-time
          description: An instant of time, ending at the TimePeriod.
        startDateTime:
          type: string
          format: date-time
          description: An instant of time, starting at the TimePeriod
    CommunicationRequestCharacteristic:
      type: object
      description: <b><i>The values of parameters which are used in the content if the content contains them.</i></b>
      properties:
        name:
          type: string
          description: Content parameter identifier
        value:
          type: string
          description: Content parameter value
        cardOrientation:
          type: string
          description: Content parameter identifier
        imageAlignment:
          type: string
          description: Content parameter value
        mediahref:
          type: string
          description: Content parameter identifier
        mediaContent:
          type: string
          description: Content parameter value
        mediaFileSize:
          type: string
          description: Content parameter value
        thumbnailContentType:
          type: string
          description: Content parameter value
        thumbnailFileSize:
          type: string
          description: Content parameter identifier
        thumbnailhref:
          type: string
          description: Content parameter identifier
        height:
          type: string
          description: Content parameter value
        content:
          type: string
          description: Content parameter value
        title:
          type: string
          description: Content parameter value
        description:
          type: string
          description: Content parameter value
    RelateParty:
      type: object
      description: <b><i>The party entity of the receiver (user)</i></b>
      properties:
        href:
          type: string
          description: Hypertext Reference of the party
        id:
          type: string
          description: Unique identifier of party
        name:
          type: string
          description: name of the party
        postBack:
          type: string
          description: Send back information
        role:
          type: string
          description: role of the party (customer, partner, etc)
        validFor:
          $ref: '#/components/schemas/TimePeriod'
          description: Validity period of the party
    Receiver:
      type: object
      description: <b><i>Receivers of the communication message.</i></b>
      properties:
        appUserId:
          type: string
          description: ID of the mobile app user
        email:
          type: string
          description: Receiver address of email, if the communication type is email
        id:
          type: string
          description: ID of the receiver
        ip:
          type: string
          description: IP address of the receiver
        name:
          type: string
          description: Name of the receiver
        phoneNumber:
          type: string
          description: Phone number of the receiver, if the communication type is SMS.
        party:
          $ref: '#/components/schemas/RelateParty'
    CommunicationMessage_Create2:
      type: object
      description: 'Communication message means a notification approach in the format of a message which can be dispatched (sent) to the certain user by the system with the content which can be felt and understood by the recipient. The user can be either a final customer or a customer service agent. The message can reach the customer in different interaction channels, including: email, short message, mobile app notification (push).

        Skipped properties: id,href'
      required:
      - type
      - content
      - sender
      - receiver
      properties:
        productId:
          type: string
          description: The promotion/communication Id.
        content:
          type: string
          description: The content of the communication message.
        description:
          type: string
          description: Description for the whole object
        status:
          type: string
          description: Status of communication message
        subject:
          type: string
          description: "The title of the message. \nIt is necessary for the email and mobile app push."
        characteristic:
          type: array
          items:
            $ref: '#/components/schemas/CommunicationRequestCharacteristic'
        receiver:
          type: array
          items:
            $ref: '#/components/schemas/Receiver'
        sender:
          type: array
          items:
            $ref: '#/components/schemas/Sender'
        attachment:
          type: array
          items:
            $ref: '#/components/schemas/Attachment'
    Sender:
      type: object
      description: <b><i>Sender of the communication message.</i></b>
      properties:
        email:
          type: string
          description: Sender address of email, if the communication type is email
        id:
          type: string
          description: ID of the sender
        name:
          type: string
          description: Name of the sender
        phoneNumber:
          type: string
          description: Phone number of the sender, if the communication type is SMS.
        party:
          $ref: '#/components/schemas/RelateParty'
    Error_2:
      required:
      - statusCode
      - statusMessage
      type: object
      properties:
        statusCode:
          type: string
          description: This is the MADAPI Canonical Error Code (it is 4 characters long and it is not the HTTP Status Code which is 3 characters long). Back-end system errors are mapped to specific canonical error codes which are returned. More information on these mappings can be found on the MADAPI Confluence Page 'Response Codes'
          example: '1000'
        statusMessage:
          type: string
          description: More details and corrective actions related to the error which can be shown to a client
        supportMessage:
          type: string
          description: Internal message meant for consumers of the API to troubleshoot the error (could possible include the back-end system error code in the message if it would be useful)
        transactionId:
          type: string
          description: This is the same transactionId that is sent in the request
    CommunicationMessageStateType:
      type: string
      description: Communication message state type
      enum:
      - initial
      - inProgress
      - completed
      - cancelled
      - failed
    Attachment_2:
      type: object
      description: Complements the description of an element (for instance a product) through video, pictures...
      properties:
        id:
          type: string
          description: Unique identifier for this particular attachment
        content:
          type: string
          description: The actual contents of the attachment object, if embedded, encoded as base64
        url:
          type: string
          description: Uniform Resource Locator, is a web page address (a subset of URI)
        name:
          type: string
          description: The name of the attachment
        attachmentType:
          type: string
          description: Attachment type such as video, picture
        mimeType:
          type: string
          description: Attachment mime type such as extension file for video, picture and document
    SendEmail_Response:
      type: object
      properties:
        statusCode:
          type: integer
          description: Status code from target system to indicate transaction status
        statusMessage:
          type: string
          description: Status message from target system to indicate transaction status.
        transactionId:
          type: string
          description: This is the same transactionId that is sent in the request
        data:
          type: object
          properties:
            emailIdReference:
              type: string
              description: Reference number for Email from UNE
    Receiver_2:
      type: object
      description: Receivers of the communication message.
      properties:
        email:
          type: string
          description: Receiver address of email, if the communication type is email.
        appUserId:
          type: string
          description: ID of the mobile app user
    Characteristic:
      type: object
      description: Describes a given characteristic of an object or entity through a name/value pair.
      required:
      - name
      - value
      properties:
        id:
          type: string
          description: Unique identifier of the characteristic
        name:
          type: string
          description: Name of the characteristic
        valueType:
          type: string
          description: Data type of the value of the characteristic
    Sender_2:
      type: object
      description: Sender of the communication message.
      properties:
        id:
          type: string
          description: ID of the sender
        name:
          type: string
          description: Name of the sender
    CommunicationMessage_Create:
      type: object
      description: 'Communication message means a notification approach in the format of a message which can be dispatched (sent) to the certain user by the system with the content which can be felt and understood by the recipient. The user can be either a final customer or a customer service agent. The message can reach the customer in different interaction channels, including: email, short message, mobile app notification (push).

        Skipped properties: id,href'
      required:
      - content
      - receiver
      - sender
      - messageType
      properties:
        content:
          type: string
          description: The content of the communication message
        description:
          type: string
          description: Description for the whole object
        sendTime:
          type: string
          format: date-time
          description: The time of sending communication message
        sendTimeComplete:
          type: string
          format: date-time
          description: The time of completion of sending communication message
        useCaseId:
          type: string
          description: Use case ID for UNE
        subUseCaseId:
          type: string
          description: Sub use case ID for UNE
        attachment:
          type: array
          items:
            $ref: '#/components/schemas/Attachment_2'
          description: Any attachment associated with this message
        characteristic:
          type: array
          items:
            $ref: '#/components/schemas/Characteristic'
          description: Any additional characteristic(s) of this message
        receiver:
          type: array
          items:
            $ref: '#/components/schemas/Receiver_2'
          minItems: 1
          description: The receiver(s) of this message
        sender:
          $ref: '#/components/schemas/Sender_2'
        state:
          $ref: '#/components/schemas/CommunicationMessageStateType'
          description: Status of communication message
        '@baseType':
          type: string
          description: When sub-classing, this defines the super-class
        '@schemaLocation':
          type: string
          format: uri
          description: A URI to a JSON-Schema file that defines additional attributes and relationships
        '@type':
          type: string
          description: When sub-classing, this defines the sub-class entity name
    APIError:
      type: object
      required:
      - statusMessage
      - supportMessage
      - transactionId
      - timestamp
      - path
      - method
      properties:
        statusMessage:
          type: string
        supportMessage:
          type: string
        transactionId:
          type: string
        timestamp:
          type: string
          example: '2020-08-19 09:09:09'
        path:
          type: string
          description: endpoint path used to make request
        method:
          type: string
          description: HTTP Method used to make request
          example: GET/POST/PATCH
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      name: X-API-Key
      in: header
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: https://api.mtn.com/v1/oauth/access_token
x-refined-from:
- mtn-group-communication-management-v1.yml
- mtn-group-rcs-communication.yml
- mtn-group-tmf681-communication-management.yml