Blng Agentic Access
Blng exposes 88 API operations that an AI agent could call, of which 49 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: 39 read, 41 write, 5 physical, and 3 safety-critical.
3 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 |
|---|---|---|---|
| PUT | /users/{userId}/active-workspace | safety-critical | required |
| POST | /users/{userId}/tooltips/resetAll | safety-critical | required |
| DELETE | /users/{userId}/workspaces/{workspaceId}/invitations/{invitationId} | safety-critical | required |
| POST | /billing/confirmCheckout/{stripeCheckoutSessionId} | physical | conditional |
| POST | /billing/createCheckoutSession | physical | conditional |
| POST | /billing/webhook/checkoutSessionCompleted | physical | conditional |
| POST | /invitations/{invitationId}/resend | physical | conditional |
| POST | /users/{userId}/workspaces/{workspaceId}/invitations/{invitationId}/resend | physical | conditional |
Source
Agentic Access
generated: '2026-08-13'
method: generated
source: openapi/blng-billing-api-openapi.yml, openapi/blng-journey-api-openapi.yml, openapi/blng-user-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: 88
by_action_class:
acting: 49
connected: 39
by_consequence:
write: 41
read: 39
physical: 5
safety-critical: 3
human_in_the_loop_required: 3
operations:
- path: /billing/requestEnterprise
method: post
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- openid
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /billing/products
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /billing/createCheckoutSession
method: post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- openid
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /billing/createCustomerPortal
method: post
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- openid
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /billing/confirmCheckout/{stripeCheckoutSessionId}
method: post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- openid
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /billing/webhook/checkoutSessionCompleted
method: post
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: /billing/webhook/customerSubscriptionUpdated
method: post
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /billing/webhook/customerSubscriptionDeleted
method: post
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: /journeys
method: get
operationId: getJourneys
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /journeys
method: post
operationId: startNewJourney
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: /journeys/versions
method: get
operationId: getJourneysByDate
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /journeys/restore
method: post
operationId: restoreJourneysBulk
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: /journeys/{journeyId}
method: get
operationId: getJourney
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /journeys/{journeyId}
method: delete
operationId: deleteJourney
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: /journeys/{journeyId}/restore
method: post
operationId: restoreJourney
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: /journeys/{journeyId}/prompts
method: get
operationId: getPromptsForJourney
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /journeys/{journeyId}/prompts/{promptId}
method: get
operationId: getPromptById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /journeys/{journeyId}/prompts/{promptId}/cancel-processing
method: post
operationId: cancelPromptProcessingBeforePlan
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: /journeys/{journeyId}/prompts/{promptId}/plans/{planId}/cancel
method: post
operationId: cancelDesignPlanForPromptInJourney
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: /design/assets
method: get
operationId: listAssetsForUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /design/assets/upload
method: post
operationId: createAssetUploadUrl
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: /design/assets/{assetId}
method: get
operationId: getAsset
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /design/assets/{assetId}/download
method: get
operationId: getAssetDownloadUrl
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /design/journeys/{journeyId}/images/upload
method: post
operationId: generateImageUploadURL
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: /design/journeys/{journeyId}/images
method: get
operationId: getAllImagesForJourney
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /design/journeys/{journeyId}/images/{imageId}
method: get
operationId: getImageMetadata
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /design/journeys/{journeyId}/images/{imageId}
method: delete
operationId: deleteImage
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: /design/journeys/{journeyId}/images/{imageId}/download
method: get
operationId: generateImageDownloadUrl
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /design/journeys/{journeyId}/chat-prompt
method: post
operationId: submitChatPrompt
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: /design/journeys/{journeyId}/chat-prompt-v3
method: post
operationId: submitChatPromptV3
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: /design/journeys/{journeyId}
method: put
operationId: updateJourney
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: /design/journeys/{journeyId}/models
method: get
operationId: listModelsForJourney
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /design/journeys/{journeyId}/models
method: post
operationId: createModel3D
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: /design/journeys/{journeyId}/models/{modelId}
method: get
operationId: getModel3D
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /design/journeys/{journeyId}/models/{modelId}/conversions
method: post
operationId: resubmitModelConversions
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: /design/journeys/{journeyId}/generations
method: post
operationId: startModelGeneration
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: /design/journeys/{journeyId}/generations
method: get
operationId: listModelGenerations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /design/journeys/{journeyId}/generations/{generationId}
method: get
operationId: getModelGeneration
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /design/journeys/{journeyId}/plans/{planId}
method: get
operationId: getDesignPlanForJourney
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /design/journeys/{journeyId}/plans
method: get
operationId: listDesignPlansForJourney
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /design/journeys/{journeyId}/image-ops
method: post
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: /users/{userId}
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /users/{userId}
method: put
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- openid
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /users/{userId}/subscriptions
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /users/{userId}/subscriptions
method: post
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- openid
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /users/{userId}/memberships
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /users/{userId}/workspaces
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /users/{userId}/workspaces
method: post
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- openid
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /users/{userId}/workspaces/{workspaceId}
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /users/{userId}/workspaces/{workspaceId}
method: put
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- openid
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /users/{userId}/workspaces/{workspaceId}/members
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /users/{userId}/workspaces/{workspaceId}/invitations
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /users/{userId}/workspaces/{workspaceId}/invitations
method: post
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- openid
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /users/{userId}/workspaces/{workspaceId}/invitations/{invitationId}
method: delete
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
scope:
- openid
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /users/{userId}/workspaces/{workspaceId}/invitations/{invitationId}/resend
method: post
x-agentic-access:
action-class: acting
consequence: physical
subject: required
scope:
- openid
audience: null
token:
max-ttl: 300
exchange: true
purpose-required: true
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /users/{userId}/workspace-invitations/inbox
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /users/{userId}/workspace-invitations/{invitationId}/email-match
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /users/{userId}/workspace-invitations/{invitationId}/accept
method: post
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- openid
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /workspace-invitations/{invitationId}
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /users/{userId}/workspaces/{workspaceId}/members/{memberUserId}
method: put
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- openid
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /users/{userId}/workspaces/{workspaceId}/members/{memberUserId}
method: delete
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- openid
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /users/{userId}/workspaces/{workspaceId}/integrity
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /users/{userId}/workspaces/{workspaceId}/sso-config
method: put
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- openid
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /users/{userId}/active-workspace
method: put
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
scope:
- openid
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /users/{userId}/marketing-consent
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /users/{userId}/marketing-consent
method: put
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- openid
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /users/{userId}/subscriptions/{subscriptionId}
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /users/{userId}/subscriptions/{subscriptionId}
method: put
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- openid
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /users/{userId}/tooltips
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /users/{userId}/tooltips/resetAll
method: post
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
scope:
- openid
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /subscriptions
method: post
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: /subscriptions/{subscriptionId}
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /subscriptions/{subscriptionId}
method: put
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- blng/billing
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /subscriptions/{subscriptionId}/users
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- openid
token:
max-ttl: 3600
audit: none
- path: /invitations
method: post
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: /invitations
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /invitations/{invitationId}
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /invitations/{invitationId}
method: put
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: /invitations/{invitationId}
method: delete
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: /invitations/{invitationId}/resend
method: post
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: /invitations/{invitationId}/accept
method: post
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: /invitations/subscriptions/{subscriptionId}
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations
method: post
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: /organizations/{organizationId}
method: get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{organizationId}
method: put
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: /composite/createOrgAndSubscriptionWithUser
method: post
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: /composite/createUserAndSubscription
method: post
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