Find the flow of a reference
Finds the one flow a reference belongs to, such as an order number, and pages through its facts.
Rules
- Send the reference as
referenceTypeandreferenceValue. Every other query parameter exceptfactsLimitandfactsCursoris a scope key, such asstoreId=store-sp-01foracme.order_id. - Scope matches by containment: no scope matches every scope of that type and value, a partial scope narrows the search, the full declared scope matches at most one reference. Sending a fact needs exactly the declared scope keys.
referenceValueis always the clear value, also for a protected type.- The answer is always the current flow, so it never carries
merge. - Facts are paged: pass
nextCursorasfactsCursor; it is omitted on the last page.factsLimitis 1 to 500 (default 100). - Protected values come back protected;
facts:revealreturns encrypted ones in clear form and never refuses the request. See Sensitivity and protected values. Responses carryCache-Control: no-store.
Responses
200the current flow and one page of its facts.404SF-0010no reference matches.409SF-0011several flows match: pick one fromcandidates[]and read it withgetFlow.422SF-0006a malformed reference or cursor;SF-0092a schema mismatch.503SF-0094retry later.
Authorizations
JWT issued by the identity provider. A producer calls with a service credential issued for the tenant it sends facts for; a reader calls with a user token or a service credential. The tenant is always taken from the token, never from the request path, query or body.
Query Parameters
Registered reference type to look up, dotted and lower-case.
1 - 128"acme.order_id"
Reference value to look up: always the clear value, also for a protected type.
1 - 512"ORD-2026-000123"
Facts per page, from 1 to 500. Default 100.
1 <= x <= 500Opaque nextCursor of the previous page; omit it to read the first page.
1024Response
The current flow of the reference and one page of its facts; it never carries merge.
When the flow was first created. RFC 3339, UTC.
One page of the flow's facts.
Current id of the flow, assigned by the server and opaque. Store it in place of any absorbed id.
When the flow record itself last changed; adding facts or merges does not change it, so today it equals createdAt. RFC 3339, UTC.
Present only when the requested id was absorbed by a merge; replace any stored id with flowAggregationId.

