API Reference
Get Storage types
Retrieves a list of storage types supported by Claid.
List of storage types.
Authorization is required.
Not enough permissions.
GET /v1/storage/storage-types HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "data": [
    "web_folder",
    "s3",
    "gcs"
  ]
}Request
GET /v1/storage/storage-types HTTP/1.1
Host: api.claid.ai
Authorization: Bearer {YOUR_API_KEY}curl -X GET --location "https://api.claid.ai/v1/storage/storage-types" --http1.1 \
    -H "Host: api.claid.ai" \
    -H "Authorization: Bearer {YOUR_API_KEY}"Response body
{
  "data": [
    "web_folder",
    "s3",
    "gcs"
  ]
}Get Connected Storages
Retrieves a list of storages connected to your Claid account, as well as their id, name, type, and parameters.
Successful Response
Authorization is required.
Not enough permissions.
GET /v1/storage/storages HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "data": [
    {
      "id": 1,
      "name": "text",
      "type": "web_folder",
      "parameters": {
        "path": "",
        "bucket": "text"
      },
      "created_at": "2025-10-30T15:54:57.241Z"
    }
  ]
}Request
GET /v1/storage/storages HTTP/1.1
Host: api.claid.ai
Authorization: Bearer {YOUR_API_KEY}curl -X GET --location "https://api.claid.ai/v1/storage/storages" --http1.1 \
    -H "Host: api.claid.ai" \
    -H "Authorization: Bearer {YOUR_API_KEY}"Response body
{
  "data": [
    {
      "id": 1,
      "name": "s3-playground",
      "type": "s3",
      "parameters": {
        "path": "/input/",
        "bucket": "playground"
      },
      "created_at": "2022-01-10T18:27:16.362118+00:00"
    },
    {
      "id": 2,
      "name": "designer-uploads",
      "type": "gcs",
      "parameters": {
        "path": "",
        "bucket": "image-uploads"
      },
      "created_at": "2022-01-10T18:28:22.100041+00:00"
    }
  ]
}Create a new Claid Storage
Connects storage to Claid. You can connect your AWS S3 or GCP bucket, or your own web folder.
The name of storage in Claid. Note: it doesn't have to be the same as a global name of a bucket.
An enumeration.
Global parameters of storage (as opposed to Claid's internal properties, such as name and type)
Successful Response
Authorization is required.
Not enough permissions.
Unprocessable Entity.
POST /v1/storage/storages HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 139
{
  "name": "text",
  "type": "web_folder",
  "parameters": {
    "path": "",
    "bucket": "text",
    "credentials": {
      "access_key": "text",
      "secret_access_key": "text"
    }
  }
}{
  "data": {
    "id": 1,
    "name": "text",
    "type": "web_folder",
    "parameters": {
      "path": "",
      "bucket": "text",
      "credentials": {
        "access_key": "text"
      }
    },
    "created_at": "2025-10-30T15:54:57.241Z"
  }
}Here is an example of creating AWS storage via API:
Request
POST /v1/storage/storages
Host: api.claid.ai
Authorization: Bearer {YOUR_API_KEY}
Content-Type: application/json
{
  "name": "s3-playground",
  "type": "s3",
  "parameters": {
    "bucket": "playground",
    "credentials": {
      "access_key": "AKIAXXXXXXX",
      "secret_access_key": "YourSecretAccessKey"
    }
  }
}curl -X POST --location "https://api.claid.ai/v1/storage/storages" \
    -H "Host: api.claid.ai" \
    -H "Authorization: Bearer {YOUR_API_KEY}" \
    -H "Content-Type: application/json" \
    -d "{
          \"name\": \"s3-playground\",
          \"type\": \"s3\",
          \"parameters\": {
            \"bucket\": \"playground\",
            \"credentials\": {
              \"access_key\": \"AKIAXXXXXXX\",
              \"secret_access_key\": \"YourSecretAccessKey\"
            }
          }
        }"Response body
{
  "data": {
    "id": 1,
    "name": "s3-playground",
    "type": "s3",
    "parameters": {
      "path": "",
      "bucket": "playground"
    },
    "created_at": "2022-05-10T10:29:12.754824+00:00"
  }
}parameters supported by the AWS S3 storage: 
name
string
bucket
string
prefix
string
credentials.access_key
string
credentials.secret_access_key
string
parameters supported by the GCS storage: #todo
name
string
bucket
string
prefix
string
credentials.access_key
string
credentials.secret_access_key
string
parameters supported by the Web Folder storage: 
name
string
base_url
string
Describe storage by id 
Retrieves information about particular storage, including its id, name, type, and parameters.
Successful Response
Authorization is required.
Not enough permissions.
Storage not found.
Unprocessable Entity.
GET /v1/storage/storages/{storage_id} HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "data": {
    "id": 1,
    "name": "text",
    "type": "web_folder",
    "parameters": {
      "path": "",
      "bucket": "text",
      "credentials": {
        "access_key": "text"
      }
    },
    "created_at": "2025-10-30T15:54:57.241Z"
  }
}Request
GET /v1/storage/storages/1 HTTP/1.1
Host: api.claid.ai
Authorization: Bearer {YOUR_API_KEY}curl -X GET --location "https://api.claid.ai/v1/storage/storages/1" --http1.1 \
    -H "Host: api.claid.ai" \
    -H "Authorization: Bearer {YOUR_API_KEY}"Response body
{
  "data": {
    "id": 1,
    "name": "s3-playground",
    "type": "s3",
    "parameters": {
      "path": "",
      "bucket": "playground"
    },
    "created_at": "2022-05-10T10:29:12.754824+00:00"
  }
}Delete storage by id
Disconnects storage from Claid. Note: It doesn't delete your bucket on your cloud platform.
Successful Response
Authorization is required.
Not enough permissions.
Storage not found.
Unprocessable Entity.
DELETE /v1/storage/storages/{storage_id} HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "data": null
}Request
DELETE /v1/storage/storages/1 HTTP/1.1
Host: api.claid.ai
Authorization: Bearer {YOUR_API_KEY}curl -X DELETE --location "https://api.claid.ai/v1/storage/storages/1" --http1.1 \
    -H "Host: api.claid.ai" \
    -H "Authorization: Bearer {YOUR_API_KEY}"Update storage by id
