API reference / Storage

Storage

Object storage bucket and watch-folder management.

GET /api/v1/storage/backends

Response

Response 200 (application/json)
{
  "backends": [
    {
      "id": "string",
      "name": "string",
      "role": "source",
      "backend": "external",
      "bucket": "string",
      "accessKeyId": "string",
      "hasSessionToken": true,
      "deletable": true,
      "createdAt": "string",
      "credentials": {
        "accessKeyId": "string",
        "secretAccessKey": "***redacted***",
        "sessionToken": "***redacted***"
      },
      "endpointUrl": "string",
      "region": "string"
    }
  ]
}

POST /api/v1/storage/backends

Request

Request body (application/json)
{
  "name": "string",
  "bucket": "string",
  "accessKeyId": "string",
  "secretAccessKey": "string",
  "role": "source",
  "region": "string",
  "endpointUrl": "https://example.com/video.mp4",
  "sessionToken": "string",
  "publicBaseUrl": "https://example.com/video.mp4"
}

Response

Response 201 (application/json)
{
  "id": "string",
  "name": "string",
  "role": "source",
  "backend": "external",
  "bucket": "string",
  "accessKeyId": "string",
  "hasSessionToken": true,
  "deletable": true,
  "createdAt": "string",
  "credentials": {
    "accessKeyId": "string",
    "secretAccessKey": "***redacted***",
    "sessionToken": "***redacted***"
  },
  "endpointUrl": "string",
  "region": "string"
}

DELETE /api/v1/storage/backends/{id}

Parameters

NameInTypeRequired
idpathstringrequired

Response

Response 204 (application/json)
"null"

GET /api/v1/storage/buckets

List object storage buckets.

Response

Response 200 (application/json)
[
  {
    "name": "string",
    "role": "source"
  }
]

POST /api/v1/storage/buckets

Create a bucket.

Request

Request body (application/json)
{
  "name": "string"
}

Response

Response 201 (application/json)
{
  "name": "string",
  "role": "custom"
}

GET /api/v1/storage/buckets/{bucket}/objects

List objects in a bucket.

Parameters

NameInTypeRequired
prefixquerystringoptional
limitqueryintegeroptional
bucketpathstringrequired

Response

Response 200 (application/json)
{
  "objects": [
    {
      "key": "string",
      "size": 0,
      "isPrefix": true,
      "lastModified": "string"
    }
  ],
  "prefix": "string",
  "bucket": "string"
}

DELETE /api/v1/storage/buckets/{bucket}/objects/{*}

Delete an object from a bucket.

Parameters

NameInTypeRequired
bucketpathstringrequired
*pathstringrequired

Response

Response 204 (application/json)
"null"

GET /api/v1/storage/buckets/{bucket}/watch-folder

Get watch-folder status for a bucket.

Parameters

NameInTypeRequired
bucketpathstringrequired

Response

Response 200 (application/json)
{
  "enabled": true,
  "running": true,
  "bucket": "string"
}

POST /api/v1/storage/buckets/{bucket}/watch-folder/toggle

Toggle watch-folder ingest for a bucket.

Parameters

NameInTypeRequired
bucketpathstringrequired

Response

Response 200 (application/json)
{
  "enabled": true,
  "running": true,
  "bucket": "string"
}