Skip to content
RSXDocs
RSX · API · Reference

files v1

File and media CDN control plane: uploads, share links, and object metadata for rsxcdn.com.

Current
Base URL
https://api.rsx.group/files/v1
Self-grantable scopes
None. Every endpoint here needs a key issued by a platform admin.
Machine readable
openapi.json
01

uploads

4 operations under /files/v1/uploads.

POST/files/v1/uploads/add

Open an upload session

Scope
files:uploads:add Admin-issued keys only.
Idempotency
Requires an Idempotency-Key header. Reusing the key within 24 hours returns the original response instead of creating a second record.

Request bodyapplication/json

Request body of addUpload

  • hash
    Type
    string
    Description
    matches ^[0-9a-f]{64}$
  • sizerequired
    Type
    integer
    Description
    1 to 34359738368
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters

Response 200Upload session opened, or the blob already existed

Response of addUpload

  • datarequired
    Type
    UploadSession
    Description
  • idrequired
    Type
    string, uuid
    Description
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • moderequired
    Type
    UploadMode
    Description
    one of "single", "multipart"
  • statusrequired
    Type
    string
    Description
    one of "open", "done", "aborted"
  • dedupedrequired
    Type
    boolean
    Description
  • partSizerequired
    Type
    integer, or null
    Description
    at least 5242880
  • partCountrequired
    Type
    integer
    Description
    at least 1
  • completedPartsrequired
    Type
    array of integer
    Description
  • grantsrequired
    Type
    array of UploadGrant
    Description
  • expiresAtrequired
    Type
    string, date-time
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/uploads/add \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Idempotency-Key: 5b8f2d1a-0c7e-4b1f-9a6d-3e2f1c0b9a8d" \
  -H "Content-Type: application/json" \
  -d '{
  "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "size": 284913,
  "filename": "render-final.png"
}'
200 response
{
  "data": {
    "id": "0198f2b1-6c2a-7c9e-9d3a-1e2f3a4b5c6d",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "mode": "single",
    "status": "open",
    "deduped": true,
    "partSize": 5242880,
    "partCount": 1,
    "completedParts": [
      1
    ],
    "grants": [
      {
        "partNumber": 1,
        "url": "https://example.com/",
        "method": "PUT",
        "headers": {
          "key": "string"
        }
      }
    ],
    "expiresAt": "2026-10-10T12:00:00.000Z"
  }
}
GET/files/v1/uploads/get

Fetch an upload session (and the next batch of grants)

Scope
files:uploads:get Admin-issued keys only.

Query parameters

Query parameters of getUpload

  • idrequired
    Type
    string, uuid
    Description

Response 200Upload session

Response of getUpload

  • datarequired
    Type
    UploadSession
    Description
  • idrequired
    Type
    string, uuid
    Description
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • moderequired
    Type
    UploadMode
    Description
    one of "single", "multipart"
  • statusrequired
    Type
    string
    Description
    one of "open", "done", "aborted"
  • dedupedrequired
    Type
    boolean
    Description
  • partSizerequired
    Type
    integer, or null
    Description
    at least 5242880
  • partCountrequired
    Type
    integer
    Description
    at least 1
  • completedPartsrequired
    Type
    array of integer
    Description
  • grantsrequired
    Type
    array of UploadGrant
    Description
  • expiresAtrequired
    Type
    string, date-time
    Description

Example

curl
curl "https://api.rsx.group/files/v1/uploads/get?id=0198f2b1-6c2a-7c9e-9d3a-1e2f3a4b5c6d" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": {
    "id": "0198f2b1-6c2a-7c9e-9d3a-1e2f3a4b5c6d",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "mode": "single",
    "status": "open",
    "deduped": true,
    "partSize": 5242880,
    "partCount": 1,
    "completedParts": [
      1
    ],
    "grants": [
      {
        "partNumber": 1,
        "url": "https://example.com/",
        "method": "PUT",
        "headers": {
          "key": "string"
        }
      }
    ],
    "expiresAt": "2026-10-10T12:00:00.000Z"
  }
}
POST/files/v1/uploads/update

Report completed parts and collect the next grants

Scope
files:uploads:update Admin-issued keys only.

Request bodyapplication/json

Request body of updateUpload

  • idrequired
    Type
    string, uuid
    Description
  • partsrequired
    Type
    array of UploadedPart
    Description
    1 to 10000 items
  • partNumberrequired
    Type
    integer
    Description
    1 to 10000
  • etagrequired
    Type
    string
    Description
    at least 1 character

Response 200Parts recorded

Response of updateUpload

  • datarequired
    Type
    UploadSession
    Description
  • idrequired
    Type
    string, uuid
    Description
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • moderequired
    Type
    UploadMode
    Description
    one of "single", "multipart"
  • statusrequired
    Type
    string
    Description
    one of "open", "done", "aborted"
  • dedupedrequired
    Type
    boolean
    Description
  • partSizerequired
    Type
    integer, or null
    Description
    at least 5242880
  • partCountrequired
    Type
    integer
    Description
    at least 1
  • completedPartsrequired
    Type
    array of integer
    Description
  • grantsrequired
    Type
    array of UploadGrant
    Description
  • expiresAtrequired
    Type
    string, date-time
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/uploads/update \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "id": "0198f2b1-6c2a-7c9e-9d3a-1e2f3a4b5c6d",
  "parts": [
    {
      "partNumber": 1,
      "etag": "string"
    }
  ]
}'
200 response
{
  "data": {
    "id": "0198f2b1-6c2a-7c9e-9d3a-1e2f3a4b5c6d",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "mode": "single",
    "status": "open",
    "deduped": true,
    "partSize": 5242880,
    "partCount": 1,
    "completedParts": [
      1
    ],
    "grants": [
      {
        "partNumber": 1,
        "url": "https://example.com/",
        "method": "PUT",
        "headers": {
          "key": "string"
        }
      }
    ],
    "expiresAt": "2026-10-10T12:00:00.000Z"
  }
}
POST/files/v1/uploads/remove

Abort an upload session

Scope
files:uploads:remove Admin-issued keys only.

Request bodyapplication/json

Request body of removeUpload

  • idrequired
    Type
    string, uuid
    Description

Response 200Upload session aborted

Response of removeUpload

  • datarequired
    Type
    object
    Description
  • idrequired
    Type
    string
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/uploads/remove \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "id": "0198f2b1-6c2a-7c9e-9d3a-1e2f3a4b5c6d"
}'
200 response
{
  "data": {
    "id": "string"
  }
}
02

quota

1 operation under /files/v1/quota.

GET/files/v1/quota/get

Storage usage for the calling account

Scope
files:quota:get Admin-issued keys only.

Response 200Quota and usage

Response of getQuota

  • datarequired
    Type
    Quota
    Description
  • usedBytesrequired
    Type
    integer
    Description
    at least 0
  • limitBytesrequired
    Type
    integer
    Description
    at least 0
  • maxObjectBytesrequired
    Type
    integer
    Description
    at least 0
  • objectCountrequired
    Type
    integer
    Description
    at least 0

Example

curl
curl "https://api.rsx.group/files/v1/quota/get" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": {
    "usedBytes": 1073741824,
    "limitBytes": 10737418240,
    "maxObjectBytes": 1,
    "objectCount": 1
  }
}
03

objects

6 operations under /files/v1/objects.

POST/files/v1/objects/add

Finalise an upload into a share link

Scope
files:objects:add Admin-issued keys only.
Idempotency
Requires an Idempotency-Key header. Reusing the key within 24 hours returns the original response instead of creating a second record.

Request bodyapplication/json

Request body of addObject

  • uploadIdrequired
    Type
    string, uuid
    Description
  • filename
    Type
    string
    Description
    1 to 255 characters
  • visibility
    Type
    object
    Description
  • expiresAt
    Type
    string, date-time, or null
    Description
  • source
    Type
    string
    Description
    1 to 255 characters

Response 200Share link created

