Skip to main content
POST
Record an externally-observed fact about an assignment set

Authorizations

Authorization
string
header
required

JWT bearer token issued by the identity provider.

Headers

X-Idempotency
string
required

Canonical idempotency request ID. Required: this request moves money, and without a key a retry cannot be told apart from a second instruction.

Path Parameters

setId
string<uuid>
required

Assignment set identifier.

Body

application/json
factType
enum<string>
required

The externally-observed fact being confirmed. offer_sent is the operator confirming the authorized offer file was delivered to the fund's administrator, and requires an authorized file to exist. paid, transferred and accepted are per-receivable progress facts and follow one another in that order; accepted is the administrator accepting the title transfer, which takes the receivable out of this portfolio and writes it off. term_signed is NOT here: it is derived from the signed endorsement instrument itself.

Available options:
offer_sent,
paid,
transferred,
accepted
acceptance
object

The administrator's acceptance document, in the pinned shape. Required when factType is accepted and provenance is administrator_file.

provenance
enum<string>

Where the fact came from. REQUIRED for paid, transferred and accepted; ignored for offer_sent, which is by construction an operator's own confirmation about a file we generated. On a transferred fact it also decides whether the registradora's title-transfer command is settled: only registry_provider does that, because the acceptance guard treats a settled command as proof the title moved, and a desk's or an administrator's own statement is not the registradora's acatamento. Where the fund reaches no registradora the guard does not apply at all.

Available options:
administrator_file,
registry_provider,
operator
receivableRefs
string[] | null

Narrows a per-receivable fact to exactly these receivables. Omit it to mean the WHOLE surviving composition — the honest reading of an administrator stating that a portfolio was paid. A reference the set does not carry, or carries as cut or removed, is refused. It must be EMPTY when an acceptance document is present: the document already names what was accepted, and two lists are two answers.

Maximum array length: 5000

Response

OK

assignmentSetId
string
required

The set the fact was recorded against.

factType
string
required

The fact that was confirmed.

fromState
string
required

The lifecycle state the set was in.

recordedBy
string
required

Validated actor identity that confirmed the fact.

replayed
boolean
required

True when nothing was written: the set was already in the resulting state, or every receivable named already carried the fact. A repeated confirmation never records a second send and never enqueues a second write-off.

toState
string
required

The lifecycle state the fact moved it to. It advances only once EVERY surviving receivable carries the fact.

derecognizedRefs
string[] | null

The receivables this call wrote off the balance sheet: contracts that left this portfolio with their write-off enqueued in the same transaction.

provenance
string

Where the fact came from, echoed back for the audit trail.

recordedRefs
string[] | null

The receivables this call actually recorded the fact for, excluding the ones that already carried it.