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