List APIs

GET /v1/apis · permission apis:read

Returns the environment's APIs (resource servers), newest first, in cursor pages. Deleted APIs are not listed. The environment comes from the credential only. The system API (urn:idp:organization) is included with is_system: true.

Request

Parameter Type Required Description
limit integer no 1-100, default 20.
after string no Cursor from list_metadata.after. Exclusive with before.
before string no Cursor from list_metadata.before.
order string no asc or desc (default). A cursor is only valid with the same order.

Response

200 OK

{
  "data": [ {
  "id": "api_01h455vb4pex5vsknk084sn02q",
  "key": "orders",
  "identifier": "https://api.example.com/orders",
  "name": "Orders API",
  "is_system": false,
  "access_token_lifetime_s": 3600,
  "token_format": "jwt",
  "rbac_mode": "off",
  "allow_offline_access": true,
  "require_resource_indicator": false,
  "dpop_required": false,
  "mcp_profile": false,
  "first_party_access": "all",
  "introspection_applications": [],
  "created_at": "2026-10-05T12:00:00Z",
  "updated_at": "2026-10-05T12:00:00Z"
} ],
  "list_metadata": { "before": null, "after": "eyJ2IjoxLi4ufQ" }
}

A null cursor means there are no more records in that direction. No total count is returned.

Errors

HTTP code When
400 invalid_cursor The cursor is malformed, tampered with, or was issued for another environment or order.
422 validation_failed A query parameter is invalid (errors[].pointer names it).
403 insufficient_permissions The credential lacks apis:read.

Example

curl "https://api.eu.keenauth.com/v1/apis?limit=20" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"