Response of addObject

  • datarequired
    Type
    FileObject
    Description
  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • sizerequired
    Type
    integer
    Description
    at least 0
  • mimerequired
    Type
    string
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • visibilityrequired
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • urlrequired
    Type
    string, uri
    Description
  • pageUrlrequired
    Type
    string, uri, or null
    Description
  • thumbUrlrequired
    Type
    string, uri, or null
    Description
  • posterUrlrequired
    Type
    string, uri, or null
    Description
  • sourcerequired
    Type
    string, or null
    Description
    1 to 255 characters
  • previewStatusrequired
    Type
    PreviewStatus
    Description
    one of "pending", "ready", "partial", "unsupported", "failed"
  • previewDetailrequired
    Type
    string, or null
    Description
  • hasManifestrequired
    Type
    boolean
    Description
  • hasTextrequired
    Type
    boolean
    Description
  • modelFormatrequired
    Type
    ModelFormat
    Description
    one of "glb", "gltf", "obj", "stl", "fbx", "rbxm"
  • treeUrlrequired
    Type
    string, uri, or null
    Description
  • widthrequired
    Type
    integer, or null
    Description
    at least 1
  • heightrequired
    Type
    integer, or null
    Description
    at least 1
  • createdAtrequired
    Type
    string, date-time
    Description
  • expiresAtrequired
    Type
    string, date-time, or null
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/objects/add \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Idempotency-Key: 5b8f2d1a-0c7e-4b1f-9a6d-3e2f1c0b9a8d" \
  -H "Content-Type: application/json" \
  -d '{
  "uploadId": "0198f2b1-6c2a-7c9e-9d3a-1e2f3a4b5c6d",
  "filename": "render-final.png",
  "visibility": {},
  "expiresAt": "2026-10-10T12:00:00.000Z",
  "source": "discord:1538:1544:1602"
}'
200 response
{
  "data": {
    "id": "K3nZ9qLm2P",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "filename": "render-final.png",
    "size": 284913,
    "mime": "image/png",
    "kind": "image",
    "visibility": "public",
    "url": "https://rsxcdn.com/K3nZ9qLm2P.png",
    "pageUrl": "https://cdn.rsx.group/f/K3nZ9qLm2P",
    "thumbUrl": "https://example.com/",
    "posterUrl": "https://example.com/",
    "source": "discord:1538:1544:1602",
    "previewStatus": "pending",
    "previewDetail": "string",
    "hasManifest": true,
    "hasText": true,
    "modelFormat": "glb",
    "treeUrl": "https://example.com/",
    "width": 1,
    "height": 1,
    "createdAt": "2026-10-10T12:00:00.000Z",
    "expiresAt": "2026-10-10T12:00:00.000Z"
  }
}
GET/files/v1/objects/list

List your objects

Scope
files:objects:list Admin-issued keys only.

Query parameters

Query parameters of listObjects

  • cursor
    Type
    string
    Description
    up to 512 characters
  • limit
    Type
    integer
    Description
    1 to 100 · default 20
  • q
    Type
    string
    Description
    up to 255 characters
  • kind
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • visibility
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • source
    Type
    string
    Description
    1 to 255 characters
  • sort
    Type
    ObjectSort
    Description
    one of "newest", "oldest", "largest", "name" · default "newest"

Response 200Objects

Response of listObjects

  • datarequired
    Type
    array of FileObject
    Description
  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • sizerequired
    Type
    integer
    Description
    at least 0
  • mimerequired
    Type
    string
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • visibilityrequired
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • urlrequired
    Type
    string, uri
    Description
  • pageUrlrequired
    Type
    string, uri, or null
    Description
  • thumbUrlrequired
    Type
    string, uri, or null
    Description
  • posterUrlrequired
    Type
    string, uri, or null
    Description
  • sourcerequired
    Type
    string, or null
    Description
    1 to 255 characters
  • previewStatusrequired
    Type
    PreviewStatus
    Description
    one of "pending", "ready", "partial", "unsupported", "failed"
  • previewDetailrequired
    Type
    string, or null
    Description
  • hasManifestrequired
    Type
    boolean
    Description
  • hasTextrequired
    Type
    boolean
    Description
  • modelFormatrequired
    Type
    ModelFormat
    Description
    one of "glb", "gltf", "obj", "stl", "fbx", "rbxm"
  • treeUrlrequired
    Type
    string, uri, or null
    Description
  • widthrequired
    Type
    integer, or null
    Description
    at least 1
  • heightrequired
    Type
    integer, or null
    Description
    at least 1
  • createdAtrequired
    Type
    string, date-time
    Description
  • expiresAtrequired
    Type
    string, date-time, or null
    Description
  • metarequired
    Type
    object
    Description
  • cursorrequired
    Type
    string, or null
    Description

Example

curl
curl "https://api.rsx.group/files/v1/objects/list" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": [
    {
      "id": "K3nZ9qLm2P",
      "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "filename": "render-final.png",
      "size": 284913,
      "mime": "image/png",
      "kind": "image",
      "visibility": "public",
      "url": "https://rsxcdn.com/K3nZ9qLm2P.png",
      "pageUrl": "https://cdn.rsx.group/f/K3nZ9qLm2P",
      "thumbUrl": "https://example.com/",
      "posterUrl": "https://example.com/",
      "source": "discord:1538:1544:1602",
      "previewStatus": "pending",
      "previewDetail": "string",
      "hasManifest": true,
      "hasText": true,
      "modelFormat": "glb",
      "treeUrl": "https://example.com/",
      "width": 1,
      "height": 1,
      "createdAt": "2026-10-10T12:00:00.000Z",
      "expiresAt": "2026-10-10T12:00:00.000Z"
    }
  ],
  "meta": {
    "cursor": "string"
  }
}
GET/files/v1/objects/get

Fetch one object

Scope
files:objects:get Admin-issued keys only.

Query parameters

Query parameters of getObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$

Response 200Object

Response of getObject

  • datarequired
    Type
    FileObject
    Description
  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • sizerequired
    Type
    integer
    Description
    at least 0
  • mimerequired
    Type
    string
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • visibilityrequired
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • urlrequired
    Type
    string, uri
    Description
  • pageUrlrequired
    Type
    string, uri, or null
    Description
  • thumbUrlrequired
    Type
    string, uri, or null
    Description
  • posterUrlrequired
    Type
    string, uri, or null
    Description
  • sourcerequired
    Type
    string, or null
    Description
    1 to 255 characters
  • previewStatusrequired
    Type
    PreviewStatus
    Description
    one of "pending", "ready", "partial", "unsupported", "failed"
  • previewDetailrequired
    Type
    string, or null
    Description
  • hasManifestrequired
    Type
    boolean
    Description
  • hasTextrequired
    Type
    boolean
    Description
  • modelFormatrequired
    Type
    ModelFormat
    Description
    one of "glb", "gltf", "obj", "stl", "fbx", "rbxm"
  • treeUrlrequired
    Type
    string, uri, or null
    Description
  • widthrequired
    Type
    integer, or null
    Description
    at least 1
  • heightrequired
    Type
    integer, or null
    Description
    at least 1
  • createdAtrequired
    Type
    string, date-time
    Description
  • expiresAtrequired
    Type
    string, date-time, or null
    Description

Example

curl
curl "https://api.rsx.group/files/v1/objects/get?id=K3nZ9qLm2P" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": {
    "id": "K3nZ9qLm2P",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "filename": "render-final.png",
    "size": 284913,
    "mime": "image/png",
    "kind": "image",
    "visibility": "public",
    "url": "https://rsxcdn.com/K3nZ9qLm2P.png",
    "pageUrl": "https://cdn.rsx.group/f/K3nZ9qLm2P",
    "thumbUrl": "https://example.com/",
    "posterUrl": "https://example.com/",
    "source": "discord:1538:1544:1602",
    "previewStatus": "pending",
    "previewDetail": "string",
    "hasManifest": true,
    "hasText": true,
    "modelFormat": "glb",
    "treeUrl": "https://example.com/",
    "width": 1,
    "height": 1,
    "createdAt": "2026-10-10T12:00:00.000Z",
    "expiresAt": "2026-10-10T12:00:00.000Z"
  }
}
POST/files/v1/objects/update

Rename an object or change its visibility

Scope
files:objects:update Admin-issued keys only.

Request bodyapplication/json

Request body of updateObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • filename
    Type
    string
    Description
    1 to 255 characters
  • visibility
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • expiresAt
    Type
    string, date-time, or null
    Description

Response 200Object updated

Response of updateObject

  • datarequired
    Type
    FileObject
    Description
  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • sizerequired
    Type
    integer
    Description
    at least 0
  • mimerequired
    Type
    string
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • visibilityrequired
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • urlrequired
    Type
    string, uri
    Description
  • pageUrlrequired
    Type
    string, uri, or null
    Description
  • thumbUrlrequired
    Type
    string, uri, or null
    Description
  • posterUrlrequired
    Type
    string, uri, or null
    Description
  • sourcerequired
    Type
    string, or null
    Description
    1 to 255 characters
  • previewStatusrequired
    Type
    PreviewStatus
    Description
    one of "pending", "ready", "partial", "unsupported", "failed"
  • previewDetailrequired
    Type
    string, or null
    Description
  • hasManifestrequired
    Type
    boolean
    Description
  • hasTextrequired
    Type
    boolean
    Description
  • modelFormatrequired
    Type
    ModelFormat
    Description
    one of "glb", "gltf", "obj", "stl", "fbx", "rbxm"
  • treeUrlrequired
    Type
    string, uri, or null
    Description
  • widthrequired
    Type
    integer, or null
    Description
    at least 1
  • heightrequired
    Type
    integer, or null
    Description
    at least 1
  • createdAtrequired
    Type
    string, date-time
    Description
  • expiresAtrequired
    Type
    string, date-time, or null
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/objects/update \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "id": "K3nZ9qLm2P",
  "filename": "render-final.png",
  "visibility": "public",
  "expiresAt": "2026-10-10T12:00:00.000Z"
}'
200 response
{
  "data": {
    "id": "K3nZ9qLm2P",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "filename": "render-final.png",
    "size": 284913,
    "mime": "image/png",
    "kind": "image",
    "visibility": "public",
    "url": "https://rsxcdn.com/K3nZ9qLm2P.png",
    "pageUrl": "https://cdn.rsx.group/f/K3nZ9qLm2P",
    "thumbUrl": "https://example.com/",
    "posterUrl": "https://example.com/",
    "source": "discord:1538:1544:1602",
    "previewStatus": "pending",
    "previewDetail": "string",
    "hasManifest": true,
    "hasText": true,
    "modelFormat": "glb",
    "treeUrl": "https://example.com/",
    "width": 1,
    "height": 1,
    "createdAt": "2026-10-10T12:00:00.000Z",
    "expiresAt": "2026-10-10T12:00:00.000Z"
  }
}
POST/files/v1/objects/remove

