Skip to content

Restrict how large one uploaded file may be

PUT
/orgs/{org}/file-settings
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.

org
required

The organisation id the session was issued for. A token for one organisation can never read another.

string
Example
org_9f3c

The organisation id the session was issued for. A token for one organisation can never read another.

Media typeapplication/json
object
maxFileBytes
required
integer | null
Examplegenerated
{
"maxFileBytes": 1
}

The organisation’s file settings now.

Media typeapplication/json
object
maxFileBytes
required

The organisation’s own ceiling on one file, in bytes; null when none is set, and then the default applies.

number | null
effectiveMaxFileBytes
required

What one file may be here: the ceiling if set, else the default. Never above the default.

number
defaultMaxFileBytes
required

Five gigabytes: the most any file may be.

number
planFilesBytes
required

Bytes the plan stores at once; null = no limit, 0 = the plan offers no files (an override applies as for any limit).

number | null
planFilesKeepDays
required

Days a file is kept after its last use, on this plan.

number
changed
required

False when the organisation already had that setting: nothing was written.

boolean
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.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
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).

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
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.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

No such organisation, or it is not visible to this session.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
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.

Media typeapplication/json
object
error
required
string
code
required
string
Allowed value: MAINTENANCE
Example
{
"code": "MAINTENANCE"
}
Retry-After
integer

Seconds until asking again is worth it (300 while the switch is on).

Report a problem with this page

sloose.com