Deno Deploy REST API

The Deno Deploy REST API provides programmatic access to manage projects and deployments on the Deno Deploy serverless edge platform. It exposes endpoints for creating and managing organizations, projects, deployments, domains, and KV databases, as well as retrieving analytics and usage metrics. The API base URL is https://api.deno.com/v1 and uses HTTP Bearer token authentication. An OpenAPI specification is published and can be used with OpenAPI-compatible tooling.

OpenAPI Specification

deno-deploy-rest-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Deno Deploy REST API
  description: >-
    The Deno Deploy REST API (v1) provides programmatic access to manage projects
    and deployments on the Deno Deploy serverless edge platform. It exposes endpoints
    for creating and managing organizations, projects, deployments, domains, and KV
    databases, as well as retrieving analytics and usage metrics. Authentication uses
    HTTP Bearer tokens generated from the Deno Deploy dashboard. This v1 API is
    scheduled for sunset on July 20, 2026; users should migrate to the v2 API.
  version: '1.0'
  contact:
    name: Deno Deploy Support
    url: https://deno.com/deploy
  termsOfService: https://deno.com/deploy/terms
externalDocs:
  description: Deno Deploy REST API Documentation
  url: https://docs.deno.com/deploy/api/rest/
servers:
  - url: https://api.deno.com/v1
    description: Deno Deploy Production API
tags:
  - name: Deployments
    description: Create, list, retrieve, redeploy, and delete deployments; access build and app logs
  - name: Domains
    description: Register and manage custom domains with TLS certificate support
  - name: KV Databases
    description: Create and manage Deno KV databases and backups
  - name: Organizations
    description: Retrieve organization details and analytics
  - name: Projects
    description: Create, list, update, and delete Deploy projects
security:
  - bearerAuth: []