Revoke a share link

Scope
files:objects:remove Admin-issued keys only.

Request bodyapplication/json

Request body of removeObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$

Response 200Share link revoked

Response of removeObject

  • datarequired
    Type
    object
    Description
  • idrequired
    Type
    string
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/objects/remove \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "id": "K3nZ9qLm2P"
}'
200 response
{
  "data": {
    "id": "string"
  }
}
POST/files/v1/objects/resolve

Resolve an object for the delivery path (internal)

Scope
files:objects:resolve Admin-issued keys only.

Request bodyapplication/json

Request body of resolveObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$

Response 200Resolved delivery metadata

Response of resolveObject

  • datarequired
    Type
    ResolvedObject
    Description
  • storageKeyrequired
    Type
    string
    Description
    at least 1 character
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • mimerequired
    Type
    string
    Description
  • sizerequired
    Type
    integer
    Description
    at least 0
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • dispositionrequired
    Type
    string
    Description
    one of "inline", "attachment"
  • visibilityrequired
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • expiresAtrequired
    Type
    string, date-time, or null
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • createdAtrequired
    Type
    string, date-time
    Description
  • thumbKeyrequired
    Type
    string, or null
    Description
  • posterKeyrequired
    Type
    string, or null
    Description
  • manifestKeyrequired
    Type
    string, or null
    Description
  • modelFormatrequired
    Type
    ModelFormat
    Description
    one of "glb", "gltf", "obj", "stl", "fbx", "rbxm"
  • treeKeyrequired
    Type
    string, or null
    Description
  • widthrequired
    Type
    integer, or null
    Description
    at least 1
  • heightrequired
    Type
    integer, or null
    Description
    at least 1

Example

curl
curl -X POST https://api.rsx.group/files/v1/objects/resolve \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "id": "K3nZ9qLm2P"
}'
200 response
{
  "data": {
    "storageKey": "blob/e3b0c442…",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "mime": "string",
    "size": 1,
    "filename": "render-final.png",
    "disposition": "inline",
    "visibility": "public",
    "expiresAt": "2026-10-10T12:00:00.000Z",
    "kind": "image",
    "createdAt": "2026-10-10T12:00:00.000Z",
    "thumbKey": "string",
    "posterKey": "string",
    "manifestKey": "string",
    "modelFormat": "glb",
    "treeKey": "string",
    "width": 1,
    "height": 1
  }
}
04

archives

3 operations under /files/v1/archives.

GET/files/v1/archives/list

Browse the contents of an archive

Scope
files:archives:list Admin-issued keys only.

Query parameters

Query parameters of listArchiveEntries

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • cursor
    Type
    integer, or null
    Description
    at least 0 · default 0
  • limit
    Type
    integer
    Description
    1 to 500 · default 200

Response 200Archive entries

Response of listArchiveEntries

  • datarequired
    Type
    array of ArchiveEntry
    Description
  • indexrequired
    Type
    integer
    Description
    at least 0
  • pathrequired
    Type
    string
    Description
  • isDirectoryrequired
    Type
    boolean
    Description
  • sizerequired
    Type
    integer
    Description
    at least 0
  • compressedSizerequired
    Type
    integer
    Description
    at least 0
  • extractablerequired
    Type
    boolean
    Description
  • modifiedrequired
    Type
    string, date-time, or null
    Description
  • metarequired
    Type
    object
    Description
  • formatrequired
    Type
    string
    Description
    one of "zip", "tar", "targz", "rar"
  • totalEntriesrequired
    Type
    integer
    Description
  • truncatedrequired
    Type
    boolean
    Description
  • cursorrequired
    Type
    integer, or null
    Description

Example

curl
curl "https://api.rsx.group/files/v1/archives/list?id=K3nZ9qLm2P" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": [
    {
      "index": 1,
      "path": "string",
      "isDirectory": true,
      "size": 1,
      "compressedSize": 1,
      "extractable": true,
      "modified": "2026-10-10T12:00:00.000Z"
    }
  ],
  "meta": {
    "format": "zip",
    "totalEntries": 1,
    "truncated": true,
    "cursor": 1
  }
}
GET/files/v1/archives/get

Extract a single entry from an archive

Scope
files:archives:get Admin-issued keys only.

Query parameters

Query parameters of getArchiveEntry

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • index
    Type
    integer, or null
    Description
    at least 0

Response 200The entry's decompressed bytes

The bytes, with their content type.

Example

curl
curl "https://api.rsx.group/files/v1/archives/get?id=K3nZ9qLm2P" \
  -H "Authorization: Bearer rsx_live_..."
POST/files/v1/archives/resolve

Archive contents for a public share page (internal)

Scope
files:archives:resolve Admin-issued keys only.

Request bodyapplication/json

Request body of resolveArchiveEntries

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • limit
    Type
    integer
    Description
    1 to 500

Response 200Archive entries

Response of resolveArchiveEntries

  • datarequired
    Type
    array of ArchiveEntry
    Description
  • indexrequired
    Type
    integer
    Description
    at least 0
  • pathrequired
    Type
    string
    Description
  • isDirectoryrequired
    Type
    boolean
    Description
  • sizerequired
    Type
    integer
    Description
    at least 0
  • compressedSizerequired
    Type
    integer
    Description
    at least 0
  • extractablerequired
    Type
    boolean
    Description
  • modifiedrequired
    Type
    string, date-time, or null
    Description
  • metarequired
    Type
    object
    Description
  • totalEntriesrequired
    Type
    integer
    Description
  • truncatedrequired
    Type
    boolean
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/archives/resolve \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "id": "K3nZ9qLm2P",
  "limit": 1
}'
200 response
{
  "data": [
    {
      "index": 1,
      "path": "string",
      "isDirectory": true,
      "size": 1,
      "compressedSize": 1,
      "extractable": true,
      "modified": "2026-10-10T12:00:00.000Z"
    }
  ],
  "meta": {
    "totalEntries": 1,
    "truncated": true
  }
}
05

text

2 operations under /files/v1/text.

GET/files/v1/text/get

Read a text file's contents preview

Scope
files:text:get Admin-issued keys only.

Query parameters

Query parameters of getTextPreview

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$

Response 200The stored contents preview

Response of getTextPreview

  • datarequired
    Type
    TextPreview
    Description
  • textrequired
    Type
    string
    Description
  • linesrequired
    Type
    integer
    Description
    at least 0
  • truncatedrequired
    Type
    boolean
    Description
  • truncatedByrequired
    Type
    string, or null
    Description
    one of "bytes", "lines", "lineLength"
  • previewBytesrequired
    Type
    integer
    Description
    at least 0
  • totalBytesrequired
    Type
    integer
    Description
    at least 0

Example

curl
curl "https://api.rsx.group/files/v1/text/get?id=K3nZ9qLm2P" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": {
    "text": "string",
    "lines": 1,
    "truncated": true,
    "truncatedBy": "bytes",
    "previewBytes": 1,
    "totalBytes": 1
  }
}
POST/files/v1/text/resolve

Contents preview for a public share page (internal)

Scope
files:text:resolve Admin-issued keys only.

Request bodyapplication/json

Request body of resolveTextPreview

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$

Response 200The stored contents preview

Response of resolveTextPreview

  • datarequired
    Type
    TextPreview
    Description
  • textrequired
    Type
    string
    Description
  • linesrequired
    Type
    integer
    Description
    at least 0
  • truncatedrequired
    Type
    boolean
    Description
  • truncatedByrequired
    Type
    string, or null
    Description
    one of "bytes", "lines", "lineLength"
  • previewBytesrequired
    Type
    integer
    Description
    at least 0
  • totalBytesrequired
    Type
    integer
    Description
    at least 0

Example

curl
curl -X POST https://api.rsx.group/files/v1/text/resolve \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "id": "K3nZ9qLm2P"
}'
200 response
{
  "data": {
    "text": "string",
    "lines": 1,
    "truncated": true,
    "truncatedBy": "bytes",
    "previewBytes": 1,
    "totalBytes": 1
  }
}
06

issued

2 operations under /files/v1/issued.

POST/files/v1/issued/update

Replace a service-issued picture (internal)

The body is the image. It is re-encoded to a 512px square WebP, stored, and becomes the only live object in the slot. Reached over a service binding only.

Scope
files:issued:update Admin-issued keys only.

Query parameters

