POST
/
v1
/
teams
/
{teamId}
/
uploads
/
request
TypeScript client
import { OctosparkClient } from '@octospark/sdk'

const client = new OctosparkClient({
  token: process.env.OCTOSPARK_TOKEN
})

const response = await client.assets.requestUpload({
  teamId: process.env.OCTOSPARK_TEAM_ID ?? "teamId",
  body: {},
})
{
  "uploadId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "presignedUrl": "<string>",
  "deduplicated": true,
  "existingAssetId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

teamId
string
required

Team (workspace) id (UUID). Discover ids via the list teams endpoint or the agent context.

Body

application/json
fileName
string
required

Original filename of the file to upload, including extension.

Minimum string length: 1
Example:

"launch-teaser.mp4"

fileSize
integer
required

Exact file size in bytes; max 200 MB (209715200 bytes) per asset.

Required range: x >= 1
Example:

1048576

contentHash
string | null
required

SHA-256 hex digest of the file content, used for deduplication; null skips the dedupe check.

Example:

"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"

mimeType
string
required

MIME type of the file content.

Minimum string length: 1
Examples:

"video/mp4"

"image/png"

Response

Success

uploadId
string<uuid>
required

a Universally Unique Identifier

Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
presignedUrl
string
required
deduplicated
boolean
required
existingAssetId
string<uuid> | null
required

a Universally Unique Identifier

Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$