paths:
  /organizations/{organizationId}:
    get:
      operationId: getOrganization
      summary: Get organization
      description: >-
        Retrieves the details of an organization by its UUID. Organizations are
        the top-level billing and access-control containers on Deno Deploy.
      tags:
        - Organizations
      parameters:
        - $ref: '#/components/parameters/organizationId'
      responses:
        '200':
          description: Organization retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /organizations/{organizationId}/analytics:
    get:
      operationId: getOrganizationAnalytics
      summary: Get organization analytics
      description: >-
        Returns time-series analytics data for an organization in 15-minute
        intervals. The time range is limited to a maximum of 24 hours and must
        be specified using RFC 3339 timestamps.
      tags:
        - Organizations
      parameters:
        - $ref: '#/components/parameters/organizationId'
        - name: since
          in: query
          required: true
          description: Start of the analytics time range in RFC 3339 format
          schema:
            type: string
            format: date-time
        - name: until
          in: query
          required: true
          description: End of the analytics time range in RFC 3339 format
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Analytics data retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /organizations/{organizationId}/projects:
    get:
      operationId: listProjects
      summary: List projects
      description: >-
        Returns a paginated list of all projects belonging to the specified
        organization. Supports filtering by name and sorting by various fields.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/organizationId'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/q'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/order'
      responses:
        '200':
          description: Projects listed successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Project'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: createProject
      summary: Create project
      description: >-
        Creates a new project within the specified organization. Projects are
        containers for deployments on Deno Deploy, and each project can have
        multiple deployments across its lifecycle.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/organizationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectRequest'
      responses:
        '200':
          description: Project created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /projects/{projectId}:
    get:
      operationId: getProject
      summary: Get project
      description: >-
        Retrieves the details of a specific project by its UUID, including its
        name, associated organization, and current configuration.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: Project retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateProject
      summary: Update project
      description: >-
        Updates mutable fields of an existing project such as its name.
        Only the fields present in the request body are modified.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectRequest'
      responses:
        '200':
          description: Project updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteProject
      summary: Delete project
      description: >-
        Permanently deletes a project and all of its deployments. This
        operation cannot be undone.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: Project deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /projects/{projectId}/analytics:
    get:
      operationId: getProjectAnalytics
      summary: Get project analytics
      description: >-
        Returns time-series analytics data for a specific project in 15-minute
        intervals. The time range is limited to a maximum of 24 hours and must
        be specified using RFC 3339 timestamps.
      tags:
        - Projects
      parameters:
        - $ref: '#/components/parameters/projectId'
        - name: since
          in: query
          required: true
          description: Start of the analytics time range in RFC 3339 format
          schema:
            type: string
            format: date-time
        - name: until
          in: query
          required: true
          description: End of the analytics time range in RFC 3339 format
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Analytics data retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Analytics'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /projects/{projectId}/deployments:
    get:
      operationId: listDeployments
      summary: List deployments
      description: >-
        Returns a paginated list of all deployments for a project. Supports
        filtering by deployment ID prefix and sorting by creation date.
      tags:
        - Deployments
      parameters:
        - $ref: '#/components/parameters/projectId'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/q'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/order'
      responses:
        '200':
          description: Deployments listed successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Deployment'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: createDeployment
      summary: Create deployment
      description: >-
        Creates a new deployment for the specified project. A deployment
        consists of assets (code and static files), environment variables,
        compiler options, and optional KV database associations. Assets support
        UTF-8 text, base64-encoded binary, git SHA-1 references, and symlinks.
      tags:
        - Deployments
      parameters:
        - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDeploymentRequest'
      responses:
        '200':
          description: Deployment created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deployment'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /deployments/{deploymentId}:
    get:
      operationId: getDeployment
      summary: Get deployment
      description: >-
        Retrieves the details of a specific deployment by its ID, including
        its status, associated project, domains, environment variables, and
        configuration.
      tags:
        - Deployments
      parameters:
        - $ref: '#/components/parameters/deploymentId'
      responses:
        '200':
          description: Deployment retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deployment'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteDeployment
      summary: Delete deployment
      description: >-
        Permanently deletes a specific deployment. Active deployments serving
        traffic cannot be deleted until domains are detached.
      tags:
        - Deployments
      parameters:
        - $ref: '#/components/parameters/deploymentId'
      responses:
        '200':
          description: Deployment deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /deployments/{deploymentId}/redeploy:
    post:
      operationId: redeployDeployment
      summary: Redeploy deployment
      description: >-
        Creates a new deployment based on an existing one, optionally overriding
        environment variables and KV database associations. Environment variables
        support merge semantics so only specified keys are modified.
      tags:
        - Deployments
      parameters:
        - $ref: '#/components/parameters/deploymentId'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RedeployRequest'
      responses:
        '200':
          description: Redeployment created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deployment'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /deployments/{deploymentId}/build_logs:
    get:
      operationId: getBuildLogs
      summary: Get build logs
      description: >-
        Retrieves the build logs for a deployment. Logs are returned as either
        a JSON array or newline-delimited JSON (NDJSON) depending on the Accept
        header. Build logs capture output from the deployment build process.
      tags:
        - Deployments
      parameters:
        - $ref: '#/components/parameters/deploymentId'
      responses:
        '200':
          description: Build logs retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BuildLogEntry'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /deployments/{deploymentId}/app_logs:
    get:
      operationId: getAppLogs
      summary: Get application logs
      description: >-
        Retrieves or streams runtime application logs for a deployment. Supports
        filtering by log level, region, time range, and full-text search query.
        Cursor-based pagination is supported for large result sets. When no
        until parameter is specified, the endpoint streams logs in real time.
      tags:
        - Deployments
      parameters:
        - $ref: '#/components/parameters/deploymentId'
        - name: q
          in: query
          description: Full-text search query to filter log messages
          schema:
            type: string
        - name: level
          in: query
          description: Filter logs by severity level
          schema:
            type: string
            enum: [debug, info, warning, error]
        - name: region
          in: query
          description: Filter logs by the deployment region that emitted them
          schema:
            type: string
        - name: since
          in: query
          description: Return logs after this RFC 3339 timestamp
          schema:
            type: string
            format: date-time
        - name: until
          in: query
          description: Return logs before this RFC 3339 timestamp; omit to stream
          schema:
            type: string
            format: date-time
        - name: limit
          in: query
          description: Maximum number of log entries to return
          schema:
            type: integer
            minimum: 1
            maximum: 300
        - name: sort
          in: query
          description: Field to sort results by
          schema:
            type: string
        - name: order
          in: query
          description: Sort direction
          schema:
            type: string
            enum: [asc, desc]
        - name: cursor
          in: query
          description: Pagination cursor from a previous response Link header
          schema:
            type: string
      responses:
        '200':
          description: Application logs retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AppLogEntry'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /deployments/{deploymentId}/domains/{domain}:
    put:
      operationId: attachDomainToDeployment
      summary: Attach domain to deployment
      description: >-
        Associates a custom domain with a specific deployment, routing all
        traffic for that domain to the deployment. The domain must already
        be registered and verified in the organization.
      tags:
        - Domains
      parameters:
        - $ref: '#/components/parameters/deploymentId'
        - name: domain
          in: path
          required: true
          description: The custom domain name to attach
          schema:
            type: string
      responses:
        '200':
          description: Domain attached successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachDomainResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: detachDomainFromDeployment
      summary: Detach domain from deployment
      description: >-
        Removes the association between a custom domain and a deployment.
        After detachment, the domain no longer routes traffic to this
        deployment and can be attached to a different deployment.
      tags:
        - Domains
      parameters:
        - $ref: '#/components/parameters/deploymentId'
        - name: domain
          in: path
          required: true
          description: The custom domain name to detach
          schema:
            type: string
      responses:
        '200':
          description: Domain detached successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /organizations/{organizationId}/domains:
    get:
      operationId: listDomains
      summary: List domains
      description: >-
        Returns a paginated list of all custom domains registered within
        an organization. Includes verification status and TLS certificate
        information for each domain.
      tags:
        - Domains
      parameters:
        - $ref: '#/components/parameters/organizationId'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/q'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/order'
      responses:
        '200':
          description: Domains listed successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Domain'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: createDomain
      summary: Create domain
      description: >-
        Registers a new custom domain within the organization. After creation,
        the domain must be verified via DNS before it can be attached to
        deployments. TLS certificates can be uploaded or automatically
        provisioned after verification.
      tags:
        - Domains
      parameters:
        - $ref: '#/components/parameters/organizationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDomainRequest'
      responses:
        '200':
          description: Domain created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domain'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /domains/{domainId}:
    get:
      operationId: getDomain
      summary: Get domain
      description: >-
        Retrieves the details of a specific custom domain by its UUID,
        including its verification status, TLS certificate state, and
        current deployment association.
      tags:
        - Domains
      parameters:
        - $ref: '#/components/parameters/domainId'
      responses:
        '200':
          description: Domain retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domain'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteDomain
      summary: Delete domain
      description: >-
        Permanently removes a custom domain from the organization. Any
        active deployment associations must be detached before the domain
        can be deleted.
      tags:
        - Domains
      parameters:
        - $ref: '#/components/parameters/domainId'
      responses:
        '200':
          description: Domain deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /domains/{domainId}/verify:
    post:
      operationId: verifyDomain
      summary: Verify domain ownership
      description: >-
        Triggers DNS-based verification for a custom domain. Deno Deploy checks
        for the presence of a DNS TXT record to confirm domain ownership before
        allowing the domain to serve traffic.
      tags:
        - Domains
      parameters:
        - $ref: '#/components/parameters/domainId'
      responses:
        '200':
          description: Domain verification initiated successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /domains/{domainId}/certificates:
    post:
      operationId: addDomainCertificate
      summary: Upload TLS certificate
      description: >-
        Uploads a custom TLS certificate and private key for a domain.
        The certificate must be valid for the domain and signed by a
        trusted certificate authority. Alternatively, certificates can
        be automatically provisioned via Let's Encrypt.
      tags:
        - Domains
      parameters:
        - $ref: '#/components/parameters/domainId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddDomainCertificateRequest'
      responses:
        '200':
          description: Certificate uploaded successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /domains/{domainId}/certificates/provision:
    post:
      operationId: provisionDomainCertificates
      summary: Provision TLS certificate
      description: >-
        Automatically provisions a TLS certificate for a verified domain
        using Let's Encrypt. The domain must be verified before this
        endpoint can be called.
      tags:
        - Domains
      parameters:
        - $ref: '#/components/parameters/domainId'
      responses:
        '200':
          description: Certificate provisioning initiated successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /organizations/{organizationId}/databases:
    get:
      operationId: listKvDatabases
      summary: List KV databases
      description: >-
        Returns a paginated list of all Deno KV databases belonging to the
        organization. Each database can be associated with one or more
        deployments and supports optional S3 backup configuration.
      tags:
        - KV Databases
      parameters:
        - $ref: '#/components/parameters/organizationId'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/q'
        - $ref: '#/components/parameters/sort'
        - $ref: '#/components/parameters/order'
      responses:
        '200':
          description: KV databases listed successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/KvDatabase'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: createKvDatabase
      summary: Create KV database
      description: >-
        Creates a new Deno KV database within the organization. The database
        can be given a descriptive name and subsequently associated with
        deployments to provide persistent, globally distributed key-value
        storage.
      tags:
        - KV Databases
      parameters:
        - $ref: '#/components/parameters/organizationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateKvDatabaseRequest'
      responses:
        '200':
          description: KV database created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KvDatabase'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /databases/{databaseId}:
    patch:
      operationId: updateKvDatabase
      summary: Update KV database
      description: >-
        Updates the name or description of an existing Deno KV database.
        Only the fields present in the request body are modified.
      tags:
        - KV Databases
      parameters:
        - $ref: '#/components/parameters/databaseId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateKvDatabaseRequest'
      responses:
        '200':
          description: KV database updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KvDatabase'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /databases/{databaseId}/database_backups:
    get:
      operationId: listKvBackups
      summary: List KV database backups
      description: >-
        Returns a list of all backup configurations for a Deno KV database.
        Each backup entry includes the S3 destination, schedule, and current
        status of the backup job.
      tags:
        - KV Databases
      parameters:
        - $ref: '#/components/parameters/databaseId'
      responses:
        '200':
          description: KV database backups listed successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/KvDatabaseBackup'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: enableKvBackup
      summary: Enable KV database backup
      description: >-
        Enables automatic backups for a Deno KV database to an S3-compatible
        storage bucket. Backups are taken on a configurable schedule and stored
        in the specified S3 bucket using the provided credentials.
      tags:
        - KV Databases
      parameters:
        - $ref: '#/components/parameters/databaseId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnableKvBackupRequest'
      responses:
        '200':
          description: KV database backup enabled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnableKvBackupResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /database_backups/{databaseBackupId}:
    get:
      operationId: getKvBackup
      summary: Get KV database backup
      description: >-
        Retrieves the details of a specific KV database backup configuration
        by its UUID, including current status and S3 destination.
      tags:
        - KV Databases
      parameters:
        - $ref: '#/components/parameters/databaseBackupId'
      responses:
        '200':
          description: KV database backup retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KvDatabaseBackup'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: disableKvBackup
      summary: Disable KV database backup
      description: >-
        Disables automatic backups for a specific KV database backup
        configuration. Existing backup files in S3 are not removed.
      tags:
        - KV Databases
      parameters:
        - $ref: '#/components/parameters/databaseBackupId'
      responses:
        '200':
          description: KV database backup disabled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisableKvBackupResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer token authentication. Generate tokens from the Deno Deploy
        dashboard under Settings > Access Tokens.
  parameters:
    organizationId:
      name: organizationId
      in: path
      required: true
      description: UUID of the organization
      schema:
        type: string
        format: uuid
    projectId:
      name: projectId
      in: path
      required: true
      description: UUID of the project
      schema:
        type: string
        format: uuid
    deploymentId:
      name: deploymentId
      in: path
      required: true
      description: Identifier of the deployment
      schema:
        type: string
    domainId:
      name: domainId
      in: path
      required: true
      description: UUID of the custom domain
      schema:
        type: string
        format: uuid
    databaseId:
      name: databaseId
      in: path
      required: true
      description: UUID of the KV database
      schema:
        type: string
        format: uuid
    databaseBackupId:
      name: databaseBackupId
      in: path
      required: true
      description: UUID of the KV database backup configuration
      schema:
        type: string
        format: uuid
    page:
      name: page
      in: query
      description: Page number for paginated results (1-based)
      schema:
        type: integer
        minimum: 1
        default: 1
    limit:
      name: limit
      in: query
      description: Maximum number of items to return per page
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
    q:
      name: q
      in: query
      description: Search query to filter results by name or identifier
      schema:
        type: string
    sort:
      name: sort
      in: query
      description: Field name to sort results by
      schema:
        type: string
    order:
      name: order
      in: query
      description: Sort order direction
      schema:
        type: string
        enum: [asc, desc]
        default: asc
  re

# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/deno/refs/heads/main/openapi/deno-deploy-rest-api-openapi.yml