---
title: "Upload a document"
method: POST
path: "/documents"
tags: ["Documents"]
---

# Upload a document

`POST /documents`

## Headers

- `Trace-Id` string
- `End-User-Agent` string
- `End-User-Ip` string
- `End-User-OS` string
- `End-User-Device-Id` string
- `End-User-Device-Manufacturer` string
- `End-User-Device-Model` string

## Request body

- union
  - object
    - `paymentIntent` PaymentIntentId
      - `id` string, uuid, required
    - `payer` PayerId, required
      - `id` string, uuid, required
    - `type` 'INVOICE' | 'SUPPLIER_INVOICE_OR_PURCHASE_ORDER' | 'GOVERNMENT_ISSUED_ID' | 'CARD_OR_BANK_STATEMENT' | 'BENEFICIAL_OWNER' | 'EMPLOYEE_PAY_OR_CONTRACT' | 'LEGAL_AGREEMENT' | 'LEASE_AGREEMENT' | 'CERTIFICATE_OF_GOODS' | 'NON_P2P_DOCUMENT' | 'ESCROW_AGREEMENT' | 'W9_FORM', required
    - `fileType` 'doc' | 'docx' | 'gif' | 'jpeg' | 'jpg' | 'pdf' | 'xls' | 'xlsx', required
    - `filename` string, required
  - object
    - `payment` PaymentId
      - `id` string, uuid, required
    - `payer` PayerId, required
      - `id` string, uuid, required
    - `type` 'INVOICE' | 'SUPPLIER_INVOICE_OR_PURCHASE_ORDER' | 'GOVERNMENT_ISSUED_ID' | 'CARD_OR_BANK_STATEMENT' | 'BENEFICIAL_OWNER' | 'EMPLOYEE_PAY_OR_CONTRACT' | 'LEGAL_AGREEMENT' | 'LEASE_AGREEMENT' | 'CERTIFICATE_OF_GOODS' | 'NON_P2P_DOCUMENT' | 'ESCROW_AGREEMENT' | 'W9_FORM', required
    - `fileType` 'doc' | 'docx' | 'gif' | 'jpeg' | 'jpg' | 'pdf' | 'xls' | 'xlsx', required
    - `filename` string, required
  - object
    - `recipient` RecipientId
      - `id` string, uuid, required
    - `payer` PayerId, required
      - `id` string, uuid, required
    - `type` 'INVOICE' | 'SUPPLIER_INVOICE_OR_PURCHASE_ORDER' | 'GOVERNMENT_ISSUED_ID' | 'CARD_OR_BANK_STATEMENT' | 'BENEFICIAL_OWNER' | 'EMPLOYEE_PAY_OR_CONTRACT' | 'LEGAL_AGREEMENT' | 'LEASE_AGREEMENT' | 'CERTIFICATE_OF_GOODS' | 'NON_P2P_DOCUMENT' | 'ESCROW_AGREEMENT' | 'W9_FORM', required
    - `fileType` 'doc' | 'docx' | 'gif' | 'jpeg' | 'jpg' | 'pdf' | 'xls' | 'xlsx', required
    - `filename` string, required

## Response `200`

Document upload URL generated successfully

- DocumentUpload
  - `uploadURL` string, url
  - `metadata` object
    - `Key` string
    - `success_action_status` string
    - `bucket` string
    - `X-Amz-Algorithm` string
    - `X-Amz-Credential` string
    - `X-Amz-Date` string
    - `X-Amz-Security-Token` string
    - `Policy` string
    - `X-Amz-Signature` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal Server Error

---

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