Skip to content
Ordinal
Esc
↑↓navigate↵open⌘Jpreview

Upload a file from a URL

Uploads a file by downloading it from the provided URL. The file will be processed asynchronously. Poll the GET endpoint to check when it’s ready, then use the returned assetId in post creation.

Supported file types:

  • Images: JPEG, PNG, GIF, WebP
  • Videos: MP4, QuickTime (MOV)

File size limits:

  • Images: 10 MB max
  • GIFs: 15 MB max
  • Videos: 350 MB max

Additional constraints:

  • Images cannot exceed 36 megapixels
  • URL must be publicly accessible
POST/uploads
Authorization
AuthorizationBearer token · headerrequired

API key authentication. Generate an API key from your workspace settings.

Request body
requiredapplication/json
urlstring<uri>required

URL of the file to upload. Must be publicly accessible.

Responses
200

Upload job created successfully

idstring<uuid>

Upload job ID. Use this to poll the GET /uploads/{id} endpoint.

statusstring

Initial status of the upload

Allowed:pending
createdAtstring<date-time>
400

Bad Request - Invalid input parameters

codestring
messagestring
dataobject
Show properties
errorsobject
401

Unauthorized - Missing or invalid API key

codestring
messagestring
429

Too Many Requests - Rate limit exceeded

codestring
messagestring
Try it
Server
Authorization
Bodyapplication/json
Request
curl -X POST 'https://app.tryordinal.com/api/v1/uploads' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "url": "https://example.com/images/product-photo.jpg"
}'
Response
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "pending",
  "createdAt": "2026-02-04T10:30:00.000Z"
}