Listar MEDs
GET /api/med
GET https://api.avista.global/api/medDevuelve la lista de MEDs asociados a la cuenta autenticada, con paginación y filtros.
Autenticación
Requiere un Bearer token en el header Authorization.
Query Parameters
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
status | string | No | Filtrar por estado: OPEN, RECEIVED, CANCELLED, ANALYZED |
isReconciled | boolean | No | Filtrar por estado de conciliación (true/false) |
startDate | string | No | Fecha de inicio (ISO 8601). Ej: 2026-01-01T00:00:00.000Z |
endDate | string | No | Fecha de fin (ISO 8601). Ej: 2026-01-31T23:59:59.999Z |
page | number | No | Número de página (comienza en 1). Valor por defecto: 1 |
pageSize | number | No | Ítems por página (1–100). Valor por defecto: 20 |
Ejemplos de Solicitud
curl -X GET "https://api.avista.global/api/med" \
-H "Authorization: Bearer $AVISTA_TOKEN"Listar solo los MEDs con estado RECEIVED (en análisis):
curl -X GET "https://api.avista.global/api/med?status=RECEIVED" \
-H "Authorization: Bearer $AVISTA_TOKEN"Listar MEDs creados en enero de 2026, página 1 con 50 ítems:
curl -X GET "https://api.avista.global/api/med?startDate=2026-01-01T00:00:00.000Z&endDate=2026-01-31T23:59:59.999Z&page=1&pageSize=50" \
-H "Authorization: Bearer $AVISTA_TOKEN"Listar MEDs no vinculados automáticamente a una transacción local:
curl -X GET "https://api.avista.global/api/med?isReconciled=false" \
-H "Authorization: Bearer $AVISTA_TOKEN"Respuesta (200)
| Campo | Tipo | Descripción |
|---|---|---|
data | array | Lista de objetos MED |
data[].id | number | Identificador único del MED |
data[].endToEnd | string | End-to-end ID de la transacción PIX original |
data[].status | string | Estado: OPEN, RECEIVED, CANCELLED, ANALYZED |
data[].reason | string | Motivo: REFUND_REQUEST o REFUND_CANCELLATION |
data[].cause | string | null | Código de causa (UNAUTHORIZED_TRANSACTION, SOCIAL_ENGINEERING, etc.) o null |
data[].description | string | null | Detalles adicionales sobre la solicitud |
data[].analysisResult | string | null | Resultado del análisis: APPROVED, REJECTED (null si aún está en análisis) |
data[].analysisDetails | string | null | Justificación del resultado del análisis |
data[].requestingBank | object | Banco que abrió el MED |
data[].requestingBank.ispb | string | Código ISPB del banco |
data[].requestingBank.name | string | Nombre del banco |
data[].contestedBank | object | Banco contestado (su institución) |
data[].contestedBank.ispb | string | Código ISPB del banco |
data[].contestedBank.name | string | Nombre del banco |
data[].originalTransaction | object | null | Datos de la transacción PIX original |
data[].originalTransaction.amount | number | Monto en BRL |
data[].originalTransaction.type | string | Tipo (ej: "PIX") |
data[].originalTransaction.transactionType | string | Tipo de transacción (ej: "CASH_IN") |
data[].originalTransaction.name | string | Nombre de la contraparte |
data[].originalTransaction.document | string | Documento de la contraparte (enmascarado) |
data[].originalTransaction.dateTime | string | Fecha/hora de la transacción original (ISO 8601) |
data[].isReconciled | boolean | Indica si el MED fue vinculado a una transacción local |
data[].originalTransactionId | number | null | ID de la transacción local (si está conciliada) |
data[].createdAt | string | Fecha de creación del MED (ISO 8601) |
data[].updatedAt | string | Fecha de la última actualización (ISO 8601) |
metadata | object | Información de paginación |
metadata.total | number | Total de registros |
metadata.page | number | Página actual |
metadata.pageSize | number | Ítems por página |
metadata.totalPages | number | Total de páginas |
{
"data": [
{
"id": 42,
"endToEnd": "E12345678202604101030abcdef123456",
"status": "ANALYZED",
"reason": "REFUND_REQUEST",
"cause": "UNAUTHORIZED_TRANSACTION",
"description": "Customer claims not to have performed the transaction",
"analysisResult": "APPROVED",
"analysisDetails": "Refund approved by operator - amount refunded",
"requestingBank": {
"ispb": "00000000",
"name": "BCO DO BRASIL S.A."
},
"contestedBank": {
"ispb": "13140088",
"name": "ACESSO SOLUÇÕES DE PAGAMENTO"
},
"originalTransaction": {
"amount": 1500.00,
"type": "PIX",
"transactionType": "CASH_IN",
"name": "João da Silva",
"document": "***456789**",
"dateTime": "2026-04-05T14:30:00.000Z"
},
"isReconciled": true,
"originalTransactionId": 78432,
"createdAt": "2026-04-10T10:00:00.000Z",
"updatedAt": "2026-04-12T15:30:00.000Z"
}
],
"metadata": {
"total": 1,
"page": 1,
"pageSize": 20,
"totalPages": 1
}
}Errores
| Status | Descripción |
|---|---|
| 400 | Parámetros inválidos (status fuera del enum, fechas mal formadas, page < 1, pageSize fuera del rango 1–100) |
| 401 | Token ausente o inválido |
| 429 | Demasiadas solicitudes — espere unos segundos antes de volver a intentarlo |
| 500 | Error interno al consultar MEDs |
Ejemplo de error 400:
{
"statusCode": 400,
"message": "status must be one of: OPEN, RECEIVED, CANCELLED, ANALYZED",
"error": "Bad Request"
}Ejemplo de error 401:
{
"statusCode": 401,
"message": "Unauthorized",
"error": "Unauthorized"
}Para entender el ciclo de vida de los estados y causas, consulte la visión general del MED.