WorkOS Agentic Access
WorkOS exposes 172 API operations that an AI agent could call, of which 98 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: 74 read and 98 safety-critical.
98 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 | /api_keys/validations | safety-critical | required |
| DELETE | /api_keys/{id} | safety-critical | required |
| POST | /audit_logs/actions/{actionName}/schemas | safety-critical | required |
| POST | /audit_logs/events | safety-critical | required |
| POST | /audit_logs/exports | safety-critical | required |
| POST | /auth/challenges/{id}/verify | safety-critical | required |
| POST | /auth/factors/enroll | safety-critical | required |
| DELETE | /auth/factors/{id} | safety-critical | required |
| POST | /auth/factors/{id}/challenge | safety-critical | required |
| POST | /authkit/oauth2/complete | safety-critical | required |
| POST | /authorization/organization_memberships/{organization_membership_id}/check | safety-critical | required |
| POST | /authorization/organization_memberships/{organization_membership_id}/role_assignments | safety-critical | required |
| DELETE | /authorization/organization_memberships/{organization_membership_id}/role_assignments | safety-critical | required |
| DELETE | /authorization/organization_memberships/{organization_membership_id}/role_assignments/{role_assignment_id} | safety-critical | required |
| POST | /authorization/organizations/{organizationId}/roles | safety-critical | required |
| PATCH | /authorization/organizations/{organizationId}/roles/{slug} | safety-critical | required |
| DELETE | /authorization/organizations/{organizationId}/roles/{slug} | safety-critical | required |
| PUT | /authorization/organizations/{organizationId}/roles/{slug}/permissions | safety-critical | required |
| POST | /authorization/organizations/{organizationId}/roles/{slug}/permissions | safety-critical | required |
| DELETE | /authorization/organizations/{organizationId}/roles/{slug}/permissions/{permissionSlug} | safety-critical | required |
| PATCH | /authorization/organizations/{organization_id}/resources/{resource_type_slug}/{external_id} | safety-critical | required |
| DELETE | /authorization/organizations/{organization_id}/resources/{resource_type_slug}/{external_id} | safety-critical | required |
| POST | /authorization/permissions | safety-critical | required |
| PATCH | /authorization/permissions/{slug} | safety-critical | required |
| DELETE | /authorization/permissions/{slug} | safety-critical | required |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/workos-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: 172
by_action_class:
acting: 98
connected: 74
by_consequence:
safety-critical: 98
read: 74
human_in_the_loop_required: 98
operations:
- path: /api_keys/validations
method: post
operationId: ApiKeysController_validateApiKey
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: /api_keys/{id}
method: delete
operationId: ApiKeysController_delete
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: /audit_logs/actions
method: get
operationId: AuditLogValidatorsController_list
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /audit_logs/actions/{actionName}/schemas
method: post
operationId: AuditLogValidatorVersionsController_create
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: /audit_logs/actions/{actionName}/schemas
method: get
operationId: AuditLogValidatorVersionsController_schemas
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /audit_logs/events
method: post
operationId: AuditLogEventsController_create
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: /audit_logs/exports
method: post
operationId: AuditLogExportsController_exports
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: /audit_logs/exports/{auditLogExportId}
method: get
operationId: AuditLogExportsController_export
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/challenges/{id}/verify
method: post
operationId: AuthenticationChallengesController_verify
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /auth/factors/enroll
method: post
operationId: AuthenticationFactorsController_create
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /auth/factors/{id}
method: get
operationId: AuthenticationFactorsController_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /auth/factors/{id}
method: delete
operationId: AuthenticationFactorsController_delete
x-agentic-access:
action-class: acting
consequence: safety-critical
subject: required
audience: null
token:
max-ttl: 120
exchange: true
purpose-required: true
proof-of-possession: true
escalation:
human-in-the-loop: required
audit: required
- path: /auth/factors/{id}/challenge
method: post
operationId: AuthenticationFactorsController_challenge
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: /authkit/oauth2/complete
method: post
operationId: ExternalAuthController_completeLogin
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: /authorization/organization_memberships/{organization_membership_id}/check
method: post
operationId: AuthorizationController_check
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: /authorization/organization_memberships/{organization_membership_id}/resources
method: get
operationId: AuthorizationController_listResourcesForMembership
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/organization_memberships/{organization_membership_id}/resources/{resource_id}/permissions
method: get
operationId: AuthorizationController_listEffectivePermissions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/organization_memberships/{organization_membership_id}/resources/{resource_type_slug}/{external_id}/permissions
method: get
operationId: AuthorizationController_listEffectivePermissionsByExternalId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/organization_memberships/{organization_membership_id}/role_assignments
method: get
operationId: AuthorizationRoleAssignmentsController_listRoleAssignments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/organization_memberships/{organization_membership_id}/role_assignments
method: post
operationId: AuthorizationRoleAssignmentsController_assignRole
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: /authorization/organization_memberships/{organization_membership_id}/role_assignments
method: delete
operationId: AuthorizationRoleAssignmentsController_removeRoleByCriteria
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: /authorization/organization_memberships/{organization_membership_id}/role_assignments/{role_assignment_id}
method: delete
operationId: AuthorizationRoleAssignmentsController_removeRoleById
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: /authorization/organizations/{organizationId}/roles
method: post
operationId: AuthorizationOrganizationRolesController_create
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: /authorization/organizations/{organizationId}/roles
method: get
operationId: AuthorizationOrganizationRolesController_list
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/organizations/{organizationId}/roles/{slug}
method: get
operationId: AuthorizationOrganizationRolesController_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/organizations/{organizationId}/roles/{slug}
method: patch
operationId: AuthorizationOrganizationRolesController_update
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: /authorization/organizations/{organizationId}/roles/{slug}
method: delete
operationId: AuthorizationOrganizationRolesController_delete
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: /authorization/organizations/{organizationId}/roles/{slug}/permissions
method: put
operationId: AuthorizationOrganizationRolePermissionsController_setPermissions
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: /authorization/organizations/{organizationId}/roles/{slug}/permissions
method: post
operationId: AuthorizationOrganizationRolePermissionsController_addPermission
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: /authorization/organizations/{organizationId}/roles/{slug}/permissions/{permissionSlug}
method: delete
operationId: AuthorizationOrganizationRolePermissionsController_removePermission
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: /authorization/organizations/{organization_id}/resources/{resource_type_slug}/{external_id}
method: get
operationId: AuthorizationResourcesByExternalIdController_getByExternalId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/organizations/{organization_id}/resources/{resource_type_slug}/{external_id}
method: patch
operationId: AuthorizationResourcesByExternalIdController_updateByExternalId
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: /authorization/organizations/{organization_id}/resources/{resource_type_slug}/{external_id}
method: delete
operationId: AuthorizationResourcesByExternalIdController_deleteByExternalId
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: /authorization/organizations/{organization_id}/resources/{resource_type_slug}/{external_id}/organization_memberships
method: get
operationId: AuthorizationResourcesByExternalIdController_listOrganizationMembershipsForResourceByExternalId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/organizations/{organization_id}/resources/{resource_type_slug}/{external_id}/role_assignments
method: get
operationId: AuthorizationRoleAssignmentsController_listRoleAssignmentsForResourceByExternalId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/permissions
method: get
operationId: AuthorizationPermissionsController_list
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/permissions
method: post
operationId: AuthorizationPermissionsController_create
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: /authorization/permissions/{slug}
method: get
operationId: AuthorizationPermissionsController_find
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/permissions/{slug}
method: patch
operationId: AuthorizationPermissionsController_update
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: /authorization/permissions/{slug}
method: delete
operationId: AuthorizationPermissionsController_delete
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: /authorization/resources
method: get
operationId: AuthorizationResourcesController_list
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/resources
method: post
operationId: AuthorizationResourcesController_create
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: /authorization/resources/{resource_id}
method: get
operationId: AuthorizationResourcesController_findById
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/resources/{resource_id}
method: patch
operationId: AuthorizationResourcesController_update
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: /authorization/resources/{resource_id}
method: delete
operationId: AuthorizationResourcesController_delete
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: /authorization/resources/{resource_id}/organization_memberships
method: get
operationId: AuthorizationResourcesController_listOrganizationMembershipsForResource
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/resources/{resource_id}/role_assignments
method: get
operationId: AuthorizationRoleAssignmentsController_listRoleAssignmentsForResource
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/roles
method: post
operationId: AuthorizationRolesController_create
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: /authorization/roles
method: get
operationId: AuthorizationRolesController_list
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/roles/{slug}
method: get
operationId: AuthorizationRolesController_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /authorization/roles/{slug}
method: patch
operationId: AuthorizationRolesController_update
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: /authorization/roles/{slug}/permissions
method: put
operationId: AuthorizationRolePermissionsController_setPermissions
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: /authorization/roles/{slug}/permissions
method: post
operationId: AuthorizationRolePermissionsController_addPermission
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: /connect/applications
method: get
operationId: ApplicationsController_list
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connect/applications
method: post
operationId: ApplicationsController_create
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: /connect/applications/{id}
method: get
operationId: ApplicationsController_find
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connect/applications/{id}
method: put
operationId: ApplicationsController_update
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: /connect/applications/{id}
method: delete
operationId: ApplicationsController_delete
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: /connect/applications/{id}/client_secrets
method: get
operationId: ApplicationCredentialsController_list
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connect/applications/{id}/client_secrets
method: post
operationId: ApplicationCredentialsController_create
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: /connect/client_secrets/{id}
method: delete
operationId: ApplicationCredentialsController_delete
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: /connections
method: get
operationId: ConnectionsController_list
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connections/{id}
method: get
operationId: ConnectionsController_find
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /connections/{id}
method: delete
operationId: ConnectionsController_delete
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: /data-integrations/{slug}/authorize
method: post
operationId: DataIntegrationsController_getDataIntegrationAuthorizeUrl
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: /data-integrations/{slug}/token
method: post
operationId: DataIntegrationsController_getUserlandUserToken
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: /directories
method: get
operationId: DirectoriesController_list
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /directories/{id}
method: get
operationId: DirectoriesController_find
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /directories/{id}
method: delete
operationId: DirectoriesController_deleteDirectory
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: /directory_groups
method: get
operationId: DirectoryGroupsController_list
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /directory_groups/{id}
method: get
operationId: DirectoryGroupsController_find
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /directory_users
method: get
operationId: DirectoryUsersController_list
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /directory_users/{id}
method: get
operationId: DirectoryUsersController_find
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /events
method: get
operationId: EventsController_list
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /feature-flags
method: get
operationId: FeatureFlagsController_list
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /feature-flags/{slug}
method: get
operationId: FeatureFlagsController_findBySlug
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /feature-flags/{slug}/disable
method: put
operationId: FeatureFlagsController_disableFlag
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: /feature-flags/{slug}/enable
method: put
operationId: FeatureFlagsController_enableFlag
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: /feature-flags/{slug}/targets/{resourceId}
method: post
operationId: FlagTargetsController_createTarget
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: /feature-flags/{slug}/targets/{resourceId}
method: delete
operationId: FlagTargetsController_deleteTarget
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: /organization_domains
method: post
operationId: OrganizationDomainsController_create
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: /organization_domains/{id}
method: get
operationId: OrganizationDomainsController_get
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organization_domains/{id}
method: delete
operationId: OrganizationDomainsController_delete
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: /organization_domains/{id}/verify
method: post
operationId: OrganizationDomainsController_verify
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: /organizations
method: get
operationId: OrganizationsController_list
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations
method: post
operationId: OrganizationsController_create
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: /organizations/external_id/{external_id}
method: get
operationId: OrganizationsController_getByExternalId
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{id}
method: get
operationId: OrganizationsController_find
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{id}
method: put
operationId: OrganizationsController_updateOrganization
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: /organizations/{id}
method: delete
operationId: OrganizationsController_deleteOrganization
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: /organizations/{id}/audit_log_configuration
method: get
operationId: OrganizationsController_getAuditLogConfiguration
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{id}/audit_logs_retention
method: get
operationId: AuditLogsRetentionController_auditLogsRetention
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{id}/audit_logs_retention
method: put
operationId: AuditLogsRetentionControlle
# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/workos/refs/heads/main/agentic-access/workos-agentic-access.yml