---
title: "Get an upload"
method: GET
path: "/upload/{id}"
tags: ["Uploads"]
---

# Get an upload

`GET /upload/{id}`

## Request

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

Returns the current state of a single upload, including the published post URL once it succeeds.

## Headers

- `X-Team-ID` integer

## Response `200`

The upload.

- object
  - `success` unknown
  - `data` Upload: One publication to one account.
    - `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

## Other responses

- `400`: The request body or parameters were rejected.
- `401`: The API key is missing, invalid, revoked or expired.
- `404`: No such resource, or it does not belong to the caller.
- `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)
