Upload File API

📘Introduction

The Upload File API allows you to upload a packaged Unreal Engine build (as a .zip) to your Streampixel project. This API is used by power users, automation tools, or our official Unreal Plugin to deploy new builds to the cloud.

📦 Use Case: Uploading a Build via URL

The Upload File API is designed for developers who want to create a custom pipeline where they:

  1. Build their Unreal Engine project

  2. Package it into a .zip file

  3. Upload that .zip to their own cloud storage

  4. Send the public download link to Streampixel via this API

This workflow allows full flexibility and can be used in CI/CD tools, internal build systems, or automated release pipelines.


☁️ You’ll Need Your Own Cloud Storage

To use this API, you must host the .zip file yourself — for example, on:

  • AWS S3 (with a signed or public URL)

  • Google Cloud Storage

  • DigitalOcean Spaces

  • Any HTTP-accessible file server


⚠️ Important: File Must Be Directly Downloadable

We expect that the moment Streampixel accesses the fileUrl, the download should begin automatically.

This means:

  • No login pages

  • No redirect delays

  • No HTML wrappers

  • No download buttons

✅ Valid example: https://your-bucket.s3.amazonaws.com/MyBuild.zip

❌ Invalid example: https://drive.google.com/file/d/abc123/view

✅ Pre-requisites

Before calling the Upload File API, make sure you have the following:

Parameter
Description

API Key

Your unique API key to authenticate the request. Provided by Streampixel. Refer to API Authentication

User ID

The unique identifier of your Streampixel user account. Refer to Finding Your User & Project IDs

Project ID

The ID of the project to which you're uploading the build. Refer to Finding Your User & Project IDs

File URL

A publicly accessible link to your .zip file (e.g., hosted on S3).

🧭 Endpoint (POST)

https://api.streampixel.io/pixelStripeApi/project/upload-file
curl -X POST https://api.streampixel.io/pixelStripeApi/project/upload-file \
  -H "Content-Type: application/json" \
  -d '{
    "apiKey": "[YOUR_API_KEY]",
    "userId": "[YOUR_USER_ID]",
    "fileUrl": "[PUBLIC_FILE_URL]",
    "projectId": "[YOUR_PROJECT_ID]",
    "autoRelease": "[true_or_false]"
  }'

🔧 Fields Description

Field
Type
Required
Description

apiKey

String

Authentication key for the API

userId

String

Streampixel user ID

fileUrl

String

Publicly accessible direct URL to the .zip file

projectId

String

Project ID to link the build to

autoRelease

Boolean/String

Whether to auto-release the new build (default: true)

{
  "success": true,
  "uploadId": "UID_number",
  "message": "File uploaded successfully"
}

❌ Error Responses

HTTP Code
Message
Reason

400

Invalid or missing parameters

Missing fileUrl, userId, etc.

401

Invalid API key

apiKey is incorrect or unauthorized

404

File not accessible

fileUrl is unreachable or forbidden

500

Internal server error

Unexpected error on our backend

✅ What Happens After Upload

Once your request is successfully processed:

  1. The build is sent to our internal Build Manager Server for downloading and validation.

  2. The system verifies:

    • That the .zip file is accessible and properly structured

    • That it contains the required binaries

  3. If the build passes validation, it will be distributed to our servers and linked to your project.


📺 How to Confirm It's Working

You can confirm that your build has been successfully linked by:

If everything went well, you’ll see your uploaded build listed there and processing

Last updated