---
title: "Validate a post (dry run)"
method: POST
path: "/upload/validate"
tags: ["Uploads"]
---

# Validate a post (dry run)

`POST /upload/validate`

## Request

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

Runs every check `POST /upload/bulk` would run (account status and ownership, plan, monthly quota, daily cap, queue room, caption and title limits, required media and platform settings) and publishes nothing: no upload is created, nothing is queued, no file is stored. Takes the same body as `/upload/bulk`. Media content (format, duration) is only checked when the post is actually published.

## Headers

- `X-Team-ID` integer

## Response `200`

The verdict. `valid` is true only when every account would accept the post. An error with a null `accountId` applies to the whole request.

- object
  - `success` unknown, required
  - `valid` boolean, required
  - `errors` object[], required
    - `accountId` string, nullable, required
    - `platform` string, nullable, required
    - `error` string, required
  - `targets` object[], required
    - `accountId` string, required
    - `platform` string, nullable, required
    - `scheduledFor` string, date-time, nullable, required

## Other responses

- `400`: The request body or parameters were rejected.
- `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)
