Cross-cutting platform services shared across all domains.
Includes the centralized event log (/events) and cross-resource search (/search). The /platform base path may be overlaid by state partners to match their own conventions.
Status: Alpha — Breaking changes expected.
https://api.example.com/platformEvents
Centralized event log across all domains.
▶
GET
/events
List events
#
Queryable log of all domain events across the blueprint. Supports REST polling as an integration pattern and provides permanent audit history regardless of whether a message broker is in use.
Events are returned in ascending time order (oldest first) to support cursor-based polling.
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| ▶q | string | query | Search query using field:value syntax. Multiple conditions separated by | |
| ▶sort | string | query | Comma-separated list of fields to sort the response by. Prefix a field | |
| type | string | query | Filter by CloudEvents type. Supports prefix matching with a trailing wildcard (e.g., |
|
| source | string | query | Filter by CloudEvents source (the domain that produced the event, e.g., |
|
| subject | string | query | Filter by CloudEvents subject — the entity ID the event pertains to. Because every domain uses the same subject for the same entity, this returns a complete cross-domain timeline for that entity. |
|
| traceid | string | query | Filter by W3C Trace Context trace ID extracted from the |
|
| start | string | query | Return only events at or after this timestamp (ISO 8601). |
|
| end | string | query | Return only events before or at this timestamp (ISO 8601). |
|
| limit | integer | query | Maximum number of items to return (1-100). |
|
| offset | integer | query | Number of items to skip before collecting results. |
▶
POST
/events
Publish an event
#
Publish a CloudEvents 1.0 envelope to the event log. Used by domain producers to record state transitions and significant data mutations.
▶
GET
/events/stream
Stream domain events (SSE)
#
Real-time stream of domain events delivered as Server-Sent Events (SSE).
Connect with Accept: text/event-stream. Each event is delivered as a data: line containing a JSON-encoded Event object.
The stream stays open until the client disconnects. A : heartbeat comment is sent every 30 seconds to prevent proxy timeouts.
▶
GET
/events/{eventId}
Get a domain event
#
Retrieve a single domain event by its identifier.
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| eventId | string | path | ✓ | Unique identifier of the domain event. |
Registry
Platform-level metadata registries shared across all domains.
▶
GET
/registry/policies
List policies
#
Returns all regulatory citations in the platform policy registry, keyed by stable ID. Policies are shared platform-level metadata — not domain- scoped — and serve as the canonical source for annotation displays, compliance tooling, and caseworker UI.
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| ▶q | string | query | Search query using field:value syntax. Multiple conditions separated by | |
| limit | integer | query | Maximum number of items to return (1-100). |
|
| offset | integer | query | Number of items to skip before collecting results. |
|
| ▶sort | string | query | Comma-separated list of fields to sort the response by. Prefix a field |
▶
GET
/registry/policies/{policyId}
Get a policy
#
Retrieve a single policy from the registry by its stable identifier.
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| policyId | string | path | ✓ | Stable policy identifier (e.g., |
Search
Cross-resource search across all domains.
▶
GET
/search
Search across resources
#
Search across all resource types (persons, cases, applications, tasks, appointments) and return a unified result list. Results include typed attributes for consistent client rendering and facet counts per resource type.
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| ▶q | string | query | Search query using field:value syntax. Multiple conditions separated by | |
| limit | integer | query | Maximum number of items to return (1-100). |
|
| offset | integer | query | Number of items to skip before collecting results. |
|
| types | array[string] | query | Filter results to specific resource types. When omitted, all types are searched. |