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

# Restart an EKS workload

> Restart an EKS workload in place: the agent stamps the pod template with a restartedAt annotation and the controller rolls new pods, exactly as kubectl…



## OpenAPI

````yaml https://api.ravion.com/openapi.yaml post /deployment-resources/{id}/restart
openapi: 3.0.0
info:
  title: Ravion
  version: 0.0.0
servers:
  - url: https://api.ravion.com
security:
  - BearerAuth: []
tags:
  - name: Projects
  - name: Environments
  - name: Pipelines
  - name: PipelineRuns
  - name: TerraformResources
  - name: TerraformExecutionSummaries
  - name: PipelineStepExecutions
  - name: AwsCloudWatch
  - name: PipelineVersions
  - name: Organizations
  - name: Stacks
  - name: StackWorkspaces
  - name: Auth
  - name: OAuth
  - name: User
  - name: Health
  - name: Memberships
  - name: ServiceAccounts
  - name: AwsDefaultNetworks
  - name: AwsAccounts
  - name: ApiKeys
  - name: AwsAmp
  - name: EksPrometheus
  - name: EksLoki
  - name: ExecutionEnvironments
  - name: ModuleDefinitions
  - name: ModuleCategories
  - name: ModuleVersions
  - name: ModuleInstances
  - name: DefaultValueDefinitions
  - name: DefaultValues
  - name: CodeSources
  - name: Github
  - name: Gitlab
  - name: Git
  - name: Values
  - name: Deployments
  - name: DeploymentResources
  - name: InfrastructureEvents
  - name: WebSocket
  - name: Domains
  - name: AcmCertificates
  - name: Describe
  - name: Reports
paths:
  /deployment-resources/{id}/restart:
    post:
      tags:
        - DeploymentResources
      summary: Restart an EKS workload
      description: |-
        Restart an EKS workload in place: the agent stamps the pod template
        with a restartedAt annotation and the controller rolls new pods,
        exactly as `kubectl rollout restart` does. Nothing about what is
        deployed changes, so this is the fix for a workload that is
        unhealthy for a reason a fresh pod resolves.
      operationId: RestartDeploymentResource
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: false
              properties:
                data:
                  $ref: '#/components/schemas/DeploymentResource.RestartRequest'
              required:
                - data
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    $ref: '#/components/schemas/DeploymentResource.RestartResult'
                required:
                  - data
                type: object
          description: The request has succeeded.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: The request is invalid or malformed.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: You are not authenticated
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: You do not have permission to access this resource.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: The server cannot find the requested resource.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: Client error
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: Server error
components:
  schemas:
    DeploymentResource.RestartRequest:
      additionalProperties: false
      description: |-
        Bounds on a restart. Every field is optional; an empty body is a
        complete instruction.
      properties:
        waitSeconds:
          description: |-
            How long, in seconds, the agent watches for the replacement pods
            to become ready before answering. Omitted takes the agent's
            default; a negative value asks it not to wait at all. Clamped by
            both the control plane and the agent, so a caller can only ever
            ask for less than the ceiling.
          format: int32
          type: integer
      type: object
    DeploymentResource.RestartResult:
      additionalProperties: false
      description: What the agent did, and what it saw afterwards.
      properties:
        desiredReplicas:
          format: int32
          type: integer
        detail:
          description: Why a wait did not reach ready. Prose; nothing should parse it.
          type: string
        kind:
          type: string
        name:
          type: string
        namespace:
          type: string
        observedGeneration:
          description: |-
            `status.observedGeneration` after the patch, which is how a reader
            tells "the controller has not looked yet" apart from "the
            controller looked and the pods are not up".
          format: int64
          type: integer
        ready:
          description: |-
            Whether the workload reached its desired replica count on the new
            pods before the wait ran out. Meaningless when `waited` is
            false — a restart that was not waited on has not failed.
          type: boolean
        readyReplicas:
          format: int32
          type: integer
        restartedAt:
          description: |-
            The `kubectl.kubernetes.io/restartedAt` value actually written,
            RFC3339. It is what joins this answer to the object in the
            cluster, which is why it is reported rather than left to be
            guessed from the response time.
          type: string
        summary:
          description: One line for a toast or a timeline row. Prose.
          type: string
        waited:
          description: |-
            Whether the agent watched for readiness afterwards, so a `ready`
            of false can be told apart from a readiness nobody looked for.
          type: boolean
      required:
        - namespace
        - kind
        - name
        - restartedAt
        - waited
        - ready
        - readyReplicas
        - desiredReplicas
        - summary
      type: object
    Errors.UserFacingErrorData:
      additionalProperties: false
      description: |-
        User-facing error presentation data.
        This is what the API returns to the frontend after formatting ErrorData
        using CEL templates from the error registry.

        Used for both:
        - Error fields on domain models (e.g., PipelineRun.error)
        - API error response bodies (HTTP 4xx/5xx responses)
      properties:
        action:
          allOf:
            - $ref: '#/components/schemas/Errors.Action'
          description: Optional action to help resolve the error
        code:
          description: Full error code, e.g., "Ravion:Pipeline:NOT_FOUND"
          type: string
        description:
          description: Additional description with more details
          type: string
        details:
          description: Structured details rendered as user-facing sections.
          items:
            $ref: '#/components/schemas/Errors.UserFacingErrorDetailSection'
          type: array
        isInternal:
          description: >-
            Indicates whether this error is internal (only set when
            ShowInternal=true).

            This allows SUPERADMINs to identify internal errors while viewing
            full details.
          type: boolean
        message:
          description: Main error message (required)
          type: string
        metadata:
          additionalProperties: {}
          description: >-
            Error params/metadata. Stripped for internal errors unless
            superadmin.
          type: object
        requestId:
          description: Request ID for correlating errors with server logs.
          type: string
      required:
        - code
        - message
      type: object
    Errors.Action:
      additionalProperties: false
      description: Action to help user resolve the error
      properties:
        label:
          description: Button/link label text
          type: string
        url:
          description: URL to navigate to for resolution
          type: string
      required:
        - label
        - url
      type: object
    Errors.UserFacingErrorDetailSection:
      additionalProperties: false
      description: Structured user-facing error detail section.
      properties:
        items:
          description: List of detail values for this section.
          items:
            type: string
          type: array
        object:
          additionalProperties: {}
          description: Structured detail payload for object rendering.
          type: object
        render:
          description: Rendering hint for clients. Valid values are list or object.
          type: string
        title:
          description: Detail section title shown in the UI.
          type: string
      required:
        - title
        - render
      type: object
  securitySchemes:
    BearerAuth:
      scheme: Bearer
      type: http

````