API documentation | API docs for agents | OpenAPI 3.1

POST /api/v1/carriers/{carrierId}/files/prepare-upload

ark.prepare_carrier_file_upload

Creates a signed upload URL and pending upload record for attaching a file to a visible carrier.

Availability
Expanded preview
Scopes
carriers:write
ARK permissions
canEditCarrier
Team visibility
Not entity-scoped
Idempotency-Key
Required for this write
Approval
No MCP approval on REST API-token calls
Rate limit
API credential and organization budgets

Parameters

carrierIdpathstringrequired
Visible ARK carrier ID.
format: uuid
Idempotency-Keyheaderstringrequired
Required for external write operations. Reuse the same key only for exact retries of the same request body.
min length: 1; max length: 200

Request body

fileNamestringrequired

min length: 1; max length: 255

fileTypestringrequired

min length: 1; max length: 100

mimeTypestringrequired

min length: 1; max length: 255

Example request

Shell
curl -X POST 'https://arktms.com/api/v1/carriers/<carrierId>/files/prepare-upload' \
  -H "Authorization: Bearer $ARK_API_TOKEN" \
  -H "Idempotency-Key: <unique-key>" \
  -H "Content-Type: application/json" \
  -d '{
  "fileName": "<fileName>",
  "fileType": "<fileType>",
  "mimeType": "<mimeType>"
}'

Success response

Prepared upload

objectstringrequired
okbooleanrequired
api_versionstringrequired
request_idstringrequired
dataobjectrequired
data.carrierIdstringrequired

format: uuid

data.fileNamestringrequired
data.fileTypestringrequired
data.mimeTypestringrequired
data.filePathstringrequired
data.pendingUploadIdstringrequired

format: uuid

data.signedUrlstringrequired
data.tokenstringrequired

Errors

HTTP 400
Invalid request
HTTP 401
Authentication required
HTTP 403
Permission, scope, team, or entitlement denied
HTTP 404
Resource not found
HTTP 409
Idempotency conflict or in-progress retry