---
title: "Get a single upload with its campaigns"
method: GET
path: "/api/v1/uploads/{id}"
tags: ["Uploads"]
---

# Get a single upload with its campaigns

`GET /api/v1/uploads/{id}`

## Request

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

Response includes nested `campaigns` array for every child campaign job.

## Response `200`

Success

- 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
    - `campaigns` object[]
      - `id` integer
      - `campaign_name` string, nullable
      - `adset_name` string, nullable
      - `ad_name` string, nullable
      - `bid_amount` number, nullable
      - `status` string
      - `meta_status` string, nullable
      - `meta_campaign_id` string, nullable
      - `error_message` string, nullable
      - `is_excluded` boolean

## Other responses

- `404`: Upload not found

---

[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)
