Skip to main content
PUT
Amend a MED value recovery

Authorizations

Authorization
string
header
required

JWT bearer token issued by the identity provider.

Headers

X-Idempotency
string
required

Idempotency key for this write: any stable business string you choose, sent as the X-Idempotency request header - the same header, by the same name, that the Midaz ledger takes, so one integration sends one thing by one name. Send the SAME value again to retry safely: the plugin projects it deterministically into the GUID form JDPI requires (contract 6), so a repeat lands in the same JDPI dedup slot inside JD's 24h window and the operation is applied once. The raw value is never forwarded verbatim, so correlate JDPI-side logs with the projection rather than with what you sent. The header is REQUIRED: omitting it is refused 400 PIX-0061 before any JDPI call. BREAKING CHANGE: this value used to be the body field idempotencyKey, which no longer exists.

Example:

"med-amend-2024-0001"

Path Parameters

idRecValores
string
required

The value-recovery GUID.

Example:

"b2c3d4e5-f6a7-8901-bcde-f23456789012"

Query Parameters

ispb
string

The ISPB of the direct participant this request acts for. OPTIONAL: omit it and the request is answered exactly as before. Named, the record has to be one that participant is a party to - either side of a dispute, the creator of a value recovery, the participant a refund credit was booked for - or the answer is 404 PIX-0147 and nothing is read from JDPI or changed. A record this deployment does not hold is 404 PIX-0147 too when an ispb is named. An ISPB this deployment does not act as is 422 PIX-0128, before any record is read. It is ROUTING DATA you supply, never a credential, and a token confined to one participant has to name it here. Sending it empty (ispb=) reads the same as omitting it.

Pattern: ^[0-9]{8}$
Example:

"12345678"

indirectId
string<uuid>

The registered indirect participant (UUID) this request acts for. OPTIONAL: omit it and the request is answered exactly as before. Named, the value recovery has to be over a root payment this deployment recorded for that indirect - the rule GET /v1/med/recoveries/awaiting-return?indirectId= lists by - or the answer is 404 PIX-0147 and nothing is read from JDPI or changed; a record this deployment does not hold is 404 PIX-0147 too when an indirectId is named. It is ROUTING DATA you supply, never a credential, and a token confined to one indirect has to name it here. Not a valid UUID is 400 PIX-0061. Sending it empty (indirectId=) reads the same as omitting it.

Example:

"3f2504e0-4f89-41d3-9a0c-0305e82c3301"

Body

application/json
situationType
integer<int64>
required

New situation code (0..5).

Example:

4

contactEmail
string

New creator-contact email.

Example:

"ops@example.com"

contactPhone
string

New creator-contact phone.

Example:

"+5511999999999"

details
string

New free-text detail; required when situationType=4 (Outros).

Example:

"Updated detail."

Response

OK

breached
boolean
required

True when the return deadline has been reached or passed (computed at read time); false when no deadline is set.

Example:

false

contactEmail
string
required

Creator-contact email.

Example:

"ops@example.com"

contactPhone
string
required

Creator-contact phone.

Example:

"+5511999999999"

createdAt
string
required

JDPI creation timestamp (RFC 3339 UTC).

Example:

"2024-01-01T12:00:00.000Z"

creatorIspb
string
required

ISPB of the recovery creator.

Example:

"12345678"

idTransacaoRaiz
string
required

EndToEndId of the root transaction being recovered.

Example:

"E1234567820240101000000000000001"

recoveryId
string
required

Value-recovery GUID (the natural key).

Example:

"b2c3d4e5-f6a7-8901-bcde-f23456789012"

situationType
integer<int64>
required

Situation code (0..5).

Example:

0

situationTypeDescription
string
required

Human-readable situationType label.

Example:

"Golpe/Estelionato"

status
integer<int64>
required

stRecValores lifecycle code (0=created .. 6=cancelled).

Example:

0

statusDescription
string
required

Human-readable stRecValores label.

Example:

"Criada"

updatedAt
string
required

JDPI last-modification timestamp (RFC 3339 UTC) — the watermark.

Example:

"2024-01-01T12:05:00.000Z"

details
string

Free-text detail (required when situationType=4 Outros).

Example:

"Suspected scam."

dictCorrelationId
string

idCorrelacao — the DICT support identifier for this consultar call; quote it to JD when disputing whether the read happened.

Example:

"a9f13566e19f5ca51329479a5bae60c5"

dictReturnedAt
string

dtHrRetornoDict — when DICT answered this consultar (contract 2.21).

Example:

"2025-08-27T10:30:05.025Z"

returnDeadline
string

Creator-side 72h return deadline (RFC 3339 UTC; contract §2.22/§5), from the analysis stage close; null unless this institution is the creatorIspb on an analyzed recovery.

Example:

"2024-01-04T12:00:00.000Z"