Skip to main content
Authorization
string
required
The API key for your account. You can find this in your account settings.
Object Post uploads a single file to Square Cloud Blob Storage and returns a CDN-backed URL you can embed or share directly, without provisioning a bucket or managing ACLs yourself. It backs attachments, generated exports, and user-uploaded media for applications hosted on the platform. The uploaded file’s declared content type must match one of the platform’s allowed MIME types; anything outside that list is rejected as INVALID_FILE_TYPE before the file reaches storage. Objects can be given an automatic expiration between 1 and 365 days, after which they’re no longer served. Once a file is uploaded, browse it with Object List, remove it with Object Delete, or track usage against your plan’s quota with Account Stats.
file
file
required
Use FormData (multipart/form-data). Exactly one file per request.
name
string
required
A string representing the name of the file. (without extension)
Must adhere to the a to z, A to Z, 0 to 9, and _ pattern. (3 to 32 characters)
prefix
string
A string representing the prefix for the file.
Must adhere to the a to z, A to Z, 0 to 9, and _ pattern. (3 to 32 characters)
expire
number
A number indicating the expiration period of the file, ranging from 1 to 365 days.
security_hash
boolean
Set to true if a security hash is required.
auto_download
boolean
Set to true if the file should be set for automatic download.

Rate limits & concurrency

Uploading requires a paid plan.
  • Every account may have at most 4 uploads in progress simultaneously. Starting another upload while 4 are still running returns TOO_MANY_CONCURRENT_UPLOADS (429).
  • Hobby and Standard plans are additionally limited to 1 upload per second (RATE_LIMITED, 429). Pro and Enterprise plans are exempt from the per-second limit.
For security, .html and .svg files are always delivered as downloads (served as application/octet-stream) instead of being rendered inline. Setting auto_download=true applies the same forced-download behavior to any file type.

Allowed MIME types

Uploads are validated against a strict MIME allowlist; anything outside it is rejected with INVALID_FILE_TYPE. The stored file extension is derived server-side from the MIME type.

Response

status
string
Indicates whether the call was successful. “success” if successful, “error” if not.
response
object

Troubleshooting

The current maximum file size is 100MB. In the future, we plan to increase it to 10GB. For now, the limit is 100MB due to technical and load-balancing constraints.