Query parameters of updateIssuedObject

  • ownerIdrequired
    Type
    string
    Description
    1 to 128 characters
  • issuerrequired
    Type
    string
    Description
    matches ^[a-z][a-z0-9-]{0,31}$
  • slotrequired
    Type
    string
    Description
    matches ^[a-z][a-z0-9-]{0,31}$

Request bodyapplication/octet-stream

The raw bytes, as the body.

Response 200The slot's new object

Response of updateIssuedObject

  • datarequired
    Type
    IssuedObject
    Description
  • idrequired
    Type
    string
    Description
  • urlrequired
    Type
    string, uri
    Description
  • widthrequired
    Type
    integer
    Description
    at least 1
  • heightrequired
    Type
    integer
    Description
    at least 1

Example

curl
curl -X POST https://api.rsx.group/files/v1/issued/update \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/octet-stream" \
  --data-binary @file
200 response
{
  "data": {
    "id": "K3nZ9qLm2P",
    "url": "https://rsxcdn.com/K3nZ9qLm2P.webp",
    "width": 1,
    "height": 1
  }
}
POST/files/v1/issued/remove

Empty a service-issued slot (internal)

Scope
files:issued:remove Admin-issued keys only.

Request bodyapplication/json

Request body of removeIssuedObject

  • ownerIdrequired
    Type
    string
    Description
    1 to 128 characters
  • issuerrequired
    Type
    string
    Description
    matches ^[a-z][a-z0-9-]{0,31}$
  • slotrequired
    Type
    string
    Description
    matches ^[a-z][a-z0-9-]{0,31}$

Response 200The slot is empty

Response of removeIssuedObject

  • datarequired
    Type
    IssuedRemoved
    Description
  • idrequired
    Type
    string, or null
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/issued/remove \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "ownerId": "string",
  "issuer": "id",
  "slot": "avatar"
}'
200 response
{
  "data": {
    "id": "string"
  }
}
07

admin

20 operations under /files/v1/admin.

GET/files/v1/admin/objects/list

Browse every file on the platform

Scope
files:admin:objects:list Admin-issued keys only.

Query parameters

Query parameters of adminListObjects

  • q
    Type
    string
    Description
    up to 255 characters
  • ownerId
    Type
    string
    Description
    up to 128 characters
  • kind
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • visibility
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • state
    Type
    AdminObjectState
    Description
    one of "live", "revoked", "all" · default "live"
  • storageKey
    Type
    string
    Description
    up to 255 characters
  • cursor
    Type
    integer, or null
    Description
    at least 0 · default 0
  • limit
    Type
    integer
    Description
    1 to 200 · default 50

Response 200Files

Response of adminListObjects

  • datarequired
    Type
    array of AdminObject
    Description
  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • ownerIdrequired
    Type
    string
    Description
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • sizerequired
    Type
    integer
    Description
    at least 0
  • mimerequired
    Type
    string
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • visibilityrequired
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • storageKeyrequired
    Type
    string
    Description
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • refcountrequired
    Type
    integer
    Description
    at least 0
  • verifiedrequired
    Type
    boolean
    Description
  • previewStatusrequired
    Type
    PreviewStatus
    Description
    one of "pending", "ready", "partial", "unsupported", "failed"
  • createdAtrequired
    Type
    string, date-time
    Description
  • expiresAtrequired
    Type
    string, date-time, or null
    Description
  • deletedAtrequired
    Type
    string, date-time, or null
    Description
  • issuerrequired
    Type
    string, or null
    Description
  • urlrequired
    Type
    string
    Description
  • metarequired
    Type
    object
    Description
  • totalrequired
    Type
    integer
    Description
  • cursorrequired
    Type
    integer, or null
    Description

Example

curl
curl "https://api.rsx.group/files/v1/admin/objects/list" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": [
    {
      "id": "K3nZ9qLm2P",
      "ownerId": "string",
      "filename": "render-final.png",
      "size": 1,
      "mime": "string",
      "kind": "image",
      "visibility": "public",
      "storageKey": "string",
      "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "refcount": 1,
      "verified": true,
      "previewStatus": "pending",
      "createdAt": "2026-10-10T12:00:00.000Z",
      "expiresAt": "2026-10-10T12:00:00.000Z",
      "deletedAt": "2026-10-10T12:00:00.000Z",
      "issuer": "string",
      "url": "string"
    }
  ],
  "meta": {
    "total": 1,
    "cursor": 1
  }
}
GET/files/v1/admin/objects/get

One file, with its blob and owner

Scope
files:admin:objects:get Admin-issued keys only.

Query parameters

Query parameters of adminGetObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$

Response 200File

Response of adminGetObject

  • datarequired
    Type
    AdminObject
    Description
  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • ownerIdrequired
    Type
    string
    Description
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • sizerequired
    Type
    integer
    Description
    at least 0
  • mimerequired
    Type
    string
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • visibilityrequired
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • storageKeyrequired
    Type
    string
    Description
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • refcountrequired
    Type
    integer
    Description
    at least 0
  • verifiedrequired
    Type
    boolean
    Description
  • previewStatusrequired
    Type
    PreviewStatus
    Description
    one of "pending", "ready", "partial", "unsupported", "failed"
  • createdAtrequired
    Type
    string, date-time
    Description
  • expiresAtrequired
    Type
    string, date-time, or null
    Description
  • deletedAtrequired
    Type
    string, date-time, or null
    Description
  • issuerrequired
    Type
    string, or null
    Description
  • urlrequired
    Type
    string
    Description

Example

curl
curl "https://api.rsx.group/files/v1/admin/objects/get?id=K3nZ9qLm2P" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": {
    "id": "K3nZ9qLm2P",
    "ownerId": "string",
    "filename": "render-final.png",
    "size": 1,
    "mime": "string",
    "kind": "image",
    "visibility": "public",
    "storageKey": "string",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "refcount": 1,
    "verified": true,
    "previewStatus": "pending",
    "createdAt": "2026-10-10T12:00:00.000Z",
    "expiresAt": "2026-10-10T12:00:00.000Z",
    "deletedAt": "2026-10-10T12:00:00.000Z",
    "issuer": "string",
    "url": "string"
  }
}
POST/files/v1/admin/objects/update

Rename a file or change its visibility

Scope
files:admin:objects:update Admin-issued keys only.

Request bodyapplication/json

Request body of adminUpdateObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • filename
    Type
    string
    Description
    1 to 255 characters
  • visibility
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • expiresAt
    Type
    string, date-time, or null
    Description
  • reason
    Type
    string
    Description
    up to 500 characters

Response 200Updated file

Response of adminUpdateObject

  • datarequired
    Type
    AdminObject
    Description
  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • ownerIdrequired
    Type
    string
    Description
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • sizerequired
    Type
    integer
    Description
    at least 0
  • mimerequired
    Type
    string
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • visibilityrequired
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • storageKeyrequired
    Type
    string
    Description
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • refcountrequired
    Type
    integer
    Description
    at least 0
  • verifiedrequired
    Type
    boolean
    Description
  • previewStatusrequired
    Type
    PreviewStatus
    Description
    one of "pending", "ready", "partial", "unsupported", "failed"
  • createdAtrequired
    Type
    string, date-time
    Description
  • expiresAtrequired
    Type
    string, date-time, or null
    Description
  • deletedAtrequired
    Type
    string, date-time, or null
    Description
  • issuerrequired
    Type
    string, or null
    Description
  • urlrequired
    Type
    string
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/admin/objects/update \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "id": "K3nZ9qLm2P",
  "filename": "render-final.png",
  "visibility": "public",
  "expiresAt": "2026-10-10T12:00:00.000Z",
  "reason": "string"
}'
200 response
{
  "data": {
    "id": "K3nZ9qLm2P",
    "ownerId": "string",
    "filename": "render-final.png",
    "size": 1,
    "mime": "string",
    "kind": "image",
    "visibility": "public",
    "storageKey": "string",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "refcount": 1,
    "verified": true,
    "previewStatus": "pending",
    "createdAt": "2026-10-10T12:00:00.000Z",
    "expiresAt": "2026-10-10T12:00:00.000Z",
    "deletedAt": "2026-10-10T12:00:00.000Z",
    "issuer": "string",
    "url": "string"
  }
}
POST/files/v1/admin/objects/revoke

Revoke a share link, keeping the file

Scope
files:admin:objects:revoke Admin-issued keys only.

Request bodyapplication/json

Request body of adminRevokeObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • reason
    Type
    string
    Description
    up to 500 characters

Response 200Revoked

