upsertFile

Creates or updates a file using the `key` parameter as unique identifier. Updating a file will erase the existing content of the file. Upload the file content by sending it in a PUT request to the `uploadUrl` returned in the response.

PUT/v1/files

Authorization

AuthorizationBearer
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Header parameters

x-bot-idstring
Bot id
x-integration-id?string
Integration id
x-integration-alias?string
Integration alias
x-integration-name?string
Integration name
x-user-id?string
User Id
x-user-role?string
User Role

Request body

Properties of the file to create or update.

keystring
Unique key for the file. Must be unique across the bot (and the integration, when applicable).
tags?object
File tags as an object of key-value pairs. Tag values should be of `string` (text) type.
sizenumber
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.
index?booleandefault: false
Set to a value of 'true' to index the file in vector storage. Only certain file formats are currently supported for indexing. Files larger than 95 MB cannot be indexed. 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.
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?date-time
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.(date-time)
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

The created or updated file

fileobject