CorebanqCorebanq Developer Docs
Personasv1Personal Identity

List personas

Returns a BARE ARRAY of every persona the caller may read — not the shared list envelope. There is no total, no keys, and NO PAGINATION OR FILTERING AT ALL: no query parameter is read, so limit, offset, sort and search.<field> are ignored and the whole permitted set comes back in one response. Use GET /v2/personas when you need any of that. Inactive personas are included: the query applies no active filter. Scoping: a caller with read-all gets every row; otherwise the handler collects the record ids granted to the caller or to any of their roles and filters on those.

GET
/v1/personas

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/personas"
[
  {
    "first_name": "string",
    "last_name": "string",
    "date_of_birth": "2019-08-24",
    "date_of_death": "2019-08-24",
    "nationality": "string",
    "hash_id": "string",
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "active": true,
    "metadata": {},
    "created_at": "2019-08-24T14:15:22Z",
    "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
    "modified_at": "2019-08-24T14:15:22Z",
    "modified_by": "e8d4374d-93a1-4e98-a6c6-fdcf00c5059f"
  }
]
{
  "status": 401,
  "message": "Unauthorized",
  "code": "common.unauthorized",
  "class": "business"
}
{
  "status": 403,
  "message": "No access to the record",
  "code": "common.rbac_no_rec_access",
  "class": "business"
}
{
  "status": 429,
  "message": "Rate limit exceeded",
  "code": "rate_limits_m.exceeded",
  "class": "temporary",
  "retryable": true
}
{
  "status": 500,
  "message": "Internal server error",
  "code": "common.server_error",
  "class": "business"
}

{
  "overall_status": "unhealthy",
  "message": "Service is shutting down",
  "timestamp": "2026-08-27T15:04:05Z"
}