Preview release.These docs are a work in progress. Pages are still being written, links may break, and structure may shift without notice. Treat everything here as a draft and report issues onGitHub.
Relationship: members
const url = 'https://data.example.test/v1/datasets/example/entities/example/records/example/relationships/example?limit=10';const options = { method: 'GET', headers: { 'Data-Purpose': 'https://demo.example.gov/purpose/demo-review', Authorization: 'Bearer <token>' }};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://data.example.test/v1/datasets/example/entities/example/records/example/relationships/example?limit=10' \ --header 'Authorization: Bearer <token>' \ --header 'Data-Purpose: https://demo.example.gov/purpose/demo-review'Returns the members (has_many) target(s) for one household record. Foreign key: household_id.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Entity primary key
Dataset identifier
Entity name
Relationship name
Query Parameters
Section titled “Query Parameters”Maximum records to return. Capped by the entity’s api.max_limit.
Examples
10Opaque pagination cursor returned in a prior response’s pagination.next_cursor.
Header Parameters
Section titled “Header Parameters”Purpose-of-use IRI or controlled string. When require_purpose_header is set on this entity, the header must be present; a missing value returns 400 auth.purpose_required. The value is always recorded verbatim in the audit trail when present; purpose values are not enforced or validated at the consultation layer. Registry Notary is the purpose-certification layer. Header names are case-insensitive (Data-Purpose and data-purpose are equivalent).
Example
https://demo.example.gov/purpose/demo-reviewResponses
Section titled “Responses”Successful response
object
object
Optional integer field.
Registered household.
object
Optional string field.
Required string field.
Optional string field. Codelist: https://example.test/vocab/codelists/Region.
Required string field.
Required string field.
object
True when more pages remain after this one.
Opaque cursor for the next page; null when has_more is false.
Example
{ "data": [ { "age": 42, "household_id": "01HZX9...", "id": "01HZX9..." } ], "pagination": { "has_more": true, "next_cursor": "eyJvIjoyMH0=" }}Missing or invalid bearer credential.
RFC 9457 Problem Details, returned for every non-2xx response.
object
Example
{ "code": "auth.missing_credential", "detail": "no credential provided in Authorization or x-api-key header", "request_id": "01ARZ3NDEKTSV4RRFFQ69G5FAV", "status": 401, "title": "Missing credential", "type": "https://registry-relay.dev/problems/auth/missing_credential"}Authenticated principal lacks the scope required for this operation.
RFC 9457 Problem Details, returned for every non-2xx response.
object
Example
{ "code": "auth.missing_credential", "detail": "no credential provided in Authorization or x-api-key header", "request_id": "01ARZ3NDEKTSV4RRFFQ69G5FAV", "status": 401, "title": "Missing credential", "type": "https://registry-relay.dev/problems/auth/missing_credential"}Parent record not found, or relationship target unavailable.
RFC 9457 Problem Details, returned for every non-2xx response.
object
Example
{ "code": "auth.missing_credential", "detail": "no credential provided in Authorization or x-api-key header", "request_id": "01ARZ3NDEKTSV4RRFFQ69G5FAV", "status": 401, "title": "Missing credential", "type": "https://registry-relay.dev/problems/auth/missing_credential"}default
Section titled “default”Problem Details error response.
RFC 9457 Problem Details, returned for every non-2xx response.
object
Example
{ "code": "auth.missing_credential", "detail": "no credential provided in Authorization or x-api-key header", "request_id": "01ARZ3NDEKTSV4RRFFQ69G5FAV", "status": 401, "title": "Missing credential", "type": "https://registry-relay.dev/problems/auth/missing_credential"}