List Admin Portal links
GET /v1/admin-portal-links · permission admin-portal-links:read
Lists the environment's Admin Portal links, newest first; organization_id narrows the list to one organization. Only forward pagination is supported. The cursor is bound to the filter. Link URLs are never listed. consumed_at is set once a link opened its portal session; revoked_at once it was revoked.
Request
| Field | Type | Required | Description |
|---|---|---|---|
limit |
query | no | 1–100, default 20. |
after |
query | no | Cursor from list_metadata.after. |
organization_id |
query | no | Organization ID (org_…). |
No request body.
Response
200 OK with a page of links.
{
"data": [
{
"id": "apl_01j9xv2c4d6e8f0g2h4j6k8m0n",
"organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
"intents": [
"dsync",
"sso"
],
"delivery": "link",
"return_url": "https://app.example.com/settings/sso",
"expires_at": "2026-10-12T09:36:00.123456Z",
"consumed_at": null,
"revoked_at": null,
"created_at": "2026-10-12T09:31:00.123456Z"
}
],
"list_metadata": {
"before": null,
"after": null
}
}
Errors
| HTTP | code | When |
|---|---|---|
| 400 | invalid_cursor |
The cursor is invalid or belongs to another filter. |
| 422 | validation_failed |
organization_id or limit is invalid, or before or order was given. |
| 401 | unauthenticated |
The credential is missing, invalid or revoked. |
| 403 | insufficient_permissions |
The credential lacks the required permission. |
| 429 | rate_limited |
The rate limit was exceeded; retry after the Retry-After period. |
| 503 | service_unavailable |
A dependency is temporarily unavailable; retry after the Retry-After period. |
Example
curl -i "https://api.eu.keenauth.com/v1/admin-portal-links?organization_id=org_01j9xk3m7q8r2s4t6v8w0y2z4a" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"