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

# Revert Breach

> Revert a breach event decision and REOPEN the account (REVERT-1 / E-010).

A wrongful breach is undone in ONE transaction by exactly mirror-reversing
the breach_handler's terminal-breach mutations:
  * breach_events.review_status -> 'reverted';
  * prop_account_state -> status='active', clear breached_at /
    breached_rule_type / breached_event_id (only when THIS breach is the
    one that breached the account — `breached_event_id = :bid`);
  * trading_accounts.close_only -> FALSE (so the order-worker lets the
    trader open positions again);
  * prop_journeys -> back to 'active' IF the breach-journey consumer flipped
    it to 'completed' for this journey (LIFE-1) and it isn't otherwise
    terminal;
  * emit `prop.state.invalidate` so the order-worker prop-breach engine
    reloads the now-active state.

Idempotent: reverting an already-reverted breach is a no-op (returns
`unchanged`).



## OpenAPI

````yaml /openapi.json post /prop/breach-events/{breach_id}/revert
openapi: 3.1.0
info:
  title: Slate API
  version: 1.0.0
  description: Trading infrastructure API.
servers:
  - url: https://api.{your-broker}.slate-labs.com
    variables:
      your-broker:
        default: broker
security: []
tags:
  - name: Authentication
  - name: API Tokens
  - name: Customers
  - name: Accounts
  - name: Orders
  - name: Instruments & Groups
  - name: Transactions
  - name: Payments
  - name: Transfers
  - name: Risk
  - name: Workflow & CRM
  - name: Messaging
  - name: Integrations
  - name: Webhooks
  - name: Compliance
  - name: Promo codes
  - name: Reporting
  - name: Audit
  - name: Fraud & moderation
  - name: Broker settings
  - name: Users
  - name: Roles & Teams
  - name: Streams (SSE)
  - name: Simulator
  - name: Observability
  - name: Prop trading
paths:
  /prop/breach-events/{breach_id}/revert:
    post:
      tags:
        - Prop trading
      summary: Revert Breach
      description: >-
        Revert a breach event decision and REOPEN the account (REVERT-1 /
        E-010).


        A wrongful breach is undone in ONE transaction by exactly
        mirror-reversing

        the breach_handler's terminal-breach mutations:
          * breach_events.review_status -> 'reverted';
          * prop_account_state -> status='active', clear breached_at /
            breached_rule_type / breached_event_id (only when THIS breach is the
            one that breached the account — `breached_event_id = :bid`);
          * trading_accounts.close_only -> FALSE (so the order-worker lets the
            trader open positions again);
          * prop_journeys -> back to 'active' IF the breach-journey consumer flipped
            it to 'completed' for this journey (LIFE-1) and it isn't otherwise
            terminal;
          * emit `prop.state.invalidate` so the order-worker prop-breach engine
            reloads the now-active state.

        Idempotent: reverting an already-reverted breach is a no-op (returns

        `unchanged`).
      operationId: revert_breach_prop_breach_events__breach_id__revert_post
      parameters:
        - name: breach_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Breach Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BreachReviewRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                title: >-
                  Response Revert Breach Prop Breach Events  Breach Id  Revert
                  Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - bearerAuth: []
components:
  schemas:
    BreachReviewRequest:
      properties:
        reason:
          type: string
          maxLength: 500
          minLength: 1
          title: Reason
      type: object
      required:
        - reason
      title: BreachReviewRequest
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````