---
title: "Upload document"
method: POST
path: "/upload_document"
tags: ["Content Upload"]
---

# Upload document

`POST /upload_document`

Upload documents (PDF, PPT, PPTX, DOC, DOCX) to LinkedIn as native document posts displayed as carousels/viewers. Only LinkedIn is supported.

## Response `200`

Document uploaded successfully.

- DocumentUploadResponse
  - `success` boolean
  - `message` string
  - `request_id` string
  - `results` object
    - `linkedin` object
      - `success` boolean
      - `document_urn` string
      - `post_id` string
      - `url` string
      - `platform` string
      - `content_type` string
      - `file_size` integer
      - `filename` string

## Other responses

- `400` — Bad Request — Missing or invalid parameters.
- `401` — Unauthorized — Invalid or expired token.
- `403` — Forbidden — Plan restrictions or insufficient permissions.
- `404` — Not Found — Resource does not exist.
- `429` — Too Many Requests — Monthly limit exceeded.
- `500` — Internal Server Error.

---

[API](https://skmtc.dev/upload-post/apis/upload-post-api.md) · [All operations](https://skmtc.dev/upload-post/apis/upload-post-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/upload-post/upload-post-api/revisions/10bd964e4415/schema)
