Errors

All error responses share the same shape:

{
  "success": false,
  "error": "Human-readable message",
  "code": "MACHINE_READABLE_CODE"
}

HTTP status codes

StatusMeaning
400Bad request — missing or invalid parameters
401Unauthenticated — missing, invalid, expired, or deactivated API key
403Forbidden — key lacks the required permission scope
404Not found — resource does not exist or does not belong to your account
409Conflict — duplicate file or folder name
413Payload too large — file exceeds your plan's size limit
429Too many requests — daily rate limit exceeded
500Internal server error — something went wrong on our end

Error codes

CodeStatusDescription
RATE_LIMIT_EXCEEDED429Daily API call quota reached
STORAGE_LIMIT_EXCEEDED403Account storage quota reached
FILE_TOO_LARGE413File exceeds the plan's max file size
DUPLICATE_FILE409Identical file (same SHA-256) already exists
DUPLICATE_FOLDER409Folder with this name already exists in this location
FOLDER_NOT_EMPTY400Folder has contents; pass ?deleteContents=true to proceed
CIRCULAR_REFERENCE400Moving a folder into itself or a descendant
NOT_FOUND404Resource not found or not owned by you
FORBIDDEN403API key lacks the required permission
VALIDATION_ERROR400Request body failed validation
INVALID_BODY400Request body is not valid JSON