Skip to main content
POST
/
v1
/
apps
/
{app_id}
/
deploy
/
upload-url
Get presigned upload URL
curl --request POST \
  --url https://api.mixpeek.com/v1/apps/{app_id}/deploy/upload-url \
  --header 'Content-Type: application/json' \
  --data '
{
  "filename": "<string>",
  "content_type": "application/zip"
}
'
{
  "upload_url": "<string>",
  "bundle_s3_key": "<string>",
  "expires_in": 3600
}

Headers

Authorization
string

REQUIRED: Bearer token authentication using your API key. Format: 'Bearer sk_xxxxxxxxxxxxx'. You can create API keys in the Mixpeek dashboard under Organization Settings.

Examples:

"Bearer YOUR_API_KEY"

"Bearer YOUR_STRIPE_API_KEY"

authorization
string
X-Namespace
string

REQUIRED: Namespace identifier for scoping this request. All resources (collections, buckets, taxonomies, etc.) are scoped to a namespace. You can provide either the namespace name or namespace ID. Format: ns_xxxxxxxxxxxxx (ID) or a custom name like 'my-namespace'

Examples:

"ns_abc123def456"

"production"

"my-namespace"

Path Parameters

app_id
string
required

Body

application/json
filename
string
required

Zip filename (e.g. 'my-app-v2.zip')

content_type
string
default:application/zip

Response

Successful Response

upload_url
string
required

Presigned S3 PUT URL

bundle_s3_key
string
required

S3 key to pass back in DeployRequest

expires_in
integer
default:3600

URL expiry in seconds