Response of adminRevokeObject

  • datarequired
    Type
    AdminObject
    Description
  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • ownerIdrequired
    Type
    string
    Description
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • sizerequired
    Type
    integer
    Description
    at least 0
  • mimerequired
    Type
    string
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • visibilityrequired
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • storageKeyrequired
    Type
    string
    Description
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • refcountrequired
    Type
    integer
    Description
    at least 0
  • verifiedrequired
    Type
    boolean
    Description
  • previewStatusrequired
    Type
    PreviewStatus
    Description
    one of "pending", "ready", "partial", "unsupported", "failed"
  • createdAtrequired
    Type
    string, date-time
    Description
  • expiresAtrequired
    Type
    string, date-time, or null
    Description
  • deletedAtrequired
    Type
    string, date-time, or null
    Description
  • issuerrequired
    Type
    string, or null
    Description
  • urlrequired
    Type
    string
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/admin/objects/revoke \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "id": "K3nZ9qLm2P",
  "reason": "string"
}'
200 response
{
  "data": {
    "id": "K3nZ9qLm2P",
    "ownerId": "string",
    "filename": "render-final.png",
    "size": 1,
    "mime": "string",
    "kind": "image",
    "visibility": "public",
    "storageKey": "string",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "refcount": 1,
    "verified": true,
    "previewStatus": "pending",
    "createdAt": "2026-10-10T12:00:00.000Z",
    "expiresAt": "2026-10-10T12:00:00.000Z",
    "deletedAt": "2026-10-10T12:00:00.000Z",
    "issuer": "string",
    "url": "string"
  }
}
POST/files/v1/admin/objects/restore

Undo a revoke

Scope
files:admin:objects:restore Admin-issued keys only.

Request bodyapplication/json

Request body of adminRestoreObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$

Response 200Restored

Response of adminRestoreObject

  • datarequired
    Type
    AdminObject
    Description
  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • ownerIdrequired
    Type
    string
    Description
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • sizerequired
    Type
    integer
    Description
    at least 0
  • mimerequired
    Type
    string
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • visibilityrequired
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • storageKeyrequired
    Type
    string
    Description
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • refcountrequired
    Type
    integer
    Description
    at least 0
  • verifiedrequired
    Type
    boolean
    Description
  • previewStatusrequired
    Type
    PreviewStatus
    Description
    one of "pending", "ready", "partial", "unsupported", "failed"
  • createdAtrequired
    Type
    string, date-time
    Description
  • expiresAtrequired
    Type
    string, date-time, or null
    Description
  • deletedAtrequired
    Type
    string, date-time, or null
    Description
  • issuerrequired
    Type
    string, or null
    Description
  • urlrequired
    Type
    string
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/admin/objects/restore \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "id": "K3nZ9qLm2P"
}'
200 response
{
  "data": {
    "id": "K3nZ9qLm2P",
    "ownerId": "string",
    "filename": "render-final.png",
    "size": 1,
    "mime": "string",
    "kind": "image",
    "visibility": "public",
    "storageKey": "string",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "refcount": 1,
    "verified": true,
    "previewStatus": "pending",
    "createdAt": "2026-10-10T12:00:00.000Z",
    "expiresAt": "2026-10-10T12:00:00.000Z",
    "deletedAt": "2026-10-10T12:00:00.000Z",
    "issuer": "string",
    "url": "string"
  }
}
POST/files/v1/admin/objects/delete

Delete a share link permanently

Scope
files:admin:objects:delete Admin-issued keys only.

Request bodyapplication/json

Request body of adminDeleteObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • reason
    Type
    string
    Description
    up to 500 characters

Response 200Deleted

Response of adminDeleteObject

  • datarequired
    Type
    object
    Description
  • idrequired
    Type
    string
    Description
  • blobDeletedrequired
    Type
    boolean
    Description
  • bytesFreedrequired
    Type
    integer
    Description
    at least 0
  • refcountrequired
    Type
    integer
    Description
    at least 0

Example

curl
curl -X POST https://api.rsx.group/files/v1/admin/objects/delete \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "id": "K3nZ9qLm2P",
  "reason": "string"
}'
200 response
{
  "data": {
    "id": "string",
    "blobDeleted": true,
    "bytesFreed": 1,
    "refcount": 1
  }
}
POST/files/v1/admin/objects/reassign

Move a file to a different account

Scope
files:admin:objects:reassign Admin-issued keys only.

Request bodyapplication/json

Request body of adminReassignObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • ownerIdrequired
    Type
    string
    Description
    1 to 128 characters
  • reason
    Type
    string
    Description
    up to 500 characters

Response 200Reassigned

Response of adminReassignObject

  • datarequired
    Type
    AdminObject
    Description
  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • ownerIdrequired
    Type
    string
    Description
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • sizerequired
    Type
    integer
    Description
    at least 0
  • mimerequired
    Type
    string
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • visibilityrequired
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • storageKeyrequired
    Type
    string
    Description
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • refcountrequired
    Type
    integer
    Description
    at least 0
  • verifiedrequired
    Type
    boolean
    Description
  • previewStatusrequired
    Type
    PreviewStatus
    Description
    one of "pending", "ready", "partial", "unsupported", "failed"
  • createdAtrequired
    Type
    string, date-time
    Description
  • expiresAtrequired
    Type
    string, date-time, or null
    Description
  • deletedAtrequired
    Type
    string, date-time, or null
    Description
  • issuerrequired
    Type
    string, or null
    Description
  • urlrequired
    Type
    string
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/admin/objects/reassign \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "id": "K3nZ9qLm2P",
  "ownerId": "string",
  "reason": "string"
}'
200 response
{
  "data": {
    "id": "K3nZ9qLm2P",
    "ownerId": "string",
    "filename": "render-final.png",
    "size": 1,
    "mime": "string",
    "kind": "image",
    "visibility": "public",
    "storageKey": "string",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "refcount": 1,
    "verified": true,
    "previewStatus": "pending",
    "createdAt": "2026-10-10T12:00:00.000Z",
    "expiresAt": "2026-10-10T12:00:00.000Z",
    "deletedAt": "2026-10-10T12:00:00.000Z",
    "issuer": "string",
    "url": "string"
  }
}
GET/files/v1/admin/blobs/get

A blob and every link pointing at it

Scope
files:admin:blobs:get Admin-issued keys only.

Query parameters

Query parameters of adminGetBlob

  • storageKeyrequired
    Type
    string
    Description
    1 to 255 characters

Response 200Blob

Response of adminGetBlob

  • datarequired
    Type
    AdminBlob
    Description
  • storageKeyrequired
    Type
    string
    Description
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • sizerequired
    Type
    integer
    Description
    at least 0
  • mimerequired
    Type
    string
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • verifiedrequired
    Type
    boolean
    Description
  • refcountrequired
    Type
    integer
    Description
    at least 0
  • createdAtrequired
    Type
    string, date-time
    Description
  • objectsrequired
    Type
    array of object
    Description
  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • ownerIdrequired
    Type
    string
    Description
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • createdAtrequired
    Type
    string, date-time
    Description

Example

curl
curl "https://api.rsx.group/files/v1/admin/blobs/get?storageKey=string" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": {
    "storageKey": "string",
    "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "size": 1,
    "mime": "string",
    "kind": "image",
    "verified": true,
    "refcount": 1,
    "createdAt": "2026-10-10T12:00:00.000Z",
    "objects": [
      {
        "id": "K3nZ9qLm2P",
        "ownerId": "string",
        "filename": "render-final.png",
        "createdAt": "2026-10-10T12:00:00.000Z"
      }
    ]
  }
}
POST/files/v1/admin/blobs/purge

Erase content and every link to it

Scope
files:admin:blobs:purge Admin-issued keys only.

Request bodyapplication/json

Request body of adminPurgeBlob

  • storageKeyrequired
    Type
    string
    Description
    1 to 255 characters
  • reasonrequired
    Type
    string
    Description
    1 to 500 characters

Response 200Purged

Response of adminPurgeBlob

  • datarequired
    Type
    object
    Description
  • storageKeyrequired
    Type
    string
    Description
  • bytesFreedrequired
    Type
    integer
    Description
    at least 0
  • removedrequired
    Type
    array of object
    Description
  • idrequired
    Type
    string
    Description
  • ownerIdrequired
    Type
    string
    Description
  • filenamerequired
    Type
    string
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/admin/blobs/purge \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "storageKey": "string",
  "reason": "string"
}'
200 response
{
  "data": {
    "storageKey": "string",
    "bytesFreed": 1,
    "removed": [
      {
        "id": "string",
        "ownerId": "string",
        "filename": "string"
      }
    ]
  }
}
GET/files/v1/admin/accounts/list

Accounts ranked by storage used

Scope
files:admin:accounts:list Admin-issued keys only.

Query parameters

Query parameters of adminListCdnAccounts

  • cursor
    Type
    integer, or null
    Description
    at least 0 · default 0
  • limit
    Type
    integer
    Description
    1 to 200 · default 50
  • flaggedOnly
    Type
    boolean, or null
    Description
    default false

Response 200Accounts

Response of adminListCdnAccounts

  • datarequired
    Type
    array of AdminAccount
    Description
  • ownerIdrequired
    Type
    string
    Description
  • usedBytesrequired
    Type
    integer
    Description
    at least 0
  • objectCountrequired
    Type
    integer
    Description
    at least 0
  • quotaBytesrequired
    Type
    integer
    Description
    at least 0
  • quotaOverriddenrequired
    Type
    boolean
    Description
  • uploadsBlockedrequired
    Type
    boolean
    Description
  • accessBlockedrequired
    Type
    boolean
    Description
  • noterequired
    Type
    string, or null
    Description
  • updatedAtrequired
    Type
    string, date-time, or null
    Description
  • updatedByrequired
    Type
    string, or null
    Description
  • lastUploadAtrequired
    Type
    string, date-time, or null
    Description
  • metarequired
    Type
    object
    Description
  • cursorrequired
    Type
    integer, or null
    Description

