API Reference Storages
Create a new storage Create a new storage configuration for cloud storage providers like AWS S3, Cloudflare R2, etc. The storage credentials will be validated before saving.
Authorization Authorization
header
string
required
Enter the project access token with the Bearer prefix, e.g. "Bearer project_access_token"
Body application/json
Storage creation parameters
aws chunkify cloudflare s3_compatible
Storage parameters for AWS S3 storage.
access_key_id
string
required
AccessKeyId is the access key for the storage provider. Required if not using Chunkify storage.
Bucket is the name of the storage bucket.
provider
"aws"
string
required
Provider specifies the storage provider.
Region specifies the region of the storage provider.
Available options:
us-east-1us-east-2us-central-1us-west-1us-west-2eu-west-1eu-west-2eu-west-3eu-central-1eu-north-1ap-east-1ap-east-2ap-northeast-1ap-northeast-2ap-south-1ap-southeast-1ap-southeast-2
secret_access_key
string
required
SecretAccessKey is the secret key for the storage provider. Required if not using Chunkify storage.
Object-key prefix for final job outputs. The API normalizes it without a leading slash and with one trailing slash. Omit it or send an empty string to use the bucket root.
Optional customer-managed HTTPS delivery origin. It must not contain credentials, a path, query string, or fragment.
Examples:
https://media.example.com
public
default: false
boolean
Public indicates whether the storage is publicly accessible.
Storage parameters for Chunkify ephemeral storage.
provider
"chunkify"
string
required
Provider specifies the storage provider.
Available options:
chunkify
Chunkify available regions.
Available options:
us-east-1us-east-2us-west-1us-west-2eu-west-1eu-west-2ap-northeast-1ap-southeast-1
Unsupported for Chunkify-managed temporary storage. Requests that provide this field are rejected.
Examples:
https://media.example.com
Storage parameters for Cloudflare R2 storage.
access_key_id
string
required
AccessKeyId is the access key for the storage provider.
Bucket is the name of the storage bucket.
endpoint
string
uri
required
Endpoint is the endpoint of the storage provider.
Examples:
https://[id].r2.cloudflarestorage.com
Pattern:
^https://[a-z0-9]{32}\.r2\.cloudflarestorage\.com$
Location specifies the location of the storage provider.
Available options:
USEUASIA
provider
"cloudflare"
string
required
Provider specifies the storage provider.
Available options:
cloudflare
region
"auto"
string
required
Region must be set to 'auto'.
secret_access_key
string
required
SecretAccessKey is the secret key for the storage provider.
Object-key prefix for final job outputs. The API normalizes it without a leading slash and with one trailing slash. Omit it or send an empty string to use the bucket root.
Optional customer-managed HTTPS delivery origin. It must not contain credentials, a path, query string, or fragment.
Examples:
https://media.example.com
public
default: false
boolean
Public indicates whether the storage is publicly accessible.
Storage parameters for a public S3-compatible service such as MinIO, Wasabi, or Backblaze B2.
access_key_id
string
required
Access key for the storage provider.
Bucket is the name of the storage bucket.
endpoint
string
uri
required
Public HTTPS origin for the S3-compatible service. Credentials, paths, queries, fragments, and non-public destinations are rejected.
Examples:
https://s3.us-west-004.backblazeb2.com
Location specifies the location of the storage provider.
Available options:
USEUASIA
provider
"s3_compatible"
string
required
Stable provider identifier for generic S3-compatible storage.
Available options:
s3_compatible
Explicit provider region used for S3 request signing. Vendor-specific identifiers are accepted.
Pattern:
^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$
secret_access_key
string
required
Secret key for the storage provider.
Object-key prefix for final job outputs. The API normalizes it without a leading slash and with one trailing slash. Omit it or send an empty string to use the bucket root.
Optional customer-managed HTTPS delivery origin. It must not contain credentials, a path, query string, or fragment.
Examples:
https://media.example.com
public
default: false
boolean
Whether the bucket is publicly readable.
Responses 201 400 401 429
application/json Data contains the response object
chunkify cloudflare aws s3_compatible
Show chunkify properties
created_at
string
date-time
required
Examples:
2021-01-01T00:00:00Z
Unique identifier of the storage configuration
Examples:
stor_chunkify_S1cce6120E56e7Tu9ioP09Nhjk1
provider
"chunkify"
string
required
Provider specifies the storage provider.
Available options:
chunkify
Chunkify available regions.
Available options:
us-east-1us-east-2us-west-1us-west-2eu-west-1eu-west-2ap-northeast-1ap-southeast-1
Unique identifier of the storage configuration
Show cloudflare properties
base_prefix
string
required
Canonical object-key prefix prepended to every final job output in this customer-owned storage. An empty string means the bucket root.
Bucket is the name of the storage bucket.
created_at
string
date-time
required
Examples:
2021-01-01T00:00:00Z
endpoint
string
uri
required
Endpoint is the endpoint of the storage provider.
Examples:
https://[id].r2.cloudflarestorage.com
Pattern:
^https://[a-z0-9]{32}\.r2\.cloudflarestorage\.com$
Unique identifier of the storage configuration
Examples:
stor_cloudflare_S1cce6120E56e7Tu9ioP09Nhjk1
Location specifies the location of the storage provider.
Available options:
USEUASIA
provider
"cloudflare"
string
required
Provider specifies the storage provider.
Available options:
cloudflare
public
default: false
boolean
required
Public indicates whether the storage is publicly accessible.
region
"auto"
string
required
Region specifies the region of the storage provider.
Unique identifier of the storage configuration
Optional customer-managed HTTPS delivery origin used to build stable CDN URLs for objects in this storage.
Examples:
https://media.example.com
Show aws properties
base_prefix
string
required
Canonical object-key prefix prepended to every final job output in this customer-owned storage. An empty string means the bucket root.
Bucket is the name of the storage bucket.
created_at
string
date-time
required
Examples:
2021-01-01T00:00:00Z
Unique identifier of the storage configuration
Examples:
stor_aws_S1cce6120E56e7Tu9ioP09Nhjk1
provider
"aws"
string
required
Provider specifies the storage provider.
public
default: false
boolean
required
Public indicates whether the storage is publicly accessible.
Region specifies the region of the storage provider.
Available options:
us-east-1us-east-2us-central-1us-west-1us-west-2eu-west-1eu-west-2eu-west-3eu-central-1eu-north-1ap-east-1ap-east-2ap-northeast-1ap-northeast-2ap-south-1ap-southeast-1ap-southeast-2
Unique identifier of the storage configuration
Optional customer-managed HTTPS delivery origin used to build stable CDN URLs for objects in this storage.
Examples:
https://media.example.com
A customer-owned storage connection using the standard S3 API.
Show s3_compatible properties
addressing_style
string
required
Addressing style detected during connection validation and used for later S3 operations.
Available options:
virtualpath
base_prefix
string
required
Canonical object-key prefix prepended to every final job output in this customer-owned storage. An empty string means the bucket root.
Bucket is the name of the storage bucket.
created_at
string
date-time
required
Examples:
2021-01-01T00:00:00Z
endpoint
string
uri
required
Public HTTPS origin for the S3-compatible service. Credentials, paths, queries, fragments, and non-public destinations are rejected.
Examples:
https://s3.us-west-004.backblazeb2.com
Unique identifier of the storage configuration
Examples:
stor_s3_compatible_S1cce6120E56e7Tu9ioP09Nhjk1
Location specifies the location of the storage provider.
Available options:
USEUASIA
provider
"s3_compatible"
string
required
Stable provider identifier for generic S3-compatible storage.
Available options:
s3_compatible
Public indicates whether the storage is publicly accessible.
Provider region used for S3 request signing. This is independent from the Chunkify workload location.
Unique identifier of the storage configuration
Examples:
s3_compatible-40
Optional customer-managed HTTPS delivery origin used to build stable CDN URLs for objects in this storage.
Examples:
https://media.example.com
status
"success"
string
required
Status indicates the response status "success"
The storage was created successfully
application/json Show error properties
Code is the HTTP status code
Message is a human-readable error description
Examples:
Invalid request parameters
type
"ValidationError"
string
required
Type indicates the error category
Available options:
ValidationError
status
"error"
string
required
Status indicates the response status "error"
Invalid request parameters
application/json Error response details
Show error properties
Code is the HTTP status code
Message is a human-readable error description
Examples:
Authentication error: invalid token or subscription inactive
type
"AuthenticationError"
string
required
Type indicates the error category
Available options:
AuthenticationError
status
"error"
string
required
Status indicates the response status "error"
Authentication error: invalid token or subscription inactive
application/json Error response details
Show error properties
Code is the HTTP status code
Message is a human-readable error description
Examples:
Rate limit exceeded
type
"TooManyRequestsError"
string
required
Type indicates the error category
Available options:
TooManyRequestsError
status
"error"
string
required
Status indicates the response status "error"
Rate limit exceeded
# Create a new storage
> Create a new storage configuration for cloud storage providers like AWS S3, Cloudflare R2, etc. The storage credentials will be validated before saving.
```json
{
"path": "/api/storages",
"method": "post",
"schema": {
"description": "Create a new storage configuration for cloud storage providers like AWS S3, Cloudflare R2, etc. The storage credentials will be validated before saving.",
"operationId": "createStorage",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StorageCreateParams"
}
}
},
"description": "Storage creation parameters",
"required": true,
"x-originalParamName": "request"
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StorageResponse"
}
}
},
"description": "The storage was created successfully"
},
"400": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorValidation"
}
}
},
"description": "Invalid request parameters"
},
"401": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorAuthentication"
}
}
},
"description": "Authentication error: invalid token or subscription inactive"
},
"429": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResponseErrorTooManyRequests"
}
}
},
"description": "Rate limit exceeded"
}
},
"security": [
{
"ProjectAccessToken": []
}
],
"summary": "Create a new storage",
"tags": [
"Storages"
],
"x-codeSamples": [
{
"lang": "JavaScript",
"source": "import Chunkify from '@chunkify/chunkify';\n\nconst client = new Chunkify({\n projectAccessToken: 'My Project Access Token',\n});\n\nconst storage = await client.storages.create({\n storage: {\n access_key_id: '1234567890',\n bucket: 'my-bucket',\n provider: 'aws',\n region: 'us-east-1',\n secret_access_key: '1234567890',\n base_prefix: 'chunkify/',\n },\n});\n\nconsole.log(storage);"
},
{
"lang": "Python",
"source": "from chunkify import Chunkify\n\nclient = Chunkify(\n project_access_token=\"My Project Access Token\",\n)\nstorage = client.storages.create(\n storage={\n \"access_key_id\": \"1234567890\",\n \"bucket\": \"my-bucket\",\n \"provider\": \"aws\",\n \"region\": \"us-east-1\",\n \"secret_access_key\": \"1234567890\",\n \"base_prefix\": \"chunkify/\",\n },\n)\nprint(storage)"
},
{
"lang": "php",
"source": "\u003c?php\n\nuse Chunkify\\Client;\n\n$client = new Client(\n projectAccessToken: 'My Project Access Token',\n);\n\n$storage = $client-\u003estorages-\u003ecreate(\n storage: [\n 'accessKeyID' =\u003e '1234567890',\n 'bucket' =\u003e 'my-bucket',\n 'provider' =\u003e 'aws',\n 'region' =\u003e 'us-east-1',\n 'secretAccessKey' =\u003e '1234567890',\n 'basePrefix' =\u003e 'chunkify/',\n ],\n);\n\nvar_dump($storage);"
},
{
"lang": "Go",
"source": "package main\n\nimport (\n \"context\"\n \"fmt\"\n\n \"github.com/chunkifydev/chunkify-go\"\n \"github.com/chunkifydev/chunkify-go/option\"\n)\n\nfunc main() {\n client := chunkify.NewClient(\n option.WithProjectAccessToken(\"My Project Access Token\"),\n )\n storage, err := client.Storages.New(context.TODO(), chunkify.StorageNewParams{\n OfAws: \u0026chunkify.StorageNewParamsStorageAws{\n AccessKeyID: \"1234567890\",\n Bucket: \"my-bucket\",\n Region: \"us-east-1\",\n SecretAccessKey: \"1234567890\",\n BasePrefix: \"chunkify/\",\n },\n })\n if err != nil {\n panic(err.Error())\n }\n fmt.Printf(\"%+v\\n\", storage)\n}\n"
}
]
}
}
```
```json #/components/schemas/ResponseErrorTooManyRequests
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 429,
"description": "Code is the HTTP status code",
"examples": [
429
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Rate limit exceeded"
],
"type": "string"
},
"type": {
"const": "TooManyRequestsError",
"description": "Type indicates the error category",
"enum": [
"TooManyRequestsError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```
```json #/components/schemas/StorageCreateParams
{
"description": "The parameters for creating a new storage configuration.",
"discriminator": {
"propertyName": "provider"
},
"oneOf": [
{
"$ref": "#/components/schemas/StorageAwsCreateParams"
},
{
"$ref": "#/components/schemas/StorageChunkifyCreateParams"
},
{
"$ref": "#/components/schemas/StorageCloudflareCreateParams"
},
{
"$ref": "#/components/schemas/StorageS3CompatibleCreateParams"
}
],
"type": "object"
}
```
```json #/components/schemas/StorageChunkifyCreateParams
{
"description": "Storage parameters for Chunkify ephemeral storage.",
"properties": {
"cdn_base_url": {
"description": "Unsupported for Chunkify-managed temporary storage. Requests that provide this field are rejected.",
"examples": [
"https://media.example.com"
],
"format": "uri",
"maxLength": 267,
"nullable": true,
"type": "string"
},
"provider": {
"const": "chunkify",
"description": "Provider specifies the storage provider.",
"enum": [
"chunkify"
],
"examples": [
"chunkify"
],
"type": "string"
},
"region": {
"$ref": "#/components/schemas/ChunkifyRegion",
"description": "Region specifies the region of the storage provider."
}
},
"required": [
"provider",
"region"
],
"type": "object"
}
```
```json #/components/schemas/ChunkifyRegion
{
"description": "Chunkify available regions.",
"enum": [
"us-east-1",
"us-east-2",
"us-west-1",
"us-west-2",
"eu-west-1",
"eu-west-2",
"ap-northeast-1",
"ap-southeast-1"
],
"type": "string"
}
```
```json #/components/schemas/StorageCloudflareCreateParams
{
"description": "Storage parameters for Cloudflare R2 storage.",
"properties": {
"access_key_id": {
"description": "AccessKeyId is the access key for the storage provider.",
"examples": [
"1234567890"
],
"type": "string"
},
"base_prefix": {
"description": "Object-key prefix for final job outputs. The API normalizes it without a leading slash and with one trailing slash. Omit it or send an empty string to use the bucket root.",
"examples": [
"chunkify/"
],
"maxLength": 768,
"type": "string"
},
"bucket": {
"description": "Bucket is the name of the storage bucket.",
"examples": [
"my-bucket"
],
"type": "string"
},
"cdn_base_url": {
"description": "Optional customer-managed HTTPS delivery origin. It must not contain credentials, a path, query string, or fragment.",
"examples": [
"https://media.example.com"
],
"format": "uri",
"maxLength": 267,
"nullable": true,
"type": "string"
},
"endpoint": {
"description": "Endpoint is the endpoint of the storage provider.",
"examples": [
"https://[id].r2.cloudflarestorage.com"
],
"format": "uri",
"pattern": "^https://[a-z0-9]{32}\\.r2\\.cloudflarestorage\\.com$",
"type": "string"
},
"location": {
"description": "Location specifies the location of the storage provider.",
"enum": [
"US",
"EU",
"ASIA"
],
"examples": [
"US"
],
"type": "string"
},
"provider": {
"const": "cloudflare",
"description": "Provider specifies the storage provider.",
"enum": [
"cloudflare"
],
"examples": [
"cloudflare"
],
"type": "string"
},
"public": {
"default": false,
"description": "Public indicates whether the storage is publicly accessible.",
"examples": [
"false"
],
"type": "boolean"
},
"region": {
"const": "auto",
"description": "Region must be set to 'auto'.",
"enum": [
"auto"
],
"examples": [
"auto"
],
"type": "string"
},
"secret_access_key": {
"description": "SecretAccessKey is the secret key for the storage provider.",
"examples": [
"1234567890"
],
"type": "string"
}
},
"required": [
"provider",
"region",
"bucket",
"access_key_id",
"secret_access_key",
"location",
"endpoint"
],
"type": "object"
}
```
```json #/components/schemas/StorageS3CompatibleCreateParams
{
"description": "Storage parameters for a public S3-compatible service such as MinIO, Wasabi, or Backblaze B2.",
"properties": {
"access_key_id": {
"description": "Access key for the storage provider.",
"maxLength": 256,
"minLength": 1,
"type": "string"
},
"base_prefix": {
"description": "Object-key prefix for final job outputs. The API normalizes it without a leading slash and with one trailing slash. Omit it or send an empty string to use the bucket root.",
"examples": [
"chunkify/"
],
"maxLength": 768,
"type": "string"
},
"bucket": {
"description": "Bucket is the name of the storage bucket.",
"examples": [
"my-bucket"
],
"maxLength": 255,
"minLength": 1,
"type": "string"
},
"cdn_base_url": {
"description": "Optional customer-managed HTTPS delivery origin. It must not contain credentials, a path, query string, or fragment.",
"examples": [
"https://media.example.com"
],
"format": "uri",
"maxLength": 267,
"nullable": true,
"type": "string"
},
"endpoint": {
"description": "Public HTTPS origin for the S3-compatible service. Credentials, paths, queries, fragments, and non-public destinations are rejected.",
"examples": [
"https://s3.us-west-004.backblazeb2.com"
],
"format": "uri",
"maxLength": 267,
"type": "string"
},
"location": {
"$ref": "#/components/schemas/StorageLocation",
"description": "Chunkify workload location. It controls where Chunkify processes the workload and is independent from the provider region."
},
"provider": {
"const": "s3_compatible",
"description": "Stable provider identifier for generic S3-compatible storage.",
"enum": [
"s3_compatible"
],
"examples": [
"s3_compatible"
],
"type": "string"
},
"public": {
"default": false,
"description": "Whether the bucket is publicly readable.",
"type": "boolean"
},
"region": {
"description": "Explicit provider region used for S3 request signing. Vendor-specific identifiers are accepted.",
"examples": [
"us-west-004"
],
"maxLength": 128,
"minLength": 1,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$",
"type": "string"
},
"secret_access_key": {
"description": "Secret key for the storage provider.",
"maxLength": 256,
"minLength": 1,
"type": "string"
}
},
"required": [
"provider",
"region",
"bucket",
"access_key_id",
"secret_access_key",
"location",
"endpoint"
],
"type": "object"
}
```
```json #/components/schemas/StorageLocation
{
"description": "Location specifies the location of the storage provider.",
"enum": [
"US",
"EU",
"ASIA"
],
"examples": [
"US"
],
"type": "string"
}
```
```json #/components/schemas/StorageAwsCreateParams
{
"description": "Storage parameters for AWS S3 storage.",
"properties": {
"access_key_id": {
"description": "AccessKeyId is the access key for the storage provider. Required if not using Chunkify storage.",
"examples": [
"1234567890"
],
"type": "string"
},
"base_prefix": {
"description": "Object-key prefix for final job outputs. The API normalizes it without a leading slash and with one trailing slash. Omit it or send an empty string to use the bucket root.",
"examples": [
"chunkify/"
],
"maxLength": 768,
"type": "string"
},
"bucket": {
"description": "Bucket is the name of the storage bucket.",
"examples": [
"my-bucket"
],
"type": "string"
},
"cdn_base_url": {
"description": "Optional customer-managed HTTPS delivery origin. It must not contain credentials, a path, query string, or fragment.",
"examples": [
"https://media.example.com"
],
"format": "uri",
"maxLength": 267,
"nullable": true,
"type": "string"
},
"provider": {
"const": "aws",
"description": "Provider specifies the storage provider.",
"enum": [
"aws"
],
"examples": [
"aws"
],
"type": "string"
},
"public": {
"default": false,
"description": "Public indicates whether the storage is publicly accessible.",
"examples": [
"false"
],
"type": "boolean"
},
"region": {
"$ref": "#/components/schemas/AwsRegion",
"description": "Region specifies the region of the storage provider."
},
"secret_access_key": {
"description": "SecretAccessKey is the secret key for the storage provider. Required if not using Chunkify storage.",
"examples": [
"1234567890"
],
"type": "string"
}
},
"required": [
"provider",
"region",
"bucket",
"access_key_id",
"secret_access_key"
],
"type": "object"
}
```
```json #/components/schemas/AwsRegion
{
"description": "Region specifies the region of the storage provider.",
"enum": [
"us-east-1",
"us-east-2",
"us-central-1",
"us-west-1",
"us-west-2",
"eu-west-1",
"eu-west-2",
"eu-west-3",
"eu-central-1",
"eu-north-1",
"ap-east-1",
"ap-east-2",
"ap-northeast-1",
"ap-northeast-2",
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2"
],
"examples": [
"us-east-1"
],
"type": "string"
}
```
```json #/components/schemas/StorageResponse
{
"properties": {
"data": {
"$ref": "#/components/schemas/Storage",
"description": "Data contains the response object"
},
"status": {
"const": "success",
"description": "Status indicates the response status \"success\"",
"type": "string"
}
},
"required": [
"status",
"data"
],
"type": "object"
}
```
```json #/components/schemas/Storage
{
"discriminator": {
"propertyName": "provider"
},
"oneOf": [
{
"$ref": "#/components/schemas/StorageChunkify"
},
{
"$ref": "#/components/schemas/StorageCloudflare"
},
{
"$ref": "#/components/schemas/StorageAws"
},
{
"$ref": "#/components/schemas/StorageS3Compatible"
}
],
"type": "object"
}
```
```json #/components/schemas/StorageS3Compatible
{
"description": "A customer-owned storage connection using the standard S3 API.",
"properties": {
"addressing_style": {
"description": "Addressing style detected during connection validation and used for later S3 operations.",
"enum": [
"virtual",
"path"
],
"type": "string"
},
"base_prefix": {
"description": "Canonical object-key prefix prepended to every final job output in this customer-owned storage. An empty string means the bucket root.",
"examples": [
"chunkify/"
],
"maxLength": 768,
"type": "string"
},
"bucket": {
"description": "Bucket is the name of the storage bucket.",
"examples": [
"my-bucket"
],
"type": "string"
},
"cdn_base_url": {
"description": "Optional customer-managed HTTPS delivery origin used to build stable CDN URLs for objects in this storage.",
"examples": [
"https://media.example.com"
],
"format": "uri",
"maxLength": 267,
"nullable": true,
"type": "string"
},
"created_at": {
"description": "Created at timestamp",
"examples": [
"2021-01-01T00:00:00Z"
],
"format": "date-time",
"type": "string"
},
"endpoint": {
"description": "Public HTTPS origin for the S3-compatible service. Credentials, paths, queries, fragments, and non-public destinations are rejected.",
"examples": [
"https://s3.us-west-004.backblazeb2.com"
],
"format": "uri",
"type": "string"
},
"id": {
"description": "Unique identifier of the storage configuration",
"examples": [
"stor_s3_compatible_S1cce6120E56e7Tu9ioP09Nhjk1"
],
"type": "string"
},
"location": {
"$ref": "#/components/schemas/StorageLocation",
"description": "Chunkify workload location. This is independent from the provider signing region."
},
"provider": {
"const": "s3_compatible",
"description": "Stable provider identifier for generic S3-compatible storage.",
"enum": [
"s3_compatible"
],
"type": "string"
},
"public": {
"description": "Public indicates whether the storage is publicly accessible.",
"examples": [
"false"
],
"type": "boolean"
},
"region": {
"description": "Provider region used for S3 request signing. This is independent from the Chunkify workload location.",
"examples": [
"us-west-004"
],
"type": "string"
},
"slug": {
"description": "Unique identifier of the storage configuration",
"examples": [
"s3_compatible-40"
],
"type": "string"
}
},
"required": [
"id",
"slug",
"provider",
"region",
"bucket",
"endpoint",
"location",
"addressing_style",
"public",
"base_prefix",
"created_at"
]
}
```
```json #/components/schemas/StorageLocation
{
"description": "Location specifies the location of the storage provider.",
"enum": [
"US",
"EU",
"ASIA"
],
"examples": [
"US"
],
"type": "string"
}
```
```json #/components/schemas/StorageChunkify
{
"properties": {
"created_at": {
"description": "Created at timestamp",
"examples": [
"2021-01-01T00:00:00Z"
],
"format": "date-time",
"type": "string"
},
"id": {
"description": "Unique identifier of the storage configuration",
"examples": [
"stor_chunkify_S1cce6120E56e7Tu9ioP09Nhjk1"
],
"type": "string"
},
"provider": {
"const": "chunkify",
"description": "Provider specifies the storage provider.",
"enum": [
"chunkify"
],
"type": "string"
},
"region": {
"$ref": "#/components/schemas/ChunkifyRegion",
"description": "Region specifies the region of the storage provider."
},
"slug": {
"description": "Unique identifier of the storage configuration",
"examples": [
"chunkify-10"
],
"type": "string"
}
},
"required": [
"id",
"slug",
"provider",
"region",
"created_at"
]
}
```
```json #/components/schemas/ChunkifyRegion
{
"description": "Chunkify available regions.",
"enum": [
"us-east-1",
"us-east-2",
"us-west-1",
"us-west-2",
"eu-west-1",
"eu-west-2",
"ap-northeast-1",
"ap-southeast-1"
],
"type": "string"
}
```
```json #/components/schemas/StorageCloudflare
{
"properties": {
"base_prefix": {
"description": "Canonical object-key prefix prepended to every final job output in this customer-owned storage. An empty string means the bucket root.",
"examples": [
"chunkify/"
],
"maxLength": 768,
"type": "string"
},
"bucket": {
"description": "Bucket is the name of the storage bucket.",
"examples": [
"my-bucket"
],
"type": "string"
},
"cdn_base_url": {
"description": "Optional customer-managed HTTPS delivery origin used to build stable CDN URLs for objects in this storage.",
"examples": [
"https://media.example.com"
],
"format": "uri",
"maxLength": 267,
"nullable": true,
"type": "string"
},
"created_at": {
"description": "Created at timestamp",
"examples": [
"2021-01-01T00:00:00Z"
],
"format": "date-time",
"type": "string"
},
"endpoint": {
"description": "Endpoint is the endpoint of the storage provider.",
"examples": [
"https://[id].r2.cloudflarestorage.com"
],
"format": "uri",
"pattern": "^https://[a-z0-9]{32}\\.r2\\.cloudflarestorage\\.com$",
"type": "string"
},
"id": {
"description": "Unique identifier of the storage configuration",
"examples": [
"stor_cloudflare_S1cce6120E56e7Tu9ioP09Nhjk1"
],
"type": "string"
},
"location": {
"$ref": "#/components/schemas/StorageLocation",
"description": "Location specifies the location of the storage provider."
},
"provider": {
"const": "cloudflare",
"description": "Provider specifies the storage provider.",
"enum": [
"cloudflare"
],
"type": "string"
},
"public": {
"default": false,
"description": "Public indicates whether the storage is publicly accessible.",
"examples": [
"false"
],
"type": "boolean"
},
"region": {
"const": "auto",
"description": "Region specifies the region of the storage provider.",
"enum": [
"auto"
],
"type": "string"
},
"slug": {
"description": "Unique identifier of the storage configuration",
"examples": [
"cloudflare-20"
],
"type": "string"
}
},
"required": [
"id",
"slug",
"provider",
"region",
"bucket",
"endpoint",
"location",
"public",
"base_prefix",
"created_at"
]
}
```
```json #/components/schemas/StorageLocation
{
"description": "Location specifies the location of the storage provider.",
"enum": [
"US",
"EU",
"ASIA"
],
"examples": [
"US"
],
"type": "string"
}
```
```json #/components/schemas/StorageAws
{
"properties": {
"base_prefix": {
"description": "Canonical object-key prefix prepended to every final job output in this customer-owned storage. An empty string means the bucket root.",
"examples": [
"chunkify/"
],
"maxLength": 768,
"type": "string"
},
"bucket": {
"description": "Bucket is the name of the storage bucket.",
"examples": [
"my-bucket"
],
"type": "string"
},
"cdn_base_url": {
"description": "Optional customer-managed HTTPS delivery origin used to build stable CDN URLs for objects in this storage.",
"examples": [
"https://media.example.com"
],
"format": "uri",
"maxLength": 267,
"nullable": true,
"type": "string"
},
"created_at": {
"description": "Created at timestamp",
"examples": [
"2021-01-01T00:00:00Z"
],
"format": "date-time",
"type": "string"
},
"id": {
"description": "Unique identifier of the storage configuration",
"examples": [
"stor_aws_S1cce6120E56e7Tu9ioP09Nhjk1"
],
"type": "string"
},
"provider": {
"const": "aws",
"description": "Provider specifies the storage provider.",
"enum": [
"aws"
],
"type": "string"
},
"public": {
"default": false,
"description": "Public indicates whether the storage is publicly accessible.",
"examples": [
"false"
],
"type": "boolean"
},
"region": {
"$ref": "#/components/schemas/AwsRegion",
"description": "Region specifies the region of the storage provider."
},
"slug": {
"description": "Unique identifier of the storage configuration",
"examples": [
"aws-30"
],
"type": "string"
}
},
"required": [
"id",
"slug",
"provider",
"region",
"bucket",
"public",
"base_prefix",
"created_at"
]
}
```
```json #/components/schemas/AwsRegion
{
"description": "Region specifies the region of the storage provider.",
"enum": [
"us-east-1",
"us-east-2",
"us-central-1",
"us-west-1",
"us-west-2",
"eu-west-1",
"eu-west-2",
"eu-west-3",
"eu-central-1",
"eu-north-1",
"ap-east-1",
"ap-east-2",
"ap-northeast-1",
"ap-northeast-2",
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2"
],
"examples": [
"us-east-1"
],
"type": "string"
}
```
```json #/components/schemas/ResponseErrorValidation
{
"properties": {
"error": {
"properties": {
"code": {
"const": 400,
"description": "Code is the HTTP status code",
"examples": [
400
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Invalid request parameters"
],
"type": "string"
},
"type": {
"const": "ValidationError",
"description": "Type indicates the error category",
"enum": [
"ValidationError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
]
}
```
```json #/components/schemas/ResponseErrorAuthentication
{
"description": "Error response",
"properties": {
"error": {
"description": "Error response details",
"properties": {
"code": {
"const": 401,
"description": "Code is the HTTP status code",
"examples": [
401
],
"type": "integer"
},
"message": {
"description": "Message is a human-readable error description",
"examples": [
"Authentication error: invalid token or subscription inactive"
],
"type": "string"
},
"type": {
"const": "AuthenticationError",
"description": "Type indicates the error category",
"enum": [
"AuthenticationError"
],
"type": "string"
}
},
"required": [
"type",
"code",
"message"
],
"type": "object"
},
"status": {
"const": "error",
"description": "Status indicates the response status \"error\"",
"type": "string"
}
},
"required": [
"status",
"error"
],
"type": "object"
}
```