---
title: "Sign again where a pending upload’s bytes go"
method: POST
path: "/workspaces/{id}/content/{itemId}/upload"
tags: ["content"]
---

# Sign again where a pending upload’s bytes go

`POST /workspaces/{id}/content/{itemId}/upload`

## Request

- Base URL: `https://api.swingfactor.ai/v1`
- URL: `https://api.swingfactor.ai/v1/workspaces/{id}/content/{itemId}/upload`
- Auth: HTTP bearer

For a retry, or an upload URL that expired. A ready item has nothing left to upload.

## Path parameters

- `id` string, uuid, required
- `itemId` string, uuid, required

## Response `200`

Where to send the bytes.

- Upload, nullable: For an upload: where its bytes go.
  - `url` string, required: Send the bytes here, with these headers. Signed; no token needed.
  - `method` 'PUT', required
  - `headers` object, required
  - `expiresAt` string, required

## Other responses

- `401`: No token, or not a valid one: `unauthorized`.
- `404`: No such item.
- `409`: Already uploaded.

---

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