1. OpenAPI (Demo)
  2. Files
  3. Create a multipart file upload
ReadmeGitHub
  • Platform API overview
  • Quickstart
  • POSTCreate a member session
  • POSTRefresh a member session
  • DELETERevoke a member session
  • GETList organizations
  • POSTCreate an organization
  • GETGet an organization
  • PATCHUpdate an organization
  • GETList organization members
  • POSTInvite an organization member
  • DELETERemove an organization member
  • PATCHUpdate a member role
  • GETList projects
  • POSTCreate a project
  • GETGet a project
  • DELETEArchive a project
  • PATCHUpdate a project
  • GETList project environments
  • POSTCreate a project environment
  • GETList project documents
  • POSTCreate a project document
  • GETGet a document
  • DELETEArchive a document
  • PATCHUpdate a document
  • POSTPublish a document
  • GETList contacts
  • POSTCreate a contact
  • GETGet a contact
  • DELETEDelete a contact
  • PATCHUpdate a contact
  • GETList product events
  • GETGet analytics overview
  • GETList workflows
  • POSTCreate a workflow
  • GETList workflow runs
  • GETList webhook subscriptions
  • POSTCreate a webhook subscription
  • GETGet a webhook subscription
  • DELETEDelete a webhook subscription
  • PATCHUpdate a webhook subscription
  • GETList webhook deliveries
  • POSTReplay a webhook delivery
  • GETList files
  • POSTCreate a multipart file upload
  • GETGet file metadata
  • DELETEDelete a file
  • GETGet current subscription
  • PATCHUpdate subscription settings
  • GETList invoices
  • GETGet metered usage
  • GETList API keys
  • POSTCreate an API key
  • POSTRevoke an API key
  • GETList audit logs
  • GETList exports
  • POSTCreate an export
  • GETGet API health
POST/organizations/{organizationId}/files/uploads

Create a multipart file upload

Creates an upload session and returns pre-signed part URLs for files up to 25 GB.

Send request

Use the documented inputs to call this endpoint directly.

API serverbase URL
Bearer tokenBearerAuthoptional
Stored only in this browser for the BearerAuth security scheme and reused on every API page in this group.

Parameters

Values are applied to the request and the example on the right.

organizationIdpath · stringrequired

Opaque organization identifier.

Idempotency-Keyheader · string · uuidoptional

Unique key for retry-safe writes, retained for 24 hours.

Request body

application/jsonrequired
filenamestringrequired
content_typestringrequired
size_bytesintegerrequired
checksum_sha256stringoptional
metadataobjectoptional

Responses

201application/json

Upload session created.

{
  "id": "upl_01J8FH2P6Q4T9V7M3K5",
  "file_id": "fil_01J8FE2X7M5P9Q4V6K1",
  "part_size_bytes": 8388608,
  "parts": [
    {
      "part_number": 1,
      "url": "https://uploads.demo.heyo.example/…",
      "expires_at": "2026-09-03T13:00:00Z"
    }
  ],
  "complete_url": "https://api.demo.heyo.example/v3/uploads/upl_01J8FH2P6Q4T9V7M3K5/complete",
  "expires_at": "2026-09-03T13:00:00Z"
}
idstringoptional
file_idstringoptional
part_size_bytesintegeroptional
partsarray<object>optional
complete_urlstringoptional
expires_atstring · date-timeoptional
413

Requested file is larger than the plan limit.

List files< PreviousGet file metadataNext >

Powered by heyo

curl --request POST \  'https://api.demo.heyo.example/v3/organizations/org_01J8F1Q6N6VTX4E8W9R2D0A7B3/files/uploads' \  --header 'Idempotency-Key: 5ba89923-8c6d-44a3-9ab7-2fbbdb865f9a' \  --header 'Content-Type: application/json' \  --data '{  "filename": "northstar-september-export.csv",  "content_type": "text/csv",  "size_bytes": 42829120,  "checksum_sha256": "a7bc2a1e8fa70b02e5c3c28eaf7a315f9767a81700c31ee1d6987b16ef0295c2",  "metadata": {    "source": "analytics",    "contains_pii": false  }}'
{  "id": "upl_01J8FH2P6Q4T9V7M3K5",  "file_id": "fil_01J8FE2X7M5P9Q4V6K1",  "part_size_bytes": 8388608,  "parts": [    {      "part_number": 1,      "url": "https://uploads.demo.heyo.example/…",      "expires_at": "2026-09-03T13:00:00Z"    }  ],  "complete_url": "https://api.demo.heyo.example/v3/uploads/upl_01J8FH2P6Q4T9V7M3K5/complete",  "expires_at": "2026-09-03T13:00:00Z"}