Listar MEDs
GET /api/med
GET https://api.fypay.me/api/medRetorna a lista de MEDs associados à conta autenticada com paginação e filtros.
Autenticação
Requer token Bearer no header Authorization.
Query Parameters
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
status | string | Não | Filtrar por status: OPEN, RECEIVED, CANCELLED, ANALYZED (CANCELED é aceito como alias de CANCELLED) |
isReconciled | boolean | Não | Filtrar por status de conciliação (true/false) |
startDate | string | Não | Data inicial (ISO 8601). Ex: 2026-01-01T00:00:00.000Z |
endDate | string | Não | Data final (ISO 8601). Ex: 2026-01-31T23:59:59.999Z |
page | number | Não | Número da página (começa em 1). Default: 1 |
pageSize | number | Não | Itens por página (1–100). Default: 20 |
Exemplos de Request
curl -X GET "https://api.fypay.me/api/med" \
-H "Authorization: Bearer $FYPAY_TOKEN"Listar apenas MEDs com status RECEIVED (em análise):
curl -X GET "https://api.fypay.me/api/med?status=RECEIVED" \
-H "Authorization: Bearer $FYPAY_TOKEN"Listar MEDs criados em janeiro de 2026, página 1 com 50 itens:
curl -X GET "https://api.fypay.me/api/med?startDate=2026-01-01T00:00:00.000Z&endDate=2026-01-31T23:59:59.999Z&page=1&pageSize=50" \
-H "Authorization: Bearer $FYPAY_TOKEN"Listar MEDs que não foram automaticamente vinculados a uma transação local:
curl -X GET "https://api.fypay.me/api/med?isReconciled=false" \
-H "Authorization: Bearer $FYPAY_TOKEN"Response (200)
| Campo | Tipo | Descrição |
|---|---|---|
data | array | Lista de objetos MED |
data[].id | number | Identificador único do MED |
data[].endToEnd | string | End-to-end ID da transação PIX original |
data[].status | string | Status: OPEN, RECEIVED, CANCELLED, ANALYZED |
data[].reason | string | Motivo: REFUND_REQUEST ou REFUND_CANCELLATION |
data[].cause | string | null | Código da causa (UNAUTHORIZED_TRANSACTION, SOCIAL_ENGINEERING, etc.) ou null |
data[].description | string | null | Detalhes adicionais da solicitação |
data[].analysisResult | string | null | Resultado da análise: APPROVED, REJECTED (null se ainda em análise) |
data[].analysisDetails | string | null | Justificativa do resultado da análise |
data[].requestingBank | object | Banco que abriu o MED |
data[].requestingBank.ispb | string | Código ISPB do banco |
data[].requestingBank.name | string | Nome do banco |
data[].contestedBank | object | Banco contestado (sua instituição) |
data[].contestedBank.ispb | string | Código ISPB do banco |
data[].contestedBank.name | string | Nome do banco |
data[].originalTransaction | object | null | Dados da transação PIX original |
data[].originalTransaction.amount | number | Valor em reais |
data[].originalTransaction.type | string | Tipo (ex: "PIX") |
data[].originalTransaction.transactionType | string | Tipo da transação (ex: "CASH_IN") |
data[].originalTransaction.name | string | Nome da contraparte |
data[].originalTransaction.document | string | Documento da contraparte (mascarado) |
data[].originalTransaction.dateTime | string | Data/hora da transação original (ISO 8601) |
data[].isReconciled | boolean | Se o MED foi vinculado a uma transação local |
data[].originalTransactionId | number | null | ID da transação local (se reconciliado) |
data[].createdAt | string | Data de criação do MED (ISO 8601) |
data[].updatedAt | string | Data da última atualização (ISO 8601) |
metadata | object | Informações de paginação |
metadata.total | number | Total de registros |
metadata.page | number | Página atual |
metadata.pageSize | number | Itens por página |
metadata.totalPages | number | Total de páginas |
{
"data": [
{
"id": 42,
"endToEnd": "E12345678202604101030abcdef123456",
"status": "ANALYZED",
"reason": "REFUND_REQUEST",
"cause": "UNAUTHORIZED_TRANSACTION",
"description": "Cliente alega não ter realizado a transação",
"analysisResult": "APPROVED",
"analysisDetails": "Devolução aprovada pelo operador - valor devolvido",
"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
}
}Erros
| Status | Descrição |
|---|---|
| 400 | Parâmetros inválidos (PUB_REQUEST_BODY_INVALID): status fora do enum, page < 1, pageSize fora do intervalo 1–100 ou parâmetro desconhecido. Os parâmetros com problema vêm em details.violations |
| 401 | Token não fornecido ou inválido |
| 500 | Erro interno ao consultar MEDs |
Exemplo de erro 400:
{
"statusCode": 400,
"timestamp": "2026-04-10T15:30:00.000Z",
"path": "/api/med?status=PENDING",
"method": "GET",
"code": "PUB_REQUEST_BODY_INVALID",
"message": "Request body validation failed: status: status must be one of the following values: OPEN, RECEIVED, CANCELLED, CANCELED, ANALYZED",
"userMessage": "Request body is invalid.",
"errorId": "31b5dc36b86c598e51a2a5389a37060d",
"details": {
"violations": {
"status": "status must be one of the following values: OPEN, RECEIVED, CANCELLED, CANCELED, ANALYZED"
}
}
}Exemplo de erro 401:
{
"statusCode": 401,
"timestamp": "2026-04-10T15:30:00.000Z",
"path": "/api/med",
"method": "GET",
"code": "HTTP_ERROR",
"message": "Token Bearer não fornecido",
"userMessage": "Acesso não autorizado. Faça login novamente.",
"errorId": "a9f3e2b1c4d5678e90123456abcdef01",
"error": "Unauthorized"
}Para entender o ciclo de vida dos status e causas, consulte a visão geral do MED.