BICS Agentic Access
BICS exposes 76 API operations that an AI agent could call, of which 38 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: 38 read, 23 write, 8 physical, and 7 safety-critical.
7 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 | /emergencyservices/orders | safety-critical | required |
| DELETE | /emergencyservices/orders/{orderId} | safety-critical | required |
| PATCH | /emergencyservices/orders/{orderId} | safety-critical | required |
| POST | /emergencyservices/orders/{orderId}/orderitems | safety-critical | required |
| DELETE | /emergencyservices/orders/{orderId}/orderitems/{orderItemId} | safety-critical | required |
| PATCH | /emergencyservices/orders/{orderId}/orderitems/{orderItemId} | safety-critical | required |
| POST | /emergencyservices/orders/{orderId}/submit | safety-critical | required |
| POST | /disconnections/orders | physical | conditional |
| POST | /disconnections/orders/{orderId}/orderitems | physical | conditional |
| DELETE | /disconnections/orders/{orderId}/orderitems/{orderItemId} | physical | conditional |
| POST | /disconnections/orders/{orderId}/submit | physical | conditional |
| POST | /order | physical | conditional |
| POST | /order/bulk | physical | conditional |
| PATCH | /order/{orderReference}/orderItem/{orderItemReference} | physical | conditional |
| POST | /outbound/{senderAddress}/requests | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/bics-connect-openapi.json, openapi/bics-mynumbers-address-management-openapi.json,
openapi/bics-mynumbers-cdr-openapi.json, openapi/bics-mynumbers-disconnection-openapi.json,
openapi/bics-mynumbers-emergency-services-openapi.json, openapi/bics-mynumbers-openapi.json,
openapi/bics-mynumbers-porting-openapi.json, openapi/bics-sms-openapi.json
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: 76
by_action_class:
connected: 38
acting: 38
by_consequence:
read: 38
write: 23
physical: 8
safety-critical: 7
human_in_the_loop_required: 7
operations:
- path: /connections/{connectionId}
method: get
operationId: getConnection
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connections/{connectionId}
method: delete
operationId: deleteConnection
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: /connections/{connectionId}/modify
method: post
operationId: modifyConnection
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: /refdata
method: get
operationId: getRefData
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connections
method: get
operationId: getConnections
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connections
method: post
operationId: createConnection
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: /interconnects
method: get
operationId: getInterconnects
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /addresses/{reference}
method: get
operationId: Get Address By Reference
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /addresses/{reference}
method: put
operationId: Update Address
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: /addresses/{reference}
method: delete
operationId: Delete Address
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: /addresses/{reference}/documents/{documentReference}
method: delete
operationId: Delete Document By Reference
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: /addresses/{reference}/documentTypeCode/{code}
method: delete
operationId: Delete Document
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: /addresses/{reference}/documents
method: post
operationId: Add Document
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: /addresses
method: get
operationId: Get Addresses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /addresses
method: post
operationId: Create Address
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: /cdrs/{id}/download/{format}
method: get
operationId: Download CDR Request
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /cdrs/{id}/status
method: get
operationId: Get status of CDR Request
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /cdrs/availableDates
method: get
operationId: Get available CDR dates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /cdrs
method: post
operationId: Request CDRs
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: /disconnections/orders/{orderId}/submit
method: post
operationId: submit Disconnection Order
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: /disconnections/orders/{orderId}/orderitems/{orderItemId}
method: delete
operationId: delete Disconnection Order Item
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: /disconnections/orders
method: post
operationId: create Disconnection Order
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: /disconnections/orders/{orderId}/orderitems
method: post
operationId: add Disconnection Order Item
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: /emergencyservices/requirements/{country}
method: get
operationId: get Emergency Service Country Specific Fields
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /emergencyservices/orders
method: get
operationId: get Emergency Services Orders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /emergencyservices/orders
method: post
operationId: create Emergency Services Order
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: /emergencyservices/orders/{orderId}
method: get
operationId: get Emergency Service Order Details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /emergencyservices/orders/{orderId}
method: delete
operationId: cancel Emergency Service Order
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: /emergencyservices/orders/{orderId}
method: patch
operationId: update Emergency Service Order
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: /emergencyservices/orders/{orderId}/orderitems
method: post
operationId: create Emergency Service Order Item
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: /emergencyservices/orders/{orderId}/orderitems/{orderItemId}
method: delete
operationId: delete Emergency Service Order Item
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: /emergencyservices/orders/{orderId}/orderitems/{orderItemId}
method: patch
operationId: update Emergency Service Order Item
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: /emergencyservices/orders/{orderId}/submit
method: post
operationId: submit Emergency Service Order
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: /stock/product/{product}/country/{country}/quantity/{quantity}
method: get
operationId: Check Available Stock
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /reference/languages
method: get
operationId: Get Languages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /numbers
method: get
operationId: get Inventory
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /reference/locations/country/{country}
method: get
operationId: get Locations By Country
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /numbers/{number}/services
method: get
operationId: get number services
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /order/bulk
method: post
operationId: Order Numbers In Bulk
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: /reference/locations
method: get
operationId: get Locations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /order/{orderId}
method: get
operationId: Get Order Details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /reference/calendar
method: get
operationId: get Calendars
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /numbers/{number}
method: get
operationId: get Number Details
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /stock/product/{product}/country/{country}/location/{location}/quantity/{quantity}
method: get
operationId: Check Available Stock By Location
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pricelist/product/{product}
method: get
operationId: get Pricelist By Product
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /numbers/addressReference
method: delete
operationId: Delete address reference
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: /reference/pops
method: get
operationId: get POPs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /reference/pops/product/{product}
method: get
operationId: get POPs by Product
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /routes
method: post
operationId: Update routes
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: /specifications
method: get
operationId: get specifications
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /order
method: post
operationId: Order Single Number
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: /reference/calendar/product/{product}
method: get
operationId: get Calendars by Product
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /order/{orderReference}/orderItem/{orderItemReference}
method: patch
operationId: Edit Order
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: /numbers/addressReferences
method: post
operationId: Update address reference
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: /reference/documenttypes
method: get
operationId: Get Document Types
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /availablenumbers
method: get
operationId: get available numbers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /pricelist/product/{product}/country/{country}
method: get
operationId: get Pricelist By Product And Country
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /portings/{portingRequestId}/documents
method: get
operationId: get porting request documents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /portings/{portingRequestId}/documents
method: post
operationId: Update Porting Request Documents
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: /portings
method: get
operationId: get porting requests
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /portings
method: post
operationId: Create porting request
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: /portings/{portingRequestId}/addresses
method: patch
operationId: Update porting request addresses
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: /portings/specifications
method: get
operationId: get porting specifications
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /portings/{portingRequestId}
method: get
operationId: get porting request by id
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /portings/{portingRequestId}
method: delete
operationId: cancel porting request
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: /inbound/subscriptions
method: get
operationId: Get Inbound Messages Subscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /inbound/subscriptions
method: post
operationId: Create Inbound Messages Subscription
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: /inbound/subscriptions
method: delete
operationId: Delete Inbound Messages Subscription
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: /conversions
method: post
operationId: Process SMS Conversion info
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: /conversionsinfos
method: post
operationId: Process SMS Conversion infos
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: /outbound/{senderAddress}/requests
method: post
operationId: Send Message
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: /outbound/subscriptions
method: get
operationId: Get Delivery Info Subscription
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /outbound/subscriptions
method: post
operationId: Create Delivery Info Subscription
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: /outbound/subscriptions
method: delete
operationId: Delete Delivery Info Subscription
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: /inbound/registrations/{inboundNumber}/messages
method: get
operationId: Get Inbound Messages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /outbound/{senderAddress}/requests/{requestId}/deliveryInfos
method: get
operationId: Get Delivery Infos
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none