---
title: Cloudflare API
description: Generated public TypeScript reference for @relkit/cloudflare.
search:
  exclude: true
sidebar:
  icon: braces
---

{/* Generated by apps/docs/scripts/generate.ts. Do not edit. */}

For configuration and examples, read [integrations](/docs/modules/integrations), [providers](/docs/modules/deployment/providers).

## Public imports

- `@relkit/cloudflare` — 6 exports
- `@relkit/cloudflare/runtime` — 6 exports

## All exported APIs

Names link to their complete contracts. Re-exports share their original contract; legacy exports keep their separate identity. Examples link to the API's inline sample, a maintained repository usage, or the shared module walkthrough.

| API                                                                                                    | Kind  | Import from                  | Example                                                                                                  |
| ------------------------------------------------------------------------------------------------------ | ----- | ---------------------------- | -------------------------------------------------------------------------------------------------------- |
| [CloudflareKvAdapter](/docs/api/integrations/cloudflare#cloudflarekvadapter-type-alias)                | Type  | `@relkit/cloudflare`         | [Module example](/docs/modules/integrations)                                                             |
| [CloudflareKvCacheOptions](/docs/api/integrations/cloudflare#cloudflarekvcacheoptions-interface)       | Type  | `@relkit/cloudflare/runtime` | [Module example](/docs/modules/integrations)                                                             |
| [CloudflareKvCacheProvider](/docs/api/integrations/cloudflare#cloudflarekvcacheprovider-interface)     | Type  | `@relkit/cloudflare/runtime` | [Module example](/docs/modules/integrations)                                                             |
| [CloudflareKvOptions](/docs/api/integrations/cloudflare#cloudflarekvoptions-interface)                 | Type  | `@relkit/cloudflare`         | [Module example](/docs/modules/integrations)                                                             |
| [CloudflareR2Adapter](/docs/api/integrations/cloudflare#cloudflarer2adapter-type-alias)                | Type  | `@relkit/cloudflare`         | [Module example](/docs/modules/integrations)                                                             |
| [CloudflareR2BucketOptions](/docs/api/integrations/cloudflare#cloudflarer2bucketoptions-interface)     | Type  | `@relkit/cloudflare/runtime` | [Module example](/docs/modules/integrations)                                                             |
| [CloudflareR2Options](/docs/api/integrations/cloudflare#cloudflarer2options-interface)                 | Type  | `@relkit/cloudflare`         | [Module example](/docs/modules/integrations)                                                             |
| [createCloudflareKvCacheProvider](/docs/api/integrations/cloudflare#createcloudflarekvcacheprovider)   | Value | `@relkit/cloudflare/runtime` | [Module example](/docs/modules/integrations)                                                             |
| [createCloudflareR2BucketProvider](/docs/api/integrations/cloudflare#createcloudflarer2bucketprovider) | Value | `@relkit/cloudflare/runtime` | [Module example](/docs/modules/integrations)                                                             |
| [kv](/docs/api/integrations/cloudflare#kv)                                                             | Value | `@relkit/cloudflare`         | [Source example](https://github.com/rel-kit/relkit/blob/main/apps/docs/examples/setup/cloudflare.ts#L18) |
| [r2](/docs/api/integrations/cloudflare#r2)                                                             | Value | `@relkit/cloudflare`         | [Source example](https://github.com/rel-kit/relkit/blob/main/apps/docs/examples/setup/cloudflare.ts#L8)  |
| [runtimeIntegration](/docs/api/integrations/cloudflare#runtimeintegration)                             | Value | `@relkit/cloudflare/runtime` | [Module example](/docs/modules/integrations)                                                             |

## `cloudflare.ts`

### kv

Defines a connected Cloudflare Workers KV cache.

**Signature**

```ts
declare const kv: (options: CloudflareKvOptions) => CloudflareKvAdapter;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/cloudflare.ts#L71)

Since v0.2.0

### r2

Defines a connected Cloudflare R2 bucket through its S3-compatible API.

**Signature**

```ts
declare const r2: (options: CloudflareR2Options) => CloudflareR2Adapter;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/cloudflare.ts#L96)

Since v0.2.0

### CloudflareKvAdapter (type alias)

**Signature**

```ts
type CloudflareKvAdapter = ProviderAdapter<
  typeof cache,
  "cloudflare-kv",
  ProviderConnectionValues,
  ProviderBehavior<Readonly<{ minimumTtlMs: 60_000 }>>
>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/cloudflare.ts#L52)

### CloudflareKvOptions (interface)

**Signature**

```ts
export interface CloudflareKvOptions {
  readonly accountId: TextValue;
  readonly namespaceId: TextValue;
  readonly apiToken: SecretReference;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/cloudflare.ts#L36)

### CloudflareR2Adapter (type alias)

**Signature**

```ts
type CloudflareR2Adapter = ProviderAdapter<
  typeof bucket,
  "cloudflare-r2",
  ProviderConnectionValues,
  ProviderBehavior<Readonly<{ signedUrlTtlSeconds: number }>>
>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/cloudflare.ts#L59)

### CloudflareR2Options (interface)

**Signature**

```ts
export interface CloudflareR2Options {
  readonly accountId: TextValue;
  readonly bucketName: TextValue;
  readonly credentials: Readonly<{
    accessKeyId: SecretReference;
    secretAccessKey: SecretReference;
  }>;
  readonly signedUrlTtlSeconds?: number;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/cloudflare.ts#L42)

## `index.ts`

### "./cloudflare.js" (namespace export)

Re-exports all named exports from the "./cloudflare.js" module.

**Signature**

```ts
export * from "./cloudflare.js";
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/index.ts#L1)

## `index.ts`

### "./kv.js" (namespace export)

Re-exports all named exports from the "./kv.js" module.

**Signature**

```ts
export * from "./kv.js";
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/runtime/index.ts#L5)

### "./r2.js" (namespace export)

Re-exports all named exports from the "./r2.js" module.

**Signature**

```ts
export * from "./r2.js";
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/runtime/index.ts#L6)

### runtimeIntegration

**Signature**

```ts
declare const runtimeIntegration: Readonly<{
  kind: "runtime-integration";
  integrationId: "cloudflare";
  registrations: ReadonlyArray<
    | {
        capability: string;
        adapterId: string;
        protocolVersion: number;
        create: ({ connection, behavior }: RuntimeProviderContext) => { value: BucketProvider };
      }
    | {
        capability: string;
        adapterId: string;
        protocolVersion: number;
        create: ({ profile, connection }: RuntimeProviderContext) => {
          value: CloudflareKvCacheProvider;
          ready: () => Promise<void>;
          release: () => Promise<void>;
        };
      }
  >;
}>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/runtime/index.ts#L8)

## `kv.ts`

### CloudflareKvCacheOptions (interface)

**Signature**

```ts
export interface CloudflareKvCacheOptions {
  readonly accountId: string;
  readonly namespaceId: string;
  readonly apiToken: string;
  readonly cacheId: string;
  readonly fetch?: typeof globalThis.fetch;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/runtime/kv.ts#L4)

### CloudflareKvCacheProvider (interface)

**Signature**

```ts
export interface CloudflareKvCacheProvider extends CacheProvider {
  readonly ready: () => Promise<void>;
  readonly close: () => Promise<void>;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/runtime/kv.ts#L12)

### createCloudflareKvCacheProvider

**Signature**

```ts
declare const createCloudflareKvCacheProvider: (
  options: CloudflareKvCacheOptions,
) => CloudflareKvCacheProvider;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/runtime/kv.ts#L17)

## `r2-signing.ts`

### R2Credentials (interface)

**Signature**

```ts
export interface R2Credentials {
  readonly accessKeyId: string;
  readonly secretAccessKey: string;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/runtime/r2-signing.ts#L1)

### R2RequestInit (type alias)

**Signature**

```ts
type R2RequestInit = Omit<RequestInit, "body"> & {
  readonly body?: string | Uint8Array | null;
};
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/runtime/r2-signing.ts#L6)

### assertR2Response

**Signature**

```ts
declare const assertR2Response: (response: Response, operation: string) => Promise<Response>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/runtime/r2-signing.ts#L57)

### presignR2Url

**Signature**

```ts
declare const presignR2Url: (
  url: string,
  method: "GET" | "PUT",
  credentials: R2Credentials,
  expiresSeconds: number,
) => Promise<string>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/runtime/r2-signing.ts#L27)

### signedR2Request

**Signature**

```ts
declare const signedR2Request: (
  url: string,
  credentials: R2Credentials,
  init?: R2RequestInit,
  fetcher?: typeof globalThis.fetch,
) => Promise<Response>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/runtime/r2-signing.ts#L10)

## `r2.ts`

### CloudflareR2BucketOptions (interface)

**Signature**

```ts
export interface CloudflareR2BucketOptions extends R2Credentials {
  readonly accountId: string;
  readonly bucketName: string;
  readonly signedUrlTtlSeconds?: number;
  readonly fetch?: typeof globalThis.fetch;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/runtime/r2.ts#L10)

### createCloudflareR2BucketProvider

**Signature**

```ts
declare const createCloudflareR2BucketProvider: (
  options: CloudflareR2BucketOptions,
) => BucketProvider;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/cloudflare/src/runtime/r2.ts#L17)
