> ## 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.

# Patch AcmCertificate

> Change the set of domain names a managed certificate covers. PATCH /acm-certificates/{id} in the Ravion API reference.



## OpenAPI

````yaml https://api.ravion.com/openapi.yaml patch /acm-certificates/{id}
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: ExecutionEnvironments
  - name: ModuleDefinitions
  - 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:
  /acm-certificates/{id}:
    patch:
      tags:
        - AcmCertificates
      summary: Patch AcmCertificate
      description: >-
        Change the set of domain names a managed certificate covers. Provisions
        a new certificate under the same id and rotates with zero downtime — an
        in-place update, never a replacement.
      operationId: PatchAcmCertificate
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AcmCertificate.UpdateCertificateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                additionalProperties: false
                properties:
                  data:
                    $ref: '#/components/schemas/AcmCertificateModel'
                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.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors.UserFacingErrorData'
          description: The request conflicts with the current state of the server.
        '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
      security:
        - RunnerBearerAuth: []
        - BearerAuth: []
components:
  schemas:
    AcmCertificate.UpdateCertificateRequest:
      additionalProperties: false
      description: >-
        Change the set of domain names a certificate covers, triggering a
        zero-downtime rotation under the same certificate id.
      properties:
        domains:
          description: The new list of domain names the certificate should cover.
          items:
            type: string
          type: array
      required:
        - domains
      type: object
    AcmCertificateModel:
      additionalProperties: false
      description: The full state of a managed certificate.
      properties:
        arn:
          description: ARN of the active ACM certificate.
          type: string
        awsAccountId:
          description: >-
            Id of the Ravion AWS account (`aws_*`) the certificate was issued
            against.
          type: string
        awsRegion:
          description: AWS region the ACM certificate lives in.
          type: string
        domainName:
          description: >-
            Primary domain name. For a `shared_wildcard` certificate this is the
            wildcard apex child domains nest under.
          type: string
        domainNames:
          description: Every domain name (SAN) the certificate covers.
          items:
            type: string
          type: array
        id:
          description: Stable certificate id (`mcert_*`). Preserved across rotations.
          type: string
        moduleInstanceId:
          description: Id of the module instance (`minst_*`) that owns this certificate.
          type: string
        name:
          description: >-
            For a `shared_wildcard` certificate, the wildcard leaf name (the
            label between `*.` and the platform apex).
          type: string
        pendingArn:
          description: >-
            ARN of the upcoming certificate while a zero-downtime rotation is in
            progress.
          type: string
        role:
          allOf:
            - $ref: '#/components/schemas/AcmCertificate.CertRole'
          description: How the certificate is used (see CertRole).
        status:
          description: >-
            Status of the active certificate in ACM (e.g. `PENDING_VALIDATION`,
            `ISSUED`).
          type: string
        targetArn:
          description: >-
            ARN of the resource the certificate is attached to (a load balancer
            listener or a CloudFront distribution).
          type: string
        targetDnsName:
          description: >-
            For a `shared_wildcard` certificate, the DNS name `*.<apex>` routes
            traffic to.
          type: string
        targetZoneId:
          description: >-
            For a `shared_wildcard` certificate, the hosted zone id of the
            routing target.
          type: string
        validationRecords:
          description: >-
            DNS validation records that may need to be published to complete
            issuance.
          items:
            $ref: '#/components/schemas/AcmCertificate.ValidationRecord'
          type: array
        wildcard:
          description: Whether the certificate covers a wildcard (`*.<apex>`).
          type: boolean
      required:
        - id
        - moduleInstanceId
        - status
        - domainNames
        - validationRecords
        - role
        - awsAccountId
        - awsRegion
      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
    AcmCertificate.CertRole:
      description: >-
        How a certificate is used. `shared_wildcard`: a single `*.<apex>`
        certificate that many child domains share. `instance`: a certificate
        covering an explicit list of fully-qualified domain names.
      enum:
        - shared_wildcard
        - instance
      type: string
    AcmCertificate.ValidationRecord:
      additionalProperties: false
      description: >-
        A DNS record that proves control of a domain so the certificate can be
        issued.
      properties:
        name:
          description: The DNS record name to publish.
          type: string
        ownership:
          description: >-
            Who publishes this record: `RAVION_PLATFORM` (Ravion publishes it)
            or `CUSTOMER` (you must add it to your DNS).
          type: string
        type:
          description: The DNS record type (e.g. CNAME).
          type: string
        value:
          description: The value the DNS record must hold.
          type: string
      required:
        - name
        - type
        - value
        - ownership
      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
    RunnerBearerAuth:
      description: >-
        Runner JWT authentication. Token contains stepExecutionId,
        organizationId, and pipelineRunId claims. The Ravion Terraform provider
        presents this same token (injected as RAVION_API_KEY) on the domain and
        certificate endpoints.
      scheme: Bearer
      type: http

````