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

# Update

> Update the attributes of a reserved domain.




## OpenAPI

````yaml https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml patch /reserved_domains/{id}
openapi: 3.0.0
info:
  title: ngrok OpenAPI
  version: 1.0.0
servers:
  - url: https://api.ngrok.com
security:
  - authentication: []
paths:
  /reserved_domains/{id}:
    patch:
      tags:
        - ReservedDomains
      summary: Update
      description: |
        Update the attributes of a reserved domain.
      operationId: ReservedDomainsUpdate
      parameters:
        - $ref: '#/components/parameters/ngrokVersion'
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservedDomainUpdate'
      responses:
        '200':
          description: |
            Update the attributes of a reserved domain.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservedDomain'
components:
  parameters:
    ngrokVersion:
      name: ngrok-version
      in: header
      required: true
      schema:
        type: integer
        default: 2
  schemas:
    ReservedDomainUpdate:
      type: object
      properties:
        id:
          description: n/a
          type: string
        description:
          description: >
            human-readable description of what this reserved domain will be used
            for
          type: string
        metadata:
          description: >
            arbitrary user-defined machine-readable data of this reserved
            domain. Optional, max 4096 bytes.
          type: string
        certificate_id:
          description: >
            ID of a user-uploaded TLS certificate to use for connections to
            targeting this domain. Optional, mutually exclusive with
            `certificate_management_policy`.
          type: string
        certificate_management_policy:
          $ref: '#/components/schemas/ReservedDomainCertPolicy'
          description: >
            configuration for automatic management of TLS certificates for this
            domain, or null if automatic management is disabled. Optional,
            mutually exclusive with `certificate_id`.
        resolves_to:
          description: >
            DNS resolver targets configured for the reserved domain, or empty
            for "global" resolution.
          type: array
          items:
            $ref: '#/components/schemas/ReservedDomainResolvesToEntry'
    ReservedDomain:
      type: object
      properties:
        id:
          description: |
            unique reserved domain resource identifier
          type: string
        uri:
          description: |
            URI of the reserved domain API resource
          type: string
        created_at:
          description: |
            timestamp when the reserved domain was created, RFC 3339 format
          type: string
        description:
          description: >
            human-readable description of what this reserved domain will be used
            for
          type: string
        metadata:
          description: >
            arbitrary user-defined machine-readable data of this reserved
            domain. Optional, max 4096 bytes.
          type: string
        domain:
          description: |
            hostname of the reserved domain
          type: string
        region:
          description: >
            deprecated: With the launch of the ngrok Global Network domains
            traffic is now handled globally. This field applied only to
            endpoints. Note that agents may still connect to specific regions.
            Optional, null by default. (au, eu, ap, us, jp, in, sa)
          type: string
        cname_target:
          description: >
            DNS CNAME target for a custom hostname, or null if the reserved
            domain is a subdomain of an ngrok owned domain (e.g. *.ngrok.app)
          type: string
        certificate:
          $ref: '#/components/schemas/Ref'
          description: >
            object referencing the TLS certificate used for connections to this
            domain. This can be either a user-uploaded certificate, the most
            recently issued automatic one, or null otherwise.
        certificate_management_policy:
          $ref: '#/components/schemas/ReservedDomainCertPolicy'
          description: >
            configuration for automatic management of TLS certificates for this
            domain, or null if automatic management is disabled
        certificate_management_status:
          $ref: '#/components/schemas/ReservedDomainCertStatus'
          description: >
            status of the automatic certificate management for this domain, or
            null if automatic management is disabled
        acme_challenge_cname_target:
          description: >
            DNS CNAME target for the host _acme-challenge.example.com, where
            example.com is your reserved domain name. This is required to issue
            certificates for wildcard, non-ngrok reserved domains. Must be null
            for non-wildcard domains and ngrok subdomains.
          type: string
        resolves_to:
          description: >
            DNS resolver targets configured for the reserved domain, or empty
            for "global" resolution.
          type: array
          items:
            $ref: '#/components/schemas/ReservedDomainResolvesToEntry'
    ReservedDomainCertPolicy:
      type: object
      properties:
        authority:
          description: >
            certificate authority to request certificates from. The only
            supported value is letsencrypt.
          type: string
        private_key_type:
          description: >
            type of private key to use when requesting certificates. Defaults to
            ecdsa, can be either rsa or ecdsa.
          type: string
    ReservedDomainResolvesToEntry:
      type: object
      properties:
        value:
          description: |
            accepts an ngrok point-of-presence shortcode, or "global"
          type: string
    Ref:
      type: object
      properties:
        id:
          description: |
            a resource identifier
          type: string
        uri:
          description: |
            a uri for locating a resource
          type: string
    ReservedDomainCertStatus:
      type: object
      properties:
        renews_at:
          description: |
            timestamp when the next renewal will be requested, RFC 3339 format
          type: string
        provisioning_job:
          $ref: '#/components/schemas/ReservedDomainCertJob'
          description: >
            status of the certificate provisioning job, or null if the
            certificiate isn't being provisioned or renewed
    ReservedDomainCertJob:
      type: object
      properties:
        error_code:
          description: >
            if present, an error code indicating why provisioning is failing. It
            may be either a temporary condition (INTERNAL_ERROR), or a permanent
            one the user must correct (DNS_ERROR).
          type: string
        msg:
          description: |
            a message describing the current status or error
          type: string
        started_at:
          description: |
            timestamp when the provisioning job started, RFC 3339 format
          type: string
        retries_at:
          description: |
            timestamp when the provisioning job will be retried
          type: string
  securitySchemes:
    authentication:
      type: http
      scheme: bearer

````