Skip to main content
The snippets use an initialized 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 let undefined reach a credential or resource field.
Other names such as 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, and airctrlSupport 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 throws AirctrlError. 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.