Webhook
Webhooks are automatic notifications the API sends whenever an event related to a MED happens. That way you do not have to keep polling the API: you just receive and process the event when it arrives.
Webhook events
Each webhook represents a change in the life cycle of the MED.
Event types
| Event | Description |
|---|---|
MED_CREATED | MED created |
MED_CLOSED | MED closed |
MED_APPEALED | MED defense submitted |
MED_APPROVED | MED approved |
MED_REJECTED | MED rejected |
Webhook data
| Field | Type | Required | Description |
|---|---|---|---|
type | string (enum) - MED_CREATED, MED_CLOSED, MED_APPEALED, MED_APPROVED, MED_REJECTED | Yes | Event type |
data | object | Yes | MED data (see Sub-Objects data) |
Sub-Objects
data
| Field | Type | Required | Description |
|---|---|---|---|
id | string (UUID) | Yes | Unique identifier of the transaction |
amount | number | Yes | Transaction amount (integer, in cents) |
externalCode | string | No | Your reference code |
createdAt | string (ISO) | Yes | Creation date |
status | string (enum) - BLOCKED, PAID, PROCESSING_INFRACTION, INFRACTION | Yes |
|
endToEnd | string | No | End-to-end identifier of the transaction |
med | object | Yes | MED data (see Sub-Object Med) |
Med
| Field | Type | Required | Description |
|---|---|---|---|
id | string (UUID) | Yes | Unique identifier of the MED |
createdAt | string (ISO) | Yes | Creation date |
status | string (enum) - PENDING, APPEALED, APPROVED, REJECTED | Yes | MED status |
Payload example
{
"type": "MED_CREATED",
"data": {
"id": "553e8400-e29b-41d4-a716-436251480000",
"amount": 10000,
"externalCode": "TRANS-123",
"createdAt": "2026-03-06T12:49:04.681Z",
"status": "BLOCKED",
"endToEnd": "E2E123456789",
"med": {
"id": "993e8400-e29b-41d4-a716-436251480001",
"createdAt": "2026-03-06T12:49:04.681Z",
"status": "PENDING"
}
}
}