Cloudflare Hyperdrive API

Cloudflare Hyperdrive accelerates access to existing databases from Cloudflare Workers by providing connection pooling and query caching at the edge. The API allows developers to create and manage Hyperdrive configurations that connect to PostgreSQL and other databases.

OpenAPI Specification

cloudflare-hyperdrive-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Cloudflare Hyperdrive API
  description: >-
    Cloudflare Hyperdrive accelerates access to existing databases from
    Cloudflare Workers by providing connection pooling and query caching at
    the edge. The API allows developers to create and manage Hyperdrive
    configurations that connect to PostgreSQL and other databases.
  version: '4.0'
  contact:
    name: Cloudflare Support
    url: https://support.cloudflare.com/
  termsOfService: https://www.cloudflare.com/terms/
externalDocs:
  description: Cloudflare Hyperdrive API Documentation
  url: https://developers.cloudflare.com/api/resources/hyperdrive/
servers:
- url: https://api.cloudflare.com/client/v4
  description: Cloudflare API v4 Production Server
tags:
- name: Configurations
  description: >-
    Create, list, update, and delete Hyperdrive configurations that connect
    Workers to databases.
security:
- bearerAuth: []
paths:
  /accounts/{account_id}/hyperdrive/configs:
    get:
      operationId: listHyperdriveConfigs
      summary: Cloudflare List Hyperdrive Configurations
      description: >-
        Returns all Hyperdrive configurations for the account.
      tags:
      - Configurations
      parameters:
      - $ref: '#/components/parameters/AccountId'
      responses:
        '200':
          description: List of Hyperdrive configurations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigListResponse'
              examples:
                Listhyperdriveconfigs200Example:
                  summary: Default listHyperdriveConfigs 200 response
                  x-microcks-default: true
                  value:
                    result:
                    - id: abc123
                      name: Example Title
                      origin: {}
                      caching: {}
                    success: true
        '401':
          description: Unauthorized.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createHyperdriveConfig
      summary: Cloudflare Create Hyperdrive Configuration
      description: >-
        Create a new Hyperdrive configuration with database origin connection
        details and caching settings.
      tags:
      - Configurations
      parameters:
      - $ref: '#/components/parameters/AccountId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigInput'
            examples:
              CreatehyperdriveconfigRequestExample:
                summary: Default createHyperdriveConfig request
                x-microcks-default: true
                value:
                  name: Example Title
                  origin:
                    scheme: example_value
                    host: example_value
                    port: 10
                    database: example_value
                    user: example_value
                    password: example_value
                  caching:
                    disabled: true
                    max_age: 10
                    stale_while_revalidate: 10
      responses:
        '200':
          description: Configuration created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigResponse'
              examples:
                Createhyperdriveconfig200Example:
                  summary: Default createHyperdriveConfig 200 response
                  x-microcks-default: true
                  value:
                    result:
                      id: abc123
                      name: Example Title
                      origin:
                        scheme: example_value
                        host: example_value
                        port: 10
                        database: example_value
                        user: example_value
                      caching:
                        disabled: true
                        max_age: 10
                        stale_while_revalidate: 10
                    success: true
                    errors:
                    - {}
                    messages:
                    - {}
        '400':
          description: Bad request.
        '401':
          description: Unauthorized.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /accounts/{account_id}/hyperdrive/configs/{config_id}:
    get:
      operationId: getHyperdriveConfig
      summary: Cloudflare Get Hyperdrive Configuration
      description: >-
        Retrieve details of a specific Hyperdrive configuration.
      tags:
      - Configurations
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ConfigId'
      responses:
        '200':
          description: Configuration details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfigResponse'
              examples:
                Gethyperdriveconfig200Example:
                  summary: Default getHyperdriveConfig 200 response
                  x-microcks-default: true
                  value:
                    result:
                      id: abc123
                      name: Example Title
                      origin:
                        scheme: example_value
                        host: example_value
                        port: 10
                        database: example_value
                        user: example_value
                      caching:
                        disabled: true
                        max_age: 10
                        stale_while_revalidate: 10
                    success: true
                    errors:
                    - {}
                    messages:
                    - {}
        '401':
          description: Unauthorized.
        '404':
          description: Configuration not found.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateHyperdriveConfig
      summary: Cloudflare Update Hyperdrive Configuration
      description: >-
        Update a Hyperdrive configuration's connection details and settings.
      tags:
      - Configurations
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ConfigId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigInput'
            examples:
              UpdatehyperdriveconfigRequestExample:
                summary: Default updateHyperdriveConfig request
                x-microcks-default: true
                value:
                  name: Example Title
                  origin:
                    scheme: example_value
                    host: example_value
                    port: 10
                    database: example_value
                    user: example_value
                    password: example_value
                  caching:
                    disabled: true
                    max_age: 10
                    stale_while_revalidate: 10
      responses:
        '200':
          description: Configuration updated.
        '401':
          description: Unauthorized.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteHyperdriveConfig
      summary: Cloudflare Delete Hyperdrive Configuration
      description: >-
        Delete a Hyperdrive configuration.
      tags:
      - Configurations
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/ConfigId'
      responses:
        '200':
          description: Configuration deleted.
        '401':
          description: Unauthorized.
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API token with Hyperdrive permissions.
  parameters:
    AccountId:
      name: account_id
      in: path
      required: true
      description: The unique identifier of the Cloudflare account.
      schema:
        type: string
    ConfigId:
      name: config_id
      in: path
      required: true
      description: The unique identifier of the Hyperdrive configuration.
      schema:
        type: string
  schemas:
    HyperdriveConfig:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier.
          example: abc123
        name:
          type: string
          description: The name of the configuration.
          example: Example Title
        origin:
          type: object
          properties:
            scheme:
              type: string
              description: The database protocol.
            host:
              type: string
              description: The database host.
            port:
              type: integer
              description: The database port.
            database:
              type: string
              description: The database name.
            user:
              type: string
              description: The database user.
          example: example_value
        caching:
          type: object
          properties:
            disabled:
              type: boolean
              description: Whether caching is disabled.
            max_age:
              type: integer
              description: Maximum cache age in seconds.
            stale_while_revalidate:
              type: integer
              description: Stale-while-revalidate window in seconds.
          example: example_value
    ConfigInput:
      type: object
      required:
      - name
      - origin
      properties:
        name:
          type: string
          description: Name for the configuration.
          example: Example Title
        origin:
          type: object
          required:
          - scheme
          - host
          - port
          - database
          - user
          - password
          properties:
            scheme:
              type: string
              description: Database protocol.
            host:
              type: string
              description: Database host.
            port:
              type: integer
              description: Database port.
            database:
              type: string
              description: Database name.
            user:
              type: string
              description: Database user.
            password:
              type: string
              description: Database password.
          example: example_value
        caching:
          type: object
          properties:
            disabled:
              type: boolean
            max_age:
              type: integer
            stale_while_revalidate:
              type: integer
          example: example_value
    ConfigResponse:
      type: object
      properties:
        result:
          $ref: '#/components/schemas/HyperdriveConfig'
        success:
          type: boolean
          example: true
        errors:
          type: array
          items:
            type: object
          example: []
        messages:
          type: array
          items:
            type: object
          example: []
    ConfigListResponse:
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/HyperdriveConfig'
          example: []
        success:
          type: boolean
          example: true