Skip to main content
POST
1

Get an upload URL

Call Create an upload URL with the file’s name, content type and size.
2

Upload the bytes

PUT the file to presignedUrl with the same Content-Type and Content-Length, without your API key.
3

Create the file

Call this endpoint with storageKey set to fileKey, url set to https://{bucketName}.s3.amazonaws.com/{fileKey}, storageProvider set to S3, and the same fileName, mimeType and fileSize.
In the Heliyos MCP server: heliyos_files_upload.

Authorizations

Authorization
string
header
required

A workspace API key, sent as Authorization: Bearer heliyos_.... Create one in Heliyos under Settings → API keys. A key acts as a workspace admin in the one workspace it was created in.

Body

application/json
fileName
string
required

The name shown for the file. Usually the same name you sent for the upload URL.

Example:

"pricing-2026.pdf"

fileSize
integer
required

The file's size in bytes, 0 to 26,214,400 (25 MB). Send the size you uploaded.

Required range: 0 <= x <= 26214400
Example:

482113

mimeType
string
required

The file's content type. Send the mimeType you uploaded with.

Example:

"application/pdf"

url
string
required

https://{bucketName}.s3.amazonaws.com/{fileKey}, built from the upload URL response. HTTPS only, with no port, credentials, query or fragment. Up to 2,048 characters.

Maximum string length: 2048
Example:

"https://example-bucket.s3.amazonaws.com/66a0f1e2d3c4b5a697887766/objects/company/1762248600000-pricing-2026.pdf"

storageProvider
string
required

The storage provider. Send S3.

Example:

"S3"

storageKey
string
required

The fileKey from the upload URL response. A key outside your workspace's folder is refused.

Example:

"66a0f1e2d3c4b5a697887766/objects/company/1762248600000-pricing-2026.pdf"

relationships
object[]

Optional. The resources to attach the file to: records (company, people, deal or a custom object's type, with schemaId), task, note, comment, interaction, meeting, email, chat or list, up to 200 entries. Each must belong to your workspace. An organization entry may only name your own workspace.

isKbFile
boolean

true to add the file to the knowledge base, where workers read it. Defaults to false, a file attached to the resources in relationships.

Example:

false

description
string

Optional. A short description of the file. May be empty.

Example:

"2026 list prices and discount bands."

Response

The created file, or the file already created with this storageKey.

meta
object
required
data
object
required