Skip to main content
POST
/
releases
/
{id}
/
media
/
files
Upload Media Files to Release
curl --request POST \
  --url https://server26-dot-royalti-project.uc.r.appspot.com/releases/{id}/media/files \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data'
{
  "success": true,
  "data": [
    {
      "cloudId": "2_Royalti Demo/releases/d9c09ab9-2816-4f48-9cca-725dc77c6600/release/CertificateOfCompletion_What Is Generative AI.pdf",
      "cloudUrl": "https://storage.googleapis.com/catalog_uploads_temp/2_Royalti%20Demo/releases/d9c09ab9-2816-4f48-9cca-725dc77c6600/release/CertificateOfCompletion_What%20Is%20Generative%20AI.pdf?GoogleAccessId=...",
      "type": "document",
      "name": "CertificateOfCompletion_What Is Generative AI.pdf",
      "isLink": false,
      "releasePath": "2_Royalti Demo/releases/d9c09ab9-2816-4f48-9cca-725dc77c6600/release/CertificateOfCompletion_What Is Generative AI.pdf",
      "metadata": {
        "fileSize": 70790,
        "mimeType": "application/pdf",
        "uploadedAt": "2025-07-23T18:23:45.398Z",
        "mediaType": "release"
      }
    }
  ],
  "message": "1 files uploaded to release"
}
This endpoint requires authentication. Include your Bearer token in the Authorization header.

Code Examples

const response = await fetch('https://server26-dot-royalti-project.uc.r.appspot.com/releases/example-id/media/files', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({})
});

const data = await response.json();
console.log(data);

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"

Path Parameters

id
string<uuid>
required

Release ID

Body

multipart/form-data
files
file[]
required

Array of files to upload

Response

Success - Files uploaded to release

success
boolean
Example:

true

data
object[]
message
string
Example:

"1 files uploaded to release"