Skip to main content
POST
/
v1
/
upload
/
prepare
Prepare file upload(s)
curl --request POST \
  --url http://localhost:8787/v1/upload/prepare \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
[
  {
    "file_name": "document1.pdf"
  },
  {
    "file_name": "image1.jpg"
  },
  {}
]
'
[
  {
    "key": "org-id/document1.pdf",
    "signed_url": "https://core-api.filejar-dev.workers.dev/v1/files/org-id/document1.pdf",
    "upload_id": "123e4567-e89b-12d3-a456-426614174000"
  },
  {
    "key": "org-id/image1.jpg",
    "signed_url": "https://core-api.filejar-dev.workers.dev/v1/files/org-id/image1.jpg",
    "upload_id": "223e4567-e89b-12d3-a456-426614174001"
  }
]

Authorizations

x-api-key
string
header
required

WorkOS API key for authentication

Body

application/json
file_name
string

Optional file name. If not provided, a random UUID will be used.

Required string length: 1 - 255
Example:

"my-file.pdf"

Example:
[
{ "file_name": "document1.pdf" },
{ "file_name": "image1.jpg" },
{}
]

Response

Upload preparation successful

key
string
required

File key/path in storage

Example:

"org-id/filename.pdf"

signed_url
string<uri>
required

Proxy URL for uploading files through the API (PUT request to /v1/files/{key})

Example:

"https://core-api.filejar-dev.workers.dev/v1/files/org-id/filename.pdf"

upload_id
string<uuid>
required

Unique identifier for this upload

Example:
[
{
"key": "org-id/document1.pdf",
"signed_url": "https://core-api.filejar-dev.workers.dev/v1/files/org-id/document1.pdf",
"upload_id": "123e4567-e89b-12d3-a456-426614174000"
},
{
"key": "org-id/image1.jpg",
"signed_url": "https://core-api.filejar-dev.workers.dev/v1/files/org-id/image1.jpg",
"upload_id": "223e4567-e89b-12d3-a456-426614174001"
}
]