---
title: "Internal Dispatch Assistant Asset Uploads"
method: POST
path: "/internal/dispatch_assistant_asset_uploads"
---

# Internal Dispatch Assistant Asset Uploads

`POST /internal/dispatch_assistant_asset_uploads`

## Request

- Base URL: `https://api.tellers.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tellers.ai/internal/dispatch_assistant_asset_uploads`
- Auth: none declared

Internal-only maintenance endpoint (run hourly by ``cron_job_hourly``).

Optimisation is normally dispatched by the API as soon as the client
finishes uploading; this reconciles the cases it never reached — a browser
closed mid-flow, or a client that never called upload_complete/process.

It also reclaims uploads that stopped making progress altogether (default:
no new part for 24h), aborting the multipart so S3 stops charging for the
parts already written.

Expose this router only via an internal ingress/LB (VPC-only).

## Query parameters

- `limit` integer
- `grace_seconds` integer
- `abandon_after_seconds` integer

## Response `200`

Successful Response

- DispatchAssistantAssetUploadsResponse
  - `dispatched_count` integer, required
  - `cleaned_count` integer, required

## Other responses

- `422`: Validation Error

---

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