Spotnana Agentic Access
Spotnana exposes 211 API operations that an AI agent could call, of which 145 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: 66 read, 129 write, 14 physical, and 2 safety-critical.
2 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 | /v2/api-users/revoke | safety-critical | required |
| DELETE | /v2/companies/{companyId}/partner-public-keys/{kid} | safety-critical | required |
| POST | /v2/air/flight-checkout | physical | conditional |
| POST | /v2/events/{eventId}/invite/send | physical | conditional |
| POST | /v2/events/{eventId}/invite/test | physical | conditional |
| POST | /v2/invoicing/invoice-data | physical | conditional |
| POST | /v2/license/company/{companyId}/service-charge/per-trip | physical | conditional |
| POST | /v2/payment/users/{userId}/payment-sources | physical | conditional |
| DELETE | /v2/payment/users/{userId}/payment-sources/{paymentSourceId} | physical | conditional |
| PATCH | /v2/payment/users/{userId}/payment-sources/{paymentSourceId} | physical | conditional |
| POST | /v2/service-charge/{entityType}/{entityId}/types/{type}/list | physical | conditional |
| POST | /v2/service-charge/{entityType}/{entityId}/types/{type}/list | physical | conditional |
| POST | /v2/trips/{tripId}/pnrs/{pnrId}/download-invoice | physical | conditional |
| PUT | /v2/users/{userId}/membership-info | physical | conditional |
| POST | /v3/air/company-transferable-unused-credits/list | physical | conditional |
| POST | /v3/tenant-encryption/{companyId}/key | physical | conditional |
Source
Agentic Access
generated: '2026-07-21'
method: generated
source: openapi/spotnana-air-openapi-original.json, openapi/spotnana-auth-openapi-original.json,
openapi/spotnana-company-openapi-original.json, openapi/spotnana-document-openapi-original.json,
openapi/spotnana-event-openapi-original.json, openapi/spotnana-hotel-openapi-original.json,
openapi/spotnana-payments-openapi-original.json, openapi/spotnana-policy-openapi-original.json,
openapi/spotnana-template-openapi-original.json, openapi/spotnana-trip-openapi-original.json,
openapi/spotnana-users-openapi-original.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: 211
by_action_class:
connected: 66
acting: 145
by_consequence:
read: 66
write: 129
physical: 14
safety-critical: 2
human_in_the_loop_required: 2
operations:
- path: /v2/air-autocomplete
method: get
operationId: airAutocomplete
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/air/search-flights
method: post
operationId: airSearch
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: /v2/air/flight-attributes
method: post
operationId: airAttributes
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: /v2/air/selected-itinerary
method: post
operationId: airSelectedItinerary
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: /v2/air/loyalty-programs
method: get
operationId: getAirApplicableLoyalties
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/air/airlines-info
method: get
operationId: getAirlinesInformation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/air/flight-checkout
method: post
operationId: airFlightCheckout
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: /v2/air/seat-map
method: post
operationId: airSeatMap
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: /v2/air/initiate-booking
method: post
operationId: airInitiateBooking
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: /v2/air/revalidate-itinerary
method: post
operationId: airRevalidateItinerary
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: /v2/air/intermediate-revalidate-itinerary
method: post
operationId: airIntermediateRevalidateItinerary
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: /v2/air/create-pnr
method: post
operationId: airCreatePnr
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: /v2/air/cancel-pnr
method: post
operationId: airCancelPnr
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: /v2/air/pnrs/{pnrId}/exchange-details
method: get
operationId: getAirPnrExchangeDetails
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/air/modify-search
method: post
operationId: airModifySearchV2
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: /v2/air/modify-book
method: post
operationId: airModifyBookV2
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: /v2/air/pnrs/{pnrId}/update
method: post
operationId: airPnrEdit
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: /v2/air/special-service-requests
method: get
operationId: getSpecialServiceRequests
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/air/special-service-requests/categories
method: get
operationId: getSpecialServiceRequestsFilterByCategory
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/air/fare-rules/fetch
method: post
operationId: fetchAirFareRules
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: /v3/air/fetch-traveler-unused-credits
method: post
operationId: fetchTravelerUnusedCredits
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: /v3/air/company-unused-credits/list
method: post
operationId: fetchCompanyUnusedCredits
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: /v3/air/company-transferable-unused-credits/list
method: post
operationId: fetchCompanyTransferableUnusedCredits
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: /v3/air/company-credits/migrations
method: post
operationId: migrateUnusedCreditsInCompanyCredits
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: /v2/auth/oauth2-token
method: post
operationId: fetchOauth2Token
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: /v2/api-users
method: post
operationId: createApiUser
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: /v2/api-users
method: get
operationId: getApiUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/api-users/revoke
method: post
operationId: deleteApiUser
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: /v2/api-users/rotate
method: post
operationId: rotateClientSecret
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: /v2/companies
method: post
operationId: createCompany
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: /v2/companies
method: get
operationId: listCompanies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}
method: get
operationId: readCompany
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}
method: put
operationId: updateCompany
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: /v2/companies/{companyId}
method: delete
operationId: deleteCompany
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: /v2/companies/{companyId}/legal-entities
method: post
operationId: createLegalEntity
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: /v2/companies/{companyId}/legal-entities
method: get
operationId: listLegalEntities
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/legal-entities/{legalEntityId}
method: get
operationId: getLegalEntity
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/legal-entities/{legalEntityId}
method: put
operationId: updateLegalEntity
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: /v2/companies/{companyId}/legal-entities/{legalEntityId}
method: delete
operationId: deleteLegalEntity
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: /v2/companies/{companyId}/cost-centers
method: post
operationId: createCostCenter
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: /v2/companies/{companyId}/cost-centers
method: get
operationId: listCostCenters
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/cost-centers/{costCenterId}
method: get
operationId: getCostCenter
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/cost-centers/{costCenterId}
method: put
operationId: updateCostCenter
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: /v2/companies/{companyId}/cost-centers/{costCenterId}
method: delete
operationId: deleteCostCenter
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: /v3/companies/{companyId}/cost-centers/list
method: post
operationId: listCostCentersV3
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: /v2/companies/{companyId}/legal-entities/{legalEntityId}/offices
method: post
operationId: createOffice
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: /v2/companies/{companyId}/legal-entities/{legalEntityId}/offices
method: get
operationId: listLegalEntityOffices
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/office-list
method: post
operationId: listOfficesV2
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: /v2/companies/{companyId}/legal-entities/{legalEntityId}/offices/{officeId}
method: get
operationId: getOffice
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/legal-entities/{legalEntityId}/offices/{officeId}
method: put
operationId: updateOffice
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: /v2/companies/{companyId}/legal-entities/{legalEntityId}/offices/{officeId}
method: delete
operationId: deleteOffice
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: /v2/companies/{companyId}/partner-public-keys
method: post
operationId: addPartnerPublicKey
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: /v2/companies/{companyId}/partner-public-keys
method: get
operationId: listPartnerPublicKeys
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/partner-public-keys/{kid}
method: delete
operationId: revokePartnerPublicKey
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: /v2/companies/{companyId}/departments
method: post
operationId: createDepartment
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: /v2/companies/{companyId}/departments
method: get
operationId: listDepartments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/departments/{departmentId}
method: get
operationId: getDepartment
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/departments/{departmentId}
method: put
operationId: updateDepartment
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: /v2/companies/{companyId}/departments/{departmentId}
method: delete
operationId: deleteDepartment
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: /v3/companies/{companyId}/departments/list
method: post
operationId: listDepartmentsV3
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: /v2/companies/{companyId}/grades
method: post
operationId: createGrade
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: /v2/companies/{companyId}/grades/{gradeId}
method: get
operationId: getGrade
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/grades/{gradeId}
method: put
operationId: updateGrade
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: /v2/companies/{companyId}/grades/{gradeId}
method: delete
operationId: deleteGrade
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: /v2/companies/{companyId}/grades/list
method: post
operationId: listGrades
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: /v2/companies/{companyId}/features
method: get
operationId: getCompanyFeatures
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/features
method: patch
operationId: updateCompanyFeaturesPatch
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: /v2/companies/{companyId}/travel-content-config
method: get
operationId: getCompanyTravelContentConfig
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/travel-content-config
method: put
operationId: updateCompanyTravelContentConfig
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: /v2/companies/{companyId}/travel-content-config
method: delete
operationId: deleteCompanyTravelContentConfig
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: /v2/companies/{companyId}/white-label-config
method: put
operationId: updateCompanyWhiteLabelConfig
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: /v2/companies/{companyId}/white-label-config
method: get
operationId: getCompanyWhiteLabelConfig
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/white-label-config
method: delete
operationId: deleteCompanyWhiteLabelConfig
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: /v2/companies/{companyId}/managers-config
method: put
operationId: updateCompanyManagersConfig
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: /v2/companies/{companyId}/managers-config
method: get
operationId: getCompanyManagersConfig
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/managers-config
method: delete
operationId: deleteCompanyManagersConfig
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: /v2/license/company/{companyId}/service-charge/per-trip
method: get
operationId: getCompanyPerTripSrvCharge
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/license/company/{companyId}/service-charge/per-trip
method: post
operationId: setCompanyPerTripSrvCharge
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: /v2/service-charge/{entityType}/{entityId}/types/{type}/list
method: post
operationId: listServiceCharges
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: /v2/companies/{companyId}/enrollment-config
method: put
operationId: updateCompanyEnrollmentConfig
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: /v2/companies/{companyId}/enrollment-config
method: get
operationId: getCompanyEnrollmentConfig
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/color-config
method: put
operationId: updateColorConfig
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: /v2/companies/{companyId}/color-config
method: get
operationId: getColorConfig
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/tier-config
method: put
operationId: updateCompanyTierConfig
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: /v2/companies/{companyId}/tier-config
method: get
operationId: getCompanyTierConfig
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/stealth-config
method: put
operationId: updateCompanyStealthConfig
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: /v2/companies/{companyId}/stealth-config
method: get
operationId: getCompanyStealthConfig
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/companies/{companyId}/vendor-preferences
method: post
operationId: uploadCompanyPreferences
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: /v2/companies/{companyId}/preference-tiers
method: put
operationId: storePreferenceTiers
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: /v2/companies/{companyId}/preference-tiers
method: get
operationId: listPreferenceTiers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v3/tenant-encryption/{companyId}/key
method: post
operationId: provisionOrRotateTenantKey
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: /v2/documents
method: post
operationId: uploadDocument
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: /v2/documents
method: get
operationId: listDocuments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/documents/{documentId}
method: get
operationId: getDocument
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/documents/{documentId}
method: delete
operationId: deleteDocument
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: /v2/events
method: post
operationId: createEvent
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: /v2/events/{eventId}
method: get
operationId: getEvent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v2/events/{eventId}
method: delete
operationId: deleteEvent
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: /v2/events/read-by-external-id
method: get
operationId: getEventByExternalID
x-agentic-access:
action-class: connected
consequence: read
subject: optional
# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/spotnana/refs/heads/main/agentic-access/spotnana-agentic-access.yml