GSMA Open Gateway Agentic Access
GSMA Open Gateway exposes 70 API operations that an AI agent could call, of which 52 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: 18 read, 42 write, and 10 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.
By consequence
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.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| POST | /apiProductOrder | physical | conditional |
| POST | /listener/apiProductOrderAttributeValueChangeEvent | physical | conditional |
| POST | /listener/apiProductOrderCreateEvent | physical | conditional |
| POST | /listener/apiProductOrderStateChangeEvent | physical | conditional |
| POST | /payments | physical | conditional |
| POST | /payments/prepare | physical | conditional |
| POST | /payments/{paymentId}/cancel | physical | conditional |
| POST | /payments/{paymentId}/confirm | physical | conditional |
| POST | /payments/{paymentId}/validate | physical | conditional |
| POST | /send-code | physical | conditional |
Source
Agentic Access
generated: '2026-07-25'
method: generated
source: openapi/camara-call-forwarding-signal-openapi.yml, openapi/camara-carrier-billing-openapi.yml,
openapi/camara-connected-network-type-openapi.yml, openapi/camara-device-identifier-openapi.yml,
openapi/camara-device-reachability-status-openapi.yml, openapi/camara-device-reachability-status-subscriptions-openapi.yml,
openapi/camara-device-roaming-status-openapi.yml, openapi/camara-device-swap-openapi.yml,
openapi/camara-home-devices-qod-openapi.yml, openapi/camara-kyc-age-verification-openapi.yml,
openapi/camara-kyc-match-openapi.yml, openapi/camara-kyc-tenure-openapi.yml, openapi/camara-location-retrieval-openapi.yml,
openapi/camara-location-verification-openapi.yml, openapi/camara-number-verification-openapi.yml,
openapi/camara-one-time-password-sms-openapi.yml, openapi/camara-population-density-data-openapi.yml,
openapi/camara-qos-profiles-openapi.yml, openapi/camara-quality-on-demand-openapi.yml, openapi/camara-sim-swap-openapi.yml,
openapi/camara-simple-edge-discovery-openapi.yml, openapi/tmforum-tmf931-open-gateway-onboarding-ordering-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: 70
by_action_class:
acting: 52
connected: 18
by_consequence:
write: 42
physical: 10
read: 18
human_in_the_loop_required: 0
operations:
- path: /unconditional-call-forwardings
method: post
operationId: retrieveUnconditionalCallForwarding
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- call-forwarding-signal:unconditional-call-forwardings:read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /call-forwardings
method: post
operationId: retrieveCallForwarding
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- call-forwarding-signal:call-forwardings:read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /payments
method: post
operationId: createPayment
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- carrier-billing:payments:create
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /payments
method: get
operationId: retrievePayments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- carrier-billing:payments:read
token:
max-ttl: 3600
audit: none
- path: /payments/{paymentId}
method: get
operationId: retrievePayment
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- carrier-billing:payments:read
token:
max-ttl: 3600
audit: none
- path: /payments/prepare
method: post
operationId: preparePayment
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- carrier-billing:payments:create
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /payments/{paymentId}/validate
method: post
operationId: validatePayment
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- carrier-billing:payments:write
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /payments/{paymentId}/confirm
method: post
operationId: confirmPayment
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- carrier-billing:payments:write
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /payments/{paymentId}/cancel
method: post
operationId: cancelPayment
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- carrier-billing:payments:write
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /retrieve
method: post
operationId: getConnectedNetworkType
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- connected-network-type:read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /retrieve-identifier
method: post
operationId: retrieveIdentifier
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- device-identifier:retrieve-identifier
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /retrieve-type
method: post
operationId: retrieveType
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- device-identifier:retrieve-type
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /retrieve-ppid
method: post
operationId: retrievePPID
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- device-identifier:retrieve-ppid
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /retrieve
method: post
operationId: getReachabilityStatus
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- device-reachability-status:read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /subscriptions
method: post
operationId: createDeviceReachabilityStatusSubscription
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- device-reachability-status-subscriptions:org.camaraproject.device-reachability-status-subscriptions.v0.reachability-data:create
- device-reachability-status-subscriptions:org.camaraproject.device-reachability-status-subscriptions.v0.reachability-disconnected:create
- device-reachability-status-subscriptions:org.camaraproject.device-reachability-status-subscriptions.v0.reachability-sms:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /subscriptions
method: get
operationId: retrieveDeviceReachabilityStatusSubscriptionList
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- device-reachability-status-subscriptions:read
token:
max-ttl: 3600
audit: none
- path: /subscriptions/{subscriptionId}
method: get
operationId: retrieveDeviceReachabilityStatusSubscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- device-reachability-status-subscriptions:read
token:
max-ttl: 3600
audit: none
- path: /subscriptions/{subscriptionId}
method: delete
operationId: deleteDeviceReachabilityStatusSubscription
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- device-reachability-status-subscriptions:delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /retrieve
method: post
operationId: getRoamingStatus
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- device-roaming-status:read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /retrieve-date
method: post
operationId: retrieveDeviceSwapDate
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- device-swap
- device-swap:retrieve-date
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /check
method: post
operationId: checkDeviceSwap
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- device-swap
- device-swap:check
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /qos
method: put
operationId: setQos
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
scope:
- home-devices-qod:qos:write
- path: /verify
method: post
operationId: verifyAge
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- kyc-age-verification:verify
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /match
method: post
operationId: KYC_Match
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- kyc-match:match
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /check-tenure
method: post
operationId: checkTenure
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- kyc-tenure:check-tenure
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /retrieve
method: post
operationId: retrieveLocation
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- location-retrieval:read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /verify
method: post
operationId: verifyLocation
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- location-verification:verify
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /verify
method: post
operationId: phoneNumberVerify
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- number-verification:verify
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /device-phone-number
method: get
operationId: phoneNumberShare
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- number-verification:device-phone-number:read
token:
max-ttl: 3600
audit: none
- path: /send-code
method: post
operationId: sendCode
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- one-time-password-sms:send-validate
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /validate-code
method: post
operationId: validateCode
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- one-time-password-sms:send-validate
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /retrieve
method: post
operationId: retrievePopulationDensity
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- population-density-data:read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /retrieve-qos-profiles
method: post
operationId: retrieveQoSProfiles
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- qos-profiles:read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /qos-profiles/{name}
method: get
operationId: getQosProfile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- qos-profiles:read
token:
max-ttl: 3600
audit: none
- path: /sessions
method: post
operationId: createSession
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- quality-on-demand:sessions:create
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /sessions/{sessionId}
method: get
operationId: getSession
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- quality-on-demand:sessions:read
token:
max-ttl: 3600
audit: none
- path: /sessions/{sessionId}
method: delete
operationId: deleteSession
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- quality-on-demand:sessions:delete
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /sessions/{sessionId}/extend
method: post
operationId: extendQosSessionDuration
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- quality-on-demand:sessions:update
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /retrieve-sessions
method: post
operationId: retrieveSessionsByDevice
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- quality-on-demand:sessions:retrieve-by-device
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /retrieve-date
method: post
operationId: retrieveSimSwapDate
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- sim-swap
- sim-swap:retrieve-date
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /check
method: post
operationId: checkSimSwap
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- sim-swap
- sim-swap:check
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /retrieve-closest-edge-cloud-zone
method: post
operationId: readClosestEdgeCloudZone
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- simple-edge-discovery:read
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /apiProduct
method: get
operationId: listApiProduct
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /apiProduct/{id}
method: get
operationId: retrieveApiProduct
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /apiProductOrder
method: get
operationId: listApiProductOrder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /apiProductOrder
method: post
operationId: createApiProductOrder
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: /apiProductOrder/{id}
method: get
operationId: retrieveApiProductOrder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /application
method: post
operationId: createApplication
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
method: get
operationId: listApplication
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /application/{id}
method: get
operationId: retrieveApplication
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /application/{id}
method: patch
operationId: patchApplication
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: /applicationOwner
method: post
operationId: createApplicationOwner
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: /applicationOwner
method: get
operationId: listApplicationOwner
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applicationOwner/{id}
method: get
operationId: retrieveApplicationOwner
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /applicationOwner/{id}
method: patch
operationId: patchApplicationOwner
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: /hub
method: post
operationId: createHub
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: /hub/{id}
method: get
operationId: hubGet
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /hub/{id}
method: delete
operationId: hubDelete
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: /listener/apiProductOrderAttributeValueChangeEvent
method: post
operationId: apiProductOrderAttributeValueChangeEvent
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: /listener/apiProductOrderCreateEvent
method: post
operationId: apiProductOrderCreateEvent
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: /listener/apiProductOrderStateChangeEvent
method: post
operationId: apiProductOrderStateChangeEvent
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: /listener/applicationApprovalStatusChangeEvent
method: post
operationId: applicationApprovalStatusChangeEvent
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: /listener/applicationAttributeValueChangeEvent
method: post
operationId: applicationAttributeValueChangeEvent
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: /listener/applicationCreateEvent
method: post
operationId: applicationCreateEvent
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: /listener/applicationOwnerApprovalStatusChangeEvent
method: post
operationId: applicationOwnerApprovalStatusChangeEvent
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: /listener/applicationOwnerAttributeValueChangeEvent
method: post
operationId: applicationOwnerAttributeValueChangeEvent
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: /listener/applicationOwnerCreateEvent
method: post
operationId: applicationOwnerCreateEvent
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: /listener/monitorStateChangeEvent
method: post
operationId: monitorStateChangeEvent
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: /monitor
method: get
operationId: listMonitor
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /monitor/{id}
method: get
operationId: retrieveMonitor
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none