/developers
Developer docsAtom Files ↗
← API referenceWrite & track · API access unavailable
API REFERENCE / WRITE & TRACK

POST /v1/uploads/{operation_id}/transfer-plan

Refresh a short-lived transfer capability for the same upload operation.

Request fields

LocationFieldTypeRequiredDescription
HeaderAuthorizationstringYesCredential scoped to the authorized resource.
Pathoperation_idstringYesExisting upload operation; do not create a second file.

Request example

Example request
POST /v1/uploads/op_456/transfer-plan
Authorization: Bearer <scoped token>

HTTP status codes

StatusMeaning
200 OKSuccess response shown below.
401 UnauthorizedMissing, expired, or invalid credential.
403 ForbiddenCredential is valid but lacks the required scope or role.
404 Not FoundOperation is not visible.
409 ConflictOperation cannot receive more bytes in its current state.
429 Too Many RequestsRate limit reached; honor Retry-After when provided.
503 Service UnavailableService temporarily unavailable; retry safely.

Response fields

FieldTypeExample
operation_idstringop_456
statusstringready_to_transfer
transferobject{…}
transfer.methodstringdirect
transfer.capabilitystring<short-lived, destination-scoped capability>
transfer.expires_atstring (date-time)2026-10-20T18:10:00Z

Response example

Example response
200 OK
Content-Type: application/json

{
  "operation_id": "op_456",
  "status": "ready_to_transfer",
  "transfer": {
    "method": "direct",
    "capability": "<short-lived, destination-scoped capability>",
    "expires_at": "2026-10-20T18:10:00Z"
  }
}

How it works

Refreshing a plan must not create a second file. The data-plane protocol, acknowledged offsets, part sizes, capability binding, and resume semantics need integration tests before release.