Example

curl
curl "https://api.rsx.group/files/v1/admin/accounts/list" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": [
    {
      "ownerId": "string",
      "usedBytes": 1,
      "objectCount": 1,
      "quotaBytes": 1,
      "quotaOverridden": true,
      "uploadsBlocked": true,
      "accessBlocked": true,
      "note": "string",
      "updatedAt": "2026-10-10T12:00:00.000Z",
      "updatedBy": "string",
      "lastUploadAt": "2026-10-10T12:00:00.000Z"
    }
  ],
  "meta": {
    "cursor": 1
  }
}
GET/files/v1/admin/accounts/get

One account's CDN usage and policy

Scope
files:admin:accounts:get Admin-issued keys only.

Query parameters

Query parameters of adminGetCdnAccount

  • ownerIdrequired
    Type
    string
    Description
    1 to 128 characters

Response 200Account

Response of adminGetCdnAccount

  • datarequired
    Type
    AdminAccount
    Description
  • ownerIdrequired
    Type
    string
    Description
  • usedBytesrequired
    Type
    integer
    Description
    at least 0
  • objectCountrequired
    Type
    integer
    Description
    at least 0
  • quotaBytesrequired
    Type
    integer
    Description
    at least 0
  • quotaOverriddenrequired
    Type
    boolean
    Description
  • uploadsBlockedrequired
    Type
    boolean
    Description
  • accessBlockedrequired
    Type
    boolean
    Description
  • noterequired
    Type
    string, or null
    Description
  • updatedAtrequired
    Type
    string, date-time, or null
    Description
  • updatedByrequired
    Type
    string, or null
    Description
  • lastUploadAtrequired
    Type
    string, date-time, or null
    Description

Example

curl
curl "https://api.rsx.group/files/v1/admin/accounts/get?ownerId=string" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": {
    "ownerId": "string",
    "usedBytes": 1,
    "objectCount": 1,
    "quotaBytes": 1,
    "quotaOverridden": true,
    "uploadsBlocked": true,
    "accessBlocked": true,
    "note": "string",
    "updatedAt": "2026-10-10T12:00:00.000Z",
    "updatedBy": "string",
    "lastUploadAt": "2026-10-10T12:00:00.000Z"
  }
}
POST/files/v1/admin/accounts/limits

Set an account's quota and blocks

Scope
files:admin:accounts:limits Admin-issued keys only.

Request bodyapplication/json

Request body of adminSetCdnAccountLimits

  • ownerIdrequired
    Type
    string
    Description
    1 to 128 characters
  • quotaBytes
    Type
    integer, or null
    Description
    at least 0
  • uploadsBlocked
    Type
    boolean
    Description
  • accessBlocked
    Type
    boolean
    Description
  • note
    Type
    string, or null
    Description
    up to 500 characters

Response 200Updated policy

Response of adminSetCdnAccountLimits

  • datarequired
    Type
    AdminAccount
    Description
  • ownerIdrequired
    Type
    string
    Description
  • usedBytesrequired
    Type
    integer
    Description
    at least 0
  • objectCountrequired
    Type
    integer
    Description
    at least 0
  • quotaBytesrequired
    Type
    integer
    Description
    at least 0
  • quotaOverriddenrequired
    Type
    boolean
    Description
  • uploadsBlockedrequired
    Type
    boolean
    Description
  • accessBlockedrequired
    Type
    boolean
    Description
  • noterequired
    Type
    string, or null
    Description
  • updatedAtrequired
    Type
    string, date-time, or null
    Description
  • updatedByrequired
    Type
    string, or null
    Description
  • lastUploadAtrequired
    Type
    string, date-time, or null
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/admin/accounts/limits \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "ownerId": "string",
  "quotaBytes": 1,
  "uploadsBlocked": true,
  "accessBlocked": true,
  "note": "string"
}'
200 response
{
  "data": {
    "ownerId": "string",
    "usedBytes": 1,
    "objectCount": 1,
    "quotaBytes": 1,
    "quotaOverridden": true,
    "uploadsBlocked": true,
    "accessBlocked": true,
    "note": "string",
    "updatedAt": "2026-10-10T12:00:00.000Z",
    "updatedBy": "string",
    "lastUploadAt": "2026-10-10T12:00:00.000Z"
  }
}
POST/files/v1/admin/accounts/wipe

Erase everything an account has stored

Scope
files:admin:accounts:wipe Admin-issued keys only.

Request bodyapplication/json

Request body of adminWipeCdnAccount

  • ownerIdrequired
    Type
    string
    Description
    1 to 128 characters
  • reasonrequired
    Type
    string
    Description
    1 to 500 characters

Response 202Wipe queued

Response of adminWipeCdnAccount

  • datarequired
    Type
    AdminWipe
    Description
  • idrequired
    Type
    string
    Description
  • ownerIdrequired
    Type
    string
    Description
  • statusrequired
    Type
    string
    Description
    one of "queued", "running", "done", "failed"
  • objectsTotalrequired
    Type
    integer
    Description
    at least 0
  • objectsDonerequired
    Type
    integer
    Description
    at least 0
  • bytesFreedrequired
    Type
    integer
    Description
    at least 0
  • actorrequired
    Type
    string
    Description
  • reasonrequired
    Type
    string, or null
    Description
  • startedAtrequired
    Type
    string, date-time
    Description
  • finishedAtrequired
    Type
    string, date-time, or null
    Description
  • detailrequired
    Type
    string, or null
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/admin/accounts/wipe \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "ownerId": "string",
  "reason": "string"
}'
202 response
{
  "data": {
    "id": "string",
    "ownerId": "string",
    "status": "queued",
    "objectsTotal": 1,
    "objectsDone": 1,
    "bytesFreed": 1,
    "actor": "string",
    "reason": "string",
    "startedAt": "2026-10-10T12:00:00.000Z",
    "finishedAt": "2026-10-10T12:00:00.000Z",
    "detail": "string"
  }
}
GET/files/v1/admin/wipes/list

Wipe jobs and their progress

Scope
files:admin:wipes:list Admin-issued keys only.

Query parameters

Query parameters of adminListWipes

  • ownerId
    Type
    string
    Description
    up to 128 characters
  • limit
    Type
    integer
    Description
    1 to 100 · default 25

Response 200Wipes

Response of adminListWipes

  • datarequired
    Type
    array of AdminWipe
    Description
  • idrequired
    Type
    string
    Description
  • ownerIdrequired
    Type
    string
    Description
  • statusrequired
    Type
    string
    Description
    one of "queued", "running", "done", "failed"
  • objectsTotalrequired
    Type
    integer
    Description
    at least 0
  • objectsDonerequired
    Type
    integer
    Description
    at least 0
  • bytesFreedrequired
    Type
    integer
    Description
    at least 0
  • actorrequired
    Type
    string
    Description
  • reasonrequired
    Type
    string, or null
    Description
  • startedAtrequired
    Type
    string, date-time
    Description
  • finishedAtrequired
    Type
    string, date-time, or null
    Description
  • detailrequired
    Type
    string, or null
    Description

Example

curl
curl "https://api.rsx.group/files/v1/admin/wipes/list" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": [
    {
      "id": "string",
      "ownerId": "string",
      "status": "queued",
      "objectsTotal": 1,
      "objectsDone": 1,
      "bytesFreed": 1,
      "actor": "string",
      "reason": "string",
      "startedAt": "2026-10-10T12:00:00.000Z",
      "finishedAt": "2026-10-10T12:00:00.000Z",
      "detail": "string"
    }
  ]
}
GET/files/v1/admin/uploads/list

The upload log, finished and abandoned

Scope
files:admin:uploads:list Admin-issued keys only.

Query parameters

Query parameters of adminListUploads

  • ownerId
    Type
    string
    Description
    up to 128 characters
  • status
    Type
    string
    Description
    one of "open", "done", "aborted"
  • cursor
    Type
    integer, or null
    Description
    at least 0 · default 0
  • limit
    Type
    integer
    Description
    1 to 200 · default 50

Response 200Upload sessions

Response of adminListUploads

  • datarequired
    Type
    array of AdminUpload
    Description
  • idrequired
    Type
    string
    Description
  • ownerIdrequired
    Type
    string
    Description
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • sizerequired
    Type
    integer
    Description
    at least 0
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • moderequired
    Type
    UploadMode
    Description
    one of "single", "multipart"
  • statusrequired
    Type
    string
    Description
    one of "open", "done", "aborted"
  • partsDonerequired
    Type
    integer
    Description
    at least 0
  • partCountrequired
    Type
    integer
    Description
    at least 0
  • createdAtrequired
    Type
    string, date-time
    Description
  • expiresAtrequired
    Type
    string, date-time
    Description
  • objectIdrequired
    Type
    string, or null
    Description
    matches ^[0-9A-Za-z]{10}$
  • metarequired
    Type
    object
    Description
  • totalrequired
    Type
    integer
    Description
  • cursorrequired
    Type
    integer, or null
    Description

