Assign a parked credit to an ACTIVE indirect and post it
Assigns a parked inbound credit to one ACTIVE indirect participant and POSTS the money to that participant’s @pi settlement account. This is the operation that finally moves a parked credit, so the target matters: the destination comes solely from the indirectId in this body. The park row records where the credit was ADDRESSED, which is evidence — not a decision.
Order of events, which is what a log reads like after a failure: the park is CLAIMED first (PARKED -> RESOLVED, conditionally, in one statement) and only then is the credit posted. A concurrent resolve or reject therefore loses cleanly with a 409 and posts nothing, and a reject can never win AFTER the claim — so a park is never left REJECTED with money already posted. The credit is keyed by the park’s end-to-end id, so a replay is idempotent at the ledger: if the credit turns out to have already settled, the park stays RESOLVED and the call succeeds instead of double-posting. If the post fails for a genuine infrastructure reason and the credit demonstrably did not land, the claim is rolled back to PARKED so the operation can be retried.
RESOLVED is terminal. A resolved park cannot be re-resolved to a different indirect, and no operation un-posts the credit — a wrong target has to be corrected as a new money movement outside this API. Resolution works even when the tenant’s indirect-participants feature is switched off, deliberately, so pre-existing parked money is never trapped by a toggle.
Refusals: 404 PIX-0063 for an unknown parkId; 409 PIX-0103 when the park is no longer PARKED — already resolved or rejected, possibly by a concurrent request — and nothing was posted; 404 PIX-0095 when indirectId names no indirect in this tenant; 409 PIX-0104 when it names one that is not ACTIVE; 400 PIX-0061 when parkId or indirectId is not a valid UUID.
Authorizations
JWT bearer token issued by the identity provider.
Path Parameters
The parked-credit id.
"018f2b7c-0000-7000-8000-000000000000"
Body
Response
OK
The parked credit amount, in centavos.
110001
Park creation timestamp (UTC).
The JD end-to-end id (also the Midaz idempotency key on resolve).
The parked-credit id.
The recebedor routing fields captured at park time.
Lifecycle status.
"PARKED"
Park classification (no_match, suspended).
"no_match"
The operator note (resolve) or reason (reject), or null.
Transition timestamp (UTC), or null while PARKED.
The indirect the credit was resolved to, or null.

