Bharti Airtel · Agentic Access

Bharti Airtel Agentic Access

x-agentic-access generated

Bharti Airtel exposes 68 API operations that an AI agent could call, of which 35 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.

By consequence: 33 read, 27 write, and 8 physical.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

TelecommunicationsIndiaMobile Network OperatorNetwork APIsCAMARAOpen GatewaySIM SwapCPaaSMessagingSMSRCSVoiceIoTM2MDevice LocationBroadband5GIdentity VerificationCarrier BillingConsent Management
Operations: 68 Acting: 35 Human-in-the-loop: 0 Method: generated

By consequence

read 33 write 27 physical 8

Highest-consequence actions

The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.

MethodPathConsequenceHuman-in-loop
POST /api/v1/send-sms physical conditional
POST /api/v1/send-sms-bulk physical conditional
POST /api/v1/send-sms-cm physical conditional
POST /api/v1/send-sms-csv physical conditional
POST /bulk/sim/download/template physical conditional
POST /send physical conditional
POST /send/batch physical conditional
POST /send/custom/message physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-25'
method: generated
source: openapi/bharti-airtel-iot-openapi.yml, openapi/bharti-airtel-iq-reporting-openapi.yml,
  openapi/bharti-airtel-iq-sms-openapi.yml, openapi/bharti-airtel-locate-openapi.yml
description: Recommended x-agentic-access execution contracts, classified heuristically from
  the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
  audience per deployment. See research/curity/agentic-governance/.
summary:
  operations: 68
  by_action_class:
    acting: 35
    connected: 33
  by_consequence:
    write: 27
    physical: 8
    read: 33
  human_in_the_loop_required: 0
