{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/ffpipe-dev/json-schema/ffpipe-dev-feedback-request-schema.json",
  "title": "FeedbackRequest",
  "description": "Unknown properties are ignored. Nothing here is authenticated and nothing is charged.",
  "x-generated": "2026-11-07",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/ffpipe-dev-openapi.json#/components/schemas/FeedbackRequest",
  "type": "object",
  "required": [
    "message"
  ],
  "additionalProperties": true,
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "feature_request",
        "bug",
        "feedback"
      ],
      "default": "feedback",
      "description": "`feature_request` for an operation ffpipe does not offer yet (the one this channel exists for), `bug` for something broken, `feedback` for anything else. Optional — omitted means `feedback`; a value outside this list is refused rather than guessed."
    },
    "message": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "description": "What you needed, what broke, or what you think. Plain text, trimmed; be concrete about the operation you wanted. Also accepted under `feedback`, `text`, `comment`, `body` — or as a raw `text/plain` body."
    },
    "jobId": {
      "type": "string",
      "maxLength": 200,
      "description": "Optional job this relates to. CONTEXT ONLY: it is not verified, needs no token, and reveals nothing about whether that job exists."
    },
    "contact": {
      "type": "string",
      "maxLength": 200,
      "description": "Optional email or handle to reply at. Omit for an anonymous submission."
    }
  }
}