POST /api/v1/tickets
File Ticket
Intake one report; return a bare 202.
Write-only fire-and-forget: no ticket id, no dedup verdict — a hostile or looping reporter gets nothing back to react to. Over the flood cap → 429; an oversized body → 413.
Auth: Authorization: Bearer <token> required
Request
Section titled “Request”curl -sS -X POST "https://entherium.duckdns.org:8443/api/v1/tickets" \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{"actual":"The Description column is empty","component":"portal","environment":{"commit":"dcaf59d1"},"evidence":[{"type":"url","url":"https://enterium-developer-docs.pages.dev/developers/mcp/tools/entherium_create_task/"}],"expected":"Every parameter has a description","kind":"defect","severity":"sev3","steps_to_reproduce":["Open /developers/mcp/tools/entherium_create_task/","Look at the Parameters table"],"title":"Tool page renders an empty Description column"}'Response 202
Section titled “Response 202”The contract carries no example for this response; schema: object. Field-level shape: interactive explorer.
Returns
Section titled “Returns”object — Successful Response
Parameters
Section titled “Parameters”| Parameter | In | Required | Type | Default | Constraints | Description |
|---|---|---|---|---|---|---|
Idempotency-Key | header | no | string | — | uuid | Optional. |
Request body
Section titled “Request body”| Field | Type | Required | Description |
|---|---|---|---|
actual | string | null | no | |
alternatives | array of string | null | no | |
area | string | null | no | |
behavior_cases | array of string | null | no | |
body | string | null | no | |
component | string | null | no | |
contract_guid | integer | null | no | |
environment | object | null | no | |
evidence | array of EvidenceItem | null | no | |
expected | string | null | no | |
expected_benefit | string | null | no | |
fingerprint | string | null | no | |
kind | string | null | no | |
payload | object | null | no | |
problem | string | null | no | |
proposed_change | string | null | no | |
run_guid | integer | null | no | |
severity | string | null | no | |
spec_ref | string | null | no | |
steps_to_reproduce | array of string | null | no | |
title | string | yes |
Example:
{ "actual": "The Description column is empty", "component": "portal", "environment": { "commit": "dcaf59d1" }, "evidence": [ { "type": "url", "url": "https://enterium-developer-docs.pages.dev/developers/mcp/tools/entherium_create_task/" } ], "expected": "Every parameter has a description", "kind": "defect", "severity": "sev3", "steps_to_reproduce": [ "Open /developers/mcp/tools/entherium_create_task/", "Look at the Parameters table" ], "title": "Tool page renders an empty Description column"}Errors
Section titled “Errors”| Code | Meaning | Body |
|---|---|---|
401 | Missing or invalid authentication credentials | ErrorResponse |
422 | Validation Error | HTTPValidationError |
Every error body is {detail, code?, request_id, doc_url} — request_id is the value to quote, doc_url points at the Errors reference.