operations:
- path: /auth/v2/generate/authtoken
  method: post
  operationId: generateAccessTokenUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /auth/v2/refresh/authtoken
  method: post
  operationId: refreshAccessTokenUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /job/activate/test/sims
  method: post
  operationId: activateTestSimsUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /job/activate/sim/from/test
  method: post
  operationId: activateSimFromTestUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /job/change/plan
  method: post
  operationId: changePlanUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bulk/sim/download/template
  method: post
  operationId: downloadBulkOrderTemplateUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bulk/sim/upload
  method: post
  operationId: bulkUploadUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bulk/download/history
  method: get
  operationId: fetchDownloadHistoryUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /bulk/download/{downloadFileId}
  method: get
  operationId: downloadTemplateFileUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /job/all
  method: get
  operationId: fetchJobsUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /job/{jobId}/order
  method: get
  operationId: fetchOrdersUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /sim/device/info
  method: get
  operationId: fetchDeviceInfoUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /sim/data/usage
  method: get
  operationId: fetchDataUsageUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /wt/numbers
  method: get
  operationId: fetchSMSWhitelistedNumbersUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /wt/numbers/batch
  method: post
  operationId: smsWhitelistedNumbersBatchUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /kyc/sim/details
  method: get
  operationId: fetchSimKycDetailsListUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /kyc/sim/update
  method: post
  operationId: updateSimKycDetailsUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /billing/quota
  method: get
  operationId: fetchSMSQuotaDetailsUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /billing/history
  method: get
  operationId: fetchPurchaseHistoryUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /template/
  method: get
  operationId: fetchTemplatesUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /send
  method: post
  operationId: sendSMSUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /send/custom/message
  method: post
  operationId: sendCustomSMSUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /download/batch/template
  method: post
  operationId: downloadBulkSMSTemplateUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /send/batch
  method: post
  operationId: sendBatchSMSUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /box
  method: get
  operationId: fetchMessageHistoryUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /job/history
  method: get
  operationId: fetchJobHistoryUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /order/detail
  method: get
  operationId: fetchSmsOrderDetailsUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /device/diagnose/radius
  method: get
  operationId: deviceDiagnoseRadiusUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /details/
  method: get
  operationId: fetchCustomerProfileUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /details/stats
  method: get
  operationId: fetchCustomerStatsUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /details/plans
  method: get
  operationId: fetchCustomerPlansUsingGET_1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /job/sim/activate
  method: post
  operationId: activateSimsUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /job/sim/swap
  method: post
  operationId: swapSimUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bulk/dataUsages/download
  method: post
  operationId: downloadDataUsagesUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /voice/numbers
  method: get
  operationId: fetchVoiceWhitelistedNumbersUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /voice/numbers
  method: post
  operationId: updateVoiceWhitelistNumberUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bulk/sim/inventory/download
  method: get
  operationId: downloadSimInventoryOrderUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /details/baskets
  method: get
  operationId: fetchCustomerBasketsUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /job/sim/voluntary/suspend
  method: post
  operationId: safeCustodyUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /job/sim/voluntary/resume
  method: post
  operationId: outOfSafeCustodyUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /job/temp/disconnect
  method: post
  operationId: tempDisconnectionUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /job/td/resume
  method: post
  operationId: tdResumeUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /details/basket/{basketId}/sims
  method: get
  operationId: fetchCustomerSimsUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /sampleCdr
  method: post
  operationId: postSampleCdrUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/send-sms
  method: get
  operationId: sendSmsUsingGET
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/send-sms
  method: post
  operationId: sendSmsUsingPOST_2
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/send-sms-bulk
  method: post
  operationId: sendSmsUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/send-sms-cm
  method: post
  operationId: sendSmsViaCsvUsingPOST
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/send-sms-csv
  method: post
  operationId: sendSmsViaCsvUsingPOST_1
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /locate/apis/customers/{customerBaId}/oauth2_token
  method: post
  operationId: getOrCreateOauthTokenUsingPOST_2
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /locate/apis/customers/{customerBaId}/resources
  method: get
  operationId: findAllUsingGET_2
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /locate/apis/customers/{customerBaId}/resources/consent
  method: post
  operationId: initiateConsentUsingPOST_3
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /locate/apis/customers/{customerBaId}/resources/{msisdn}
  method: get
  operationId: searchUsingGET_2
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /locate/apis/customers/{customerBaId}/resources/{msisdn}
  method: delete
  operationId: deleteResourceUsingDELETE_3
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /locate/apis/customers/{customerBaId}/resources/{msisdn}
  method: patch
  operationId: patchResourceUsingPATCH_3
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /locate/apis/customers/{customerBaId}/resources/{msisdn}/consent
  method: get
  operationId: getConsentUsingGET_2
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /locate/apis/customers/{customerBaId}/resources/{msisdn}/location
  method: get
  operationId: getLocationUsingGET_3
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /locate/apis/customers/{customerBaId}/resources/{msisdn}/validation/address
  method: post
  operationId: addressValidationUsingPOST_1
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /locate/apis/customers/{customerBaId}/tenants
  method: get
  operationId: getCustomerTenantsUsingGET_1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /locate/apis/customers/{customerBaId}/tenants/consent/purpose
  method: get
  operationId: getAllConsentPurposeUsingGET_1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /locate/apis/customers/{customerBaId}/tenants/{tenantId}/resources
  method: get
  operationId: findAllUsingGET_3
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /locate/apis/customers/{customerBaId}/tenants/{tenantId}/resources/consent
  method: post
  operationId: initiateConsentUsingPOST_4
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /locate/apis/customers/{customerBaId}/tenants/{tenantId}/resources/{msisdn}
  method: get
  operationId: searchUsingGET_3
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /locate/apis/customers/{customerBaId}/tenants/{tenantId}/resources/{msisdn}
  method: delete
  operationId: deleteResourceUsingDELETE_4
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /locate/apis/customers/{customerBaId}/tenants/{tenantId}/resources/{msisdn}
  method: patch
  operationId: patchResourceUsingPATCH_4
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /locate/apis/customers/{customerBaId}/tenants/{tenantId}/resources/{msisdn}/consent
  method: get
  operationId: getConsentUsingGET_3
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /locate/apis/customers/{customerBaId}/tenants/{tenantId}/resources/{msisdn}/location
  method: get
  operationId: getLocationForTenantsUsingGET_1
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /locate/apis/customers/{customerBaId}/tenants/{tenantId}/resources/{msisdn}/validation/address
  method: post
  operationId: addressValidationForTenantsUsingPOST_1
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required