{
  "info": {
    "name": "API Kapta360 (v1)",
    "description": "API REST de integração da Kapta360: relatório completo de análise de crédito de pessoa física em JSON e PDF. Servidor a servidor: nunca use o token em navegador ou aplicativo. Documentação completa em https://kapta360.com/docs/api.\n\nUse primeiro um token de testes (k360_test_…) e os CPFs do ambiente de testes.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{token}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.kapta360.com/v1"
    },
    {
      "key": "token",
      "value": "k360_test_…"
    },
    {
      "key": "consultaId",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "Conta, token em uso, limites e termos",
      "request": {
        "method": "GET",
        "description": "Qualquer escopo. Útil para conferir a configuração da integração.",
        "header": [],
        "url": {
          "raw": "{{baseUrl}}/conta",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "conta"
          ],
          "variable": [],
          "query": []
        }
      }
    },
    {
      "name": "Cria uma consulta (relatório completo)",
      "request": {
        "method": "POST",
        "description": "Escopo consultas:criar. Debita 1 crédito na criação (produção); se o relatório não ficar completo, o crédito volta. Repita com a MESMA Idempotency-Key em caso de falha de rede: a resposta é a mesma consulta (Idempotent-Replayed: true).",
        "header": [
          {
            "key": "Idempotency-Key",
            "value": "{{$guid}}",
            "disabled": false,
            "description": "8 a 64 caracteres [A-Za-z0-9._:-], única por pedido (validade de 7 dias). Nunca o CPF."
          },
          {
            "key": "Prefer",
            "value": "wait=30",
            "disabled": false,
            "description": "wait=N (0 a 60): espera até N segundos pelo status final antes de responder."
          },
          {
            "key": "Content-Type",
            "value": "application/json",
            "disabled": false,
            "description": ""
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/consultas",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "consultas"
          ],
          "variable": [],
          "query": []
        },
        "body": {
          "mode": "raw",
          "raw": "{\n  \"cpf\": \"00000000191\",\n  \"finalidade\": \"ANALISE_DE_RISCO_DE_CREDITO\",\n  \"autorizacaoTitular\": true,\n  \"referenciaExterna\": \"pedido-1\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "Lista as consultas do ambiente do token",
      "request": {
        "method": "GET",
        "description": "Escopo consultas:ler. Mais recentes primeiro, com cursor. Sem o relatório (use GET /consultas/{id}).",
        "header": [],
        "url": {
          "raw": "{{baseUrl}}/consultas",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "consultas"
          ],
          "variable": [],
          "query": [
            {
              "key": "status",
              "value": "",
              "disabled": true,
              "description": ""
            },
            {
              "key": "cobranca",
              "value": "",
              "disabled": true,
              "description": ""
            },
            {
              "key": "token",
              "value": "",
              "disabled": true,
              "description": "Parte pública do token."
            },
            {
              "key": "referenciaExterna",
              "value": "",
              "disabled": true,
              "description": ""
            },
            {
              "key": "de",
              "value": "",
              "disabled": true,
              "description": ""
            },
            {
              "key": "ate",
              "value": "",
              "disabled": true,
              "description": ""
            },
            {
              "key": "limite",
              "value": "",
              "disabled": true,
              "description": ""
            },
            {
              "key": "cursor",
              "value": "",
              "disabled": true,
              "description": ""
            }
          ]
        }
      }
    },
    {
      "name": "Status e, quando concluída, o relatório v1",
      "request": {
        "method": "GET",
        "description": "Escopo consultas:ler. Consulta de outro cliente ou de outro ambiente: 404.",
        "header": [
          {
            "key": "Prefer",
            "value": "wait=30",
            "disabled": false,
            "description": "wait=N (0 a 60): espera até N segundos pelo status final antes de responder."
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/consultas/:id",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "consultas",
            ":id"
          ],
          "variable": [
            {
              "key": "id",
              "value": "{{consultaId}}"
            }
          ],
          "query": []
        }
      }
    },
    {
      "name": "PDF do relatório (o mesmo da impressão do painel)",
      "request": {
        "method": "GET",
        "description": "Escopo consultas:ler. Disponível quando pdf.disponivel = true na consulta. A ETag é o SHA-256 do arquivo: envie If-None-Match para receber 304 sem baixar de novo. Consulta que falhou: 404.",
        "header": [
          {
            "key": "If-None-Match",
            "value": "",
            "disabled": true,
            "description": ""
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/consultas/:id/pdf",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "consultas",
            ":id",
            "pdf"
          ],
          "variable": [
            {
              "key": "id",
              "value": "{{consultaId}}"
            }
          ],
          "query": []
        }
      }
    },
    {
      "name": "Consumos e estornos de créditos das consultas da API",
      "request": {
        "method": "GET",
        "description": "Escopo saldo:ler. No ambiente de testes a lista é vazia (amostra: true).",
        "header": [],
        "url": {
          "raw": "{{baseUrl}}/extrato",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "extrato"
          ],
          "variable": [],
          "query": [
            {
              "key": "limite",
              "value": "",
              "disabled": true,
              "description": ""
            },
            {
              "key": "cursor",
              "value": "",
              "disabled": true,
              "description": ""
            }
          ]
        }
      }
    },
    {
      "name": "Créditos disponíveis",
      "request": {
        "method": "GET",
        "description": "Escopo saldo:ler. No ambiente de testes o saldo é fictício (amostra: true).",
        "header": [],
        "url": {
          "raw": "{{baseUrl}}/saldo",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "saldo"
          ],
          "variable": [],
          "query": []
        }
      }
    }
  ]
}