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

# Patch Prediction

> I3 / V2 fix (API-IMPLEMENTATION-SPEC.md §8.2): "PATCH shrinks to {status,
notes} (you can acknowledge/mute; you cannot edit a probability)." The
`dismissed`/`feedback` aliases are gone (REPLACE strategy) — use
`status: "dismissed"` and POST .../feedback respectively. Also fixes a
latent bug: the previous implementation assumed `repo` was always a
MemoryRepository and reached into `mem._predictions` directly, which
AttributeErrors under Postgres — now goes through `repo.patch_prediction`
(dual-store, per docs/v2/DESIGN.md §0.7).



## OpenAPI

````yaml /openapi.json patch /v1/predictions/{prediction_id}
openapi: 3.1.0
info:
  description: Causeloop Platform Backend
  title: Causeloop API
  version: 1.0.0
servers: []
security: []
paths:
  /v1/predictions/{prediction_id}:
    patch:
      tags:
        - predictions
      summary: Patch Prediction
      description: >-
        I3 / V2 fix (API-IMPLEMENTATION-SPEC.md §8.2): "PATCH shrinks to
        {status,

        notes} (you can acknowledge/mute; you cannot edit a probability)." The

        `dismissed`/`feedback` aliases are gone (REPLACE strategy) — use

        `status: "dismissed"` and POST .../feedback respectively. Also fixes a

        latent bug: the previous implementation assumed `repo` was always a

        MemoryRepository and reached into `mem._predictions` directly, which

        AttributeErrors under Postgres — now goes through
        `repo.patch_prediction`

        (dual-store, per docs/v2/DESIGN.md §0.7).
      operationId: patch_prediction_v1_predictions__prediction_id__patch
      parameters:
        - in: path
          name: prediction_id
          required: true
          schema:
            title: Prediction Id
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PredictionPatch'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: true
                title: Response Patch Prediction V1 Predictions  Prediction Id  Patch
                type: object
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      security:
        - HTTPBearer: []
components:
  schemas:
    PredictionPatch:
      description: |-
        I3 / V2 fix (API-IMPLEMENTATION-SPEC.md §8.2): shrinks to {status,
        notes} ONLY — "you can acknowledge/mute; you cannot edit a probability."
        The `dismissed`/`feedback` aliases are REMOVED (REPLACE strategy, no
        legacy aliases); POST .../feedback is the real outcome-recording path.
      properties:
        notes:
          anyOf:
            - maxLength: 2000
              type: string
            - type: 'null'
          title: Notes
        status:
          anyOf:
            - pattern: ^(active|acknowledged|muted|dismissed)$
              type: string
            - type: 'null'
          title: Status
      title: PredictionPatch
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
  securitySchemes:
    HTTPBearer:
      scheme: bearer
      type: http

````