Telnyx Agentic Access
Telnyx exposes 1038 API operations that an AI agent could call, of which 553 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: 485 read, 403 write, 89 physical, and 61 safety-critical.
61 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 | /addresses/{id}/actions/accept_suggestions | safety-critical | required |
| DELETE | /ai/embeddings/buckets/{bucket_name} | safety-critical | required |
| POST | /call_control_applications | safety-critical | required |
| DELETE | /call_control_applications/{id} | safety-critical | required |
| PATCH | /call_control_applications/{id} | safety-critical | required |
| POST | /calls/{call_control_id}/actions/ai_assistant_add_messages | safety-critical | required |
| POST | /calls/{call_control_id}/actions/ai_assistant_join | safety-critical | required |
| POST | /calls/{call_control_id}/actions/ai_assistant_start | safety-critical | required |
| POST | /calls/{call_control_id}/actions/ai_assistant_stop | safety-critical | required |
| POST | /calls/{call_control_id}/actions/answer | safety-critical | required |
| POST | /calls/{call_control_id}/actions/bridge | safety-critical | required |
| PUT | /calls/{call_control_id}/actions/client_state_update | safety-critical | required |
| POST | /calls/{call_control_id}/actions/enqueue | safety-critical | required |
| POST | /calls/{call_control_id}/actions/fork_start | safety-critical | required |
| POST | /calls/{call_control_id}/actions/fork_stop | safety-critical | required |
| POST | /calls/{call_control_id}/actions/gather | safety-critical | required |
| POST | /calls/{call_control_id}/actions/gather_stop | safety-critical | required |
| POST | /calls/{call_control_id}/actions/gather_using_ai | safety-critical | required |
| POST | /calls/{call_control_id}/actions/gather_using_audio | safety-critical | required |
| POST | /calls/{call_control_id}/actions/gather_using_speak | safety-critical | required |
| POST | /calls/{call_control_id}/actions/hangup | safety-critical | required |
| POST | /calls/{call_control_id}/actions/leave_queue | safety-critical | required |
| POST | /calls/{call_control_id}/actions/playback_start | safety-critical | required |
| POST | /calls/{call_control_id}/actions/playback_stop | safety-critical | required |
| POST | /calls/{call_control_id}/actions/record_pause | safety-critical | required |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/telnyx-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: 1038
by_action_class:
connected: 485
acting: 553
by_consequence:
read: 485
write: 403
physical: 89
safety-critical: 61
human_in_the_loop_required: 61
operations:
- path: /.well-known/oauth-authorization-server
method: get
operationId: GetOAuthAuthorizationServerMetadata
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /.well-known/oauth-protected-resource
method: get
operationId: GetOAuthProtectedResourceMetadata
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/brand
method: get
operationId: GetBrands
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/brand
method: post
operationId: CreateBrandPost
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: /10dlc/brand/feedback/{brandId}
method: get
operationId: GetBrandFeedbackById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/brand/smsOtp/{referenceId}
method: get
operationId: GetBrandSmsOtpStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/brand/{brandId}
method: delete
operationId: DeleteBrand
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: /10dlc/brand/{brandId}
method: get
operationId: GetBrand
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/brand/{brandId}
method: put
operationId: UpdateBrand
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: /10dlc/brand/{brandId}/2faEmail
method: post
operationId: ResendBrand2faEmail
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: /10dlc/brand/{brandId}/externalVetting
method: get
operationId: ListExternalVettings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/brand/{brandId}/externalVetting
method: post
operationId: PostOrderExternalVetting
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: /10dlc/brand/{brandId}/externalVetting
method: put
operationId: PutExternalVettingRecord
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: /10dlc/brand/{brandId}/revet
method: put
operationId: RevetBrand
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: /10dlc/brand/{brandId}/smsOtp
method: get
operationId: GetBrandSmsOtpStatusByBrandId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/brand/{brandId}/smsOtp
method: post
operationId: TriggerBrandSmsOtp
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: /10dlc/brand/{brandId}/smsOtp
method: put
operationId: VerifyBrandSmsOtp
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: /10dlc/campaign
method: get
operationId: GetCampaigns
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/campaign/acceptSharing/{campaignId}
method: post
operationId: AcceptCampaign
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: /10dlc/campaign/usecase/cost
method: get
operationId: GetCampaignCost
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/campaign/{campaignId}
method: delete
operationId: DeactivateCampaign
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: /10dlc/campaign/{campaignId}
method: get
operationId: GetCampaign
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/campaign/{campaignId}
method: put
operationId: UpdateCampaign
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: /10dlc/campaign/{campaignId}/appeal
method: post
operationId: AppealCampaign
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: /10dlc/campaign/{campaignId}/mnoMetadata
method: get
operationId: GetCampaignMnoMetadata
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/campaign/{campaignId}/operationStatus
method: get
operationId: GetCampaignOperationStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/campaign/{campaignId}/osr/attributes
method: get
operationId: GetCampaignOsrAttributes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/campaign/{campaignId}/sharing
method: get
operationId: GetCampaignSharingStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/campaignBuilder
method: post
operationId: PostCampaign
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: /10dlc/campaignBuilder/brand/{brandId}/usecase/{usecase}
method: get
operationId: GetUsecaseQualification
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/enum/{endpoint}
method: get
operationId: GetEnumEndpoint
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/partnerCampaign/sharedByMe
method: get
operationId: GetPartnerCampaignsSharedByUser
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/partnerCampaign/{campaignId}/sharing
method: get
operationId: GetPartnerCampaignSharingStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/partner_campaigns
method: get
operationId: GetSharedCampaigns
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/partner_campaigns/{campaignId}
method: get
operationId: GetSharedCampaign
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/partner_campaigns/{campaignId}
method: patch
operationId: UpdateSharedCampaign
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: /10dlc/phoneNumberAssignmentByProfile
method: post
operationId: PostAssignMessagingProfileToCampaign
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: /10dlc/phoneNumberAssignmentByProfile/{taskId}
method: get
operationId: GetAssignmentTaskStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/phoneNumberAssignmentByProfile/{taskId}/phoneNumbers
method: get
operationId: GetPhoneNumberStatus
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/phone_number_campaigns
method: get
operationId: GetAllPhoneNumberCampaigns
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/phone_number_campaigns
method: post
operationId: CreatePhoneNumberCampaign
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: /10dlc/phone_number_campaigns/{phoneNumber}
method: delete
operationId: DeletePhoneNumberCampaign
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: /10dlc/phone_number_campaigns/{phoneNumber}
method: get
operationId: GetSinglePhoneNumberCampaign
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /10dlc/phone_number_campaigns/{phoneNumber}
method: put
operationId: PutPhoneNumberCampaign
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: /access_ip_address
method: get
operationId: ListAccessIpAddresses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /access_ip_address
method: post
operationId: CreateAccessIpAddress
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: /access_ip_address/{access_ip_address_id}
method: delete
operationId: DeleteAccessIpAddress
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: /access_ip_address/{access_ip_address_id}
method: get
operationId: GetAccessIpAddress
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /access_ip_ranges
method: get
operationId: ListAccessIpRanges
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /access_ip_ranges
method: post
operationId: CreateAccessIPRange
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: /access_ip_ranges/{access_ip_range_id}
method: delete
operationId: DeleteAccessIpRange
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: /actions/purchase/esims
method: post
operationId: PurchaseESim
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: /actions/register/sim_cards
method: post
operationId: RegisterSimCards
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: FindAddresses
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /addresses
method: post
operationId: CreateAddress
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/actions/validate
method: post
operationId: ValidateAddress
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/{id}
method: delete
operationId: DeleteAddress
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/{id}
method: get
operationId: GetAddress
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /addresses/{id}/actions/accept_suggestions
method: post
operationId: acceptAddressSuggestions
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: /advanced_orders
method: get
operationId: list_advanced_orders_v2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /advanced_orders
method: post
operationId: create_advanced_order_v2
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: /advanced_orders/{advanced-order-id}/requirement_group
method: patch
operationId: update_advanced_order_v2
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: /advanced_orders/{order_id}
method: get
operationId: get_advanced_order_v2
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants
method: get
operationId: get_assistants_public_assistants_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants
method: post
operationId: create_new_assistant_public_assistants_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: /ai/assistants/import
method: post
operationId: import_assistants_public_assistants_import_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: /ai/assistants/tags
method: get
operationId: get_all_assistant_tags
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants/tests
method: get
operationId: get_assistant_tests_public_assistants_tests_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants/tests
method: post
operationId: create_assistant_test_public_assistants_tests_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: /ai/assistants/tests/test-suites
method: get
operationId: fetch_test_suites_public_assistants_tests_test_suites_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants/tests/test-suites/{suite_name}/runs
method: get
operationId: get_test_suite_runs_for_test_public_assistants_tests_test_suites__suite_name__runs_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants/tests/test-suites/{suite_name}/runs
method: post
operationId: trigger_test_suite_runs_public_assistants_tests_test_suites__suite_name__runs_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: /ai/assistants/tests/{test_id}
method: delete
operationId: delete_assistant_test_public_assistants_tests__test_id__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: /ai/assistants/tests/{test_id}
method: get
operationId: get_assistant_test_public_assistants_tests__test_id__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants/tests/{test_id}
method: put
operationId: update_assistant_test_public_assistants_tests__test_id__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: /ai/assistants/tests/{test_id}/runs
method: get
operationId: get_test_runs_for_test_public_assistants_tests__test_id__runs_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants/tests/{test_id}/runs
method: post
operationId: trigger_test_run_public_assistants_tests__test_id__runs_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: /ai/assistants/tests/{test_id}/runs/{run_id}
method: get
operationId: get_test_run_public_assistants_tests__test_id__runs__run_id__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants/{assistant_id}
method: delete
operationId: delete_assistant_public_assistants__assistant_id__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: /ai/assistants/{assistant_id}
method: get
operationId: get_assistant_public_assistants__assistant_id__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants/{assistant_id}
method: post
operationId: update_assistant_public_assistants__assistant_id__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: /ai/assistants/{assistant_id}/canary-deploys
method: delete
operationId: delete_canary_deploy_assistants__assistant_id__canary_deploys_delete
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: /ai/assistants/{assistant_id}/canary-deploys
method: get
operationId: get_canary_deploy_assistants__assistant_id__canary_deploys_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants/{assistant_id}/canary-deploys
method: post
operationId: create_canary_deploy_assistants__assistant_id__canary_deploys_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: /ai/assistants/{assistant_id}/canary-deploys
method: put
operationId: update_canary_deploy_assistants__assistant_id__canary_deploys_put
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: /ai/assistants/{assistant_id}/chat
method: post
operationId: assistant_chat_public_assistants__assistant_id__chat_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: /ai/assistants/{assistant_id}/chat/sms
method: post
operationId: assistant_sms_chat_assistants__assistant_id__chat_sms_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: /ai/assistants/{assistant_id}/clone
method: post
operationId: clone_assistant_public_assistants__assistant_id__clone_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: /ai/assistants/{assistant_id}/scheduled_events
method: get
operationId: get_scheduled_events
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants/{assistant_id}/scheduled_events
method: post
operationId: create_scheduled_event
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: /ai/assistants/{assistant_id}/scheduled_events/{event_id}
method: delete
operationId: delete_scheduled_event
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: /ai/assistants/{assistant_id}/scheduled_events/{event_id}
method: get
operationId: get_scheduled_event
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants/{assistant_id}/tags
method: post
operationId: add_assistant_tag
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: /ai/assistants/{assistant_id}/tags/{tag}
method: delete
operationId: remove_assistant_tag
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: /ai/assistants/{assistant_id}/texml
method: get
operationId: get_assistant_texml_public_assistants__assistant_id__texml_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants/{assistant_id}/tools/{tool_id}
method: delete
operationId: remove_assistant_tool
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: /ai/assistants/{assistant_id}/tools/{tool_id}
method: put
operationId: add_assistant_tool
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: /ai/assistants/{assistant_id}/tools/{tool_id}/test
method: post
operationId: test_assistant_tool_public_assistants__assistant_id__tools__tool_id__test_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: /ai/assistants/{assistant_id}/versions
method: get
operationId: get_assistant_versions_public_assistants__assistant_id__versions_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants/{assistant_id}/versions/{version_id}
method: delete
operationId: delete_assistant_version_public_assistants__assistant_id__versions__version_id__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: /ai/assistants/{assistant_id}/versions/{version_id}
method: get
operationId: get_assistant_version_public_assistants__assistant_id__versions__version_id__get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ai/assistants/{assistant_id}/versions/{version_id}
method: post
operationId: update_assistant_version_public_assistants__assistant_id__versions__version_id__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-val
# --- truncated at 32 KB (313 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/telnyx/refs/heads/main/agentic-access/telnyx-agentic-access.yml