Bharti Airtel Airtel IQ Sample CDR(Call Data Record) API

Call Detail Record (CDR) is the detailed record of the call, which contains various call details such as Time, Date, Duration, Caller_ID, Destination_Number, Status, recording URL, etc. of the call Sample CDR(Call Data Record) API is a sample API to test the CDR integration of Integrator with Airtel IQ. The Integrator needs to develop a post API similar to this API, on which all these details would be posted. For the actual integration for Inbound/Outbound calls, the Integrator endpoint for receiving CDR can either be preconfigured at Airtel IQ end or can be passed in the callBackURLs in callFlowConfiguration of execute callflow Api.

Operations 1

POST /sampleCdr Post CDR #

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-airtel-iq-sample-cdr-call-data-record-api-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-airtel-iq-sample-cdr-call-data-record-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Airtel IQ API Documentation Airtel IQ Sample CDR(Call Data Record) API
  description: '<strong>Call Detail Record (CDR)</strong> is the detailed record of the call, which contains various call details such as Time, Date, Duration, Caller_ID, Destination_Number, Status, recording URL, etc. of the call

    <br><strong>Sample CDR(Call Data Record)</strong> API is a sample API to test the CDR integration of Integrator with Airtel IQ. The Integrator needs to develop a post API similar to this API, on which all these details would be posted.

    <br>For the actual integration for Inbound/Outbound calls, the Integrator endpoint for receiving CDR can either be preconfigured at Airtel IQ end or can be passed in the callBackURLs in callFlowConfiguration of execute callflow Api.'
servers:
- url: https://openapi.airtel.in/gateway/airtel-xchange-reporting/v2/api-docs
tags:
- name: Airtel IQ Sample CDR(Call Data Record) API
  description: '<strong>Call Detail Record (CDR)</strong> is the detailed record of the call, which contains various call details such as Time, Date, Duration, Caller_ID, Destination_Number, Status, recording URL, etc. of the call

    <br><strong>Sample CDR(Call Data Record)</strong> API is a sample API to test the CDR integration of Integrator with Airtel IQ. The Integrator needs to develop a post API similar to this API, on which all these details would be posted.

    <br>For the actual integration for Inbound/Outbound calls, the Integrator endpoint for receiving CDR can either be preconfigured at Airtel IQ end or can be passed in the callBackURLs in callFlowConfiguration of execute callflow Api.'
paths:
  /sampleCdr:
    post:
      tags:
      - Airtel IQ Sample CDR(Call Data Record) API
      summary: Post CDR
      operationId: postSampleCdrUsingPOST
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SampleResponse'
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SampleRequest'
        description: request
        required: true
