Skip to main content
POST
Upload an encrypted file

Authorizations

Authorization
string
header
required

Send your access token as header Authorization: Bearer {accessToken}

Authorization
string
header
required

Your API key that starts with sk_live or sk_test. You can create yours at go.prem.io/api-keys.

Body

application/json

Request body for uploading an encrypted file

encrypted_content
string
required

The encrypted file content as hexadecimal string

Example:

"0123456789abcdef..."

encrypted_name
string
required

The encrypted original filename

Maximum string length: 1024
Example:

"encrypted_filename"

client_hash
string
required

Client-side hash for duplicate detection

Example:

"04b9e2ec43133ae7287f97764c0beda19f304374e1d6bfe4fcc36ad54502e5dc"

kid
string
required

Key identifier used for encryption

Example:

"key_01234567-89ab-cdef-0123-456789abcdef"

wrapped_dek
string
required

Wrapped data encryption key

Example:

"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"

mime_type
string
required

MIME type of the original file (encrypted on client side before sending)

Example:

"encrypted_mime_type_data"

incognito
boolean

Whether the file is incognito (optional)

Example:

true

version

Encryption version (optional)

Example:

1

encrypted_rag_dek
string

Encrypted RAG data encryption key

Example:

"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"

rag_dek_nonce
string

Nonce used for RAG DEK encryption

Example:

"0123456789abcdef0123456789abcdef"

cipher_text
string

Cipher text for RAG encryption context

Example:

"cipher_text_data"

encrypted_file_dek
string

Encrypted file data encryption key

Example:

"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"

file_nonce
string

Nonce used for file encryption

Example:

"0123456789abcdef0123456789abcdef"

Response

Encrypted file uploaded successfully

Response containing the uploaded encrypted file information

status
enum<integer>
required

Status code of the response

Available options:
200,
201,
202
data
object
required

Response data containing the requested object

message
string | null
required

Message of the response, human readable

Example:

"Resource created successfully"

env
enum<string>
required

API environment

Available options:
development,
production
error
string | null

Error message of the response, human readable

Example:

"Invalid email address"

log

Useful informaiton, not always present, to debug the response

Examples:

"Some pertinent log message"

validator

Validator response object, each key is the field name and value is the error message

Example:
support_id
string<uuid> | null

Support ID linked to the response, used to identify it when talking with our team

Example:

"support_uuidv7-something-else"