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

# Apply a server-offered recovery decision

> Apply one of the recovery decisions the server offered for an interrupted run. Only server-computed options are accepted.



## OpenAPI

````yaml /openapi/public-api.json post /testing/journey-runs/{id}/recovery
openapi: 3.1.0
info:
  title: ChargerDojo public API
  version: 1.0.0
  description: >-
    Automate ChargerDojo with a cdojo_ API key: register partner endpoints, run
    conformance suites and charging journeys, and read the graded reports.
servers:
  - url: https://chargerdojo.com/api/v1
security:
  - apiKey: []
tags:
  - name: Connections
  - name: Testing
  - name: Reports
  - name: Usage
  - name: Journeys
paths:
  /testing/journey-runs/{id}/recovery:
    post:
      tags:
        - Journeys
      summary: Apply a server-offered recovery decision
      description: >-
        Apply one of the recovery decisions the server offered for an
        interrupted run. Only server-computed options are accepted.
      operationId: journeys_post_journey_runs_id_recovery
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            Identifier from the path. Owner scoped: another owner's id answers
            404.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JourneyRecoveryRequest'
      responses:
        '202':
          description: Accepted; the run is active work.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JourneyRecoveryApplied'
        '400':
          description: Malformed input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: The plan does not include this capability
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found, or owned by another account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: >-
            The recovery decision is stale, was already applied, or is no longer
            one this run offers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Quota or rate limit reached
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Our runner is unavailable; never a verdict about the target
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    JourneyRecoveryRequest:
      type: object
      required:
        - recoveryVersion
        - decision
      properties:
        recoveryVersion:
          type: integer
          minimum: 0
          description: >-
            The version you decided against. A stale one answers 409: re-read
            and decide again.
        decision:
          type: string
          enum:
            - reconcile
            - continue_without_replay
            - stop
            - rerun_plan
      additionalProperties: false
    JourneyRecoveryApplied:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
        data:
          type: object
          required:
            - status
            - reportId
          properties:
            status:
              type: string
            reportId:
              type: string
        meta:
          type: object
          description: Paging, on the operations that return a list.
          properties:
            limit:
              type: integer
            skip:
              type: integer
            nextCursor:
              type: string
          additionalProperties: true
    Error:
      type: object
      required:
        - success
        - message
      properties:
        success:
          type: boolean
          enum:
            - false
        message:
          type: string
        status:
          type: string
          enum:
            - error
        code:
          type: string
        timestamp:
          type: string
          format: date-time
        capability:
          type: string
          enum:
            - external-endpoints
            - ci-handoff
            - saved-presets
            - load-testing
            - direct-payment
            - bookings
            - scheduled-runs
        limit:
          type: object
          required:
            - id
            - used
            - cap
          properties:
            id:
              type: string
              enum:
                - connections
                - run-concurrency
            used:
              type: integer
            cap:
              type: integer
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: A cdojo_... API key created in the app under Settings.

````