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

# Remediation approve

> Approves a pending remediation.

Only remediations with state PENDING_APPROVAL can be approved.

On APPROVE: state changes to PENDING and the remediation process begins.
The reviewed_by, review_time, and review_comment fields are populated
on the remediation after approval.




## OpenAPI

````yaml openapi.yaml POST /compute/clusters/{cluster_id}/instances/{instance_id}/remediations/{remediation_id}/approve
openapi: 3.1.0
info:
  title: Together APIs
  description: The Together REST API. See https://docs.together.ai for more details.
  version: 2.0.0
  termsOfService: https://www.together.ai/terms-of-service
  contact:
    name: Together Support
    url: https://www.together.ai/contact
  license:
    name: MIT
    url: https://github.com/togethercomputer/openapi/blob/main/LICENSE
servers:
  - url: https://api.together.ai/v1
    description: Default environment for APIs
  - url: https://api-inference.together.ai/v2
    description: Optimized environment for inference
security:
  - bearerAuth: []
paths:
  /compute/clusters/{cluster_id}/instances/{instance_id}/remediations/{remediation_id}/approve:
    post:
      tags:
        - RemediationService
      description: |
        Approves a pending remediation.

        Only remediations with state PENDING_APPROVAL can be approved.

        On APPROVE: state changes to PENDING and the remediation process begins.
        The reviewed_by, review_time, and review_comment fields are populated
        on the remediation after approval.
      operationId: RemediationService_ApproveRemediation
      parameters:
        - name: cluster_id
          in: path
          required: true
          schema:
            type: string
        - name: instance_id
          in: path
          required: true
          schema:
            type: string
        - name: remediation_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApproveRemediationRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Remediation'
