> ## Documentation Index
> Fetch the complete documentation index at: https://docs.patch.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# Tell Patch's team what got in your way

> For agents on Patch's MCP server (send_feedback) and pch (`pch feedback send`), whenever Patch gets in the way: you couldn't do what the person asked, Patch did something wrong, a call failed and its error didn't say what to do, a tool or answer didn't help, or something would have made it easier. A person at Patch reads every report and can answer it.

Write it for the engineer who'll fix it: the tool and its error's code, what you were doing (goal), what you expected, what happened instead in Patch's own words (actual), what you tried, any workaround, what it cost you, and what would have helped. The answer's `follow_up` asks for the one thing a new report is missing that would help most; add it with `add_to`. Anything that looks like a key is taken out of what you write.

Sending the same summary about the same tool again within a day adds to that report. When the team already answered a report about the same tool and error, `known` says what they said. It never holds up your work: carry on with what the person asked.



## OpenAPI

````yaml /api-reference/openapi.json post /feedback
openapi: 3.1.0
info:
  title: Patch API
  version: 1.0.0
  description: >-
    The public API behind patch.gg, the desktop app and pch. Changes within v1
    are additive only. Errors are { error: { code, message, details } }; branch
    on code.
servers:
  - url: https://patch.gg/api/v1
security: []
paths:
  /feedback:
    post:
      tags:
        - Feedback
      summary: Tell Patch's team what got in your way
      description: >-
        For agents on Patch's MCP server (send_feedback) and pch (`pch feedback
        send`), whenever Patch gets in the way: you couldn't do what the person
        asked, Patch did something wrong, a call failed and its error didn't say
        what to do, a tool or answer didn't help, or something would have made
        it easier. A person at Patch reads every report and can answer it.


        Write it for the engineer who'll fix it: the tool and its error's code,
        what you were doing (goal), what you expected, what happened instead in
        Patch's own words (actual), what you tried, any workaround, what it cost
        you, and what would have helped. The answer's `follow_up` asks for the
        one thing a new report is missing that would help most; add it with
        `add_to`. Anything that looks like a key is taken out of what you write.


        Sending the same summary about the same tool again within a day adds to
        that report. When the team already answered a report about the same tool
        and error, `known` says what they said. It never holds up your work:
        carry on with what the person asked.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                kind:
                  type: string
                  enum:
                    - failed
                    - bug
                    - call_error
                    - unhelpful
                    - idea
                  description: >-
                    failed: you couldn't do what the person asked. bug: Patch
                    did something wrong: a wrong answer, something it said it
                    did that didn't happen, a page or file that's broken.
                    call_error: a call failed and its error didn't say what to
                    do, or it looks like Patch's fault. unhelpful: a tool or its
                    answer didn't help: it misled you, left something out, or
                    you had to guess, retry or work around it. idea: something
                    that would have made it easier, such as a tool, flag or
                    field Patch doesn't have.
                summary:
                  type: string
                  minLength: 1
                  maxLength: 2000
                  description: >-
                    One line, specific: which tool or command, and what went
                    wrong. Past 200 characters, the rest goes at the top of
                    details
                  example: >-
                    create_release's upload links ran out before a 900 MB upload
                    finished
                goal:
                  type: string
                  maxLength: 2000
                  description: What you were trying to do for the person
                expected:
                  type: string
                  maxLength: 2000
                  description: What you expected Patch to do or say
                actual:
                  type: string
                  maxLength: 8000
                  description: What it did or said instead, in its own words
                tried:
                  type: string
                  maxLength: 8000
                  description: What you tried, in order
                workaround:
                  type: string
                  maxLength: 8000
                  description: What worked around it in the end, if anything did
                would_help:
                  type: string
                  maxLength: 4000
                  description: >-
                    What exactly would have made it easy: the words, the tool,
                    the field or the flag
                cost:
                  type: string
                  maxLength: 1000
                  description: >-
                    What it cost: extra calls, retries, minutes, or a step given
                    up
                severity:
                  type: string
                  enum:
                    - blocked
                    - slowed
                    - annoyed
                  description: >-
                    blocked: you couldn't go on. slowed: you went on, slower.
                    annoyed: it only got in the way
                details:
                  type: string
                  maxLength: 20000
                  description: Anything else
                tool:
                  type: string
                  maxLength: 200
                  description: The MCP tool or pch command it's about
                  example: create_release
                error_code:
                  type: string
                  maxLength: 200
                  description: The error's code, as Patch or pch gave it
                  example: upload_expired
                project:
                  type: string
                  maxLength: 200
                  description: The project it's about, as owner/slug
                agent:
                  type: string
                  maxLength: 200
                  description: Which coding agent and model you are
                add_to:
                  type: string
                  maxLength: 100
                  description: >-
                    A report of yours to add this to, such as when answering its
                    follow_up: what's new joins what it said
              required:
                - kind
                - summary
      responses:
        '200':
          description: Added to a report you'd sent
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedbackSent'
        '201':
          description: Sent
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedbackSent'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Not signed in
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Not allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearer: []
components:
  schemas:
    FeedbackSent:
      allOf:
        - $ref: '#/components/schemas/Feedback'
        - type: object
          properties:
            follow_up:
              type:
                - object
                - 'null'
              properties:
                question:
                  type: string
                field:
                  type: string
                  description: Where its answer goes, with add_to
              required:
                - question
                - field
              description: >-
                On a new report, the one thing that would make it much more
                useful, if it's missing: answer it with add_to and that field.
                Asked once.
            known:
              type:
                - object
                - 'null'
              properties:
                status:
                  type: string
                  enum:
                    - open
                    - planned
                    - fixed
                    - declined
                answer:
                  type: string
                answered_at:
                  type:
                    - string
                    - 'null'
              required:
                - status
                - answer
                - answered_at
              description: >-
                What Patch's team said about an earlier report on the same tool
                and error, when they have
            next:
              type: string
              description: What to do now
          required:
            - follow_up
            - known
            - next
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: version_exists
            message:
              type: string
            details: {}
          required:
            - code
            - message
      required:
        - error
    Feedback:
      type: object
      properties:
        id:
          type: string
          format: uuid
        kind:
          type: string
          enum:
            - failed
            - bug
            - call_error
            - unhelpful
            - idea
          description: >-
            failed: you couldn't do what the person asked. bug: Patch did
            something wrong: a wrong answer, something it said it did that
            didn't happen, a page or file that's broken. call_error: a call
            failed and its error didn't say what to do, or it looks like Patch's
            fault. unhelpful: a tool or its answer didn't help: it misled you,
            left something out, or you had to guess, retry or work around it.
            idea: something that would have made it easier, such as a tool, flag
            or field Patch doesn't have.
        summary:
          type: string
        goal:
          type:
            - string
            - 'null'
        expected:
          type:
            - string
            - 'null'
        actual:
          type:
            - string
            - 'null'
        tried:
          type:
            - string
            - 'null'
        workaround:
          type:
            - string
            - 'null'
        would_help:
          type:
            - string
            - 'null'
        cost:
          type:
            - string
            - 'null'
        severity:
          type:
            - string
            - 'null'
          enum:
            - blocked
            - slowed
            - annoyed
            - null
          description: >-
            blocked: you couldn't go on. slowed: you went on, slower. annoyed:
            it only got in the way
        details:
          type:
            - string
            - 'null'
        tool:
          type:
            - string
            - 'null'
        error_code:
          type:
            - string
            - 'null'
        project:
          type:
            - string
            - 'null'
        agent:
          type:
            - string
            - 'null'
        client:
          type: string
          description: mcp, pch, desktop, web or api
        quality:
          type: integer
          description: How much of what its kind needs it has, 0 to 100
        status:
          type: string
          enum:
            - open
            - planned
            - fixed
            - declined
          description: >-
            open until Patch's team answers it: planned, fixed or declined, with
            what they said in answer
        answer:
          type:
            - string
            - 'null'
          description: What Patch's team said
        created_at:
          type: string
        answered_at:
          type:
            - string
            - 'null'
      required:
        - id
        - kind
        - summary
        - goal
        - expected
        - actual
        - tried
        - workaround
        - would_help
        - cost
        - severity
        - details
        - tool
        - error_code
        - project
        - agent
        - client
        - quality
        - status
        - answer
        - created_at
        - answered_at
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: An API key (pch_...) or the token from pch login.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.