Three resources
- Party: a person or organisation represented by the source, including current source-owned contact details. A Receivable assigns each referenced Party’s role as primary, joint, or guarantor.
- Receivable: one independently recoverable amount, responsible Parties, dates, and typed
credit_union.v1loan context. - Payment observation: immutable evidence of an externally received payment, refund, or reversal.
409 dependency_missing; PayPathIQ does not auto-create or queue it.
Cases, workflow, communications, commitments, automation, and recovery policy remain PayPathIQ-owned projections. An Integration may update only its own source representation.
Updates
PUT creates or replaces the complete source-owned representation. PATCH uses RFC 7396 JSON Merge Patch: omitted fields remain unchanged, null clears a nullable scalar, and an array replaces the whole source-owned collection. Payment observations are immutable and do not support PATCH.
This is the target contract. The current Party slice supports create, read, and identical retry only; a changed PUT for an existing Party returns 409 party_representation_conflict until replacement ships.
The resource URL and normalized payload digest make identical retries safe. Under the target contract, a changed Party or Receivable payload becomes the next accepted source representation. A changed payload for an existing payment-observation ID returns 409 payment_observation_conflict.
Receivable authority
recoverableAmount is the sole recovery authority. credit_union.v1 accepts EUR amounts with exactly two decimal places. Optional outstanding, arrears, instalment, and balance-breakdown amounts provide context and never expand the recoverable amount.
Pause, clear-pause, close, and reopen are explicit commands. They are not ordinary status patches, and they never resume PayPathIQ automation automatically.
Safety assertions
Safety facts use a closed vocabulary and an explicitactive or cleared state with effectiveAt. Omission never clears safety evidence. Unknown assertion types are rejected.