DocSpec problem types

The DocSpec HTTP API reports failures as RFC 9457 problem details. The type member identifies the class of failure; switch on it rather than on detail, which is free text. Types are chosen by the kind of the underlying error, never by its message. Where the status code already says everything, the type is about:blank.

malformed-input

Type
https://problems.docspec.dev/malformed-input
Status
422 Unprocessable Content
When
The parser or emitter rejected the document's structure: a syntax error, or a document that ends before its structure closes. Raised for core Parse and Json errors.
What to do
The document is the problem. detail names where it broke; fix the file and retry.

unsupported-content

Type
https://problems.docspec.dev/unsupported-content
Status
422 Unprocessable Content
When
The document is well-formed but holds a dangling reference, a missing media part, or a value the output format cannot represent. Raised for core Other and Io errors, and for any error kind added later.
What to do
The document is the problem. detail names the reference, part or value; repair or remove it and retry.

about:blank

Type
about:blank
Status
400, 404, 405, 406, 415, 500
When
The status code is the whole meaning. The title is the HTTP reason phrase.