components:
  schemas:
    ApproveRemediationRequest:
      type: object
      description: Request body for approving a pending remediation.
      properties:
        comment:
          type: string
          description: Approval comment explaining the decision.
        mode:
          enum:
            - REMEDIATION_MODE_VM_ONLY
            - REMEDIATION_MODE_HOST_AWARE
            - REMEDIATION_MODE_EVICT_WITHOUT_REPLACEMENT
            - REMEDIATION_MODE_REBOOT_VM
            - REMEDIATION_MODE_HOST_POWER_CYCLE
          type: string
          description: >
            Remediation mode to use after approval. When omitted, the
            remediation keeps its existing mode.


            - `REMEDIATION_MODE_VM_ONLY`: Deletes the VM and provisions a new
            one on any available host.

            - `REMEDIATION_MODE_HOST_AWARE`: Cordons the host, deletes the VM,
            and provisions a new one on a different host.

            - `REMEDIATION_MODE_EVICT_WITHOUT_REPLACEMENT`: Evicts the VM
            without provisioning a replacement.

            - `REMEDIATION_MODE_REBOOT_VM`: Reboots the VM in place.

            - `REMEDIATION_MODE_HOST_POWER_CYCLE`: Power-cycles the bare-metal
            host after cordoning it. This mode cannot be set as an approval
            override; create a host power-cycle remediation directly.
    Remediation:
      type: object
      required:
        - id
        - cluster_id
        - instance_id
        - mode
        - trigger
        - state
      properties:
        id:
          readOnly: true
          type: string
        cluster_id:
          readOnly: true
          type: string
        instance_id:
          readOnly: true
          type: string
        mode:
          enum:
            - REMEDIATION_MODE_VM_ONLY
            - REMEDIATION_MODE_HOST_AWARE
            - REMEDIATION_MODE_EVICT_WITHOUT_REPLACEMENT
            - REMEDIATION_MODE_REBOOT_VM
            - REMEDIATION_MODE_HOST_POWER_CYCLE
          type: string
          description: >
            Remediation mode specifies how the remediation should be performed.


            - `REMEDIATION_MODE_VM_ONLY`: Deletes the VM and provisions a new
            one on any available host.

            - `REMEDIATION_MODE_HOST_AWARE`: Cordons the host, deletes the VM,
            and provisions a new one on a different host.

            - `REMEDIATION_MODE_EVICT_WITHOUT_REPLACEMENT`: Evicts the VM
            without provisioning a replacement.

            - `REMEDIATION_MODE_REBOOT_VM`: Reboots the VM in place.

            - `REMEDIATION_MODE_HOST_POWER_CYCLE`: Cordons and power-cycles the
            bare-metal host while preserving host and node identity.
        trigger:
          readOnly: true
          enum:
            - REMEDIATION_TRIGGER_MANUAL
            - REMEDIATION_TRIGGER_AUTOMATED
          type: string
          description: >
            RemediationTrigger specifies how the remediation was triggered.


            - `REMEDIATION_TRIGGER_MANUAL`: A user-initiated remediation (either
            via web UI or API call).

            - `REMEDIATION_TRIGGER_AUTOMATED`: A system-initiated remediation
            that requires approval.
        state:
          readOnly: true
          enum:
            - PENDING_APPROVAL
            - PENDING
            - RUNNING
            - SUCCEEDED
            - FAILED
            - CANCELLED
            - AUTO_RESOLVED
            - QUARANTINING
            - QUARANTINED
          type: string
          description: >
            RemediationState represents the lifecycle state of a remediation.


            - `PENDING_APPROVAL`: Awaiting approval before processing can begin.

            - `PENDING`: Approved and queued for processing.

            - `RUNNING`: Actively being processed.

            - `SUCCEEDED`: Successfully completed.

            - `FAILED`: Failed with an error.

            - `CANCELLED`: Cancelled by user or system.

            - `AUTO_RESOLVED`: The underlying issue was automatically resolved
            before processing.

            - `QUARANTINING`: Cordoning or preparing the host before
            remediation.

            - `QUARANTINED`: Host has been cordoned or isolated for remediation.
        reason:
          type: string
          description: User-provided reason for the remediation.
        active_health_check_run_id:
          type: string
          description: Active health check run ID (UUID) that triggered this remediation.
          readOnly: true
        passive_health_check_event_id:
          type: string
          description: Passive health check event ID that triggered this remediation.
          readOnly: true
        requested_by:
          readOnly: true
          type: string
          description: Who requested the remediation.
        create_time:
          type: string
          description: When the remediation was created.
          format: date-time
          readOnly: true
        reviewed_by:
          type: string
          description: Who reviewed the remediation.
          readOnly: true
        review_time:
          type: string
          format: date-time
          description: When the remediation was reviewed.
          readOnly: true
        review_comment:
          readOnly: true
          type: string
          description: Review comment.
        start_time:
          type: string
          format: date-time
          description: When processing started.
          readOnly: true
        end_time:
          readOnly: true
          type: string
          description: When the remediation completed.
          format: date-time
        error_message:
          readOnly: true
          type: string
          description: Error message if the remediation failed.
        update_time:
          readOnly: true
          type: string
          description: When the remediation was last updated.
          format: date-time
        instance_name:
          readOnly: true
          type: string
          description: Display name of the targeted instance.
        linked_alerts:
          readOnly: true
          type: array
          items:
            $ref: '#/components/schemas/PassiveHealthCheckAlert'
          description: >-
            Passive health check alerts linked to this remediation, including
            resolved alerts.
      description: >-
        Remediation represents a node remediation request for an instance.

        An instance can have multiple remediations over time (e.g., failed
        attempts followed by retries).
    PassiveHealthCheckAlert:
      type: object
      required:
        - passive_health_check_alert_id
        - cluster_id
        - target_vm
        - alert_name
        - severity
        - annotations
        - started_at
        - annotation
      properties:
        passive_health_check_alert_id:
          readOnly: true
          type: string
          description: Primary key UUID for the passive health check alert.
        instance_id:
          readOnly: true
          type: string
          description: >-
            Resolved instance UUID. Empty until the alert is joined to an
            instance.
        cluster_id:
          readOnly: true
          type: string
          description: Cluster UUID the alert was raised against.
        target_vm:
          readOnly: true
          type: string
          description: VM name extracted from the Alertmanager labels.
        alert_name:
          readOnly: true
          type: string
          description: Alertmanager alert name.
        severity:
          readOnly: true
          enum:
            - PHC_SEVERITY_INFO
            - PHC_SEVERITY_WARNING
            - PHC_SEVERITY_CRITICAL
          type: string
          description: Canonical severity tier for the alert.
        annotations:
          readOnly: true
          type: object
          additionalProperties:
            type: string
          description: Legacy Alertmanager annotations as key-value strings.
        started_at:
          readOnly: true
          type: string
          description: Time when the underlying alert first fired.
          format: date-time
        resolved_at:
          readOnly: true
          type: string
          description: >-
            Time when the underlying alert resolved. Empty while the alert is
            firing.
          format: date-time
        node_remediation_intent_id:
          readOnly: true
          type: string
          description: Remediation intent UUID attached to this alert, if any.
        annotation:
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/PHCAnnotation'
          description: Typed annotation content parsed from the legacy annotations bag.
      description: Passive health check alert returned by the health check API.
    PHCAnnotation:
      type: object
      required:
        - title
        - description
        - summary_line
      properties:
        title:
          readOnly: true
          type: string
          description: Alert title from the Alertmanager summary annotation.
        description:
          readOnly: true
          type: string
          description: Static explanation for the alert.
        summary_line:
          readOnly: true
          type: string
          description: Per-firing summary line parsed from the evidence annotation.
        xid:
          allOf:
            - $ref: '#/components/schemas/XidDetail'
          description: Xid-specific details when the alert was caused by NVIDIA Xid errors.
        slurm_node_unavailable:
          allOf:
            - $ref: '#/components/schemas/SlurmNodeUnavailableDetail'
          description: >-
            Slurm node details when the alert was caused by unavailable Slurm
            nodes.
      description: Typed content parsed from passive health check alert annotations.
    XidDetail:
      type: object
      required:
        - events
      properties:
        events:
          readOnly: true
          type: array
          items:
            $ref: '#/components/schemas/XidEvent'
          description: Xid events observed during the alert window.
      description: Details for a DmesgXidError passive health check alert.
    SlurmNodeUnavailableDetail:
      type: object
      required:
        - reason
      properties:
        reason:
          readOnly: true
          type: string
          description: Drain reason reported for the unavailable Slurm node.
      description: Details for a Slurm node unavailable passive health check alert.
    XidEvent:
      type: object
      required:
        - xid_code
        - mnemonic
        - count
      properties:
        xid_code:
          readOnly: true
          type: string
          description: NVIDIA Xid code, such as `79`.
        mnemonic:
          readOnly: true
          type: string
          description: Driver mnemonic for the Xid code when metadata is available.
        count:
          readOnly: true
          type: integer
          description: Number of times this Xid code appeared in the alert window.
      description: One NVIDIA Xid code observed during the alert window.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      x-bearer-format: bearer
      x-default: default

````