Soracom Agentic Access
Soracom exposes 960 API operations that an AI agent could call, of which 616 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: 344 read, 473 write, 71 physical, and 72 safety-critical.
72 operations are classed safety-critical and should require human-in-the-loop approval at runtime.
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 | /auth/logout | safety-critical | required |
| POST | /auth/logout | safety-critical | required |
| POST | /auth/password_reset_token/issue | safety-critical | required |
| POST | /auth/password_reset_token/issue | safety-critical | required |
| POST | /auth/password_reset_token/verify | safety-critical | required |
| POST | /auth/password_reset_token/verify | safety-critical | required |
| POST | /devices/{device_id}/{object}/{instance}/unobserve | safety-critical | required |
| POST | /devices/{device_id}/{object}/{instance}/unobserve | safety-critical | required |
| POST | /devices/{device_id}/{object}/{instance}/{resource}/unobserve | safety-critical | required |
| POST | /devices/{device_id}/{object}/{instance}/{resource}/unobserve | safety-critical | required |
| POST | /gadgets/{product_id}/{serial_number}/disable_termination | safety-critical | required |
| POST | /gadgets/{product_id}/{serial_number}/disable_termination | safety-critical | required |
| POST | /gadgets/{product_id}/{serial_number}/terminate | safety-critical | required |
| POST | /gadgets/{product_id}/{serial_number}/terminate | safety-critical | required |
| POST | /lagoon/terminate | safety-critical | required |
| POST | /lagoon/terminate | safety-critical | required |
| POST | /lora_devices/{device_id}/disable_termination | safety-critical | required |
| POST | /lora_devices/{device_id}/disable_termination | safety-critical | required |
| POST | /lora_devices/{device_id}/terminate | safety-critical | required |
| POST | /lora_devices/{device_id}/terminate | safety-critical | required |
| POST | /lora_gateways/{gateway_id}/disable_termination | safety-critical | required |
| POST | /lora_gateways/{gateway_id}/disable_termination | safety-critical | required |
| POST | /lora_gateways/{gateway_id}/terminate | safety-critical | required |
| POST | /lora_gateways/{gateway_id}/terminate | safety-critical | required |
| POST | /lora_network_sets/{ns_id}/revoke_permission | safety-critical | required |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/soracom-analysis-query-api-openapi.yml, openapi/soracom-auth-api-openapi.yml,
openapi/soracom-batch-api-openapi.yml, openapi/soracom-billing-api-openapi.yml, openapi/soracom-event-handler-api-openapi.yml,
openapi/soracom-group-api-openapi.yml, openapi/soracom-harvest-api-openapi.yml, openapi/soracom-inventory-api-openapi.yml,
openapi/soracom-lagoon-api-openapi.yml, openapi/soracom-lorawan-api-openapi.yml, openapi/soracom-napter-api-openapi.yml,
openapi/soracom-platform-api-openapi.yml, openapi/soracom-sandbox-api-openapi.yml, openapi/soracom-sigfox-api-openapi.yml,
openapi/soracom-sim-api-openapi.yml, openapi/soracom-soracam-api-openapi.yml, openapi/soracom-stats-api-openapi.yml,
openapi/soracom-vpg-api-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: 960
by_action_class:
acting: 616
connected: 344
by_consequence:
write: 473
read: 344
safety-critical: 72
physical: 71
human_in_the_loop_required: 72
operations:
- path: /analysis/queries
method: post
operationId: startAnalysisQueries
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: /analysis/queries/{query_id}
method: get
operationId: getAnalysisQueries
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /analysis/schemas
method: get
operationId: getAnalysisSchemas
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /query/devices
method: get
operationId: searchDevices
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /query/sigfox_devices
method: get
operationId: searchSigfoxDevices
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /query/sims
method: get
operationId: searchSims
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /query/subscribers
method: get
operationId: searchSubscribers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /query/subscribers/traffic_volume/ranking
method: get
operationId: searchSubscriberTrafficVolumeRanking
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /resource_summaries/{resource_summary_type}
method: get
operationId: getResourceSummary
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth
method: post
operationId: auth
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/logout
method: post
operationId: logout
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /auth/password_reset_token/issue
method: post
operationId: issuePasswordResetToken
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /auth/password_reset_token/verify
method: post
operationId: verifyPasswordResetToken
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /auth/switch_user
method: post
operationId: switchUser
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: /operators/{operator_id}
method: get
operationId: getOperator
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/auth_keys
method: get
operationId: listOperatorAuthKeys
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/auth_keys
method: post
operationId: generateOperatorAuthKey
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: /operators/{operator_id}/auth_keys/{auth_key_id}
method: delete
operationId: deleteOperatorAuthKey
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: /operators/{operator_id}/company_information
method: get
operationId: getCompanyInformation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/company_information
method: post
operationId: createCompanyInformation
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: /operators/{operator_id}/company_information
method: put
operationId: updateCompanyInformation
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: /operators/{operator_id}/configuration/{namespace}
method: delete
operationId: deleteOperatorConfigurationNamespace
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: /operators/{operator_id}/configuration/{namespace}
method: get
operationId: getOperatorConfigurationNamespace
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/configuration/{namespace}
method: post
operationId: setOperatorConfigurationNamespace
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: /operators/{operator_id}/contracts
method: post
operationId: addOperatorContract
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: /operators/{operator_id}/contracts/{contract_name}
method: delete
operationId: deleteOperatorContract
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: /operators/{operator_id}/coverage_type/{coverage_type}
method: post
operationId: addCoverageType
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: /operators/{operator_id}/individual_information
method: get
operationId: getIndividualInformation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/individual_information
method: post
operationId: createIndividualInformation
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: /operators/{operator_id}/individual_information
method: put
operationId: updateIndividualInformation
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: /operators/{operator_id}/mfa
method: delete
operationId: revokeMFA
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /operators/{operator_id}/mfa
method: get
operationId: getMFAStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/mfa
method: post
operationId: enableMFA
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: /operators/{operator_id}/mfa/verify
method: post
operationId: verifyMFA
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: /operators/{operator_id}/password
method: post
operationId: updateOperatorPassword
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: /operators/{operator_id}/support/token
method: post
operationId: generateSupportToken
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: /operators/{operator_id}/token
method: post
operationId: generateAuthToken
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: /operators/{operator_id}/tokens
method: delete
operationId: revokeOperatorAuthTokens
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /operators/mfa_revoke_token/issue
method: post
operationId: issueMFARevokingToken
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /operators/mfa_revoke_token/verify
method: post
operationId: verifyMFARevokingToken
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /operators/{operator_id}/users
method: get
operationId: listUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/users/{user_name}
method: delete
operationId: deleteUser
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: /operators/{operator_id}/users/{user_name}
method: get
operationId: getUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/users/{user_name}
method: post
operationId: createUser
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: /operators/{operator_id}/users/{user_name}
method: put
operationId: updateUser
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: /operators/{operator_id}/users/{user_name}/auth_keys
method: get
operationId: listUserAuthKeys
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/users/{user_name}/auth_keys
method: post
operationId: generateUserAuthKey
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: /operators/{operator_id}/users/{user_name}/auth_keys/{auth_key_id}
method: delete
operationId: deleteUserAuthKey
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: /operators/{operator_id}/users/{user_name}/auth_keys/{auth_key_id}
method: get
operationId: getUserAuthKey
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/users/{user_name}/mfa
method: delete
operationId: revokeUserMFA
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /operators/{operator_id}/users/{user_name}/mfa
method: get
operationId: getUserMFAStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/users/{user_name}/mfa
method: post
operationId: enableUserMFA
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: /operators/{operator_id}/users/{user_name}/mfa/verify
method: post
operationId: verifyUserMFA
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: /operators/{operator_id}/users/{user_name}/password
method: delete
operationId: deleteUserPassword
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: /operators/{operator_id}/users/{user_name}/password
method: get
operationId: hasUserPassword
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/users/{user_name}/password
method: post
operationId: createUserPassword
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: /operators/{operator_id}/users/{user_name}/password
method: put
operationId: updateUserPassword
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: /operators/{operator_id}/users/{user_name}/permission
method: delete
operationId: deleteUserPermission
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: /operators/{operator_id}/users/{user_name}/permission
method: get
operationId: getUserPermission
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/users/{user_name}/permission
method: put
operationId: updateUserPermission
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: /operators/{operator_id}/users/{user_name}/tokens
method: delete
operationId: revokeUserAuthTokens
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /operators/{operator_id}/users/{user_name}/trust_policy
method: delete
operationId: deleteUserTrustPolicy
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: /operators/{operator_id}/users/{user_name}/trust_policy
method: get
operationId: getUserTrustPolicy
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/users/{user_name}/trust_policy
method: put
operationId: updateUserTrustPolicy
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: /operators/{operator_id}/users/default_permissions
method: delete
operationId: deleteDefaultPermissions
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: /operators/{operator_id}/users/default_permissions
method: get
operationId: getDefaultPermissions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/users/default_permissions
method: put
operationId: updateDefaultPermissions
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: /operators/{operator_id}/roles
method: get
operationId: listRoles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/roles/{role_id}
method: delete
operationId: deleteRole
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: /operators/{operator_id}/roles/{role_id}
method: get
operationId: getRole
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/roles/{role_id}
method: post
operationId: createRole
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: /operators/{operator_id}/roles/{role_id}
method: put
operationId: updateRole
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: /operators/{operator_id}/roles/{role_id}/users
method: get
operationId: listRoleAttachedUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/roles/{role_id}/versions
method: get
operationId: listRoleVersions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/users/{user_name}/roles
method: get
operationId: listUserRoles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/users/{user_name}/roles
method: post
operationId: attachRole
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: /operators/{operator_id}/users/{user_name}/roles/{role_id}
method: delete
operationId: detachRole
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: /operators/{operator_id}/emails
method: get
operationId: listEmails
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/emails/{email_id}
method: delete
operationId: deleteEmail
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: /operators/{operator_id}/emails/{email_id}
method: get
operationId: getEmail
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/add_email_token/issue
method: post
operationId: issueAddEmailToken
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: /operators/add_email_token/verify
method: post
operationId: verifyAddEmailToken
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: /operators/{operator_id}/system_notifications
method: get
operationId: listSystemNotifications
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/system_notifications/{type}
method: delete
operationId: deleteSystemNotification
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: /operators/{operator_id}/system_notifications/{type}
method: get
operationId: getSystemNotification
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /operators/{operator_id}/system_notifications/{type}
method: post
operationId: setSystemNotification
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: /batch_groups
method: get
operationId: listBatchGroups
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /batch_groups
method: post
operationId: createBatchGroup
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: /batch_groups/{batch_group_id}
method: delete
operationId: deleteBatchGroup
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: /batch_groups/{batch_group_id}
method: get
operationId: getBatchGroup
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /batch_groups/{batch_group_id}
method: put
operationId: updateBatchGroup
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: /batch_groups/{batch_group_id}/jobs
method: get
operationId: listBatchJobs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /batch_groups/{batch_group_id}/jobs
method: post
operationId: createBatchJob
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: /batch_groups/{batch_group_id}/jobs/{job_id}
method: get
operationId: getBatchJob
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /batch_groups/{batch_group_id}/jobs/{job_id}/tasks
method: get
operationId: listTasksOfBatchJob
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bills
method: get
operationId: getBillingHistory
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bills/{yyyyMM}
method: get
operationId: getBilling
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bills/{yyyyMM}/daily
method: get
operationId: getBillingPerDay
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bills/{yyyyMM}/export
method: post
operationId: exportBilling
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: /bills/latest
method: get
operationId: getLatestBilling
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /bills/latest/export
method: post
operationId: exportLatestBilling
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:
# --- truncated at 32 KB (304 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/soracom/refs/heads/main/agentic-access/soracom-agentic-access.yml