Skip to main content
The Byteport API is a thin HTTP layer over your connected storage providers. Every endpoint speaks JSON, accepts the same path syntax as the dashboard, and returns predictable responses you can wire straight into a pipeline.

Base URL

All requests are made against a single host.

Authentication

Every request must include an Authorization header carrying a bearer token. Replace bp_xxxxxxxxx with the API key issued from your workspace settings.
Treat your API key like a password. Rotate it from the dashboard immediately if you suspect it has been exposed.

User-Agent

All API requests must include a User-Agent header. Requests without this header are rejected with a 403. Most HTTP clients, every Byteport SDK, and the CLI set it automatically — if you are making raw HTTP requests, set it yourself:

Response codes

Byteport follows standard HTTP semantics. A successful request returns 2xx; client errors return 4xx with a JSON body describing what went wrong.
CodeMeaning
200Request completed successfully.
201Resource created successfully.
202Request accepted; the operation is running asynchronously.
204Request succeeded; no response body.
400The request body or query parameters were invalid.
401Missing or invalid API key.
403The User-Agent header is missing, or the key lacks access.
404The location or file referenced in the request was not found.
429Rate limit exceeded — back off and retry.
5xxByteport encountered an internal error.
Error responses share a consistent shape:

Rate limits

Rate limits are applied per API key. When you exceed the limit, Byteport returns 429 Too Many Requests and a Retry-After header indicating when to try again. Long-running operations (Transfers, Preview) count as a single request regardless of how many files they touch.

Need higher limits?

Reach out and we’ll raise your quota.