Skip to main content

Storage APIs

Version: aju17f20mq

Use the reference below for request and response fields and operation-specific requirements.

Overview

Manage files and folders, issue signed upload/download URLs, and inspect tracked storage usage.

Authentication​

User-facing calls act for the authenticated beneficiary. A backend sk_… key uses an authorized X-On-Behalf-Of selection with users:impersonate; a client pk_… key accompanies that user’s JWT from the configured issuer. Never expose a secret key in a client. Raw identity headers and recipient IDs are not authentication. See Authentication.

Tenant context comes from the authenticated request. Client-supplied X-Tenant-Id, X-User-Id or X-Project-Id do not grant authority. The current public integration uses the default project. Do not rely on project headers for separate project, test/live or customer isolation on this API.

Signed URLs are bearer credentials and can be reused until their expiry. An upload URL is followed by direct upload and registration; issuing the URL neither registers the file nor reserves quota. Registration checks the stored object’s size. Its MIME metadata is not content validation.

Related guide: Files and storage

JSON conventions​

Requests accept snake_case or camelCase field names; responses use camelCase. Ordinary default-valued scalars and empty repeated fields can be omitted. Explicitly present optional scalars, map values and well-known JSON types follow their own presence rules: an explicit false, 0 or empty value is not universally equivalent to absence. Decode each field according to its schema. 64-bit integers use JSON strings; preserve their precision. Unknown request fields are generally discarded before validation, so a typo can silently change behavior. This is not a guarantee that arbitrary fields or future client contracts are supported. See API conventions.

Folders​

Folder management — create and delete directory containers. See the Storage guide.

Uploads & Downloads​

File upload (inline and pre-signed) and pre-signed download URLs. See the Storage guide for both inline and large-file patterns.

Files​

File listing, search, move, and delete. See the Storage guide.

Metadata​

File metadata and tag management. See the Storage guide.

Quota & State​

Storage quota usage and account state. See the Storage guide.

Server 1​

Travila API

https://api.travila.ai

X-API-Key​

Project/service API key. Use pk_… only with a verified end-user JWT; backend sk_… calls that require a user use authorized on-behalf-of context. Management operations can have different requirements; consult the operation and authentication guide.

X-On-Behalf-Of​

The end user this call acts for. Required with an sk_… key, because a secret key identifies your tenant and not a user; omitting it returns 401 authenticated user_id is required. The key needs the users:impersonate scope or the call fails with 403 insufficient_scope.

Authorization: Bearer​

The end user's own JWT, issued by the OIDC provider configured on the publishable key. Required alongside a pk_… key, and supplies the user identity in place of X-On-Behalf-Of.

Authentication credentials

SettingValue
Security scheme typeapiKey
header parameter nameX-API-Key

Operations​

Document ID: DOC-API-storage-overview. Section identities and revisions.

SectionStable reference
OverviewDOC-API-storage-overview#overview
AuthenticationDOC-API-storage-overview#authentication
JSON conventionsDOC-API-storage-overview#json-conventions
FoldersDOC-API-storage-overview#reference-group-1
Uploads & DownloadsDOC-API-storage-overview#reference-group-2
FilesDOC-API-storage-overview#reference-group-3
MetadataDOC-API-storage-overview#reference-group-4
Quota & StateDOC-API-storage-overview#reference-group-5
Server 1DOC-API-storage-overview#reference-server-1
X-API-KeyDOC-API-storage-overview#authentication-apiKeyAuth
X-On-Behalf-OfDOC-API-storage-overview#authentication-onBehalfOf
Authorization: BearerDOC-API-storage-overview#authentication-bearerAuth