---
title: "Create a new bulk upload session"
method: POST
path: "/api/v1/uploads"
tags: ["Uploads"]
---

# Create a new bulk upload session

`POST /api/v1/uploads`

## Request

- Base URL: `https://getscaleforge.com`
- URL: `https://getscaleforge.com/api/v1/uploads`
- Auth: HTTP bearer

Creates an Upload record. Requires scope `uploads:write`.

## Request body

- object
  - `name` string, required
  - `template_id` integer, required
  - `meta_account_id` integer: Ad Account ID for single-account uploads
  - `multi_account` boolean: Fan-out across all user ad accounts
  - `creative_ids` integer[]

## Response `201`

Upload created

- object
  - `data` object
    - `id` integer
    - `name` string
    - `status` 'queued' | 'processing' | 'paused' | 'cancelled' | 'completed' | 'failed'
    - `total_campaigns` integer
    - `completed_campaigns` integer
    - `failed_campaigns` integer
    - `multi_account` boolean
    - `started_at` string, date-time, nullable
    - `completed_at` string, date-time, nullable
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `422`: Validation failed

---

[API](https://skmtc.dev/getscaleforge/apis/scaleforge-api.md) · [All operations](https://skmtc.dev/getscaleforge/apis/scaleforge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getscaleforge/apis/scaleforge-api/revisions/ca382e62f404?raw)
