Skip to content

files.createUpload

POST
/v1/files/uploads
curl --request POST \
--url https://example.com/v1/files/uploads \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "filename": "example", "mediaType": "example", "bytes": 1 }'

Makes a pending file and a signed address in object storage. The client puts the bytes there itself, then completes the file. The platform can turn this way off.

Media typeapplication/json
object
filename
required
string
>= 1 characters <= 255 characters
mediaType
required
string
>= 2 characters <= 255 characters
bytes
required
integer
> 0 <= 9007199254740991

Example generated

{
"filename": "example",
"mediaType": "example",
"bytes": 1
}

Success

Media typeapplication/json
object
file
required
object
id
required
string
>= 1 characters <= 128 characters
object
required
string
Allowed values: file
filename
required
string
mediaType
required
string
bytes
required
integer
<= 9007199254740991
status
required
string
Allowed values: pending ready
createdAt
required
number
url
required
string
method
required
string
Allowed values: PUT
headers
required
object
key
additional properties
string
expiresAt
required
number

Example

{
"file": {
"object": "file",
"status": "pending"
},
"method": "PUT"
}

FileInvalid | OrganizationRequired

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: FileInvalid
message
required
string

Example

{
"_tag": "FileInvalid"
}

AuthenticationRequired

Media typeapplication/json
object
_tag
required
string
Allowed values: AuthenticationRequired

Example

{
"_tag": "AuthenticationRequired"
}

@nmnmcc/ability/Authorizer/Forbidden | MembershipRequired | ForbiddenOrigin

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: Forbidden
action
required
string
kind
required
string
field
string
reason
string

Example

{
"_tag": "Forbidden"
}

FileNotFound

Media typeapplication/json
object
_tag
required
string
Allowed values: FileNotFound
id
required
string

Example

{
"_tag": "FileNotFound"
}

FilesDisabled | @nmnmcc/ability/Authorizer/Pending

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: FilesDisabled
message
required
string

Example

{
"_tag": "FilesDisabled"
}

FileQuotaExceeded

Media typeapplication/json
object
_tag
required
string
Allowed values: FileQuotaExceeded
message
required
string
quotaBytes
required
integer
<= 9007199254740991
usedBytes
required
integer
<= 9007199254740991

Example

{
"_tag": "FileQuotaExceeded"
}

RateLimited

Media typeapplication/json
object
_tag
required
string
Allowed values: RateLimited
retryAfterSeconds
required
integer
>= -9007199254740991 <= 9007199254740991

Example

{
"_tag": "RateLimited"
}

FilesUnavailable | AuthenticationUnavailable | RequestFailed

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: FilesUnavailable

Example

{
"_tag": "FilesUnavailable"
}