{
  "info": {
    "_postman_id": "9f2c1a7e-0d4b-4c2a-9c1e-onnixpay-v1",
    "name": "OnnixPay API",
    "description": "Collection oficial da API pública OnnixPay (v1).\n\nAutenticação por chave de API no header `x-api-key` (formato `onx_live_…`). Todos os campos usam **snake_case** e valores monetários em **centavos**.\n\n## Como usar\n1. Importe esta collection no Postman.\n2. Abra a aba **Variables** da collection e preencha `api_key` com a sua chave (`onx_live_…`).\n3. Rode **Criar cobrança** ou **Criar pagamento** — o `id` retornado é salvo automaticamente em `charge_id` / `payout_id` para os endpoints de consulta.\n\nO header `Idempotency-Key` é gerado automaticamente a cada requisição POST por um script de pre-request. Para repetir uma operação de forma idempotente, fixe um valor em `idempotency_key`.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "apikey",
    "apikey": [
      {
        "key": "key",
        "value": "x-api-key",
        "type": "string"
      },
      {
        "key": "value",
        "value": "{{api_key}}",
        "type": "string"
      },
      {
        "key": "in",
        "value": "header",
        "type": "string"
      }
    ]
  },
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "type": "text/javascript",
        "exec": [
          "// Gera um Idempotency-Key único por requisição POST,",
          "// a menos que a variável `idempotency_key` esteja preenchida.",
          "if (pm.request.method === 'POST') {",
          "  const fixed = pm.variables.get('idempotency_key');",
          "  const key = (fixed && fixed.length >= 8)",
          "    ? fixed",
          "    : 'pm-' + (pm.variables.replaceIn('{{$guid}}'));",
          "  pm.variables.set('_idempotency_key', key);",
          "}"
        ]
      }
    }
  ],
  "variable": [
    {
      "key": "base_url",
      "value": "https://apiv2.onnixpay.com",
      "type": "string"
    },
    {
      "key": "api_key",
      "value": "onx_live_xxxxxxxxxxxxxxxxxxxxxxxx",
      "type": "string"
    },
    {
      "key": "idempotency_key",
      "value": "",
      "type": "string"
    },
    {
      "key": "charge_id",
      "value": "",
      "type": "string"
    },
    {
      "key": "payout_id",
      "value": "",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "Cobranças",
      "description": "Cobranças (PIX no MVP).",
      "item": [
        {
          "name": "Criar cobrança",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status 201', () => pm.response.to.have.status(201));",
                  "const body = pm.response.json();",
                  "if (body && body.id) {",
                  "  pm.collectionVariables.set('charge_id', body.id);",
                  "  console.log('charge_id =', body.id);",
                  "}"
                ]
              }
            }
          ],
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{_idempotency_key}}",
                "description": "Chave única da operação (mín. 8 caracteres). Gerada automaticamente pelo pre-request script."
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"amount\": 2599,\n  \"method\": \"pix\",\n  \"reference\": \"pedido-1042\",\n  \"description\": \"Assinatura mensal\",\n  \"expires_in\": 3600,\n  \"webhook_url\": \"https://example.com/webhooks/onnix\",\n  \"payer\": {\n    \"name\": \"Maria Silva\",\n    \"document\": \"12345678909\"\n  }\n}"
            },
            "url": {
              "raw": "{{base_url}}/v1/charges",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "charges"
              ]
            },
            "description": "Cria uma cobrança e gera um PIX dinâmico. Exige o header `Idempotency-Key`.\n\nScope necessário: `charge:write`.\n\nCampos:\n- `amount` (obrigatório) — valor em centavos.\n- `method` — `pix` (padrão; único funcional no MVP), `boleto`, `card`.\n- `reference` — identificador livre do integrador (máx. 140).\n- `description` — máx. 140.\n- `expires_in` — validade do QR em segundos (60–604800, padrão 3600).\n- `pix_key` — chave PIX do Merchant (padrão: chave ativa mais antiga).\n- `webhook_url` / `webhook_secret` — destino e segredo HMAC dos eventos desta cobrança.\n- `payer` — `name`, `document` (CPF/CNPJ) do pagador solicitado. Volta como `payer_request`; depois de paga, `payer` traz o pagador real identificado pelo banco."
          },
          "response": [
            {
              "name": "201 — Cobrança criada",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{_idempotency_key}}"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"amount\": 2599,\n  \"method\": \"pix\"\n}"
                },
                "url": {
                  "raw": "{{base_url}}/v1/charges",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "v1",
                    "charges"
                  ]
                }
              },
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"id\": \"018f3a2c-1b4e-7c8a-9d2f-1a2b3c4d5e6f\",\n  \"object\": \"charge\",\n  \"status\": \"pending\",\n  \"amount\": 2599,\n  \"currency\": \"BRL\",\n  \"method\": \"pix\",\n  \"reference\": \"pedido-1042\",\n  \"payer\": {\n    \"name\": \"Maria Silva\",\n    \"document\": \"12345678909\"\n  },\n  \"payer_request\": {\n    \"name\": \"Maria Silva\",\n    \"document\": \"12345678909\"\n  },\n  \"pix\": {\n    \"br_code\": \"00020126...5204000053039865802BR6304ABCD\",\n    \"txid\": \"onx018f3a2c1b4e7c8a9d2f\",\n    \"end_to_end_id\": null\n  },\n  \"webhook_url\": \"https://example.com/webhooks/onnix\",\n  \"expires_at\": \"2026-06-04T13:00:00.000Z\",\n  \"paid_at\": null,\n  \"created_at\": \"2026-06-04T12:00:00.000Z\"\n}"
            }
          ]
        },
        {
          "name": "Consultar cobrança",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/charges/{{charge_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "charges",
                "{{charge_id}}"
              ]
            },
            "description": "Consulta uma cobrança pelo `id` (UUID).\n\nScope necessário: `charge:read`.\n\nO `charge_id` é preenchido automaticamente após rodar **Criar cobrança**."
          },
          "response": [
            {
              "name": "200 — A cobrança",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{base_url}}/v1/charges/{{charge_id}}",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "v1",
                    "charges",
                    "{{charge_id}}"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"id\": \"018f3a2c-1b4e-7c8a-9d2f-1a2b3c4d5e6f\",\n  \"object\": \"charge\",\n  \"status\": \"paid\",\n  \"amount\": 2599,\n  \"currency\": \"BRL\",\n  \"method\": \"pix\",\n  \"reference\": \"pedido-1042\",\n  \"payer\": {\n    \"name\": \"MARIA S SILVA\",\n    \"document\": \"12345678909\"\n  },\n  \"payer_request\": {\n    \"name\": \"Maria Silva\",\n    \"document\": \"12345678909\"\n  },\n  \"pix\": {\n    \"br_code\": \"00020126...5204000053039865802BR6304ABCD\",\n    \"txid\": \"onx018f3a2c1b4e7c8a9d2f\",\n    \"end_to_end_id\": \"E18236120202606041200abcdef0001\"\n  },\n  \"webhook_url\": \"https://example.com/webhooks/onnix\",\n  \"expires_at\": \"2026-06-04T13:00:00.000Z\",\n  \"paid_at\": \"2026-06-04T12:05:31.000Z\",\n  \"created_at\": \"2026-06-04T12:00:00.000Z\"\n}"
            }
          ]
        },
        {
          "name": "Listar cobranças",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/charges?limit=20",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "charges"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "20",
                  "description": "Itens por página (1–100)."
                },
                {
                  "key": "starting_after",
                  "value": "",
                  "description": "Cursor: id do último item da página anterior.",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "",
                  "description": "pending | paid | expired | canceled | failed | in_dispute | refunded",
                  "disabled": true
                },
                {
                  "key": "method",
                  "value": "",
                  "description": "pix | boleto | card",
                  "disabled": true
                },
                {
                  "key": "created_after",
                  "value": "",
                  "description": "ISO 8601",
                  "disabled": true
                },
                {
                  "key": "created_before",
                  "value": "",
                  "description": "ISO 8601",
                  "disabled": true
                }
              ]
            },
            "description": "Lista charges, da mais recente para a mais antiga.\n\nScope necessário: `charge:read`.\n\nParâmetros opcionais: `status`, `method`, `created_after`, `created_before`. Para a próxima página, copie o `id` do último item de `data` para `starting_after`."
          },
          "response": [
            {
              "name": "200 — Lista de cobranças",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{base_url}}/v1/charges?limit=20",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "v1",
                    "charges"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "20",
                      "description": "Itens por página (1–100)."
                    },
                    {
                      "key": "starting_after",
                      "value": "",
                      "description": "Cursor: id do último item da página anterior.",
                      "disabled": true
                    },
                    {
                      "key": "status",
                      "value": "",
                      "description": "pending | paid | expired | canceled | failed | in_dispute | refunded",
                      "disabled": true
                    },
                    {
                      "key": "method",
                      "value": "",
                      "description": "pix | boleto | card",
                      "disabled": true
                    },
                    {
                      "key": "created_after",
                      "value": "",
                      "description": "ISO 8601",
                      "disabled": true
                    },
                    {
                      "key": "created_before",
                      "value": "",
                      "description": "ISO 8601",
                      "disabled": true
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"id\": \"018f3a2c-1b4e-7c8a-9d2f-1a2b3c4d5e6f\",\n      \"object\": \"charge\",\n      \"status\": \"paid\",\n      \"amount\": 2599,\n      \"currency\": \"BRL\",\n      \"method\": \"pix\",\n      \"reference\": \"pedido-1042\",\n      \"payer\": {\n        \"name\": \"MARIA S SILVA\",\n        \"document\": \"12345678909\"\n      },\n      \"payer_request\": {\n        \"name\": \"Maria Silva\",\n        \"document\": \"12345678909\"\n      },\n      \"pix\": {\n        \"br_code\": \"00020126...6304ABCD\",\n        \"txid\": \"onx018f3a2c1b4e7c8a9d2f\",\n        \"end_to_end_id\": \"E18236120202606041200abcdef0001\"\n      },\n      \"webhook_url\": \"https://example.com/webhooks/onnix\",\n      \"expires_at\": \"2026-06-04T13:00:00.000Z\",\n      \"paid_at\": \"2026-06-04T12:05:31.000Z\",\n      \"created_at\": \"2026-06-04T12:00:00.000Z\"\n    }\n  ],\n  \"has_more\": true\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Pagamentos",
      "description": "Pagamentos de saída (PIX OUT / TED OUT).",
      "item": [
        {
          "name": "Criar pagamento (PIX por chave)",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status 201', () => pm.response.to.have.status(201));",
                  "const body = pm.response.json();",
                  "if (body && body.id) {",
                  "  pm.collectionVariables.set('payout_id', body.id);",
                  "  console.log('payout_id =', body.id);",
                  "}"
                ]
              }
            }
          ],
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{_idempotency_key}}",
                "description": "Chave única da operação (mín. 8 caracteres). Gerada automaticamente pelo pre-request script."
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"method\": \"pix\",\n  \"amount\": 5000,\n  \"pix_key\": \"maria@example.com\",\n  \"description\": \"Repasse parceiro\",\n  \"reference\": \"repasse-2026-06\",\n  \"webhook_url\": \"https://example.com/webhooks/onnix\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/v1/payouts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "payouts"
              ]
            },
            "description": "Envia um PIX OUT a partir do saldo do Merchant. Exige o header `Idempotency-Key`.\n\nScope necessário: `payout:write`.\n\nVariações de PIX OUT:\n- **Por chave** — `pix_key` (este exemplo).\n- **Copia-e-cola** — `pix_code` (EMV dinâmico com valor embutido; `amount` opcional).\n\n`webhook_url` / `webhook_secret` — destino e segredo HMAC dos eventos deste pagamento (`pix.out.completed`/`failed`, `ted.out.completed`/`failed`)."
          },
          "response": [
            {
              "name": "201 — Pagamento criado",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  },
                  {
                    "key": "Idempotency-Key",
                    "value": "{{_idempotency_key}}"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"method\": \"pix\",\n  \"amount\": 5000,\n  \"pix_key\": \"maria@example.com\"\n}"
                },
                "url": {
                  "raw": "{{base_url}}/v1/payouts",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "v1",
                    "payouts"
                  ]
                }
              },
              "status": "Created",
              "code": 201,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"id\": \"018f3a44-9c2d-7e1b-8a3f-9f8e7d6c5b4a\",\n  \"object\": \"payout\",\n  \"method\": \"pix\",\n  \"status\": \"processing\",\n  \"amount\": 5000,\n  \"currency\": \"BRL\",\n  \"end_to_end_id\": null,\n  \"recipient\": {\n    \"name\": \"Maria Silva\",\n    \"document\": \"12345678909\",\n    \"bank_ispb\": null,\n    \"branch\": null,\n    \"account\": null,\n    \"pix_key\": \"maria@example.com\"\n  },\n  \"description\": \"Repasse parceiro\",\n  \"reference\": \"repasse-2026-06\",\n  \"webhook_url\": \"https://example.com/webhooks/onnix\",\n  \"failure_reason\": null,\n  \"created_at\": \"2026-06-04T12:10:00.000Z\",\n  \"completed_at\": null,\n  \"failed_at\": null\n}"
            }
          ]
        },
        {
          "name": "Criar pagamento (TED)",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "pm.test('status 201', () => pm.response.to.have.status(201));",
                  "const body = pm.response.json();",
                  "if (body && body.id) {",
                  "  pm.collectionVariables.set('payout_id', body.id);",
                  "  console.log('payout_id =', body.id);",
                  "}"
                ]
              }
            }
          ],
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{_idempotency_key}}",
                "description": "Chave única da operação (mín. 8 caracteres). Gerada automaticamente pelo pre-request script."
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"method\": \"ted\",\n  \"amount\": 150000,\n  \"finality\": \"10\",\n  \"description\": \"Pagamento fornecedor\",\n  \"reference\": \"nf-8842\",\n  \"webhook_url\": \"https://example.com/webhooks/onnix\",\n  \"recipient\": {\n    \"name\": \"Fornecedor LTDA\",\n    \"document\": \"12345678000199\",\n    \"bank_ispb\": \"60746948\",\n    \"branch\": \"0001\",\n    \"account\": \"1234567\",\n    \"account_digit\": \"8\",\n    \"account_type\": \"checking\"\n  }\n}"
            },
            "url": {
              "raw": "{{base_url}}/v1/payouts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "payouts"
              ]
            },
            "description": "Envia um TED OUT para outra instituição. Exige o header `Idempotency-Key`.\n\nScope necessário: `payout:write`.\n\nCampos do `recipient`: `name`, `document` (CPF/CNPJ só dígitos), `bank_ispb` (8 dígitos), `branch` (sem dígito), `account` (sem dígito verificador), `account_digit`, `account_type` (`checking`/`savings`).\n\n`finality` — código de finalidade (padrão `10`); `99999` (Outros) exige `description`."
          },
          "response": []
        },
        {
          "name": "Consultar pagamento",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/payouts/{{payout_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "payouts",
                "{{payout_id}}"
              ]
            },
            "description": "Consulta um pagamento pelo `id` (UUID).\n\nScope necessário: `payout:read`.\n\nO `payout_id` é preenchido automaticamente após rodar **Criar pagamento**."
          },
          "response": [
            {
              "name": "200 — O pagamento",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{base_url}}/v1/payouts/{{payout_id}}",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "v1",
                    "payouts",
                    "{{payout_id}}"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"id\": \"018f3a44-9c2d-7e1b-8a3f-9f8e7d6c5b4a\",\n  \"object\": \"payout\",\n  \"method\": \"pix\",\n  \"status\": \"completed\",\n  \"amount\": 5000,\n  \"currency\": \"BRL\",\n  \"end_to_end_id\": \"E18236120202606041210abcdef0002\",\n  \"recipient\": {\n    \"name\": \"Maria Silva\",\n    \"document\": \"12345678909\",\n    \"bank_ispb\": null,\n    \"branch\": null,\n    \"account\": null,\n    \"pix_key\": \"maria@example.com\"\n  },\n  \"description\": \"Repasse parceiro\",\n  \"reference\": \"repasse-2026-06\",\n  \"webhook_url\": \"https://example.com/webhooks/onnix\",\n  \"failure_reason\": null,\n  \"created_at\": \"2026-06-04T12:10:00.000Z\",\n  \"completed_at\": \"2026-06-04T12:10:04.000Z\",\n  \"failed_at\": null\n}"
            }
          ]
        },
        {
          "name": "Listar pagamentos",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/payouts?limit=20",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "payouts"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "20",
                  "description": "Itens por página (1–100)."
                },
                {
                  "key": "starting_after",
                  "value": "",
                  "description": "Cursor: id do último item da página anterior.",
                  "disabled": true
                },
                {
                  "key": "status",
                  "value": "",
                  "description": "pending | processing | completed | failed | reversed",
                  "disabled": true
                },
                {
                  "key": "method",
                  "value": "",
                  "description": "pix | ted",
                  "disabled": true
                },
                {
                  "key": "created_after",
                  "value": "",
                  "description": "ISO 8601",
                  "disabled": true
                },
                {
                  "key": "created_before",
                  "value": "",
                  "description": "ISO 8601",
                  "disabled": true
                }
              ]
            },
            "description": "Lista payouts, da mais recente para a mais antiga.\n\nScope necessário: `payout:read`.\n\nParâmetros opcionais: `status`, `method`, `created_after`, `created_before`. Para a próxima página, copie o `id` do último item de `data` para `starting_after`."
          },
          "response": [
            {
              "name": "200 — Lista de pagamentos",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{base_url}}/v1/payouts?limit=20",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "v1",
                    "payouts"
                  ],
                  "query": [
                    {
                      "key": "limit",
                      "value": "20",
                      "description": "Itens por página (1–100)."
                    },
                    {
                      "key": "starting_after",
                      "value": "",
                      "description": "Cursor: id do último item da página anterior.",
                      "disabled": true
                    },
                    {
                      "key": "status",
                      "value": "",
                      "description": "pending | processing | completed | failed | reversed",
                      "disabled": true
                    },
                    {
                      "key": "method",
                      "value": "",
                      "description": "pix | ted",
                      "disabled": true
                    },
                    {
                      "key": "created_after",
                      "value": "",
                      "description": "ISO 8601",
                      "disabled": true
                    },
                    {
                      "key": "created_before",
                      "value": "",
                      "description": "ISO 8601",
                      "disabled": true
                    }
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"id\": \"019e9045-8a9b-7f76-9017-297fcf4fd5cf\",\n      \"object\": \"payout\",\n      \"method\": \"pix\",\n      \"status\": \"completed\",\n      \"amount\": 5000,\n      \"currency\": \"BRL\",\n      \"end_to_end_id\": \"E1234567820260603...\",\n      \"recipient\": {\n        \"name\": \"Maria Souza\",\n        \"document\": \"12345678909\",\n        \"bank_ispb\": \"60701190\",\n        \"branch\": \"0001\",\n        \"account\": \"123456\",\n        \"pix_key\": \"maria@exemplo.com\"\n      },\n      \"description\": \"Repasse de comissão\",\n      \"reference\": \"saque-7781\",\n      \"webhook_url\": \"https://seu-app.com/webhooks/onnix\",\n      \"failure_reason\": null,\n      \"created_at\": \"2026-06-04T01:35:37.115Z\",\n      \"completed_at\": \"2026-06-04T01:35:41.882Z\",\n      \"failed_at\": null\n    }\n  ],\n  \"has_more\": true\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "PIX",
      "description": "Chaves PIX do merchant e consulta DICT de qualquer chave.",
      "item": [
        {
          "name": "Consultar chave (DICT)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"key\": \"maria@exemplo.com\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/v1/pix/dict/lookup",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "pix",
                "dict",
                "lookup"
              ]
            },
            "description": "Resolve qualquer chave PIX no DICT e devolve titular e instituição.\n\nScope necessário: `pix:read`. Limite de 60 req/min."
          },
          "response": [
            {
              "name": "200 — A chave resolvida",
              "originalRequest": {
                "method": "POST",
                "header": [
                  {
                    "key": "Content-Type",
                    "value": "application/json"
                  }
                ],
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"key\": \"maria@exemplo.com\"\n}",
                  "options": {
                    "raw": {
                      "language": "json"
                    }
                  }
                },
                "url": {
                  "raw": "{{base_url}}/v1/pix/dict/lookup",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "v1",
                    "pix",
                    "dict",
                    "lookup"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"object\": \"pix_key_lookup\",\n  \"key\": \"maria@exemplo.com\",\n  \"type\": \"email\",\n  \"owner_name\": \"Maria Souza\",\n  \"owner_document\": \"***456789**\",\n  \"bank_name\": \"Banco do Brasil\",\n  \"bank_ispb\": \"00000000\"\n}"
            }
          ]
        },
        {
          "name": "Listar chaves",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/pix/keys",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "pix",
                "keys"
              ]
            },
            "description": "Retorna as chaves PIX da própria conta.\n\nScope necessário: `pix:read`."
          },
          "response": [
            {
              "name": "200 — As chaves da conta",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{base_url}}/v1/pix/keys",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "v1",
                    "pix",
                    "keys"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"object\": \"list\",\n  \"data\": [\n    {\n      \"id\": \"019e9045-8a9b-7f76-9017-297fcf4fd5cf\",\n      \"object\": \"pix_key\",\n      \"type\": \"evp\",\n      \"key\": \"8f2c1d7e-4b3a-49f1-9c62-0a5d7e1b8f34\",\n      \"status\": \"active\",\n      \"created_at\": \"2026-06-04T01:35:37.115Z\"\n    }\n  ],\n  \"has_more\": false\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "Conta",
      "description": "Saldo e dados do merchant dono da chave.",
      "item": [
        {
          "name": "Consultar saldo",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/balance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "balance"
              ]
            },
            "description": "Retorna o saldo da conta em três baldes (available/restricted/pending) + total, em centavos.\n\nScope necessário: `balance:read`."
          },
          "response": [
            {
              "name": "200 — O saldo",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{base_url}}/v1/balance",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "v1",
                    "balance"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"object\": \"balance\",\n  \"currency\": \"BRL\",\n  \"available\": 95189,\n  \"restricted\": 0,\n  \"pending\": 0,\n  \"total\": 95189\n}"
            }
          ]
        },
        {
          "name": "Consultar merchant",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/v1/merchant",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v1",
                "merchant"
              ]
            },
            "description": "Retorna os dados da identidade comercial dona da chave (nome, documento, contato, situação).\n\nScope necessário: `merchant:read`."
          },
          "response": [
            {
              "name": "200 — O merchant",
              "originalRequest": {
                "method": "GET",
                "header": [],
                "url": {
                  "raw": "{{base_url}}/v1/merchant",
                  "host": [
                    "{{base_url}}"
                  ],
                  "path": [
                    "v1",
                    "merchant"
                  ]
                }
              },
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "cookie": [],
              "body": "{\n  \"id\": \"019e6ae7-7945-7c29-b346-341f14a86a7a\",\n  \"object\": \"merchant\",\n  \"type\": \"individual\",\n  \"name\": \"Loja do João\",\n  \"legal_name\": \"João Cardoso\",\n  \"document\": \"62363692322\",\n  \"email\": \"contato@lojadojoao.com\",\n  \"phone\": \"+5585996889121\",\n  \"status\": \"active\",\n  \"kyc_status\": \"approved\",\n  \"created_at\": \"2026-05-27T19:26:55.299Z\"\n}"
            }
          ]
        }
      ]
    }
  ]
}