Example

curl
curl "https://api.rsx.group/files/v1/admin/uploads/list" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": [
    {
      "id": "string",
      "ownerId": "string",
      "filename": "render-final.png",
      "size": 1,
      "hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "mode": "single",
      "status": "open",
      "partsDone": 1,
      "partCount": 1,
      "createdAt": "2026-10-10T12:00:00.000Z",
      "expiresAt": "2026-10-10T12:00:00.000Z",
      "objectId": "K3nZ9qLm2P"
    }
  ],
  "meta": {
    "total": 1,
    "cursor": 1
  }
}
GET/files/v1/admin/settings

Platform-wide CDN switches

Scope
files:admin:settings Admin-issued keys only.

Response 200Settings

Response of adminGetCdnSettings

  • datarequired
    Type
    CdnSettings
    Description
  • uploadsBlockedrequired
    Type
    boolean
    Description
  • accessBlockedrequired
    Type
    boolean
    Description
  • updatedAtrequired
    Type
    string, date-time, or null
    Description
  • updatedByrequired
    Type
    string, or null
    Description

Example

curl
curl "https://api.rsx.group/files/v1/admin/settings" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": {
    "uploadsBlocked": true,
    "accessBlocked": true,
    "updatedAt": "2026-10-10T12:00:00.000Z",
    "updatedBy": "string"
  }
}
POST/files/v1/admin/settings

Throw a platform-wide switch

Scope
files:admin:settings Admin-issued keys only.

Request bodyapplication/json

Request body of adminUpdateCdnSettings

  • uploadsBlocked
    Type
    boolean
    Description
  • accessBlocked
    Type
    boolean
    Description
  • reason
    Type
    string
    Description
    up to 500 characters

Response 200Updated settings

Response of adminUpdateCdnSettings

  • datarequired
    Type
    CdnSettings
    Description
  • uploadsBlockedrequired
    Type
    boolean
    Description
  • accessBlockedrequired
    Type
    boolean
    Description
  • updatedAtrequired
    Type
    string, date-time, or null
    Description
  • updatedByrequired
    Type
    string, or null
    Description

Example

curl
curl -X POST https://api.rsx.group/files/v1/admin/settings \
  -H "Authorization: Bearer rsx_live_..." \
  -H "Content-Type: application/json" \
  -d '{
  "uploadsBlocked": true,
  "accessBlocked": true,
  "reason": "string"
}'
200 response
{
  "data": {
    "uploadsBlocked": true,
    "accessBlocked": true,
    "updatedAt": "2026-10-10T12:00:00.000Z",
    "updatedBy": "string"
  }
}
GET/files/v1/admin/stats

Platform storage totals

Scope
files:admin:stats Admin-issued keys only.

Response 200Totals

Response of adminCdnStats

  • datarequired
    Type
    AdminStats
    Description
  • objectsrequired
    Type
    integer
    Description
    at least 0
  • revokedObjectsrequired
    Type
    integer
    Description
    at least 0
  • blobsrequired
    Type
    integer
    Description
    at least 0
  • storedBytesrequired
    Type
    integer
    Description
    at least 0
  • orphanBlobsrequired
    Type
    integer
    Description
    at least 0
  • orphanBytesrequired
    Type
    integer
    Description
    at least 0
  • ownersrequired
    Type
    integer
    Description
    at least 0
  • uploadsLast24hrequired
    Type
    integer
    Description
    at least 0
  • failedPreviewsrequired
    Type
    integer
    Description
    at least 0
  • blockedAccountsrequired
    Type
    integer
    Description
    at least 0

Example

curl
curl "https://api.rsx.group/files/v1/admin/stats" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": {
    "objects": 1,
    "revokedObjects": 1,
    "blobs": 1,
    "storedBytes": 1,
    "orphanBlobs": 1,
    "orphanBytes": 1,
    "owners": 1,
    "uploadsLast24h": 1,
    "failedPreviews": 1,
    "blockedAccounts": 1
  }
}
GET/files/v1/admin/audit/list

What operators have done to files and accounts

Scope
files:admin:audit:list Admin-issued keys only.

Query parameters

Query parameters of adminListFileAudit

  • cursor
    Type
    integer, or null
    Description
    at least 0 · default 0
  • limit
    Type
    integer
    Description
    1 to 200 · default 50
  • targetType
    Type
    string
    Description
    one of "object", "blob", "account", "cdn"
  • targetId
    Type
    string
    Description
    up to 255 characters

Response 200Audit entries

Response of adminListFileAudit

  • datarequired
    Type
    array of AdminAuditEntry
    Description
  • idrequired
    Type
    string
    Description
  • actorrequired
    Type
    string
    Description
  • actionrequired
    Type
    string
    Description
  • targetTyperequired
    Type
    string
    Description
    one of "object", "blob", "account", "cdn"
  • targetIdrequired
    Type
    string
    Description
  • targetLabelrequired
    Type
    string, or null
    Description
  • atrequired
    Type
    string, date-time
    Description
  • detailrequired
    Type
    string, or null
    Description

Example

curl
curl "https://api.rsx.group/files/v1/admin/audit/list" \
  -H "Authorization: Bearer rsx_live_..."
200 response
{
  "data": [
    {
      "id": "string",
      "actor": "string",
      "action": "string",
      "targetType": "object",
      "targetId": "string",
      "targetLabel": "string",
      "at": "2026-10-10T12:00:00.000Z",
      "detail": "string"
    }
  ]
}
08

Schemas

Every named shape in this reference, as the operations above refer to it.

UploadGrant

UploadGrant

  • partNumberrequired
    Type
    integer
    Description
    at least 1
  • urlrequired
    Type
    string, uri
    Description
  • methodrequired
    Type
    string
    Description
    one of "PUT"
  • headersrequired
    Type
    map of string
    Description
  • {key}
    Type
    string
    Description

UploadSession

UploadSession

  • idrequired
    Type
    string, uuid
    Description
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • moderequired
    Type
    UploadMode
    Description
    one of "single", "multipart"
  • statusrequired
    Type
    string
    Description
    one of "open", "done", "aborted"
  • dedupedrequired
    Type
    boolean
    Description
  • partSizerequired
    Type
    integer, or null
    Description
    at least 5242880
  • partCountrequired
    Type
    integer
    Description
    at least 1
  • completedPartsrequired
    Type
    array of integer
    Description
  • grantsrequired
    Type
    array of UploadGrant
    Description
  • partNumberrequired
    Type
    integer
    Description
    at least 1
  • urlrequired
    Type
    string, uri
    Description
  • methodrequired
    Type
    string
    Description
    one of "PUT"
  • headersrequired
    Type
    map of string
    Description
  • {key}
    Type
    string
    Description
  • expiresAtrequired
    Type
    string, date-time
    Description

CreateUpload

CreateUpload

  • hash
    Type
    string
    Description
    matches ^[0-9a-f]{64}$
  • sizerequired
    Type
    integer
    Description
    1 to 34359738368
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters

UploadedPart

UploadedPart

  • partNumberrequired
    Type
    integer
    Description
    1 to 10000
  • etagrequired
    Type
    string
    Description
    at least 1 character

ReportParts

ReportParts

  • idrequired
    Type
    string, uuid
    Description
  • partsrequired
    Type
    array of UploadedPart
    Description
    1 to 10000 items
  • partNumberrequired
    Type
    integer
    Description
    1 to 10000
  • etagrequired
    Type
    string
    Description
    at least 1 character

RemoveUpload

RemoveUpload

  • idrequired
    Type
    string, uuid
    Description

Quota

Quota

  • usedBytesrequired
    Type
    integer
    Description
    at least 0
  • limitBytesrequired
    Type
    integer
    Description
    at least 0
  • maxObjectBytesrequired
    Type
    integer
    Description
    at least 0
  • objectCountrequired
    Type
    integer
    Description
    at least 0

PreviewStatus

string, or null

ModelFormat

string, or null

FileObject

FileObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • sizerequired
    Type
    integer
    Description
    at least 0
  • mimerequired
    Type
    string
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • visibilityrequired
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • urlrequired
    Type
    string, uri
    Description
  • pageUrlrequired
    Type
    string, uri, or null
    Description
  • thumbUrlrequired
    Type
    string, uri, or null
    Description
  • posterUrlrequired
    Type
    string, uri, or null
    Description
  • sourcerequired
    Type
    string, or null
    Description
    1 to 255 characters
  • previewStatusrequired
    Type
    PreviewStatus
    Description
    one of "pending", "ready", "partial", "unsupported", "failed"
  • previewDetailrequired
    Type
    string, or null
    Description
  • hasManifestrequired
    Type
    boolean
    Description
  • hasTextrequired
    Type
    boolean
    Description
  • modelFormatrequired
    Type
    ModelFormat
    Description
    one of "glb", "gltf", "obj", "stl", "fbx", "rbxm"
  • treeUrlrequired
    Type
    string, uri, or null
    Description
  • widthrequired
    Type
    integer, or null
    Description
    at least 1
  • heightrequired
    Type
    integer, or null
    Description
    at least 1
  • createdAtrequired
    Type
    string, date-time
    Description
  • expiresAtrequired
    Type
    string, date-time, or null
    Description