components:
  schemas:
    event:
      type: object
      properties:
        audioURL:
          type: string
          description: audio URL in event, if event is received for any audio
        causeCode:
          type: string
          example: 699
          description: If the event is for a hang up scenario, this field specifies reasons for hang up
        comments:
          type: string
          description: Comments for event, if any
        event:
          type: string
          example: CalledNumber
          description: Actual event
        eventId:
          type: string
          example: 12ab
          description: event ID
        eventType:
          type: string
          example: CALL
          description: 'Event type. Eg : RECORD, MEDIA, DTMF, CALL'
        metaData:
          type: object
          description: Metadata for event
        participantAddress:
          type: string
          example: 9999999999
          description: Participant number for whom event received
        participantIndex:
          type: integer
          format: int32
        sipCode:
          type: string
          example: 16
          description: SIP responses are the codes used by Session Initiation Protocol for communication and indicate the status of the request. This field specifies sip code in event, if any
        time:
          type: string
          format: date-time
          example: 1594695097249
          description: 'Time of event. Format : Epoch millis'
        waitTime:
          type: string
          description: This field will be populated when there is waiting component in call flow
      title: event
      description: Event received during call
    SampleResponse:
      type: object
      properties:
        message:
          type: string
          example: CREATED
          description: message
        statusCode:
          type: string
          example: 201
          description: status code
      title: SampleResponse
    CallQualityParamsVo:
      type: object
      properties:
        averageJitter:
          type: number
          format: double
        averageLatency:
          type: number
          format: double
        averagePacketLoss:
          type: number
          format: double
        mos:
          type: number
          format: double
        packetsReceived:
          type: number
          format: double
        packetsSent:
          type: number
          format: double
      title: CallQualityParamsVo
    audio:
      type: object
      properties:
        audioURL:
          type: string
          description: Sound File URL which can be played during the wait time of the call
        dtmfInput:
          type: string
          example: 1
          description: DTMF input provided for audio
        endTime:
          type: string
          format: date-time
          example: 1594695096005
          description: 'end time of audio. Format : Epoch millis'
        startTime:
          type: string
          format: date-time
          example: 1594695096005
          description: 'start time of audio. Format : Epoch millis'
        status:
          type: string
          example: Stopped
          description: 'Status of audio. Eg: Stopped, Played, NotFound, Others'
      title: audio
      description: Object specifying Audio information passed
    SampleRequest:
      type: object
      properties:
        Billable_Duration:
          type: string
          example: 00:58
          description: 'Billable duration of the caller. Format : mm:ss'
        Call_ID:
          type: string
          example: 12345678
          description: Unique field generated at session level, used for searching the CDR logs in the UI
        Call_Type:
          type: string
          example: INBOUND
          description: 'Indicates whether the call is INBOUND or OUTBOUND. “Inbound” indicates that call session is formed post receiving call on Airtel provided number (Eg: Number masking)“Outbound” indicates that session is formed post initiating call from Airtel CLI to Caller (Eg:- Click to Call)'
        Caller_Circle_Name:
          type: string
          example: MP and Chattisgarh
          description: Circle from where caller no. is registered
        Caller_Duration:
          type: integer
          format: int64
          example: 42495
          description: 'Total call duration. Sum of Caller_Waiting_Time and Conversation_Duration. Format: Epoch millis'
        Caller_ID:
          type: string
          example: 9999999999
          description: In case of Outbound, this is fixed line no. from where the call has been initiated to the destination no. In case of Inbound, this is the no. to which the call has been landed on
        Caller_Name:
          type: string
          example: Xyz
          description: Name of party A
        Caller_Number:
          type: string
          example: 9999999998
          description: Number of party A
        Caller_Operator_Name:
          type: string
          example: Airtel
          description: Operator to which caller no. is registered from
        Caller_Retry_Count:
          type: string
          example: 2
          description: Number of retries before call is picked up at caller no. end
        Caller_Status:
          type: string
          example: Answer
          description: 'Action triggered for the call initiated to the caller, Eg: Disconnected, NetworkError, NotReachable, Busy, Noanswer, Removed, Answer'
        Caller_Status_Detail:
          type: string
          example: 16 | 699 | Normal call clearing | Disconnected
          description: Sip code, Cause code and description, status of party A
        Caller_Waiting_Time:
          type: string
          example: 00:21
          description: 'Duration for which the IVR was played i.e. Duration when the welcome tone started and till the time destination number picked the call, Format: mm:ss'
        Conversation_Duration:
          type: string
          example: 00:58
          description: 'The duration between when the call was answered by Destination number AND the call ended. Format : mm:ss'
        Customer_Name:
          type: string
          example: XYZ
          description: Customer name field in the format stored by Airtel in system
        DTMF_Capture:
          type: string
          example: 1 | 3 | 9
          description: DTMF inputs during call
        Date:
          type: string
          example: 14/07/2020
          description: 'Date of call. Format : dd/mm/yyyy'
        Destination_CLI:
          type: string
          example: 8045477000
          description: Fixed Line number that is being used for initiating call to destination number
        Destination_Circle_Name:
          type: string
          example: MP and Chattisgarh
          description: Circle to which the call is made
        Destination_Name:
          type: string
          example: Abc
          description: Name of party B
        Destination_Number:
          type: string
          example: 9999999999
          description: Party B number
        Destination_Operator_Name:
          type: string
          example: Airtel
          description: Operator to which the destination no. is registered on
        Destination_Retry_Count:
          type: integer
          format: int32
          example: 2
          description: Number of retries before call is picked up at destination no. end
        Destination_Status:
          type: string
          example: Answer
          description: 'Action triggered for the call initiated to the destination number, Eg: Disconnected, NetworkError, NotReachable, Busy, Noanswer, Removed, Answer'
        Destination_Status_Detail:
          type: string
          example: 17 | 486 | User Busy | Busy
          description: Sip code, Cause code and description, status of party B
        Hangup_Cause:
          type: string
          example: SYSTEM_INITIATED
          description: Captures the cause of hangup. If the call disconnected by the system after MaxTries are exhausted, it is captured as SYSTEM_INITIATED hung up.In all other cases, user (either destination or caller) hangs up the call, this is captured USER_INITIATED. In case it is USER_INITIATED, participant's name, who initiated hangup, is captured
        Missed_Destination_Number:
          type: string
          example: 09999999999 | 09999999998
          description: Numbers which were called but did not pick up before destination number
        Overall_Call_Duration:
          type: string
          example: 01:17
          description: 'Total duration of call. Format: mm:ss'
        Overall_Call_Status:
          type: string
          example: Answered
          description: Status of call. In case of more than one participants, this is set to Answered if any of the participants, other than first one, picked up the call. If no one else picked, it is set to Missed.In case of single participant, it is checked if any other participant was to be added on the call or not. If yes, it is set to Missed, since other participant could not be added.If not, it is set to Answered if the first participant picked up the call, else set to Missed.
        Pulse_Count:
          type: integer
          format: int32
          example: 4
          description: Count of pulses recorded for this call
        Recording:
          type: string
          description: URL from which user can fetch call recording
        Session_ID:
          type: string
          example: 5ea2aded87fcb12816bcd27b
          description: Application generated unique session ID
        Time:
          type: string
          example: 08:42:06
          description: Real time of call in hh:mm:ss format
        audios:
          type: array
          description: List of audios played during call
          items:
            $ref: '#/components/schemas/audio'
        callType:
          type: string
          example: INBOUND
          description: 'Indicates whether the call is INBOUND or OUTBOUND, “Inbound” indicates that call session is formed post receiving call on Airtel provided number (Eg: Number masking)“Outbound” indicates that session is formed post initiating call from Airtel CLI to Caller (Eg:- Click to Call)'
        conversationDuration:
          type: integer
          format: int64
          example: 12225
          description: 'The duration between when the call was answered by Destination number AND the call ended . Format : Epoch millis'
        customerId:
          type: string
          description: Unique customer ID stored in Airtel database
        duration:
          type: integer
          format: int32
          example: 77998
          description: 'Total duration of call. Format: Epoch millis'
        endTime:
          type: integer
          format: int64
          example: 1594696326667
          description: 'Real time end date. Format : Epoch millis'
        events:
          type: array
          description: Events received during the call
          items:
            $ref: '#/components/schemas/event'
        fromWaitingTime:
          type: integer
          format: int64
          example: 41774
          description: 'Duration for which the IVR was played i.e. Duration when the welcome tone started and till the time destination number picked the call. Format: Epoch millis'
        overallCallStatus:
          type: string
          example: Answered
          description: Status of call. In case of more than one participants, this is set to Answered if any of the participants, other than first one, picked up the call. If no one else picked, it is set to Missed.In case of single participant, it is checked if any other participant was to be added on the call or not. If yes, it is set to Missed, since other participant could not be added.If not, it is set to Answered if the first participant picked up the call, else set to Missed.
        participants:
          type: array
          description: Participant level details
          items:
            $ref: '#/components/schemas/participant'
        startTime:
          type: integer
          format: int64
          example: 1594696326667
          description: 'Real time start date. Format : Epoch millis'
        timestamp:
          type: string
          example: '2020-07-14 02:54:09'
          description: 'End time of call. Format : yyyy-MM-dd hh:mm:ss'
      title: SampleRequest
    participant:
      type: object
      properties:
        amdCause:
          type: string
        amdStatus:
          type: string
        audios:
          type: array
          description: Sound File URL which can be played during the wait time of the call
          items:
            $ref: '#/components/schemas/audio'
        billableDuration:
          type: integer
          format: int32
          example: 100
          description: Billable duration for participant, in milliseconds
        callAnswerTime:
          type: string
          format: date-time
          example: 1594695097242
          description: 'Time at which participant answered call. Format : Epoch millis'
        callQualityParams:
          description: call quality parameters
          $ref: '#/components/schemas/CallQualityParamsVo'
        callReason:
          type: string
        callerId:
          type: string
          example: 8045477000
          description: Caller ID/ Virtual Number displayed to participant
        callerIdCircle:
          type: string
          example: Karnataka
          description: Circle or state of callerId
        callerIdCountryCode:
          type: string
          example: '+91'
          description: Country code of CallerId
        callerIdInternationalPoint:
          type: string
        callerIdType:
          type: string
          description: Type of callerId. Values can be TOLL_FREE or sim recording ..
        chargeType:
          type: string
          example: DOMESTIC
          description: DOMESTIC/INTERNATIONAL based on countryCode of callerID and participant
          enum:
          - DOMESTIC
          - INTERNATIONAL
        circleId:
          type: string
          example: 102
          description: 'Unique circle ID for this participant address. Eg : 102 for Delhi'
        circleName:
          type: string
          example: Delhi
          description: Unique circle name for this participant address
        duration:
          type: integer
          format: int32
          example: 137137
          description: 'Total duration for participant. Format : Epoch millis'
        endTime:
          type: string
          format: date-time
          example: 1594695097242
          description: 'End time for participant. Format : Epoch millis'
        hangupCause:
          type: string
          example: SYSTEM_INITIATED
          description: 'Captures the cause of hangup. Eg : SYSTEM_INITIATED or USER_INITIATED'
        internationPoint:
          type: string
        mergeType:
          type: string
          description: Merge type of participant
        operatorId:
          type: string
          example: ATL
          description: 'Unique operator ID for this participant address. Eg : ATL for Airtel'
        operatorName:
          type: string
          example: Airtel
          description: Unique operator name for this participant address
        parallelDisconnected:
          type: boolean
        participantAddress:
          type: string
          example: 999999999
          description: Participant number
        participantCallType:
          type: string
          example: INBOUND
          description: Captures if the participant was dialled out or he/she dialled into the call
          enum:
          - INBOUND
          - OUTBOUND
          - VoiceBot
        participantIndex:
          type: integer
          format: int32
        participantName:
          type: string
          example: Abc
          description: Name of participant
        participantNumberCountryCode:
          type: string
          example: '+91'
          description: Country code of Participant
        participantNumberType:
          type: string
          description: Type of participant Number. Values can be TOLL_FREE or mobile or international
          enum:
          - TOLL_FREE
          - MOBILE
          - INTERNATIONAL
          - VoiceBot
        pulse:
          type: integer
          format: int32
          example: 2
          description: Pulse recorded for participant
        requestName:
          type: string
        requestNo:
          type: integer
          format: int32
        retryCount:
          type: integer
          format: int32
          example: 1
          description: Number of retries to participant
        secondaryCLI:
          type: string
        startTime:
          type: string
          format: date-time
          example: 1594695097242
          description: 'Start time for participant. Format : Epoch millis'
        status:
          type: string
          example: Disconnected
          description: 'Action triggered for the call initiated to the participant no. Eg : Disconnected, NetworkError, NotReachable, Busy, Noanswer, Removed, Answer'
      title: participant
      description: Object specifying Participant information passed