Skip to main content
POST
/
uploads
Create an upload (single-PUT). Then request a presigned URL via /uploads/{id}/upload-url.
curl --request POST \
  --url https://api.streamloop.app/v1/uploads \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "mimeType": "<string>",
  "name": "<string>",
  "duration": 123,
  "fileSize": 123,
  "fps": 123,
  "hasAudio": true,
  "hasVideo": true,
  "height": 123,
  "isDeleted": true,
  "orientation": 123,
  "path": "<string>",
  "width": 123
}
'
{
  "createdAt": "2023-11-07T05:31:56Z",
  "id": "<string>",
  "mimeType": "<string>",
  "name": "<string>",
  "uploaded": true,
  "fileSize": 123
}

Authorizations

Authorization
string
header
required

OAuth 2.1 authorization-code flow with PKCE.

Headers

Idempotency-Key
string

Optional client-generated key. A repeated request with the same key replays the original response (within 24h) instead of re-executing — safe retries.

Body

application/json

CreateS3ObjectInput is used for create S3Object object. Input was generated by ent.

mimeType
string
required
name
string
required
type
enum<string>
required
Available options:
audio,
video,
image
duration
integer | null
fileSize
integer | null
fps
number | null
hasAudio
boolean | null
hasVideo
boolean | null
height
integer | null
isDeleted
boolean | null
orientation
integer | null
path
string | null
width
integer | null

Response

Created.

createdAt
string<date-time>
required
id
string
required
mimeType
string
required
name
string
required
type
enum<string>
required
Available options:
audio,
video,
image
uploaded
boolean
required
fileSize
integer | null