For the complete documentation index, see llms.txt. This page is also available as Markdown.

Storage Objects

Lists all objects (files) in a bucket

get

Required Permission: buckets.objects.list

Resource: buckets/:bucketId

Authorizations
x-chatcaptain-keystringRequired
Path parameters
bucketIdstringRequired
Responses
200

List of all objects.

application/json
errorstringOptional

Optional error message.

get/v1/buckets/{bucketId}/objects
GET /v1/buckets/{bucketId}/objects HTTP/1.1
Host: api.chatcaptain.com
x-chatcaptain-key: YOUR_API_KEY
Accept: */*
{
  "objects": [
    {
      "id": "59aBv7wzR9cxd1Pxyz",
      "name": "uploads/image.png",
      "created": "2025-10-08T10:00:00Z",
      "updated": "2025-10-08T10:00:00Z",
      "size": 102400,
      "contentType": "image/png",
      "selfLink": "https://storage.example.com/internal/59aBv7wzR9cxd1Pxyz",
      "mediaLink": "https://storage.example.com/public/uploads/image.png",
      "metadata": {
        "author": "John Doe"
      }
    }
  ],
  "error": "text"
}

Uploads a new object (file) to a bucket

post

Required Permission: buckets.objects.create

Resource: buckets/:bucketId

Authorizations
x-chatcaptain-keystringRequired
Path parameters
bucketIdstringRequired
Body
datastring · binaryRequired

The file to be uploaded.

filenamestringOptional

An optional filename. If not specified, the original name of the file will be used.

Responses
201

Object successfully uploaded.

application/json
errorstringOptional

Optional error message.

post/v1/buckets/{bucketId}/objects
POST /v1/buckets/{bucketId}/objects HTTP/1.1
Host: api.chatcaptain.com
x-chatcaptain-key: YOUR_API_KEY
Content-Type: multipart/form-data
Accept: */*
Content-Length: 81

{
  "data": "binary",
  "filename": "text",
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}
{
  "object": {
    "id": "59aBv7wzR9cxd1Pxyz",
    "name": "uploads/image.png",
    "created": "2025-10-08T10:00:00Z",
    "updated": "2025-10-08T10:00:00Z",
    "size": 102400,
    "contentType": "image/png",
    "selfLink": "https://storage.example.com/internal/59aBv7wzR9cxd1Pxyz",
    "mediaLink": "https://storage.example.com/public/uploads/image.png",
    "metadata": {
      "author": "John Doe"
    }
  },
  "error": "text"
}

Retrieves a specific object

get

Required Permission: buckets.objects.get

Resource: buckets/:bucketId

Authorizations
x-chatcaptain-keystringRequired
Path parameters
bucketIdstringRequired
objectIdstringRequired

The ID (name/path) of the object to retrieve

Responses
200

Object details.

application/json
errorstringOptional

Optional error message.

get/v1/buckets/{bucketId}/objects/{objectId}
GET /v1/buckets/{bucketId}/objects/{objectId} HTTP/1.1
Host: api.chatcaptain.com
x-chatcaptain-key: YOUR_API_KEY
Accept: */*
{
  "object": {
    "id": "59aBv7wzR9cxd1Pxyz",
    "name": "uploads/image.png",
    "created": "2025-10-08T10:00:00Z",
    "updated": "2025-10-08T10:00:00Z",
    "size": 102400,
    "contentType": "image/png",
    "selfLink": "https://storage.example.com/internal/59aBv7wzR9cxd1Pxyz",
    "mediaLink": "https://storage.example.com/public/uploads/image.png",
    "metadata": {
      "author": "John Doe"
    }
  },
  "error": "text"
}

Deletes an object from a bucket

delete

Required Permission: buckets.objects.delete

Resource: buckets/:bucketId

Authorizations
x-chatcaptain-keystringRequired
Path parameters
bucketIdstringRequired
objectIdstringRequired

The ID (name/path) of the object to delete

Responses
200

Result of the deletion operation.

application/json
deletedbooleanRequired

Indicates whether the deletion operation was successful.

Example: true
errorstringOptional

Optional error message.

delete/v1/buckets/{bucketId}/objects/{objectId}
DELETE /v1/buckets/{bucketId}/objects/{objectId} HTTP/1.1
Host: api.chatcaptain.com
x-chatcaptain-key: YOUR_API_KEY
Accept: */*
{
  "deleted": true,
  "error": "text"
}

Last updated