Bharti Airtel Messaging Centre API

These set of APIs allow lifecycle management of the Messaging Centre functionality

Operations 10

GET /billing/quota Fetch SMS Quota #
GET /billing/history Fetch Billing History #
GET /template/ Fetch SMS Template Details #
POST /send Send SMS #
POST /send/custom/message Send Custom SMS #
POST /download/batch/template Download Batch SMS Template #
POST /send/batch Send Batch SMS #
GET /box Fetch SMS History #
GET /job/history Fetch SMS Jobs #
GET /order/detail Fetch SMS Job Orders #

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/bharti-airtel-messaging-centre-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

bharti-airtel-messaging-centre-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: '1.0'
  title: Airtel IoT Messaging Centre API
  contact:
    email: m2m.support@airtel.com
  description: "# Overview\n ## Introduction\n <div class=\"iot-intro\">Airtel IoT Developer Portal showcases APIs that allows you\n to access data of the CMP Billable account from any external application. Using the APIs, you\n can perform almost all the operations that you perform through the CMP portal including Managing\n SIM Inventory, Changing SIM state (Test Mode, Activate, Change Plan, Safe custody), Monitoring\n data usage, Performing bulk operations and so on.</div>\n                     \n In this section, you’ll learn Airtel IoT Developer Portal Dashboard.\n\n   ## API Credentials\n   This section provide static details of Customer which will be used for accessing APIs.\n\n \n   <div class=\"bullet-list\">  Key Authentication   </div>\n    <div class=\"bullet-list-content\" > A Unique Identification Secret Key per Customer, must be passed in Headers while calling API and will be used for Authentication purpose.</div>\n   \n\n   <div class=\"bullet-list\" > Customer Information  </div>\n  <div class=\"bullet-list-content\" > Customer Information will show details of Customer Developer Account. This shows Customer Id, Customer Account No, Email Id, iv-user, Name, Developer Created By and Developer Created On. Some of these information will be used in accessing APIs.</div>\n\n\n   <div class=\"bullet-list\" > OAuth2.0  </div>\n  <div class=\"bullet-list-content\" > Customer has to use unique Client Id and Client Secret mentioned in OAuth Credential table for Authentication of APIs.</div>\n  \n\n ## Usage Information\n This section provide Customer API usages details. This can show details based on different timestamps:       \n   \n ## Activating your first SIM \n\n <div id=\"auth-2.0-page\" ><section class=\"kong-doc\"><h2>Generating OAuth 2.0 token</h2> <p>\n       The OAuth 2.0 authorization code grant will be used by customer to gain access to protected\n       resources, such as APIs.\n       This set of APIs shall allow user to generate Access Token and refresh Access Token to perform\n       any action on CMP via the API gateway.\n     </p> <h2><a id=\"Request_an_Access_Token_0\"></a>Request an Access Token</h2> <p>To get a token by using the client Id &amp; Client Secret, send a POST request to the <code>/developer/generate/authtoken</code></p> <h1><a id=\"auth-request\"></a>Sample Request</h1> <pre><code>curl -X POST \"https://openapi.airtel.in/iot/api/developer/generate/authtoken\"\n         -H \"accept: application/json\"\n         -H \"apikey: XXXXXXXXXXXXXXXXXXXXXX\"\n         -H \"iv-user: XXXXXXXXXXXXXXXXXXXXXX\"\n         -H \"Content-Type: application/x-www-form-urlencoded\"\n         -d \"client_id=XXXXXXXXXXXXXXXXXXXXXX&amp;client_secret=XXXXXXXXXXXXXXXXXXXXXX\"\n       </code></pre> <h1><a id=\"auth-response\"></a>Sample Response</h1> <pre><code>{\n           \"data\": {\n             \"refresh_token\": \"XXXXXXXXXXXXXXXXXXXXXX\",\n             \"token_type\": \"bearer\",\n             \"access_token\": \"XXXXXXXXXXXXXXXXXXXXXX\",\n             \"expires_in\": 1800\n           }\n         }\n         </code></pre> &nbsp; &nbsp; &nbsp; &nbsp;You can generate same request response from Airtel IoT Developer Portal. To do so :\n           <ul><li>Navigate to <em>Documentation</em> → <em>Account Authorization</em> → <em>Generate Access Token</em> → <em>Test Endpoint</em></li> <li>Put values of <strong>apikey</strong>, <strong>client_id</strong>, <strong>client_secret</strong>, <strong>iv-user</strong> in mentioned text fields from Dashboard</li> <li><strong>Make API Call</strong>.</li></ul></section></div>\n\n <div id=\"sim-inventory-page\" ><section class=\"kong-doc\"><h1>Fetch SIM Inventory</h1> <p>\n       This API shall allow user to fetch the details of SIMs on that Customer\n       Account. It can fetch the details of one or more SIMs at a time.\n     </p> <h1><a id=\"sim-inventory-request\"></a>Sample Request</h1> \n     <pre><code>curl -X GET \"https://openapi.airtel.in/iot/api/customer/details/basket/0/sims\n       ?pageNo=1&amp;pageSize=1&amp;simStatus=INITIAL\"\n       -H \"accept: application/json\"\n       -H \"Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXX\"\n       -H \"apikey: XXXXXXXXXXXXXXXXXXXXXX\"\n       -H \"customer-id: XXXX\"\n       -H \"iv-user: XXXXXXXXXXXXXXXXXXXXXX\"\n     </code></pre> <h1><a id=\"sim-inventory-response\"></a>Sample Response</h1> <pre><code>{\n       \"data\":\n       {\n         \"sims\": [\n         {\n           \"simId\": \"5165173\",\n           \"mobileNo\": \"51967694502\",\n           \"simNo\": \"9999000000000000000\",\n           \"imsi\": \"30811010404043400\",\n           \"lsi\": \" \",\n           \"status\": \"INITIAL\",\n           \"isPaired\": \"0\",\n           \"isPrepaidSim\": \"0\",\n           \"circleName\": \"DELHI\",\n           \"planCode\": \"M2M_PLN_0324\",\n           \"planName\": \"VTS 49 special plan(without voice with sms)\",\n           \"description\": \"VTS 49 special plan(without voice with sms)\",\n           \"dataType\": \"2G\",\n           \"dataUnits\": \"250\",\n           \"planType\": \"0\"\n         }\n         ],\n         \"total\": \"10000\"\n       }\n     }\n     </code></pre> \n        &nbsp; &nbsp; &nbsp; &nbsp;You can generate same request response from Airtel IoT Developer Portal. To do so :\n       <ul><li>Navigate to <em>Documentation</em> → <em>Manage SIMs</em> → <em>Fetch SIMs</em> → <em>Test Endpoint</em></li> <li>Replace Bearer Token from access token generated from\n           <a id=\"go-to-auth\" class=\"nav-link\">Generating OAuth 2.0 token</a></li><li>Put values of <strong>apikey</strong>, <strong>iv-user</strong> &amp; <strong>customer-id</strong> in mentioned text fields from Dashboard.</li> <li>Select <strong>simStatus</strong> as <strong>INITIAL</strong></li> <li><strong>Make API Call</strong>.</li></ul></section></div>\n \n <div ><section class=\"kong-doc\"><h1 id=\"fetch-plans-page\">Fetch Plans</h1> <p>\n       This API shall allow user to fetch the details of Plans that are associated with the Customer\n       Account. It returns the Plan code, plan name, plan description and whether it is a test plan or\n       actual plan as defined on the account.\n     </p> <h1 id=\"fetchPlans-request\"> Sample Request</h1><h1><pre><code>curl -X GET \"https://openapi.airtel.in/iot/api/customer/details/plans\"\n         -H \"accept: application/json\"\n         -H \"Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXX\"\n         -H \"apikey: XXXXXXXXXXXXXXXXXXXXXX\"\n         -H \"customer-id: XXXX\"\n         -H \"iv-user: XXXXXXXXXXXXXXXXXXXXXX\"\n       </code></pre></h1><h1 id=\"fetchPlans-response\">Sample Response</h1> <pre><code>{\n         \"data\": [\n         {\n           \"planCode\": \"M2M_PLN_0001\",\n           \"planName\": \"M2M-2G-1GB PLAN\",\n           \"planDescription\": \"M2M-2G-1GB PLAN\",\n           \"testPlan\": false\n         },\n         {\n           \"planCode\": \"M2M_PLN_0003\",\n           \"planName\": \"M2M 3G - 100 MB PLAN\",\n           \"planDescription\": \"M2M 3G - 100 MB PLAN\",\n           \"testPlan\": true\n         }\n         ]\n       }\n     </code></pre> &nbsp; &nbsp; &nbsp; &nbsp;You can generate same request response from Airtel IoT Developer Portal. To do so :\n         <ul><li>Navigate to <em>Documentation</em> → <em>Account Details</em> → <em>Fetch Customer Plans</em> → <em>Test Endpoint</em></li> <li>Replace Bearer Token from access token generated from\n             <a id=\"go-to-auth\" class=\"nav-link\">Generating OAuth 2.0 token</a></li> <li>Put values of <strong>apikey</strong>, <strong>iv-user</strong> &amp; <strong>customer-id</strong> in mentioned text fields from Dashboard.</li> <li><strong>Make API Call</strong>.</li></ul></section></div>\n       <div id=\"activate-sim-page\" ><section class=\"kong-doc\"><h1>Perform Activation</h1> <p>\n       This API shall allow user to change the state of SIM from Available (Initial to Activate) to\n       Active with Plan that is associated with the Billable account. It requires inputs as mobile\n       number and plan code.\n     </p> <h1 id=\"activate-sim-request\"> Sample Request</h1><h1><pre><code>curl -X POST \"https://openapi.airtel.in/iot/api/om/job/sim/activate\"\n         -H \"accept: application/json\"\n         -H \"Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXX\"\n         -H \"apikey: XXXXXXXXXXXXXXXXXXXXXXXXX\"\n         -H \"customer-id: XXXX\"\n         -H \"iv-user: XXXXXXXXXXXXXXXXXXXXXXXXX\"\n         -H \"Content-Type: application/json\"\n         -d \"{ \\\"simDOList\\\": [ { \\\"mobileNO\\\": \\\"51967694502\\\",\n         \\\"planDO\\\": { \\\"planCode\\\": \\\"M2M_PLN_0001\\\" } } ]}\"\n       </code></pre></h1><h1><a id=\"activate-sim-response\"></a>Sample Response</h1> <pre><code>{\n       \"data\": {\n           \"jobId\": 795405,\n           \"jobType\": \"ACTIVATE_SIM\",\n           \"orderCount\": 0,\n           \"successCount\": 0,\n           \"failureCount\": 0,\n           \"inProgressCount\": 0,\n           \"rejectedCount\": 0,\n           \"orderInitiateDate\": \"25-04-2019 03:35:40 PM\",\n           \"statusMessage\": \"Your request is in progress\"\n       }\n   }\n   </code></pre> &nbsp; &nbsp; &nbsp; &nbsp;You can generate same request response from Airtel IoT Developer Portal. To do so :\n   <ul><li>Navigate to <em>Documentation</em> → <em>New Orders</em> → <em>Activate Sim</em> → <em>Activate Sim</em> → <em>Test Endpoint</em></li> <li>Replace Bearer Token from access token generated from\n     <a id=\"go-to-auth\" class=\"nav-link\">Generating OAuth 2.0 token</a></li> <li>Put values of <strong>apikey</strong>, <strong>iv-user</strong> &amp; <strong>customer-id</strong> in mentioned text fields from Dashboard.</li> <li>Put mobileNo in body fetched from response of API\n     <a id=\"go-to-sim-inventory\" class=\"nav-link\">Fetch SIM Inventory</a></li> <li>Put planCode in body fetched from response of API\n     <a id=\"go-to-fetch-plans\" class=\"nav-link\"> Fetch Plans </a></li> <li><strong>Make API Call</strong>.</li></ul><hr> <p><strong>NOTE</strong><br>\n   The JobId in the response is important to track the status of activation order. The details of JobId can be fetched from Fetch Jobs API. There shall be Order ID(s) within a JobId to view status of specific Order(s) in a JobId.</p> <hr></section></div>\n"
