Skip to main content
POST
/
v1
/
public
/
files
/
{target_id}
Upload a file
curl --request POST \
  --url https://api.poelis.com/v1/public/files/{target_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form 'file=<string>'
{
  "content_type": "application/pdf",
  "deleted": false,
  "description": "Specification document for compressor performance and operating constraints.",
  "id": "990e8400-e29b-41d4-a716-446655440000",
  "originalFileName": "compressor-spec-v3.pdf",
  "size_bytes": 245612,
  "uploadedBy": {
    "id": "auth0|550e8400-e29b-41d4-a716-446655440000",
    "imageUrl": "https://example.com/avatar.png",
    "userName": "Jane Doe"
  },
  "uploaded_at": "2026-04-01T10:11:12.123Z",
  "used_in": [
    {
      "file_link_id": "890e8400-e29b-41d4-a716-446655440000",
      "product_id": "660e8400-e29b-41d4-a716-446655440000",
      "target_id": "770e8400-e29b-41d4-a716-446655440000",
      "target_type": "item"
    }
  ],
  "userTitle": "Compressor specification"
}

Documentation Index

Fetch the complete documentation index at: https://docs.poelis.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Enter your API key. Example: Bearer poelis_api_...

Path Parameters

target_id
string
required

Body

multipart/form-data
file
string
required

File to upload.

userTitle
string | null

Optional editable display title for the uploaded file.

allow_duplicate
boolean
default:false

When true, bypass the duplicate-file check (same size and MIME in the workspace).

Response

The newly created file and its initial link usage.

Public representation of a stored file.

id
string
required

File ID

originalFileName
string
required

Original file name

deleted
boolean
required

Whether the file is soft-deleted

userTitle
string | null

Optional editable file title

content_type
string | null

MIME type

description
string | null

File description

size_bytes
integer | null

File size in bytes

uploadedAt
string | null

ISO 8601 upload timestamp

uploadedBy
PublicUser · object

User who uploaded the file

Example:
{
  "id": "auth0|550e8400-e29b-41d4-a716-446655440000",
  "imageUrl": "https://example.com/avatar.png",
  "userName": "Jane Doe"
}
used_in
PublicFileUsage · object[]

Current file link placements for this file