{
  "info": {
    "_postman_id": "b7f3a1c2-9d4e-4f6a-8c1b-3e5f7a9d2c40",
    "name": "ipIII API v1 — K0NSULT",
    "description": "Kolekcja requestów do https://k0nsult.cloud/api/ip3/v1 (ipIII / ai-truth). Evidence-first: auth Bearer, incydenty, importy DefectDojo/SARIF, coverage, tickety, evidence-package. Ustaw zmienne kolekcji: base_url oraz token (po /auth/login).",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{token}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "base_url",
      "value": "https://k0nsult.cloud/api/ip3/v1",
      "type": "string"
    },
    {
      "key": "token",
      "value": "",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "POST /auth/login",
      "request": {
        "auth": {
          "type": "noauth"
        },
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"email\": \"user@example.com\",\n  \"password\": \"change-me\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{base_url}}/auth/login",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "auth",
            "login"
          ]
        },
        "description": "Logowanie — zwraca token JWT. Zapisz go do zmiennej kolekcji `token`."
      },
      "response": []
    },
    {
      "name": "GET /auth/me",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/auth/me",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "auth",
            "me"
          ]
        },
        "description": "Zwraca profil zalogowanego użytkownika na podstawie tokenu Bearer."
      },
      "response": []
    },
    {
      "name": "POST /incidents",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"title\": \"Przykladowy incydent\",\n  \"severity\": \"high\",\n  \"source\": \"pentest\",\n  \"description\": \"Opis incydentu z dowodem.\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{base_url}}/incidents",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "incidents"
          ]
        },
        "description": "Tworzy nowy incydent."
      },
      "response": []
    },
    {
      "name": "GET /incidents/:id",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/incidents/:id",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "incidents",
            ":id"
          ],
          "variable": [
            {
              "key": "id",
              "value": "1",
              "description": "ID incydentu"
            }
          ]
        },
        "description": "Pobiera pojedynczy incydent po ID."
      },
      "response": []
    },
    {
      "name": "POST /imports/defectdojo",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"engagement\": \"eng-001\",\n  \"findings\": []\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{base_url}}/imports/defectdojo",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "imports",
            "defectdojo"
          ]
        },
        "description": "Import findingów z DefectDojo."
      },
      "response": []
    },
    {
      "name": "POST /imports/sarif",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"version\": \"2.1.0\",\n  \"runs\": []\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{base_url}}/imports/sarif",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "imports",
            "sarif"
          ]
        },
        "description": "Import wyników w formacie SARIF (Static Analysis Results Interchange Format)."
      },
      "response": []
    },
    {
      "name": "GET /incidents/:id/coverage",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/incidents/:id/coverage",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "incidents",
            ":id",
            "coverage"
          ],
          "variable": [
            {
              "key": "id",
              "value": "1",
              "description": "ID incydentu"
            }
          ]
        },
        "description": "Pokrycie dowodowe incydentu (evidence coverage)."
      },
      "response": []
    },
    {
      "name": "GET /incidents/:id/ticket?system=jira",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/incidents/:id/ticket?system=jira",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "incidents",
            ":id",
            "ticket"
          ],
          "query": [
            {
              "key": "system",
              "value": "jira"
            }
          ],
          "variable": [
            {
              "key": "id",
              "value": "1",
              "description": "ID incydentu"
            }
          ]
        },
        "description": "Generuje ticket dla systemu ticketingowego (jira/servicenow/github)."
      },
      "response": []
    },
    {
      "name": "GET /reports/evidence-package/:id?format=pdf",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{base_url}}/reports/evidence-package/:id?format=pdf",
          "host": [
            "{{base_url}}"
          ],
          "path": [
            "reports",
            "evidence-package",
            ":id"
          ],
          "query": [
            {
              "key": "format",
              "value": "pdf"
            }
          ],
          "variable": [
            {
              "key": "id",
              "value": "1",
              "description": "ID incydentu / pakietu dowodowego"
            }
          ]
        },
        "description": "Evidence-package (manifest + hash + chain-of-custody) w formacie PDF lub JSON."
      },
      "response": []
    }
  ]
}
