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

# List impairment release work

> Internal API for Radar to submit and inspect node/pod impairment events.



## OpenAPI

````yaml /openapi/fleet-manager-openapi.yaml get /api/v1/operations/impairment-events/release-work/
openapi: 3.0.3
info:
  title: Fleet Manager API
  version: 1.0.0
  description: API for the Nscale Fleet Manager
servers: []
security: []
paths:
  /api/v1/operations/impairment-events/release-work/:
    get:
      tags:
        - Operations
      summary: List impairment release work
      description: Internal API for Radar to submit and inspect node/pod impairment events.
      operationId: api_v1_operations_impairment_events_release_work_list
      parameters:
        - in: query
          name: limit
          schema:
            type: integer
        - in: query
          name: site_id
          schema:
            type: string
            format: uuid
        - in: query
          name: site_slug
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ImpairmentEventReleaseWorkItem'
          description: ''
        '400':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication credentials were not provided or are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: You do not have permission to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - oauth2:
            - operations:read
        - cookieAuth: []
components:
  schemas:
    ImpairmentEventReleaseWorkItem:
      type: object
      description: >-
        Internal release work item.


        Release work intentionally starts with the cordon work payload, then
        adds the

        prior FM eligibility state so the worker only restores scheduler traits
        when

        the impairment actually removed them.
      properties:
        event_id:
          type: string
          format: uuid
          readOnly: true
        external_event_id:
          type: string
          readOnly: true
        device_id:
          type: string
          format: uuid
          readOnly: true
        device_name:
          type: string
          readOnly: true
        infrastructure_ref:
          type: string
          readOnly: true
        device_role_id:
          type: string
          format: uuid
          readOnly: true
        device_class:
          type: string
          readOnly: true
        site_id:
          type: string
          format: uuid
          readOnly: true
        site_slug:
          type: string
          readOnly: true
        status:
          allOf:
            - $ref: '#/components/schemas/ImpairmentEventDeviceStatusEnum'
          readOnly: true
        retry_count:
          type: integer
          readOnly: true
        next_retry_at:
          type: string
          format: date-time
          readOnly: true
          nullable: true
        last_error:
          type: string
          readOnly: true
        previous_operational_status:
          $ref: '#/components/schemas/DeviceOperationalStatusEnum'
        restore_customer_ready:
          type: boolean
          readOnly: true
      required:
        - device_class
        - device_id
        - device_name
        - device_role_id
        - event_id
        - external_event_id
        - infrastructure_ref
        - last_error
        - next_retry_at
        - previous_operational_status
        - restore_customer_ready
        - retry_count
        - site_id
        - site_slug
        - status
    ErrorResponse:
      type: object
      description: >-
        Uniform error body for every 4xx/5xx response. `detail` is a
        human-readable message, always present, safe to display to end users.
        `code` is the machine-readable identifier. `field_errors` lists
        per-input-field validation messages and is empty for non-field errors
        (auth, permission, not-found, conflict, server).
      required:
        - detail
        - code
        - field_errors
      properties:
        detail:
          type: string
        code:
          $ref: '#/components/schemas/ErrorCodeEnum'
        field_errors:
          type: array
          items:
            $ref: '#/components/schemas/FieldError'
    ImpairmentEventDeviceStatusEnum:
      enum:
        - pending
        - cordoned
        - failed
        - retrying
        - release_pending
        - release_retrying
        - release_failed
        - cleared
      type: string
      description: |-
        * `pending` - Pending
        * `cordoned` - Cordoned
        * `failed` - Failed
        * `retrying` - Retrying
        * `release_pending` - Release Pending
        * `release_retrying` - Release Retrying
        * `release_failed` - Release Failed
        * `cleared` - Cleared
    DeviceOperationalStatusEnum:
      enum:
        - unknown
        - quarantine
        - validation
        - available
        - in_use
        - delegated
        - pending_handover
        - drained
        - failed
      type: string
      description: |-
        * `unknown` - Unknown
        * `quarantine` - Quarantine
        * `validation` - Validation
        * `available` - Available
        * `in_use` - In Use
        * `delegated` - Delegated
        * `pending_handover` - Pending Handover
        * `drained` - Drained
        * `failed` - Failed
    ErrorCodeEnum:
      type: string
      description: >-
        Stable machine-readable error identifier. New members may be added
        within this API version; clients must tolerate unknown values.
      enum:
        - error
        - invalid
        - parse_error
        - authentication_failed
        - not_authenticated
        - permission_denied
        - not_found
        - method_not_allowed
        - not_acceptable
        - unsupported_media_type
        - conflict
        - enrollment_infrastructure_reference_pending
        - enrollment_infrastructure_reference_changed
        - unprocessable_entity
        - throttled
        - service_unavailable
    FieldError:
      type: object
      description: One input field's validation messages.
      required:
        - field
        - messages
      properties:
        field:
          type: string
          description: >-
            Dotted path to the offending input field, or to the collection row
            when the whole row is invalid (e.g. `filters.end_date`,
            `memberships.0.role`, `memberships.0`).
        messages:
          type: array
          minItems: 1
          items:
            type: string
  securitySchemes:
    oauth2:
      type: oauth2
      flows: {}
    cookieAuth:
      type: apiKey
      in: cookie
      name: sessionid

````

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