Skip to main content
POST
/
files
/
uploads
/
{upload_id}
/
parts
/
urls
curl -X POST https://api.u1.archetypeai.app/v0.5/files/uploads/upl-7d6c9f0a3b51/parts/urls \
  -H "Authorization: Bearer $ATAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "part_numbers": [42, 43, 44]
  }'
{
  "parts": [
    {
      "part_number": 42,
      "url": "https://storage.example.com/upload/upl-7d6c9f0a3b51/42?X-Amz-Signature=...",
      "offset": 352321536,
      "length": 8388608,
      "expires_at": "2026-04-28T16:18:42Z"
    },
    {
      "part_number": 43,
      "url": "https://storage.example.com/upload/upl-7d6c9f0a3b51/43?X-Amz-Signature=...",
      "offset": 360710144,
      "length": 8388608,
      "expires_at": "2026-04-28T16:18:42Z"
    },
    {
      "part_number": 44,
      "url": "https://storage.example.com/upload/upl-7d6c9f0a3b51/44?X-Amz-Signature=...",
      "offset": 369098752,
      "length": 8388608,
      "expires_at": "2026-04-28T16:18:42Z"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.archetypeai.app/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Generate presigned URLs for specific parts of an in-progress upload. Use this when a presigned URL returned from Initiate Upload is about to expire and the part has not yet been uploaded. For each requested part, the response may contain either a freshly generated URL or a previously issued one that is not close to expiration; expires_at always reflects the URL actually returned. The response’s parts array has the same length and order as the request’s part_numbers. Duplicate part numbers in the request produce duplicate entries in the response that share a single presigned URL.

Path Parameters

upload_id
string
required
Upload identifier returned by Initiate Upload

Request Body

part_numbers
array
required
Zero-based part numbers to generate presigned URLs for. Each entry must be in range for the upload (0 ≤ part_number < num_parts).

Response

parts
array
One descriptor per entry in part_numbers, in the same order
curl -X POST https://api.u1.archetypeai.app/v0.5/files/uploads/upl-7d6c9f0a3b51/parts/urls \
  -H "Authorization: Bearer $ATAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "part_numbers": [42, 43, 44]
  }'
{
  "parts": [
    {
      "part_number": 42,
      "url": "https://storage.example.com/upload/upl-7d6c9f0a3b51/42?X-Amz-Signature=...",
      "offset": 352321536,
      "length": 8388608,
      "expires_at": "2026-04-28T16:18:42Z"
    },
    {
      "part_number": 43,
      "url": "https://storage.example.com/upload/upl-7d6c9f0a3b51/43?X-Amz-Signature=...",
      "offset": 360710144,
      "length": 8388608,
      "expires_at": "2026-04-28T16:18:42Z"
    },
    {
      "part_number": 44,
      "url": "https://storage.example.com/upload/upl-7d6c9f0a3b51/44?X-Amz-Signature=...",
      "offset": 369098752,
      "length": 8388608,
      "expires_at": "2026-04-28T16:18:42Z"
    }
  ]
}