---
title: "Tell Jabbertoon something is wrong"
method: POST
path: "/api/report_problem"
---

# Tell Jabbertoon something is wrong

`POST /api/report_problem`

## Request

- Base URL: `https://jabbertoon.com`
- URL: `https://jabbertoon.com/api/report_problem`
- Auth: none required

Tells the people who make Jabbertoon something is wrong: a wrong answer, a check that refused a good cartoon or passed a bad one, a move that looks wrong, a link that does not open, wrong docs, something missing, or a step that was hard to get right (kind hard_step, with hard_because: optional, never needed to go on). Unlike the other tools, it keeps what you send: the report (kind, tool, code, where, item, note, hard_because) is saved for a person to read. Never put the cartoon, a name, an address or anything about the person you help in it. Example: {"kind": "validator_wrong", "tool": "validate", "code": "op_unknown", "note": "say was refused in a cartoon"}.

## Request body

- object
  - `kind` 'wrong_answer' | 'validator_wrong' | 'move_looks_wrong' | 'link_does_not_open' | 'docs_wrong' | 'missing' | 'hard_step' | 'other', required: What kind of problem it is (hard_step: a step that was hard to get right).
  - `tool` string: The tool whose answer was wrong, e.g. validate.
  - `code` string: The error code it gave, e.g. op_unknown.
  - `where` string: Where it pointed, e.g. scripts[0].body[2].
  - `item` string: What it is about: a move, character or look (c4c:beh:bow, dog, crayon), or a page.
  - `note` string: What was wrong, in a sentence or two. No cartoon, names or personal details.
  - `hard_because` string: For kind hard_step: what made the step hard (an error's words, a field that was unclear, a size that was hard to guess). Optional. No cartoon, names or personal details.
  - `cli_version` string: Set by the jabbertoon tool.
  - `os` string: Set by the jabbertoon tool: win32, darwin or linux.

## Response `200`

What report_problem answers. ok is false when what you sent has problems; they are listed with where, says and fix.

- object
  - `ok` boolean, required
  - `url` string, required: The page about Jabbertoon's tools for AI assistants.
  - `status` string: received
  - `report_id` string
  - `says` string
  - `removed` string[]: What was taken out of the report before it was saved (an email address, for example).
  - `engine` Engine
    - `version` string: The block language's version.
    - `git` string: The git tree id of the engine that answered (the same on every door).
  - `notes` string[]
  - `error` Problem
    - `code` string, required
    - `where` string, nullable, required
    - `says` string, required
    - `fix` string, nullable, required
    - `url` string: The code's entry on https://jabbertoon.com/docs/errors/.
    - `did_you_mean` string[]
    - `patch` object[]: RFC 6902 operations on what you sent that make the fix, given only when the fix is certain.

## Other responses

- `4XX`: A request the server cannot use (400 bad_arguments, 404 not_found, 405, 413 too_large, 415, 503 busy or timeout: try again after Retry-After).
- `5XX`: A request the server cannot use (400 bad_arguments, 404 not_found, 405, 413 too_large, 415, 503 busy or timeout: try again after Retry-After).

---

[API](https://skmtc.dev/jabbertoon/apis/jabbertoon-tools-for-ai-assistants-and-developers.md) · [All operations](https://skmtc.dev/jabbertoon/apis/jabbertoon-tools-for-ai-assistants-and-developers/llms.txt) · [OpenAPI document](https://skmtc.dev/jabbertoon/apis/jabbertoon-tools-for-ai-assistants-and-developers/revisions/004970e97459?raw)
