Substy Developers
Media and vault

Initialize direct vault upload

Start a provider-URL upload requiring external HTTP PUT requests. Prefer initialize_vault_upload and upload_vault_part for transfers entirely through MCP. With putUrl, PUT the entire file; with putUrls, PUT ordered 5 MiB chunks. Retain key, uploadId and response ETags for complete_direct_vault_upload.

POST/v1/agencies/{agencyId}/creators/{creatorId}/vault/direct-uploads

Start a provider-URL upload requiring external HTTP PUT requests. Prefer initialize_vault_upload and upload_vault_part for transfers entirely through MCP. With putUrl, PUT the entire file; with putUrls, PUT ordered 5 MiB chunks. Retain key, uploadId and response ETags for complete_direct_vault_upload.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

agencyId*string
Length1 <= length
creatorId*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/agencies/string/creators/string/vault/direct-uploads" \  -H "Authorization: Bearer YOUR_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "filename": "string",    "size": 1,    "contentType": "string"  }'
{  "data": {    "key": "string",    "uploadId": "string",    "putUrl": null,    "putUrls": [      {        "part": 0,        "putUrl": "string"      }    ]  },  "meta": {    "requestId": "string",    "operationId": "3051932a-fdd2-48fa-b330-7e7d41535969",    "status": "COMPLETED"  }}