---
title: "Validate and complete an uploaded object"
method: POST
path: "/uploads/{id}/complete"
tags: ["Uploads"]
---

# Validate and complete an uploaded object

`POST /uploads/{id}/complete`

## Request

- Base URL: `https://api.promptessor.com/v1`
- URL: `https://api.promptessor.com/v1/uploads/{id}/complete`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://auth.promptessor.com/authorize`
    - Token URL: `https://auth.promptessor.com/token` scopes: `uploads:write`

## Response `200`

Success

- object
  - `data` Upload, required
    - `id` string, required
    - `status` 'pending' | 'uploaded' | 'processing' | 'consumed' | 'expired' | 'deleted', required
    - `name` string, required
    - `contentType` string, required
    - `size` integer, required
    - `scope` string, required
    - `expiresAt` string, date-time, required
    - `createdAt` string, date-time, required
  - `requestId` string, required

## Other responses

- `400`: Invalid request
- `401`: Authentication failed
- `403`: Insufficient scope or plan entitlement
- `404`: Resource not found
- `409`: Resource state or idempotency conflict
- `410`: Resource expired
- `429`: Rate, concurrency, usage, or active-resource limit reached
- `500`: Unexpected server failure
- `503`: A required dependent service is unavailable

---

[API](https://skmtc.dev/promptessor/apis/promptessor-public-api.md) - [All operations](https://skmtc.dev/promptessor/apis/promptessor-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/promptessor/apis/promptessor-public-api/revisions/b77103396027?raw)
