Restrict how large one uploaded file may be
const url = 'https://api.sloose.com/orgs/org_9f3c/file-settings';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"maxFileBytes":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://api.sloose.com/orgs/org_9f3c/file-settings \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "maxFileBytes": 1 }'Sets the organisation’s ceiling on one uploaded file, in bytes, or null to go back to the default of five gigabytes. It can only restrict: a number above the default is refused (400 FILE_MAX_ABOVE_DEFAULT), and one below 1,000,000 bytes is refused (400 FILE_MAX_TOO_SMALL). Files already stored are unaffected; only new uploads are checked.
An administrator, in a signed-in session: an API token may read the setting and not change it, and a staff member’s view may not change it (IMPERSONATION_REFUSED). Recorded in the organisation’s change log; it moves no configuration version.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The organisation id the session was issued for. A token for one organisation can never read another.
Example
org_9f3cThe organisation id the session was issued for. A token for one organisation can never read another.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Examplegenerated
{ "maxFileBytes": 1}Responses
Section titled “Responses”The organisation’s file settings now.
object
The organisation’s own ceiling on one file, in bytes; null when none is set, and then the default applies.
What one file may be here: the ceiling if set, else the default. Never above the default.
Five gigabytes: the most any file may be.
Bytes the plan stores at once; null = no limit, 0 = the plan offers no files (an override applies as for any limit).
Days a file is kept after its last use, on this plan.
False when the organisation already had that setting: nothing was written.
Examplegenerated
{ "maxFileBytes": 1, "effectiveMaxFileBytes": 1, "defaultMaxFileBytes": 1, "planFilesBytes": 1, "planFilesKeepDays": 1, "changed": true}The request — its body or its query — did not match the schema. issues carries the Zod issue list.
The error envelope every non-2xx answer uses.
object
Human-readable explanation.
Machine-readable reason. Absent on a few legacy 400s.
Examplegenerated
{ "error": "example", "code": "example"}No bearer, or one that no longer resolves: a session that is unknown or expired (code: AUTH_REQUIRED), or an API token that was revoked or expired (TOKEN_REVOKED, TOKEN_EXPIRED), whose organisation is gone (ORG_NOT_FOUND) or whose member or user row is (MEMBERSHIP_GONE).
The error envelope every non-2xx answer uses.
object
Human-readable explanation.
Machine-readable reason. Absent on a few legacy 400s.
Examplegenerated
{ "error": "example", "code": "example"}The bearer’s role is too low (code: ROLE_REQUIRED), or it was issued for a different organisation; the organisation has been closed (code: ORG_CLOSED, either kind of bearer); the person is banned (code: BANNED, a session); or it is a session that is signed in but in no organisation (code: NO_ORG): one that never joined one, or whose person was taken out of the one it was in, or left it. Signing in again changes nothing for NO_ORG; choosing or making an organisation does.
The error envelope every non-2xx answer uses.
object
Human-readable explanation.
Machine-readable reason. Absent on a few legacy 400s.
Examplegenerated
{ "error": "example", "code": "example"}No such organisation, or it is not visible to this session.
The error envelope every non-2xx answer uses.
object
Human-readable explanation.
Machine-readable reason. Absent on a few legacy 400s.
Examplegenerated
{ "error": "example", "code": "example"}The restore switch is on (code: MAINTENANCE): every route but /health and /robots.txt is refused before anything is read, except the operator’s own POST /staff/people/{id}/delete with the ADMIN_TOKEN. Sloose is down for maintenance. Please try again in a few minutes.
object
Example
{ "code": "MAINTENANCE"}Headers
Section titled “Headers”Seconds until asking again is worth it (300 while the switch is on).