airctrl client and IDs loaded from your application configuration. Methods return the API’s typed snake_case data unless noted otherwise.
Prepare the examples
The catalog uses these shared values. Validate required environment variables when the process starts; do not letundefined reach a credential or resource field.
credentialId, tokenId, userId and groupId are IDs returned by earlier reads
or creates. Values such as sourcePassword and replacementPassword must come from a trusted local
source. Never replace them with a literal production secret in source code.
Each section shows the smallest useful call. SDK methods contains the full signature,
identity boundary, input rules, result rules and common error handling.
Accounts and projects
List accessible accounts
Returns accounts available to the human PAT.
SDK method:
listAccounts()List projects
SDK method:
listProjects()View a project
SDK method:
getProject()Create a project
The result contains
project_id.SDK method:
createProject()Update a project
This replaces the editable project values.
SDK method:
updateProject()Archive or restore a project
The first call archives; the second restores.
SDK method:
setProjectArchiveState()Record reading and creation
List accessible record metadata
Returns safe metadata across accessible scope.
SDK method:
listRecords()List records in one project
SDK method:
listProjectRecords()Read a complete record
secret.fields contains locally decrypted fields. Do not log it.SDK method:
getSecret()Read selected record fields
Returns only the requested sections.
SDK method:
readRecord()Load all project records
Use this only when the process needs every accessible project record.
SDK method:
getAll()Create an encrypted record
Returns
{ recordId }.SDK method:
createSecret()Create a generated record
Generation and encryption happen locally.
SDK method:
createGeneratedRecord()Create or replace record fields
Returns
updated: true for an existing record. Human mode can also upsert by projectId, name and secretFormat.SDK method:
setSecret()Record lifecycle and sharing
Update record details
SDK method:
updateRecordMetadata()Archive or restore a record
Pass
false to restore.SDK method:
setRecordArchiveState()Transfer record ownership
Confirm both IDs before transferring.
SDK method:
transferRecordOwnership()View record version history
SDK method:
getRecordVersions()Review one record’s audit history
SDK method:
getRecordAudit()Restore a previous record version
The selected version becomes a new current version.
SDK method:
rollbackRecordToVersion()Rotate a record
The SDK rotates the record data key and ciphertext locally.
SDK method:
rotateRecord()Share a record with a user
SDK method:
shareRecordWithUser()Share a record with a Service Account
SDK method:
shareRecordWithServiceAccount()Share a record with a group
SDK method:
shareRecordWithGroup()Remove a user’s record access
SDK method:
revokeRecordFromUser()Remove a Service Account’s record access
SDK method:
revokeRecordFromServiceAccount()Remove a group’s record access
Each revoke removes only the selected grant.
SDK method:
revokeRecordFromGroup()Record audit feeds
Find unusual record activity
SDK method:
listRecordAnomalies()Review daily record activity
The day uses UTC
YYYY-MM-DD.SDK method:
listRecordActivity()Review record alerts
SDK method:
listRecordAlerts()Review secret access events
SDK method:
listRecordAccess()Providers and gateways
List supported AI providers
SDK method:
listProviders()List provider credentials
The result contains metadata, never provider secret values.
SDK method:
listProviderCredentials()Add a provider credential
SDK method:
createProviderCredential()List models for a credential
Each result includes the provider capabilities, the subset AIRCTRL supports, andairctrlSupport as supported, partial, or unsupported. Unsupported entries remain visible for discovery but cannot be bound to a gateway.
SDK method:
listProviderCredentialModels()Replace a provider key
SDK method:
rotateProviderCredential()Rename a provider credential
SDK method:
updateProviderCredentialLabel()Revoke a provider credential
Check dependent gateways before revocation.
SDK method:
revokeProviderCredential()List gateways
SDK method:
listGateways()View a gateway
SDK method:
getGateway()Create a gateway
SDK method:
createGateway()Update a gateway
SDK method:
updateGateway()Delete a gateway
Deletion disables the gateway and revokes its tokens.
SDK method:
deleteGateway()Attach a provider credential
SDK method:
attachGatewayCredential()Detach a provider credential
Detach does not revoke the provider credential.
SDK method:
detachGatewayCredential()Change gateway limits and behavior
SDK method:
updateGatewaySettings()Gateway tokens
List gateway tokens
SDK method:
listGatewayTokens()Create a gateway token
The plaintext appears only in this result.
SDK method:
createGatewayToken()Rename a gateway token
SDK method:
renameGatewayToken()Revoke a gateway token
SDK method:
revokeGatewayToken()Delete a gateway token
SDK method:
deleteGatewayToken()Usage and observability
Review gateway requests
SDK method:
listGatewayLogs()Inspect one gateway request
This may contain stored request and response bodies.
SDK method:
getGatewayLogDetail()Review provider-key access
SDK method:
listGatewayKeyAccess()Review project usage logs
SDK method:
listUsageLogs()Inspect one project usage log
SDK method:
getUsageLogDetail()Review project spend
SDK method:
getUsageSpend()Review project usage metrics
SDK method:
getUsageMetrics()View OpenTelemetry settings
Stored header values are never returned.
SDK method:
getGatewayOtelExport()Change OpenTelemetry settings
SDK method:
updateGatewayOtelExport()Service Account metadata
List Service Accounts
SDK method:
listServiceAccounts()View a Service Account
These methods expose safe metadata to a human PAT. Service Account lifecycle remains dashboard-only.
SDK method:
getServiceAccount()Error handling
Every API-backed method throwsAirctrlError. Read status, code, message and details. Do not retry validation, permission or missing-resource failures unchanged. Reuse the same idempotency key only for the same intended write.