Skip to content
Fluxer API

Admin API keys

An Admin API key is a long-lived credential for the Admin API. It acts as the account that created it and only works on paths below /v1/admin. A request made with a key passes only when both the key and that account have the ACL the route needs, or *.

Every route on this page needs admin_api_key:manage and records an Admin audit entry with target type admin_api_key. You can only see and change keys your account created.

FieldTypeDescription
key_idsnowflakeThe ID of the key
namestringThe name of the key (1-100 characters)
aclsarray[string]The ACLs stored on the key
created_by_user_idsnowflakeThe ID of the account that created the key
created_atISO8601 timestampTime the key was created
last_used_at?ISO8601 timestampTime the key last authenticated a request, or null if it has never been used
expires_at?ISO8601 timestampTime the key expires, or null when it does not expire
{
"key_id": "1501314428688998182",
"name": "moderation-tooling",
"acls": ["user:lookup", "report:view", "report:resolve"],
"created_by_user_id": "1489200013322551296",
"created_at": "2026-05-14T09:12:44.183000+00:00",
"last_used_at": "2026-06-02T18:40:11.902000+00:00",
"expires_at": null
}

Only Create Admin API key returns this object. Its key field is the value you send as Admin <token> in the Authorization header.

FieldTypeDescription
key_idsnowflakeThe ID of the key
keystringThe raw credential the key authenticates with
namestringThe name of the key (1-100 characters)
created_atISO8601 timestampTime the key was created
expires_at?ISO8601 timestampTime the key expires, or null when it does not expire
aclsarray[string]The ACLs stored on the key
GET/v1/admin/api-keysAudit reason

Returns an array of the Admin API key objects your account created.

StatusBodyCondition
200array[Admin API key object]Keys were returned

The rate limit is 200 requests per minute, on the admin:lookup bucket.

POST/v1/admin/api-keysAudit reason

Creates a key and returns an Admin API key creation object. You can only give the key ACLs your credential has, unless it has *. When you call with an Admin API key, that means the key's own ACLs, so a key can't create a broader key.

FieldTypeDescription
namestringThe name of the key (1-100 characters)
expires_in_days?integerThe number of days until the key expires (1-365)
aclsarray[string]The ACLs to store on the key
StatusBodyCondition
200Admin API key creation objectKey was created
400error responseINVALID_FORM_BODY when an acls value is not in the registry
403error responseMISSING_ACL when acls has a value you don't have

The rate limit is 30 requests per minute, on the admin:code:generation bucket.

GET/v1/admin/api-keys/{key_id}Audit reason

Returns an Admin API key object.

StatusBodyCondition
200Admin API key objectKey was returned
404error responseADMIN_API_KEY_NOT_FOUND when the key is missing, expired or not yours

The rate limit is 200 requests per minute, on the admin:lookup bucket.

PATCH/v1/admin/api-keys/{key_id}Audit reason

Renames a key or replaces its ACLs and returns the updated Admin API key object. Fields you leave out stay unchanged. You can only set ACLs your credential has, unless it has *.

FieldTypeDescription
name?stringThe new name of the key (1-100 characters)
acls?array[string]The complete replacement set of ACLs
StatusBodyCondition
200Admin API key objectKey was updated
400error responseINVALID_FORM_BODY when an acls value is not in the registry
403error responseMISSING_ACL when acls has a value you don't have
404error responseADMIN_API_KEY_NOT_FOUND when the key is missing, expired or not yours

The rate limit is 100 requests per minute, on the admin:user:modify bucket.

DELETE/v1/admin/api-keys/{key_id}Audit reason

Revokes a key right away. You can't undo this.

FieldTypeDescription
successbooleanAlways true
StatusBodyCondition
200response bodyKey was revoked
404error responseADMIN_API_KEY_NOT_FOUND when the key is missing, expired or not yours

The rate limit is 100 requests per minute, on the admin:user:modify bucket.