> ## 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: FeatureFlags
  - 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: Integrations
  - 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: GitHub Actions
  - name: Gitlab
  - name: Git
  - name: Values
  - name: Deployments
  - name: DeploymentResources
  - name: InfrastructureEvents
  - name: WebSocket
  - name: Domains
  - name: AcmCertificates
  - name: Describe
  - name: Reports
  - name: BillingPlans
  - name: BillingAccounts
  - name: BillingCycles
  - name: BillingUsageSummaries
  - name: BillingAddOns
  - name: BillingInvoices
  - name: Authorization
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.
        '202':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    $ref: '#/components/schemas/DeploymentResource.CommandOperation'
                required:
                  - data
                type: object
          description: >-
            The request has been accepted for processing, but processing has not
            yet completed.
        '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:
        operationId:
          description: >-
            Stable idempotency identity. Reuse this value for every HTTP retry
            of

            the same user action; reusing it with changed input is rejected.
          maxLength: 253
          minLength: 1
          type: string
        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
    DeploymentResource.CommandOperation:
      additionalProperties: false
      description: >-
        Durable management-command status. Exactly one typed result is present

        after success/failure; RecoveryBlocked carries failureReason and is
        never

        automatically replayed.
      properties:
        action:
          $ref: '#/components/schemas/DeploymentResource.CommandOperationAction'
        auditId:
          type: string
        completedAt:
          format: date-time
          type: string
        createdAt:
          format: date-time
          type: string
        execution:
          type: string
        failureReason:
          type: string
        id:
          type: string
        phase:
          $ref: '#/components/schemas/DeploymentResource.CommandOperationPhase'
        restartResult:
          $ref: '#/components/schemas/DeploymentResource.RestartResult'
        rollbackResult:
          $ref: '#/components/schemas/DeploymentResource.RollbackResult'
        updatedAt:
          format: date-time
          type: string
      required:
        - id
        - auditId
        - action
        - phase
        - createdAt
        - updatedAt
      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
    DeploymentResource.CommandOperationAction:
      enum:
        - rollout_restart
        - helm_rollback
      type: string
    DeploymentResource.CommandOperationPhase:
      enum:
        - Dispatching
        - Retryable
        - Pending
        - Running
        - Succeeded
        - Failed
        - RecoveryBlocked
      type: string
    DeploymentResource.RollbackResult:
      additionalProperties: false
      description: What Helm did.
      properties:
        appVersion:
          type: string
        chartVersion:
          type: string
        detail:
          description: Anything else worth saying about the outcome. Prose.
          type: string
        fromRevision:
          description: |-
            The revision that was live before the rollback, read before it
            happened. Without it a reader cannot tell what was undone.
          format: int32
          type: integer
        namespace:
          type: string
        releaseName:
          type: string
        revision:
          description: |-
            The revision Helm ended on, which is NOT `targetRevision`. Helm
            records a rollback as a new revision whose content is the
            target's, which is what keeps the history append-only and the
            rollback itself reversible.
          format: int32
          type: integer
        status:
          description: |-
            Helm's own release status, passed through as Helm's string rather
            than mapped onto an enum of ours — the set is Helm's to change and
            a stale mapping would report a status that does not exist.
          type: string
        summary:
          description: One line for a toast or a timeline row. Prose.
          type: string
        targetRevision:
          description: The revision the caller asked to reinstate.
          format: int32
          type: integer
      required:
        - namespace
        - releaseName
        - fromRevision
        - targetRevision
        - revision
        - summary
      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

````

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