PUT
/
v1
/
files
curl --request PUT \
  --url https://api.botpress.cloud/v1/files \
  --header 'Content-Type: application/json' \
  --data '{
  "key": "<string>",
  "tags": {},
  "size": 123,
  "index": false,
  "indexing": {
    "configuration": {
      "parsing": {
        "minimumParagraphLength": 1025,
        "smartCleanup": true
      },
      "chunking": {
        "maximumChunkLength": 2550,
        "embeddedContextLevels": 1,
        "embedBreadcrumb": true
      },
      "summarization": {
        "enable": false,
        "modelType": "balanced",
        "minimumInputLength": 5500,
        "outputTokenLimit": 5500,
        "generateMasterSummary": true
      },
      "vision": {
        "transcribePages": "<any>",
        "indexPages": "<any>"
      }
    }
  },
  "accessPolicies": [
    "public_content"
  ],
  "contentType": "<string>",
  "expiresAt": "2023-11-07T05:31:56Z",
  "publicContentImmediatelyAccessible": true,
  "metadata": "<any>"
}'
{
  "file": {
    "id": "<string>",
    "botId": "<string>",
    "key": "<string>",
    "url": "<string>",
    "size": 123,
    "contentType": "<string>",
    "tags": {},
    "metadata": {},
    "createdAt": "<string>",
    "updatedAt": "<string>",
    "accessPolicies": [
      "integrations"
    ],
    "index": true,
    "status": "upload_pending",
    "failedStatusReason": "<string>",
    "expiresAt": "<string>",
    "uploadUrl": "<string>"
  }
}

Body

application/json
Properties of the file to create or update.
key
string
required

Unique key for the file. Must be unique across the bot (and the integration, when applicable).

size
number
required

File size in bytes. This will count against your File Storage quota. If the index parameter is set to true, this will also count against your Vector DB Storage quota.

tags
object

File tags as an object of key-value pairs. Tag values should be of string (text) type.

index
boolean
default:false

Set to a value of 'true' to index the file in vector storage. Only certain file formats are currently supported for indexing. Note that if a file is indexed, it will count towards both the Vector DB Storage quota and the File Storage quota of the workspace.

indexing
object
accessPolicies
enum<string>[]

File access policies. Add "public_content" to allow public access to the file content. Add "integrations" to allow read, search and list operations for any integration installed in the bot.

Available options:
public_content,
integrations
contentType
string

File content type. If omitted, the content type will be inferred from the file extension (if any) specified in key. If a content type cannot be inferred, the default is "application/octet-stream".

expiresAt
string

Expiry timestamp in ISO 8601 format with UTC timezone. After expiry, the File will be deleted. Must be in the future. Cannot be more than 90 days from now. The value up to minutes is considered. Seconds and milliseconds are ignored.

publicContentImmediatelyAccessible
boolean

Use when your file has "public_content" in its access policy and you need the file's content to be immediately accessible through its URL after the file has been uploaded without having to wait for the upload to be processed by our system.

If set to true, the x-amz-tagging HTTP header with a value of public=true will need to be sent in the HTTP PUT request to the uploadUrl in order for the upload request to work.

metadata
any

Custom metadata for the file expressed as an object of key-value pairs. The values can be of any type.

Response

200
application/json
The created or updated file
file
object
required