Authentication
List API keys
Lists every API key in the workspace with the person it acts as, its label, its scopes, who issued it and when it was last used. Filter with user_id to see only the keys that act as one person. The key secret is never returned.
Requires: desk.admin scope, workspace owner or admin.
Authorization
bearerAuth AuthorizationBearer <token>
A SautiDesk API key. An owner or admin makes it under Settings in SautiDesk for a named person and picks the scopes. The key is shown once. Send it as Authorization: Bearer <key>. It acts as that person and as nobody else.
In: header
Query Parameters
user_id?string
Only the keys that act as this person.
cursor?string
next_cursor from the previous page. Leave it out for the first page.
limit?integer
Page size: 100 by default, 100 at most.
Response
OK
Example
{ "data": [ { "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37", "name": "Amina Wanjiru", "scope": "example", "fingerprint": "example", "created_at": "2026-10-14T08:30:00Z", "last_used_at": "2026-10-14T08:30:00Z", "issued_by": { "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37", "name": "Amina Wanjiru" }, "issued_by_key": { "id": "3f2b8c1e-5a4d-4e7b-9c10-2d6a8e4f1b37", "name": "Amina Wanjiru" }, "scopes": [ "example" ], "member_id": "8ef10ca4-d005-4d80-985c-7991cd9b4159", "member_name": "example" } ], "next_cursor": "eyJvIjoyNX0", "has_more": false}FieldTypeDescription
datarequiredobject[]idrequiredstringnamerequiredstringA name for it.scoperequiredstringThe most the key may do: desk.read, desk.write, desk.supervise or desk.admin.fingerprintrequiredstringcreated_atrequiredstringlast_used_atrequiredstring | nullissued_byrequiredanyidrequiredstringnamerequiredstringA name for it.issued_by_keyrequiredanyidrequiredstringnamerequiredstringA name for it.scopesrequiredstring[]The most the key may do: a list of desk.read, desk.write, desk.supervise and desk.admin.member_idrequiredstringmember_namerequiredstringnext_cursorrequiredstring | nullhas_morerequiredbooleancurl -X GET "https://api.sautidesk.com/v1/desk/api-keys"