Crusoe Agentic Access
Crusoe exposes 464 API operations that an AI agent could call, of which 198 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: 266 read, 180 write, 14 physical, and 4 safety-critical.
4 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 | /projects/{project_id}/storage/s3/buckets/{bucket_name}/actions/enable-object-lock | safety-critical | required |
| POST | /projects/{project_id}/storage/s3/buckets/{bucket_name}/actions/enable-object-lock | safety-critical | required |
| POST | /projects/{project_id}/storage/s3/buckets/{bucket_name}/actions/enable-versioning | safety-critical | required |
| POST | /projects/{project_id}/storage/s3/buckets/{bucket_name}/actions/enable-versioning | safety-critical | required |
| POST | /projects/{project_id}/foundry/deployed-models/rename | physical | conditional |
| POST | /projects/{project_id}/foundry/deployed-models/rename | physical | conditional |
| POST | /projects/{project_id}/foundry/deployed-models/update | physical | conditional |
| POST | /projects/{project_id}/foundry/deployed-models/update | physical | conditional |
| POST | /projects/{project_id}/foundry/loras | physical | conditional |
| POST | /projects/{project_id}/foundry/loras | physical | conditional |
| DELETE | /projects/{project_id}/foundry/loras/{id} | physical | conditional |
| DELETE | /projects/{project_id}/foundry/loras/{id} | physical | conditional |
| POST | /projects/{project_id}/foundry/selfserve/deployments | physical | conditional |
| POST | /projects/{project_id}/foundry/selfserve/deployments | physical | conditional |
| DELETE | /projects/{project_id}/foundry/selfserve/deployments/{id} | physical | conditional |
| PATCH | /projects/{project_id}/foundry/selfserve/deployments/{id} | physical | conditional |
| DELETE | /projects/{project_id}/foundry/selfserve/deployments/{id} | physical | conditional |
| PATCH | /projects/{project_id}/foundry/selfserve/deployments/{id} | physical | conditional |
Source
Agentic Access
generated: '2026-08-04'
method: generated
source: openapi/crusoe-cloud-api-gateway-v1-openapi.json, openapi/crusoe-cloud-api-gateway-v1alpha5-openapi.json
description: Recommended x-agentic-access execution contracts, classified heuristically from
the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
audience per deployment. See research/curity/agentic-governance/.
summary:
operations: 464
by_action_class:
connected: 266
acting: 198
by_consequence:
read: 266
write: 180
physical: 14
safety-critical: 4
human_in_the_loop_required: 4
operations:
- path: /capacities
method: get
operationId: listSliceCapacities
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ccr/supported-locations
method: get
operationId: listSupportedLocations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ccr/supported-providers
method: get
operationId: listSupportedProviders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /ccr/tokens
method: post
operationId: createCcrToken
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: /compute/images
method: get
operationId: listImages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /compute/images/{image_id}
method: get
operationId: getImage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /featureflags
method: get
operationId: getFeatureFlags
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /iam/role-bindings
method: get
operationId: listRoleBindings
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /iam/roles
method: get
operationId: listRoles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /iam/users/{user_id}/role-bindings
method: post
operationId: applyRoleBindings
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: /locations
method: get
operationId: listLocations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/entities
method: get
operationId: getOrganizations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/entities
method: put
operationId: updateOrganization
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /organizations/projects
method: get
operationId: listProjects
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/projects
method: post
operationId: createProject
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /organizations/projects
method: put
operationId: updateProject
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /organizations/projects/{project_id}
method: delete
operationId: deleteProject
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /organizations/projects/{project_id}
method: get
operationId: getProject
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{org_id}/scim/integrations
method: get
operationId: listSCIMIntegrations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{org_id}/scim/integrations
method: post
operationId: createSCIMIntegration
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /organizations/{org_id}/scim/integrations/{integration_id}
method: delete
operationId: deleteSCIMIntegration
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /organizations/{org_id}/scim/integrations/{integration_id}
method: get
operationId: getSCIMIntegration
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{org_id}/scim/integrations/{integration_id}
method: patch
operationId: updateSCIMIntegration
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /organizations/{org_id}/scim/integrations/{integration_id}/tokens
method: get
operationId: listSCIMIntegrationTokens
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{org_id}/scim/integrations/{integration_id}/tokens
method: post
operationId: createSCIMIntegrationToken
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /organizations/{org_id}/scim/integrations/{integration_id}/tokens/{access_key_id}
method: delete
operationId: deleteSCIMIntegrationToken
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /organizations/{org_id}/storage/s3/keys
method: get
operationId: listS3Keys
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{org_id}/storage/s3/keys
method: post
operationId: createS3Key
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /organizations/{org_id}/storage/s3/keys/{access_key_id}
method: delete
operationId: deleteS3Key
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /organizations/{org_id}/usage
method: get
operationId: getUsage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{organization_id}/audit-logs
method: get
operationId: getAuditLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{organization_id}/billing/costs
method: get
operationId: getBillingCosts
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{organization_id}/billing/export-productline
method: get
operationId: getBillingExportProductline
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{organization_id}/billing/options
method: get
operationId: getBillingOptions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{organization_id}/mfa
method: get
operationId: getMFA
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{organization_id}/mfa
method: patch
operationId: updateMFA
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /organizations/{organization_id}/quotas
method: get
operationId: listOrgQuotas
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{organization_id}/reservations
method: get
operationId: getReservations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{organization_id}/reservations/gpu-tracking
method: get
operationId: getReservationsGPUTracking
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{organization_id}/reservations/gpu-tracking/latest
method: get
operationId: getLatestGPUTracking
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{organization_id}/reservations/{reservation_id}
method: get
operationId: getReservation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{organization_id}/sso/providers
method: get
operationId: listSSOProviders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{organization_id}/sso/providers
method: post
operationId: createSSOProvider
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /organizations/{organization_id}/sso/providers/{provider_id}
method: delete
operationId: deleteSSOProvider
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /organizations/{organization_id}/usage/export
method: get
operationId: getUsageExport
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /organizations/{organization_id}/usage/options
method: get
operationId: getUsageOptions
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/ccr/repositories
method: get
operationId: listCcrRepositories
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/ccr/repositories
method: post
operationId: createCcrRepository
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: /projects/{project_id}/ccr/repositories/{repository_id}
method: delete
operationId: deleteCcrRepository
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: /projects/{project_id}/ccr/repositories/{repository_id}
method: get
operationId: getCcrRepository
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/ccr/repositories/{repository_id}
method: patch
operationId: updateCcrRepositoryCredentials
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: /projects/{project_id}/ccr/repositories/{repository_id}/images
method: delete
operationId: deleteCcrImage
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: /projects/{project_id}/ccr/repositories/{repository_id}/images
method: get
operationId: listCcrImages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/ccr/repositories/{repository_id}/manifests
method: delete
operationId: deleteCcrManifest
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: /projects/{project_id}/ccr/repositories/{repository_id}/manifests
method: get
operationId: listCcrManifests
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/ccr/repositories/{repository_id}/usage
method: get
operationId: getCcrRepositoryUsage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/compute/custom-images
method: get
operationId: listCustomImages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/compute/custom-images
method: post
operationId: customImagePost
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: /projects/{project_id}/compute/custom-images/operations
method: get
operationId: listCustomImagesOperations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/compute/custom-images/operations/{operation_id}
method: get
operationId: getCustomImagesOperation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/compute/custom-images/{image_id}
method: delete
operationId: customImageDelete
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: /projects/{project_id}/compute/custom-images/{image_id}
method: get
operationId: getCustomImage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/compute/custom-images/{image_id}
method: patch
operationId: customImagePatch
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: /projects/{project_id}/compute/custom-images/{image_id}/edit-tags
method: patch
operationId: customImageEditTags
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: /projects/{project_id}/compute/instance-groups
method: get
operationId: listInstanceGroups
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/compute/instance-groups
method: post
operationId: createInstanceGroup
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: /projects/{project_id}/compute/instance-groups/{instance_group_id}
method: delete
operationId: deleteInstanceGroup
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: /projects/{project_id}/compute/instance-groups/{instance_group_id}
method: get
operationId: getInstanceGroup
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/compute/instance-groups/{instance_group_id}
method: patch
operationId: patchInstanceGroup
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: /projects/{project_id}/compute/instance-templates
method: get
operationId: listInstanceTemplates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/compute/instance-templates
method: post
operationId: createInstanceTemplate
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: /projects/{project_id}/compute/instance-templates/{instance_template_id}
method: delete
operationId: deleteInstanceTemplate
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: /projects/{project_id}/compute/instance-templates/{instance_template_id}
method: get
operationId: getInstanceTemplate
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/compute/vms/bulk-instances
method: post
operationId: bulkCreateInstance
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: /projects/{project_id}/compute/vms/instances
method: get
operationId: listInstances
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/compute/vms/instances
method: post
operationId: createInstance
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: /projects/{project_id}/compute/vms/instances/operations
method: get
operationId: listComputeVMsInstancesOperations
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/compute/vms/instances/operations/{operation_id}
method: get
operationId: getComputeVMsInstancesOperation
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/compute/vms/instances/{vm_id}
method: delete
operationId: deleteInstance
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: /projects/{project_id}/compute/vms/instances/{vm_id}
method: get
operationId: getInstance
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/compute/vms/instances/{vm_id}
method: patch
operationId: updateInstance
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: /projects/{project_id}/compute/vms/instances/{vm_id}/attach-disks
method: post
operationId: updateInstanceAttachDisks
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: /projects/{project_id}/compute/vms/instances/{vm_id}/detach-disks
method: post
operationId: updateInstanceDetachDisks
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: /projects/{project_id}/compute/vms/types
method: get
operationId: getVMTypes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/foundry/credentials
method: get
operationId: listFoundryCredentials
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/foundry/credentials
method: post
operationId: createFoundryCredential
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: /projects/{project_id}/foundry/credentials/{id}
method: delete
operationId: deleteFoundryCredential
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: /projects/{project_id}/foundry/credentials/{id}
method: get
operationId: getFoundryCredential
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/foundry/credentials/{id}
method: patch
operationId: updateFoundryCredential
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: /projects/{project_id}/foundry/deployed-models
method: get
operationId: listFoundryDeployedModels
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/foundry/deployed-models/activity
method: get
operationId: getFoundryDeployedModelsActivity
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/foundry/deployed-models/progress
method: get
operationId: getFoundryDeployedModelsProgress
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/foundry/deployed-models/progress/stream
method: get
operationId: streamFoundryDeployedModelsProgress
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/foundry/deployed-models/rename
method: post
operationId: renameFoundryDeployedModel
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: /projects/{project_id}/foundry/deployed-models/update
method: post
operationId: updateFoundryDeployedModel
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: /projects/{project_id}/foundry/loras
method: get
operationId: listFoundryLoras
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/foundry/loras
method: post
operationId: createFoundryLora
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: /projects/{project_id}/foundry/loras/{id}
method: delete
operationId: deleteFoundryLora
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: /projects/{project_id}/foundry/loras/{id}
method: get
operationId: getFoundryLora
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/foundry/selfserve/deployments
method: get
operationId: listFoundryDeployments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/foundry/selfserve/deployments
method: post
operationId: createFoundryDeployment
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: /projects/{project_id}/foundry/selfserve/deployments/{id}
method: delete
operationId: deleteFoundryDeployment
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: /projects/{project_id}/foundry/selfserve/deployments/{id}
method: get
operationId: getFoundryDeployment
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/foundry/selfserve/deployments/{id}
method: patch
operationId: updateFoundryDeployment
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: /projects/{project_id}/foundry/selfserve/deployments/{id}/activity
method: get
operationId: getFoundryDeploymentActivity
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/foundry/selfserve/deployments/{id}/progress
method: get
operationId: getFoundryDeploymentProgress
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /projects/{project_id}/foundry/selfserve/deployments/{id}/progress/stream
m
# --- truncated at 32 KB (138 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/crusoe/refs/heads/main/agentic-access/crusoe-agentic-access.yml