servers:
- url: https://m2m.airteliot.co.in/iot/api/
security: []
tags:
- name: Messaging Centre
  description: These set of APIs allow lifecycle management of the Messaging Centre functionality
paths:
  /billing/quota:
    get:
      tags:
      - Messaging Centre
      summary: Fetch SMS Quota
      description: This API will fetch the available SMS Quota balance.
      operationId: fetchSMSQuotaDetailsUsingGET
      parameters:
      - name: Authorization
        in: header
        description: Authorization Header (Value must be like Bearer <Developer Access Token>)
        required: true
        schema:
          type: string
          default: Bearer XXXXXXXXXXXXXX
      - name: apikey
        in: header
        description: Developer API Key
        required: true
        schema:
          type: string
      - name: customer-id
        in: header
        description: 'Unique ID to identify Customer (shared during On-Boarding process) '
        required: true
        schema:
          type: integer
          format: int64
      - name: iv-user
        in: header
        description: Developer Account User ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SMSQuotaVO'
        '400':
          description: Request Message is not correct
          content: {}
        '500':
          description: Internal Server Error.
          content: {}
      deprecated: false
  /billing/history:
    get:
      tags:
      - Messaging Centre
      summary: Fetch Billing History
      description: This API will be used to fetch Plan Subscribe / Un-Subscribe history.
      operationId: fetchPurchaseHistoryUsingGET
      parameters:
      - name: Authorization
        in: header
        description: Authorization Header (Value must be like Bearer <Developer Access Token>)
        required: true
        schema:
          type: string
          default: Bearer XXXXXXXXXXXXXX
      - name: apikey
        in: header
        description: Developer API Key
        required: true
        schema:
          type: string
      - name: customer-id
        in: header
        description: 'Unique ID to identify Customer (shared during On-Boarding process) '
        required: true
        schema:
          type: integer
          format: int64
      - name: iv-user
        in: header
        description: Developer Account User ID
        required: true
        schema:
          type: string
      - name: pageNo
        in: query
        description: Page Number in case of pagination. Default Page No. is 1.
        allowEmptyValue: false
        schema:
          type: integer
          format: int32
          default: 1
      - name: pageSize
        in: query
        description: Page Size in pagination. Default Page Size is 25 and Maximum is 100.
        allowEmptyValue: false
        schema:
          type: integer
          format: int32
          default: 25
      - name: purchaseEndDate
        in: query
        description: Purchase Date / Transaction Date to fetch billing history. Format DD/MM/YYYY
        allowEmptyValue: false
        schema:
          type: string
      - name: purchaseStartDate
        in: query
        description: Purchase Date / Transaction Date to fetch billing history. Format DD/MM/YYYY
        allowEmptyValue: false
        schema:
          type: string
      - name: subscriptionEvent
        in: query
        description: Type of event which user want to filter.
        allowEmptyValue: false
        schema:
          type: string
          enum:
          - Purchase
          - Auto_Renew
          - Unsubscribe
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerPlanResponseVO'
        '400':
          description: Request Message is not correct
          content: {}
        '500':
          description: Internal Server Error.
          content: {}
      deprecated: false
  /template/:
    get:
      tags:
      - Messaging Centre
      summary: Fetch SMS Template Details
      description: This API will be used to fetch the list of Template Name and Template ID created on Messaging Centre on CMP. These templates details will be used to send SMS using 'Send SMS' or 'Send Batch SMS' feature.
      operationId: fetchTemplatesUsingGET
      parameters:
      - name: Authorization
        in: header
        description: Authorization Header (Value must be like Bearer <Developer Access Token>)
        required: true
        schema:
          type: string
          default: Bearer XXXXXXXXXXXXXX
      - name: apikey
        in: header
        description: Developer API Key
        required: true
        schema:
          type: string
      - name: customer-id
        in: header
        description: 'Unique ID to identify Customer (shared during On-Boarding process) '
        required: true
        schema:
          type: integer
          format: int64
      - name: fetchOnlyActiveTemplates
        in: query
        description: Pass true to fetch only Active Templates on which SMS can be sent.
        allowEmptyValue: false
        schema:
          type: boolean
      - name: iv-user
        in: header
        description: Developer Account User ID
        required: true
        schema:
          type: string
      - name: pageNo
        in: query
        description: Page Number in case of pagination. Default Page No. is 1.
        allowEmptyValue: false
        schema:
          type: integer
          format: int32
          default: 1
      - name: pageSize
        in: query
        description: Page Size in pagination. Default Page Size is 25 and Maximum is 100.
        allowEmptyValue: false
        schema:
          type: integer
          format: int32
          default: 25
      - name: templateName
        in: query
        description: Template Name to Search
        allowEmptyValue: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SmsTemplateView'
        '400':
          description: Request Message is not correct
          content: {}
        '500':
          description: Internal Server Error.
          content: {}
      deprecated: false
  /send:
    post:
      tags:
      - Messaging Centre
      summary: Send SMS
      description: This API is used to initiate request for sending SMS on M2M SIMs. A single job can be used to send SMS to a maximum of 100 MSISDNs. This is an asynchronous API which will take input in specified JSON format mentioning MSISDN(s) and Template ID. In return it will provide a Job ID by which status of Job created by request can be tracked using 'Fetch SMS Jobs' and 'Fetch SMS Job Orders' APIs.
      operationId: sendSMSUsingPOST
      parameters:
      - name: Authorization
        in: header
        description: Authorization Header (Value must be like Bearer <Developer Access Token>)
        required: true
        schema:
          type: string
          default: Bearer XXXXXXXXXXXXXX
      - name: apikey
        in: header
        description: Developer API Key
        required: true
        schema:
          type: string
      - name: customer-id
        in: header
        description: 'Unique ID to identify Customer (shared during On-Boarding process) '
        required: true
        schema:
          type: integer
          format: int64
      - name: iv-user
        in: header
        description: Developer Account User ID
        required: true
        schema:
          type: string
      requestBody:
        description: smsBatchDO
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SMSBatchDO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobVO'
        '201':
          description: Resource Created Successfully
          content: {}
        '400':
          description: Request Message is not correct
          content: {}
        '500':
          description: Internal Server Error.
          content: {}
      deprecated: false
      x-codegen-request-body-name: smsBatchDO
  /send/custom/message:
    post:
      tags:
      - Messaging Centre
      summary: Send Custom SMS
      description: 'This API is used to initiate request for sending either Text or Binary SMS on M2M SIMs. A single job can be used to send SMS to a maximum of 10 MSISDNs. This is an asynchronous API which will take input in specified JSON format mentioning MSISDN(s) and Custom Message. In return it will provide a Job ID by which status of Job created by request can be tracked using ''Fetch SMS Jobs'' and ''Fetch SMS Job Orders'' APIs. Use API for below mentioned scenarios </br><ul><li><u>Send Text SMS</u> : Pass <b>binarySMS</b> value as <b>false</b>. Maximum allowed content length of <b>customMessage</b> is 160 characters.</li><li><u>Send Binary SMS</u> : Pass <b>binarySMS</b> value as <b>true</b>. Maximum allowed content length of <b>customMessage</b> is 1000 characters. And content must be in 8-bit Binary format</li></ul>'
      operationId: sendCustomSMSUsingPOST
      parameters:
      - name: Authorization
        in: header
        description: Authorization Header (Value must be like Bearer <Developer Access Token>)
        required: true
        schema:
          type: string
          default: Bearer XXXXXXXXXXXXXX
      - name: apikey
        in: header
        description: Developer API Key
        required: true
        schema:
          type: string
      - name: customer-id
        in: header
        description: 'Unique ID to identify Customer (shared during On-Boarding process) '
        required: true
        schema:
          type: integer
          format: int64
      - name: iv-user
        in: header
        description: Developer Account User ID
        required: true
        schema:
          type: string
      requestBody:
        description: customSMSBatchDO
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomSMSBatchDO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobVO'
        '201':
          description: Resource Created Successfully
          content: {}
        '400':
          description: Request Message is not correct
          content: {}
        '500':
          description: Internal Server Error.
          content: {}
      deprecated: false
      x-codegen-request-body-name: customSMSBatchDO
  /download/batch/template:
    post:
      tags:
      - Messaging Centre
      summary: Download Batch SMS Template
      description: This API call is used to download the Batch template for performing 'Send Batch SMS' Operations on the account. It returns the file in excel format.
      operationId: downloadBulkSMSTemplateUsingPOST
      parameters:
      - name: Authorization
        in: header
        description: Authorization Header (Value must be like Bearer <Developer Access Token>)
        required: true
        schema:
          type: string
          default: Bearer XXXXXXXXXXXXXX
      - name: apikey
        in: header
        description: Developer API Key
        required: true
        schema:
          type: string
      - name: customer-id
        in: header
        description: 'Unique ID to identify Customer (shared during On-Boarding process) '
        required: true
        schema:
          type: integer
          format: int64
      - name: iv-user
        in: header
        description: Developer Account User ID
        required: true
        schema:
          type: string
      requestBody:
        description: downloadTemplateDO
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DownloadTemplateDO'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DownloadSmsTemplateVO'
        '201':
          description: Resource Created Successfully
          content: {}
        '400':
          description: Request Message is not correct
          content: {}
        '500':
          description: Internal Server Error.
          content: {}
      deprecated: false
      x-codegen-request-body-name: downloadTemplateDO
  /send/batch:
    post:
      tags:
      - Messaging Centre
      summary: Send Batch SMS
      description: This API is used to initiate request for sending SMS on M2M SIMs in Batch. This is an asynchronous API which will take input in excel file mentioning MSISDN(s) and Template Name. In return it will provide a Job ID by which status of Job created by request can be tracked using 'Fetch SMS Jobs' and 'Fetch SMS Job Orders' APIs. Batch SMS template can be used to send SMS to up to 5,000 numbers in a single job.
      operationId: sendBatchSMSUsingPOST
      parameters:
      - name: Authorization
        in: header
        description: Authorization Header (Value must be like Bearer <Developer Access Token>)
        required: true
        schema:
          type: string
          default: Bearer XXXXXXXXXXXXXX
      - name: apikey
        in: header
        description: Developer API Key
        required: true
        schema:
          type: string
      - name: customer-id
        in: header
        description: 'Unique ID to identify Customer (shared during On-Boarding process) '
        required: true
        schema:
          type: integer
          format: int64
      - name: iv-user
        in: header
        description: Developer Account User ID
        required: true
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
              - file
              properties:
                basketId:
                  description: basketId
                file:
                  type: string
                  description: File to upload.
                  format: binary
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkSms'
        '201':
          description: Resource Created Successfully
          content: {}
        '400':
          description: Request Message is not correct
          content: {}
        '500':
          description: Internal Server Error.
          content: {}
      deprecated: false
  /box:
    get:
      tags:
      - Messaging Centre
      summary: Fetch SMS History
      description: This API is used to fetch history of both Incoming as well as Outgoing Messages received on Messaging Centre. API also provide a list of filters by which data specific to a MSISDN, Message Type, Sent Date etc. can be fetched.
      operationId: fetchMessageHistoryUsingGET
      parameters:
      - name: Authorization
        in: header
        description: Authorization Header (Value must be like Bearer <Developer Access Token>)
        required: true
        schema:
          type: string
          default: Bearer XXXXXXXXXXXXXX
      - name: apikey
        in: header
        description: Developer API Key
        required: true
        schema:
          type: string
      - name: customer-id
        in: header
        description: 'Unique ID to identify Customer (shared during On-Boarding process) '
        required: true
        schema:
          type: integer
          format: int64
      - name: endDate
        in: query
        description: End Date in a date range to fetch Job IDs. Format DD/MM/YYY
        allowEmptyValue: false
        schema:
          type: string
      - name: iv-user
        in: header
        description: Developer Account User ID
        required: true
        schema:
          type: string
      - name: messageType
        in: query
        description: Message types. Available types are - incoming/outgoing.
        allowEmptyValue: false
        schema:
          type: string
          enum:
          - Incoming
          - Outgoing
      - name: msisdn
        in: query
        description: Mobile Number, in case Job IDs for a particular mobile number needs to be fetched
        allowEmptyValue: false
        schema:
          type: string
      - name: pageNo
        in: query
        description: Page Number in case of pagination. Default Page No. is 1.
        allowEmptyValue: false
        schema:
          type: integer
          format: int32
          default: 1
      - name: pageSize
        in: query
        description: Page Size in pagination. Default Page Size is 25 and Maximum is 100.
        allowEmptyValue: false
        schema:
          type: integer
          format: int32
          default: 25
      - name: startDate
        in: query
        description: Start Date in a date range to fetch Job IDs. Format DD/MM/YYY
        allowEmptyValue: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageHistory'
        '400':
          description: Request Message is not correct
          content: {}
        '500':
          description: Internal Server Error.
          content: {}
      deprecated: false
  /job/history:
    get:
      tags:
      - Messaging Centre
      summary: Fetch SMS Jobs
      description: This API is used to fetch Jobs created while sending SMS either by 'Send SMS' or 'Send Batch SMS' feature. Using Job IDs mentioned in response of API, customer can fetch the details of SMS sent in that particular Job.
      operationId: fetchJobHistoryUsingGET
      parameters:
      - name: Authorization
        in: header
        description: Authorization Header (Value must be like Bearer <Developer Access Token>)
        required: true
        schema:
          type: string
          default: Bearer XXXXXXXXXXXXXX
      - name: apikey
        in: header
        description: Developer API Key
        required: true
        schema:
          type: string
      - name: customer-id
        in: header
        description: 'Unique ID to identify Customer (shared during On-Boarding process) '
        required: true
        schema:
          type: integer
          format: int64
      - name: endDate
        in: query
        description: End Date in a date range to fetch Job IDs. Format DD/MM/YYY
        schema:
          type: string
      - name: iv-user
        in: header
        description: Developer Account User ID
        required: true
        schema:
          type: string
      - name: jobId
        in: query
        description: Job ID, in case a particular Job ID to be fetched
        allowEmptyValue: false
        schema:
          type: integer
          format: int64
      - name: jobType
        in: query
        description: jobType
        schema:
          type: string
          enum:
          - Sync
          - Send_SMS
          - Batch_SMS
      - name: msisdn
        in: query
        description: msisdn
        schema:
          type: string
      - name: pageNo
        in: query
        description: Page Number in case of pagination. Default Page No. is 1.
        allowEmptyValue: false
        schema:
          type: integer
          format: int32
          default: 1
      - name: pageSize
        in: query
        description: Page Size in pagination. Default Page Size is 25 and Maximum is 100.
        allowEmptyValue: false
        schema:
          type: integer
          format: int32
          default: 25
      - name: startDate
        in: query
        description: Start Date in a date range to fetch Job IDs. Format DD/MM/YYY
        schema:
          type: string
      - name: status
        in: query
        description: Status of SMS
        allowEmptyValue: false
        schema:
          type: string
          enum:
          - In_Progress
          - Success
          - Failed
          - Error
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobVoResponse'
        '400':
          description: Request Message is not correct
          content: {}
        '500':
          description: Internal Server Error.
          content: {}
      deprecated: false
  /order/detail:
    get:
      tags:
      - Messaging Centre
      summary: Fetch SMS Job Orders
      description: This API is used to fetch line item details of each SMS sent to MSISDN either by 'Send SMS' or 'Send Batch SMS' feature in a Job. Job ID used in this API can be fetched from Fetch SMS Jobs.
      operationId: fetchSmsOrderDetailsUsingGET
      parameters:
      - name: Authorization
        in: header
        description: Authorization Header (Value must be like Bearer <Developer Access Token>)
        required: true
        schema:
          type: string
          default: Bearer XXXXXXXXXXXXXX
      - name: apikey
        in: header
        description: Developer API Key
        required: true
        schema:
          type: string
      - name: customer-id
        in: header
        description: 'Unique ID to identify Customer (shared during On-Boarding process) '
        required: true
        schema:
          type: integer
          format: int64
      - name: iv-user
        in: header
        description: Developer Account User ID
        required: true
        schema:
          type: string
      - name: jobId
        in: query
        descri

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bharti-airtel/refs/heads/main/openapi/bharti-airtel-messaging-centre-api-openapi.yml