---
title: "List uploads"
method: GET
path: "/upload"
tags: ["Uploads"]
---

# List uploads

`GET /upload`

## Request

- Base URL: `https://api.multi-upload-tool.com/api/v1`
- URL: `https://api.multi-upload-tool.com/api/v1/upload`
- Auth: API key in header `x-api-key`

Returns upload history, most recent first.

## Query parameters

- `status` 'pending' | 'scheduled' | 'processing' | 'completed' | 'failed' | 'draft' | 'pending_approval'
- `platform` 'tiktok' | 'youtube' | 'instagram' | 'facebook' | 'linkedin' | 'pinterest' | 'bluesky' | 'threads' | 'x': A supported social platform.
- `search` string
- `startDate` string, date-time
- `endDate` string, date-time
- `limit` integer
- `page` integer

## Headers

- `X-Team-ID` integer

## Response `200`

The matching uploads.

- object
  - `success` unknown, required
  - `data` Upload[], required
    - `id` integer
    - `platform` 'tiktok' | 'youtube' | 'instagram' | 'facebook' | 'linkedin' | 'pinterest' | 'bluesky' | 'threads' | 'x': A supported social platform.
    - `accountId` string
    - `title` string, nullable
    - `description` string, nullable
    - `status` 'pending' | 'scheduled' | 'processing' | 'completed' | 'failed' | 'draft' | 'pending_approval'
    - `url` string, uri, nullable: Public URL of the published post, once it succeeds.
    - `error` string, nullable: Failure reason when status is `failed`.
    - `failure` UploadFailure, nullable: What a failure means, as data. Null unless status is `failed`.
      - `code` 'rate_limited' | 'account_disconnected' | 'platform_unavailable' | 'queue_expired' | 'unknown' | 'media_invalid' | 'media_unreachable' | 'content_flagged' | 'platform_processing_timeout' | 'cancelled', required
      - `retryable` boolean, required: Whether retrying the same post can succeed.
      - `nextAction` 'retry' | 'retry_later' | 'reconnect_account' | 'replace_media' | 'edit_post' | 'check_platform' | 'none', required
    - `xCredits` object, nullable: X posts only: credits this post cost. `spent` is what was debited (1, or 15 when the text contains a link), `refunded` what came back when the post failed, `net` the difference. Null until the job has run.
      - `spent` integer
      - `refunded` integer
      - `net` integer
    - `scheduledFor` string, date-time, nullable
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
  - `pagination` Pagination, required
    - `total` integer: Total matching records, across all pages.
    - `page` integer
    - `limit` integer
    - `totalPages` integer

## Other responses

- `401`: The API key is missing, invalid, revoked or expired.
- `429`: Too many requests for this endpoint group.

---

[API](https://skmtc.dev/multi-upload-tool/apis/multi-upload-tool-api.md) · [All operations](https://skmtc.dev/multi-upload-tool/apis/multi-upload-tool-api/llms.txt) · [OpenAPI document](https://skmtc.dev/multi-upload-tool/apis/multi-upload-tool-api/revisions/bb7e72abbb76?raw)
