---
title: "POST /apps/{appID}/uploads/{uploadID}/complete"
method: POST
path: "/apps/{appID}/uploads/{uploadID}/complete"
---

# POST /apps/{appID}/uploads/{uploadID}/complete

`POST /apps/{appID}/uploads/{uploadID}/complete`

## Path parameters

- `appID` string, required — ID of the app, e.g., `mT91fPcZCWigkZXgSZGJ`
- `uploadID` string, required — ID of the upload, e.g., `upload-123`

## Response `200`

- object
  - `data` object, required
    - `url` string, required — Public URL for the uploaded file

## Other responses

- `402` — Upload quota exceeded
- `403`
- `404`
- `409` — Upload incomplete
- `413` — File too large

## Changes

- **2026-01-13** `ecab03a9d56a` — 2 info
  - added the non-success response with the status `402`
  - added the non-success response with the status `413`
- **2026-01-01** `453a7cd6b0cf` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/glideapps/apis/untitled-api/changes/apps/:appID/uploads/:uploadID/complete/post.md)

---

[API](https://skmtc.dev/glideapps/apis/untitled-api.md) · [All operations](https://skmtc.dev/glideapps/apis/untitled-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/glideapps/untitled-api/revisions/ecab03a9d56a/schema)