Changes storage name, type, and/or parameters.
An enumeration.
Successful Response
Authorization is required.
Not enough permissions.
Storage not found.
Unprocessable Entity.
PATCH /v1/storage/storages/{storage_id} HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 143
{
  "name": "text",
  "type": "web_folder",
  "parameters": {
    "path": "text",
    "bucket": "text",
    "credentials": {
      "access_key": "text",
      "secret_access_key": "text"
    }
  }
}{
  "data": {
    "id": 1,
    "name": "text",
    "type": "web_folder",
    "parameters": {
      "path": "",
      "bucket": "text",
      "credentials": {
        "access_key": "text"
      }
    },
    "created_at": "2025-10-30T15:54:57.241Z"
  }
}Request
PATCH /v1/storage/storages/1
Host: api.claid.ai
Authorization: Bearer {YOUR_API_KEY}
Content-Type: application/json
{
  "name": "s3-playground",
  "type": "s3",
  "parameters": {
    "bucket": "playground",
    "credentials": {
      "access_key": "AKIAXXXXXXX",
      "secret_access_key": "YourSecretAccessKey"
    }
  }
}curl -X PATCH --location "https://api.claid.ai/v1/storage/storages/1" \
    -H "Host: api.claid.ai" \
    -H "Authorization: Bearer {YOUR_API_KEY}" \
    -H "Content-Type: application/json" \
    -d "{
          \"name\": \"s3-playground\",
          \"type\": \"s3\",
          \"parameters\": {
            \"bucket\": \"playground\",
            \"credentials\": {
              \"access_key\": \"AKIAXXXXXXX\",
              \"secret_access_key\": \"YourSecretAccessKey\"
            }
          }
        }"Response body
{
  "data": {
    "id": 1,
    "name": "s3-playground",
    "type": "s3",
    "parameters": {
      "path": "",
      "bucket": "playground"
    },
    "created_at": "2022-05-10T10:29:12.754824+00:00"
  }
}Last updated
