Archived docs.You are viewing v0.13.0. For current guidance, useLatest. Report archive issues onGitHub.
Run aggregate defaults
const url = 'https://data.example.test/v1/datasets/example/aggregates/example?f=json';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/aggregates/example?f=json' \ --header 'Authorization: Bearer <token>' \ --header 'Data-Purpose: https://demo.example.gov/purpose/demo-review'Runs a dataset-scoped aggregate in social_registry with its configured default measures, default group_by, and no optional filters.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Aggregate identifier
Dataset identifier
Query Parameters
Section titled “Query Parameters”Response format. Use json, csv, or sdmx-json.
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. On ordinary entity and feature routes, the value is recorded verbatim in the audit trail but is not compared to a value allowlist; Registry Notary remains the purpose-certification layer for an offering handoff. Native /v1/consultations/.../execute is separate and validates Data-Purpose against the selected consultation profile contract. Header names are case-insensitive (Data-Purpose and data-purpose are equivalent).
Example
https://demo.example.gov/purpose/demo-reviewOptional PDP trust context. Relay passes this value to policy evaluation only when the authenticated principal has the exact value-bound registry:trust:legal_basis:<value> scope. Without that scope, Relay treats the header as absent. Header names are case-insensitive.
Optional PDP trust context. Relay passes this value to policy evaluation only when the authenticated principal has the exact value-bound registry:trust:consent:<value> scope. Without that scope, Relay treats the header as absent. Header names are case-insensitive.
Optional PDP trust context. Relay passes this value to policy evaluation only when the authenticated principal has the exact value-bound registry:trust:assurance:<value> scope. Without that scope, Relay treats the header as absent. Header names are case-insensitive.
Optional PDP trust context. Relay passes this value to policy evaluation only when the authenticated principal has the exact value-bound registry:trust:jurisdiction:<value> scope. Without that scope, Relay treats the header as absent. Header names are case-insensitive.
Optional PDP trust context. Relay passes this value to policy evaluation only when the authenticated principal has the exact value-bound registry:trust:subject_ref:<value> scope. Without that scope, Relay treats the header as absent. Header names are case-insensitive.
Optional PDP trust context. Relay passes this value to policy evaluation only when the authenticated principal has the exact value-bound registry:trust:relationship:<value> scope. Without that scope, Relay treats the header as absent. Header names are case-insensitive.
Optional PDP trust context. Relay passes this value to policy evaluation only when the authenticated principal has the exact value-bound registry:trust:on_behalf_of:<value> scope. Without that scope, Relay treats the header as absent. Header names are case-insensitive.
Optional PDP trust context. Relay passes this value to policy evaluation only when the authenticated principal has the exact value-bound registry:trust:requested_credential_format:<value> scope. Without that scope, Relay treats the header as absent. Header names are case-insensitive.
Optional PDP trust context. Relay passes this value to policy evaluation only when the authenticated principal has the exact value-bound registry:trust:source_observed_at_unix_seconds:<value> scope. Without that scope, Relay treats the header as absent. Header names are case-insensitive.
Optional PDP trust context. Relay passes this value to policy evaluation only when the authenticated principal has the exact value-bound registry:trust:source_observed_age_seconds:<value> scope. Without that scope, Relay treats the header as absent. Header names are case-insensitive.
Responses
Section titled “Responses”Successful aggregate response.
object
object
object
object
object
object
object
object
object
object
Example
{ "aggregate_id": "households_by_region", "completeness": { "complete": true, "truncated": false }, "dataset_id": "social_registry", "disclosure_control": { "method": [ "k-anonymity" ], "min_cell_size": 2, "query_budget": { "scope": "none", "tracked": false }, "suppressed_observations": 1, "suppression": "omit" }, "freshness": { "as_of": "2026-05-16T07:55:00Z", "computed_at": "2026-05-16T08:00:00Z" }, "links": [], "observations": [ { "household_count": 42, "region": "north" } ], "structure": { "dimensions": [ { "field": "region", "id": "region", "label": "Region" } ], "measures": [ { "aggregation_method": "count", "column": "id", "id": "household_count", "label": "Households", "unit_measure": "households" } ] }}SDMX JSON data message for the aggregate result.
object
Examplegenerated
{}Invalid aggregate query.
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://id.registrystack.org/problems/registry-relay/auth/missing_credential"}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://id.registrystack.org/problems/registry-relay/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://id.registrystack.org/problems/registry-relay/auth/missing_credential"}Aggregate definition not found for this dataset.
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://id.registrystack.org/problems/registry-relay/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://id.registrystack.org/problems/registry-relay/auth/missing_credential"}