China Mobile · Agentic Access

China Mobile Agentic Access

x-agentic-access generated

China Mobile exposes 45 API operations that an AI agent could call, of which 23 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: 22 read, 22 write, and 1 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.

TelecommunicationsChinaMobile Network OperatorNetwork APIsCAMARAGSMA Open GatewayIoT5GBroadbandQuality on DemandNumber AuthenticationSatellite
Operations: 45 Acting: 23 Human-in-the-loop: 0 Method: generated

By consequence

read 22 write 22 physical 1

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 /vcs physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-25'
method: generated
source: openapi/china-mobile-onenet-studio-openapi.yml, openapi/china-mobile-vcs-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: 45
  by_action_class:
    acting: 23
    connected: 22
  by_consequence:
    write: 22
    read: 22
    physical: 1
  human_in_the_loop_required: 0
operations:
- path: /common?action=CreateDevice&version=1
  method: post
  operationId: CreateDevice
  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: /common?action=BatchCreateDevices&version=1
  method: post
  operationId: BatchCreateDevices
  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: /common?action=UpdateDevice&version=1
  method: post
  operationId: UpdateDevice
  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: /common?action=DeleteDevice&version=1
  method: post
  operationId: DeleteDevice
  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: /common?action=QueryDeviceDetail&version=1
  method: get
  operationId: QueryDeviceDetail
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /common?action=MoveProductDevice&version=1
  method: post
  operationId: MoveProductDevice
  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: /common?action=QuerySystemThingModel&version=1
  method: get
  operationId: QuerySystemThingModel
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /common?action=QueryThingModel&version=1
  method: get
  operationId: QueryThingModel
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /common?action=RegistDeviceIdentity&version=1
  method: post
  operationId: RegistDeviceIdentity
  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: /application?action=QueryProductList&version=1
  method: get
  operationId: QueryProductList
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=QueryDeviceList&version=1
  method: get
  operationId: QueryDeviceList
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=AddDevice&version=1
  method: post
  operationId: AddDevice
  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: /application?action=RemoveDevice&version=1
  method: post
  operationId: RemoveDevice
  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: /application?action=CreateGroup&version=1
  method: post
  operationId: CreateGroup
  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: /application?action=DeleteGroup&version=1
  method: post
  operationId: DeleteGroup
  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: /application?action=UpdateGroup&version=1
  method: post
  operationId: UpdateGroup
  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: /application?action=QueryGroupDetail&version=1
  method: get
  operationId: QueryGroupDetail
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=QueryGroupList&version=1
  method: get
  operationId: QueryGroupList
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=AddGroupDevice&version=1
  method: post
  operationId: AddGroupDevice
  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: /application?action=RemoveGroupDevice&version=1
  method: post
  operationId: RemoveGroupDevice
  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: /application?action=QueryDeviceDetail&version=1
  method: get
  operationId: QueryDeviceDetail
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=QueryDeviceStatus&version=1
  method: get
  operationId: QueryDeviceStatus
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=QueryDeviceStatusHistory&version=1
  method: get
  operationId: QueryDeviceStatusHistory
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=SetDeviceProperty&version=1
  method: post
  operationId: SetDeviceProperty
  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: /application?action=QueryDevicePropertyDetail&version=1
  method: post
  operationId: QueryDevicePropertyDetail
  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: /application?action=SetDeviceDesiredProperty&version=1
  method: post
  operationId: SetDeviceDesiredProperty
  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: /application?action=QueryDeviceDesiredProperty&version=1
  method: post
  operationId: QueryDeviceDesiredProperty
  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: /application?action=DeleteDeviceDesiredProperty&version=1
  method: post
  operationId: DeleteDeviceDesiredProperty
  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: /application?action=QueryDeviceLog&version=1
  method: get
  operationId: QueryDeviceLog
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=QueryDeviceProperty&version=1
  method: get
  operationId: QueryDeviceProperty
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=QueryDevicePropertyHistory&version=1
  method: get
  operationId: QueryDevicePropertyHistory
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=QueryDeviceEventHistory&version=1
  method: get
  operationId: QueryDeviceEventHistory
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=CallService&version=1
  method: post
  operationId: CallService
  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: /application?action=QueryServiceRecord&version=1
  method: get
  operationId: QueryServiceRecord
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=CreateDeviceFile&version=1
  method: post
  operationId: CreateDeviceFile
  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: /application?action=GetDeviceFile&version=1
  method: get
  operationId: GetDeviceFile
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=DeleteDeviceFile&version=1
  method: post
  operationId: DeleteDeviceFile
  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: /application?action=GetDeviceFilesList&version=1
  method: get
  operationId: GetDeviceFilesList
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=GetDeviceFileSpace&version=1
  method: get
  operationId: GetDeviceFileSpace
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=GetDeviceFileCount&version=1
  method: get
  operationId: GetDeviceFileCount
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=CreateSceneRule&version=1
  method: post
  operationId: CreateSceneRule
  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: /application?action=QuerySceneRuleDetail&version=1
  method: get
  operationId: QuerySceneRuleDetail
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=QuerySceneRules&version=1
  method: get
  operationId: QuerySceneRules
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /application?action=QuerySceneLog&version=1
  method: get
  operationId: QuerySceneLog
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /vcs
  method: post
  operationId: vcsAction
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: required
      purpose: required
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
  x-curation:
    method: searched
    raised_from: write
    reason: Both documented actions on this operation (voiceNotify, dialNotify) place a real, billable
      telephone call on China Mobile's network to a third party's handset. That is a physical-world consequence,
      not a data write. There is no idempotency key on this platform, so a retried request dials again
      — treat a timeout as unknown and reconcile through the call-status callback on call_id before retrying.
    source: https://open.iot.10086.cn/doc/iot_platform/book/vcs/vcs_api/ctd.html