Download Files by URL

This endpoint gets signed URLs for downloading the final files from cloud storage.

POST https://platform.cryo-mix.com/api/signed-url/multi-download


Request Headers

Header Type Required Description
X-Api-Key string Yes Your client API key.
Session-Id string Yes The unique session identifier you used to upload the file.
Source string Yes Must be set to Mastering API.

Request Body

Parameter Type Required Description
expiration_seconds integer No The expiration time for the URL in seconds. Default: 600, Min: 1, Max: 604800.

Example Request

{
  "expiration_seconds": 600
}

Response

Success Response (200 OK)

Response Fields

Field Type Description
download_audio_urls object An object mapping file names to their signed download URLs.
{
  "data": {
        "download_audio_urls": {
            "FinalMaster.mp3": "https:\/\/storage.googleapis.com\/cryomix-platform-private-staging\/downloads\/b0914412-7e97-432f-a480-0b575800f28c\/FinalMaster.mp3/.......",
            "MasteringReport.json": "https:\/\/storage.googleapis.com\/cryomix-platform-private-staging\/downloads\/b0914412-7e97-432f-a480-0b575800f28c\/MasteringReport.json/......",
            "OriginalMix.mp3": "https:\/\/storage.googleapis.com\/cryomix-platform-private-staging\/downloads\/b0914412-7e97-432f-a480-0b575800f28c\/OriginalMix.mp3/......",
            "FinalMaster.wav": "https:\/\/storage.googleapis.com\/cryomix-platform-private-staging\/downloads\/b0914412-7e97-432f-a480-0b575800f28c\/FinalMaster.wav/......"
        }
    },
  "message": "Api success",
  "status": "success",
  "code": 200
}

Error Responses

400 Bad Request

{
  "message": "missing required parameters",
  "status": "error",
  "code": 400
}

Possible Causes:

• A required header (X-Api-Key, Session-Id, or Source) is missing or invalid.

• The expiration_seconds parameter is missing or invalid. It must be between 1 and 604800.

401 Unauthorized

{
  "message": "unauthorized client",
  "status": "error",
  "code": 401
}

Possible Causes:

• The API key is incorrect.

• The Source header is incorrect.

• The request is coming from a domain that is not on your list of allowed domains.

Usage Example

JavaScript (Fetch)

const response = await fetch('https://platform.cryo-mix.com/api/signed-url/multi-download', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'your-api-key-here',
    'Session-Id': 'unique-session-id',
    'Source': 'Mastering API'
  },
  body: JSON.stringify({
    expiration_seconds: 600
  })
});

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

cURL

curl -X POST https://platform.cryo-mix.com/api/signed-url/multi-download \
  -H "X-Api-Key: your-api-key-here" \
  -H "Session-Id: unique-session-id" \
  -H "Source: Mastering API" \
  -H "Origin: your-domain.com" \
  -d '{
    "expiration_seconds": 600
  }'

Note

FinalMaster.wav is only included if the master has been purchased.

• The Session-Id is the same identifier used when uploading the file.