Skip to main content
POST
/
med-contest
/
exposes
Abrir disputa de MED
curl --request POST \
  --url https://gateway.3xpay.co/med-contest/exposes \
  --header 'Content-Type: application/json' \
  --header 'api_key: <api-key>' \
  --header 'api_secret: <api-key>' \
  --data '
{
  "transaction_id": "01a51b3e-e17d-45eb-b8a2-e2392b6b1b28"
}
'
{ "id": 1024, "transactionId": 50231, "status": "WAITING_CONTENT", "content": "https://s3.../comprovante.pdf", "description": "Comprovante de pagamento original.", "external_med_id": "dispute_8f3a...", "processor_name": "woovi", "retry_count": 0, "last_error": "<string>", "created_at": "2026-05-12T10:30:00.000Z", "updated_at": "2026-05-12T10:30:00.000Z" }

Documentation Index

Fetch the complete documentation index at: https://docs.3xpay.co/llms.txt

Use this file to discover all available pages before exploring further.

Cria o registro inicial da contestação para uma transação em estado de MED. Após esta chamada o status fica em WAITING_CONTENT aguardando o upload da evidência via PATCH /med-contest/exposes/{medId}.
O id retornado nesta resposta é o medId usado nos endpoints subsequentes (detalhe e envio de evidência).
Importante: o transaction_id aqui é o UUID recebido no webhook de infração (com transactionStatus = "MED"), não o ID numérico interno.

Authorizations

api_key
string
header
required
api_secret
string
header
required

Body

application/json
transaction_id
string<uuid>
required

UUID da transação contestada, recebido no webhook IN com transactionStatus = MED.

Example:

"01a51b3e-e17d-45eb-b8a2-e2392b6b1b28"

Response

Disputa criada com sucesso

Registro da disputa de MED. O campo id é o medId usado nos demais endpoints.

id
integer

ID numérico da disputa (medId).

Example:

1024

transactionId
integer

ID interno da transação relacionada.

Example:

50231

status
enum<string>

Status do registro de disputa.

Available options:
WAITING_CONTENT,
REQUESTED,
DEFENSE_SUBMITTED,
DEFENSE_FAILED,
APPROVED,
REJECTED,
REFUNDED,
CANCELLED
content
string | null

URL do arquivo de evidência armazenado. null enquanto a evidência não foi enviada.

Example:

"https://s3.../comprovante.pdf"

description
string | null

Descrição/texto da defesa enviada com a evidência.

Example:

"Comprovante de pagamento original."

external_med_id
string | null

ID da disputa no PSP upstream (preenchido após o envio).

Example:

"dispute_8f3a..."

processor_name
string | null

Nome do PSP upstream que recebeu a defesa.

Example:

"woovi"

retry_count
integer

Quantidade de tentativas de envio.

Example:

0

last_error
string | null

Mensagem do último erro de transporte, se houver.

created_at
string<date-time>
Example:

"2026-05-12T10:30:00.000Z"

updated_at
string<date-time>
Example:

"2026-05-12T10:30:00.000Z"