CreateObject

CreateObject

  • uploadIdrequired
    Type
    string, uuid
    Description
  • filename
    Type
    string
    Description
    1 to 255 characters
  • visibility
    Type
    object
    Description
  • expiresAt
    Type
    string, date-time, or null
    Description
  • source
    Type
    string
    Description
    1 to 255 characters

UpdateObject

UpdateObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • filename
    Type
    string
    Description
    1 to 255 characters
  • visibility
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • expiresAt
    Type
    string, date-time, or null
    Description

RemoveObject

RemoveObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$

ArchiveEntry

ArchiveEntry

  • indexrequired
    Type
    integer
    Description
    at least 0
  • pathrequired
    Type
    string
    Description
  • isDirectoryrequired
    Type
    boolean
    Description
  • sizerequired
    Type
    integer
    Description
    at least 0
  • compressedSizerequired
    Type
    integer
    Description
    at least 0
  • extractablerequired
    Type
    boolean
    Description
  • modifiedrequired
    Type
    string, date-time, or null
    Description

TextPreview

TextPreview

  • textrequired
    Type
    string
    Description
  • linesrequired
    Type
    integer
    Description
    at least 0
  • truncatedrequired
    Type
    boolean
    Description
  • truncatedByrequired
    Type
    string, or null
    Description
    one of "bytes", "lines", "lineLength"
  • previewBytesrequired
    Type
    integer
    Description
    at least 0
  • totalBytesrequired
    Type
    integer
    Description
    at least 0

IssuedObject

IssuedObject

  • idrequired
    Type
    string
    Description
  • urlrequired
    Type
    string, uri
    Description
  • widthrequired
    Type
    integer
    Description
    at least 1
  • heightrequired
    Type
    integer
    Description
    at least 1

IssuedRemoved

IssuedRemoved

  • idrequired
    Type
    string, or null
    Description

IssuedRemove

IssuedRemove

  • ownerIdrequired
    Type
    string
    Description
    1 to 128 characters
  • issuerrequired
    Type
    string
    Description
    matches ^[a-z][a-z0-9-]{0,31}$
  • slotrequired
    Type
    string
    Description
    matches ^[a-z][a-z0-9-]{0,31}$

ResolvedObject

ResolvedObject

  • storageKeyrequired
    Type
    string
    Description
    at least 1 character
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • mimerequired
    Type
    string
    Description
  • sizerequired
    Type
    integer
    Description
    at least 0
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • dispositionrequired
    Type
    string
    Description
    one of "inline", "attachment"
  • visibilityrequired
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • expiresAtrequired
    Type
    string, date-time, or null
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • createdAtrequired
    Type
    string, date-time
    Description
  • thumbKeyrequired
    Type
    string, or null
    Description
  • posterKeyrequired
    Type
    string, or null
    Description
  • manifestKeyrequired
    Type
    string, or null
    Description
  • modelFormatrequired
    Type
    ModelFormat
    Description
    one of "glb", "gltf", "obj", "stl", "fbx", "rbxm"
  • treeKeyrequired
    Type
    string, or null
    Description
  • widthrequired
    Type
    integer, or null
    Description
    at least 1
  • heightrequired
    Type
    integer, or null
    Description
    at least 1

ResolveObject

ResolveObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$

AdminObject

AdminObject

  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • ownerIdrequired
    Type
    string
    Description
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • sizerequired
    Type
    integer
    Description
    at least 0
  • mimerequired
    Type
    string
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • visibilityrequired
    Type
    Visibility
    Description
    one of "public", "unlisted", "private"
  • storageKeyrequired
    Type
    string
    Description
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • refcountrequired
    Type
    integer
    Description
    at least 0
  • verifiedrequired
    Type
    boolean
    Description
  • previewStatusrequired
    Type
    PreviewStatus
    Description
    one of "pending", "ready", "partial", "unsupported", "failed"
  • createdAtrequired
    Type
    string, date-time
    Description
  • expiresAtrequired
    Type
    string, date-time, or null
    Description
  • deletedAtrequired
    Type
    string, date-time, or null
    Description
  • issuerrequired
    Type
    string, or null
    Description
  • urlrequired
    Type
    string
    Description

AdminBlob

AdminBlob

  • storageKeyrequired
    Type
    string
    Description
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • sizerequired
    Type
    integer
    Description
    at least 0
  • mimerequired
    Type
    string
    Description
  • kindrequired
    Type
    ObjectKind
    Description
    one of "image", "video", "audio", "archive", "model", "text", "document", "other"
  • verifiedrequired
    Type
    boolean
    Description
  • refcountrequired
    Type
    integer
    Description
    at least 0
  • createdAtrequired
    Type
    string, date-time
    Description
  • objectsrequired
    Type
    array of object
    Description
  • idrequired
    Type
    string
    Description
    matches ^[0-9A-Za-z]{10}$
  • ownerIdrequired
    Type
    string
    Description
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • createdAtrequired
    Type
    string, date-time
    Description

AdminAccount

AdminAccount

  • ownerIdrequired
    Type
    string
    Description
  • usedBytesrequired
    Type
    integer
    Description
    at least 0
  • objectCountrequired
    Type
    integer
    Description
    at least 0
  • quotaBytesrequired
    Type
    integer
    Description
    at least 0
  • quotaOverriddenrequired
    Type
    boolean
    Description
  • uploadsBlockedrequired
    Type
    boolean
    Description
  • accessBlockedrequired
    Type
    boolean
    Description
  • noterequired
    Type
    string, or null
    Description
  • updatedAtrequired
    Type
    string, date-time, or null
    Description
  • updatedByrequired
    Type
    string, or null
    Description
  • lastUploadAtrequired
    Type
    string, date-time, or null
    Description

AdminWipe

AdminWipe

  • idrequired
    Type
    string
    Description
  • ownerIdrequired
    Type
    string
    Description
  • statusrequired
    Type
    string
    Description
    one of "queued", "running", "done", "failed"
  • objectsTotalrequired
    Type
    integer
    Description
    at least 0
  • objectsDonerequired
    Type
    integer
    Description
    at least 0
  • bytesFreedrequired
    Type
    integer
    Description
    at least 0
  • actorrequired
    Type
    string
    Description
  • reasonrequired
    Type
    string, or null
    Description
  • startedAtrequired
    Type
    string, date-time
    Description
  • finishedAtrequired
    Type
    string, date-time, or null
    Description
  • detailrequired
    Type
    string, or null
    Description

AdminUpload

AdminUpload

  • idrequired
    Type
    string
    Description
  • ownerIdrequired
    Type
    string
    Description
  • filenamerequired
    Type
    string
    Description
    1 to 255 characters
  • sizerequired
    Type
    integer
    Description
    at least 0
  • hashrequired
    Type
    string, or null
    Description
    matches ^[0-9a-f]{64}$
  • moderequired
    Type
    UploadMode
    Description
    one of "single", "multipart"
  • statusrequired
    Type
    string
    Description
    one of "open", "done", "aborted"
  • partsDonerequired
    Type
    integer
    Description
    at least 0
  • partCountrequired
    Type
    integer
    Description
    at least 0
  • createdAtrequired
    Type
    string, date-time
    Description
  • expiresAtrequired
    Type
    string, date-time
    Description
  • objectIdrequired
    Type
    string, or null
    Description
    matches ^[0-9A-Za-z]{10}$

CdnSettings

CdnSettings

  • uploadsBlockedrequired
    Type
    boolean
    Description
  • accessBlockedrequired
    Type
    boolean
    Description
  • updatedAtrequired
    Type
    string, date-time, or null
    Description
  • updatedByrequired
    Type
    string, or null
    Description

AdminStats

AdminStats

  • objectsrequired
    Type
    integer
    Description
    at least 0
  • revokedObjectsrequired
    Type
    integer
    Description
    at least 0
  • blobsrequired
    Type
    integer
    Description
    at least 0
  • storedBytesrequired
    Type
    integer
    Description
    at least 0
  • orphanBlobsrequired
    Type
    integer
    Description
    at least 0
  • orphanBytesrequired
    Type
    integer
    Description
    at least 0
  • ownersrequired
    Type
    integer
    Description
    at least 0
  • uploadsLast24hrequired
    Type
    integer
    Description
    at least 0
  • failedPreviewsrequired
    Type
    integer
    Description
    at least 0
  • blockedAccountsrequired
    Type
    integer
    Description
    at least 0

AdminAuditEntry

AdminAuditEntry

  • idrequired
    Type
    string
    Description
  • actorrequired
    Type
    string
    Description
  • actionrequired
    Type
    string
    Description
  • targetTyperequired
    Type
    string
    Description
    one of "object", "blob", "account", "cdn"
  • targetIdrequired
    Type
    string
    Description
  • targetLabelrequired
    Type
    string, or null
    Description
  • atrequired
    Type
    string, date-time
    Description
  • detailrequired
    Type
    string, or null
    Description