API REFERENCE
POST /api/content/packs/assets
On this page
/api/content/packs/assetsRelease rollout pending; discover current host capabilities before execution. Upload explicitly selected audio or reference artwork to owned private storage; return a temporary locator.
Authentication
x-api-key in header
bearerAuth bearer
Request
curl --request POST \
--url 'https://api.recoupable.dev/api/content/packs/assets' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"organization_id": "YOUR_ID",
"filename": "string",
"content_type": "audio/mpeg",
"mode": "inline",
"base64": "string",
"source_url": "string",
"storage_key": "string",
"file": {
"download_url": "string",
"file_id": "string"
}
}'Try it
Fill in the fields, send the request from your browser, and read the live response. The curl below updates as you type.
Kept in this browser tab only and cleared when it closes.
curl --request POST \
--url 'https://recoup-api.vercel.app/api/content/packs/assets' \
--header 'Content-Type: application/json' \
--data '{
"organization_id": "YOUR_ID",
"filename": "string",
"content_type": "audio/mpeg",
"mode": "inline",
"base64": "string",
"source_url": "string",
"storage_key": "string",
"file": {
"download_url": "string",
"file_id": "string"
}
}'Request body required
application/json
organization_idstringformat: uuid · pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
filenamestringminLength: 1 · maxLength: 160 · pattern: ^[A-Za-z0-9._ -]+$
content_typestring · enumValues: "audio/mpeg", "audio/wav", "audio/x-wav", "audio/flac", "audio/mp4", "image/png", "image/jpeg", "image/webp"
modestring · enumValues: "inline", "signed_url", "finalize"
Default: "inline"
base64stringminLength: 4 · maxLength: 4000000
source_urlstringformat: uri · maxLength: 4000
storage_keystringminLength: 1 · maxLength: 400
fileobjectProperties for file
download_urlstringrequiredformat: uri · maxLength: 4000
file_idstringrequiredminLength: 1 · maxLength: 2000
mime_typestringmaxLength: 200
file_namestringmaxLength: 300
Responses
200Current owned result; running is not completed.+
application/json
storage_keystringurlstringcontent_typestringbytesintegerexpires_atstringsigned_upload_urlstringupload_tokenstringexpires_in_secondsintegermaximum_bytesintegernext_actionstring400Invalid input.+
application/json
statusstringrequirederrorstringrequiredbillingUrlstringformat: uri
401Authentication required.+
application/json
statusstringrequirederrorstringrequiredbillingUrlstringformat: uri
402Insufficient credits; use returned billingUrl.+
application/json
statusstringrequirederrorstringrequiredbillingUrlstringformat: uri
403Workspace access denied.+
application/json
statusstringrequirederrorstringrequiredbillingUrlstringformat: uri
404Owned resource not found.+
application/json
statusstringrequirederrorstringrequiredbillingUrlstringformat: uri
409Stale quote/revision, unresolved submission, budget/state conflict or required execution capability unavailable.+
application/json
statusstringrequirederrorstringrequiredbillingUrlstringformat: uri
Full specification
Download the OpenAPI file for complete schemas, constraints, and examples.
Download content.jsonView operation source
{
"operationId": "uploadReleasePackAsset",
"description": "Release rollout pending; discover current host capabilities before execution. Upload explicitly selected audio or reference artwork to owned private storage; return a temporary locator.",
"security": [
{
"apiKeyAuth": []
},
{
"bearerAuth": []
}
],
"responses": {
"200": {
"description": "Current owned result; running is not completed.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleasePackUploadResponse"
}
}
}
},
"400": {
"description": "Invalid input.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleasePackError"
}
}
}
},
"401": {
"description": "Authentication required.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleasePackError"
}
}
}
},
"402": {
"description": "Insufficient credits; use returned billingUrl.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleasePackError"
}
}
}
},
"403": {
"description": "Workspace access denied.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleasePackError"
}
}
}
},
"404": {
"description": "Owned resource not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleasePackError"
}
}
}
},
"409": {
"description": "Stale quote/revision, unresolved submission, budget/state conflict or required execution capability unavailable.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleasePackError"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UploadReleasePackAssetRequest"
}
}
}
},
"x-recoup-availability": "pending"
}