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"