{
  "info": {
    "name": "Ordalis API",
    "description": "Ordalis — AI document extraction. Set `apiKey` or `bearerToken` in the collection variables, then fire any request.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_postman_id": "0b26e7d1-ordalis-2026-04"
  },
  "variable": [
    { "key": "baseUrl", "value": "https://api.ordalis.io" },
    { "key": "apiKey", "value": "sk_live_your_key_here" },
    { "key": "bearerToken", "value": "" },
    { "key": "conversionId", "value": "" },
    { "key": "templateId", "value": "" }
  ],
  "auth": {
    "type": "bearer",
    "bearer": [{ "key": "token", "value": "{{apiKey}}", "type": "string" }]
  },
  "item": [
    {
      "name": "Health",
      "item": [
        { "name": "GET /health", "request": { "method": "GET", "url": "{{baseUrl}}/health" } }
      ]
    },
    {
      "name": "Auth",
      "item": [
        {
          "name": "POST /v1/auth/register",
          "request": {
            "method": "POST",
            "auth": { "type": "noauth" },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"email\": \"you@example.com\",\n  \"password\": \"super-secret\",\n  \"name\": \"You\",\n  \"accept_tos\": true,\n  \"accept_privacy\": true\n}" },
            "url": "{{baseUrl}}/v1/auth/register"
          }
        },
        {
          "name": "POST /v1/auth/login",
          "request": {
            "method": "POST",
            "auth": { "type": "noauth" },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"email\": \"you@example.com\",\n  \"password\": \"super-secret\"\n}" },
            "url": "{{baseUrl}}/v1/auth/login"
          }
        },
        {
          "name": "POST /v1/auth/refresh",
          "request": {
            "method": "POST",
            "auth": { "type": "noauth" },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"refresh_token\": \"eyJhbGciOi...\"\n}" },
            "url": "{{baseUrl}}/v1/auth/refresh"
          }
        },
        { "name": "GET /v1/auth/me", "request": { "method": "GET", "url": "{{baseUrl}}/v1/auth/me" } }
      ]
    },
    {
      "name": "Convert",
      "item": [
        {
          "name": "POST /v1/convert (multipart)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Idempotency-Key", "value": "{{$guid}}" }],
            "body": {
              "mode": "formdata",
              "formdata": [
                { "key": "file", "type": "file" },
                { "key": "output", "value": "xlsx" },
                { "key": "extraction", "value": "full" },
                { "key": "template_id", "value": "{{templateId}}" }
              ]
            },
            "url": "{{baseUrl}}/v1/convert"
          }
        },
        {
          "name": "POST /v1/convert (JSON output, custom schema)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Idempotency-Key", "value": "{{$guid}}" }],
            "body": {
              "mode": "formdata",
              "formdata": [
                { "key": "file", "type": "file" },
                { "key": "output", "value": "json" },
                { "key": "schema", "value": "custom" },
                { "key": "custom_schema", "value": "{\"type\":\"object\",\"properties\":{\"invoice_number\":{\"type\":\"string\"},\"total\":{\"type\":\"number\"}}}" }
              ]
            },
            "url": "{{baseUrl}}/v1/convert"
          }
        },
        {
          "name": "GET /v1/conversions",
          "request": { "method": "GET", "url": { "raw": "{{baseUrl}}/v1/conversions?limit=20&offset=0", "host": ["{{baseUrl}}"], "path": ["v1","conversions"], "query": [{"key":"limit","value":"20"},{"key":"offset","value":"0"}] } }
        },
        {
          "name": "GET /v1/conversions/:id/download",
          "request": { "method": "GET", "url": "{{baseUrl}}/v1/conversions/{{conversionId}}/download" }
        }
      ]
    },
    {
      "name": "Templates",
      "item": [
        { "name": "GET /v1/templates", "request": { "method": "GET", "url": "{{baseUrl}}/v1/templates" } },
        {
          "name": "POST /v1/templates (from columns)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "body": { "mode": "raw", "raw": "{\n  \"name\": \"Vendor Invoices\",\n  \"columns\": [\n    { \"name\": \"invoice_number\", \"type\": \"string\", \"required\": true },\n    { \"name\": \"vendor\", \"type\": \"string\" },\n    { \"name\": \"total\", \"type\": \"number\" }\n  ]\n}" },
            "url": "{{baseUrl}}/v1/templates"
          }
        },
        {
          "name": "POST /v1/templates/from-upload",
          "request": {
            "method": "POST",
            "body": { "mode": "formdata", "formdata": [{ "key": "file", "type": "file" }, { "key": "name", "value": "My template" }] },
            "url": "{{baseUrl}}/v1/templates/from-upload"
          }
        },
        {
          "name": "POST /v1/templates/from-spec (JSON Schema)",
          "request": {
            "method": "POST",
            "body": { "mode": "formdata", "formdata": [{ "key": "file", "type": "file" }, { "key": "name", "value": "From schema" }] },
            "url": "{{baseUrl}}/v1/templates/from-spec"
          }
        },
        {
          "name": "POST /v1/templates/:id/preview",
          "request": { "method": "POST", "body": { "mode": "raw", "raw": "{}" }, "url": "{{baseUrl}}/v1/templates/{{templateId}}/preview" }
        },
        {
          "name": "PATCH /v1/templates/:id/confirm",
          "request": { "method": "PATCH", "body": { "mode": "raw", "raw": "{}" }, "url": "{{baseUrl}}/v1/templates/{{templateId}}/confirm" }
        }
      ]
    },
    {
      "name": "Billing",
      "item": [
        { "name": "GET /v1/usage", "request": { "method": "GET", "url": "{{baseUrl}}/v1/usage" } },
        {
          "name": "POST /v1/billing/checkout",
          "request": {
            "method": "POST",
            "body": { "mode": "raw", "raw": "{ \"plan\": \"plus\" }" },
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "url": "{{baseUrl}}/v1/billing/checkout"
          }
        },
        { "name": "POST /v1/billing/portal", "request": { "method": "POST", "url": "{{baseUrl}}/v1/billing/portal" } }
      ]
    },
    {
      "name": "Data + Privacy",
      "item": [
        { "name": "POST /v1/data/delete-request", "request": { "method": "POST", "url": "{{baseUrl}}/v1/data/delete-request" } },
        { "name": "GET /v1/data/export", "request": { "method": "GET", "url": "{{baseUrl}}/v1/data/export" } }
      ]
    }
  ]
}
