---
title: "Application bundle: send one document with the account ID and the access token. kind names the document and npi the clinician (leave npi out for group_tin_letter). Send the file as file_base64: a PDF, JPG or PNG up to 3 MB, in a request of at most 4.4 MB (up to 4 MB as multipart form data to POST /v1/payer-follow-ups/{id}/documents). For caqh_authorization send caqh_id and caqh_access_granted true instead of a file. A document sent again before we review it replaces the earlier one; an accepted one stays. Returns the document's new status and the whole list."
method: POST
path: "/v1/payer-follow-ups/{id}/documents"
tags: ["Payer follow-ups", "Payments"]
---

# Application bundle: send one document with the account ID and the access token. kind names the document and npi the clinician (leave npi out for group_tin_letter). Send the file as file_base64: a PDF, JPG or PNG up to 3 MB, in a request of at most 4.4 MB (up to 4 MB as multipart form data to POST /v1/payer-follow-ups/{id}/documents). For caqh_authorization send caqh_id and caqh_access_granted true instead of a file. A document sent again before we review it replaces the earlier one; an accepted one stays. Returns the document's new status and the whole list.

`POST /v1/payer-follow-ups/{id}/documents`

## Request

- Base URL: `https://www.licium.ai`
- URL: `https://www.licium.ai/v1/payer-follow-ups/{id}/documents`
- Auth: none required

The access token (header X-Payer-Follow-Up-Token, Bearer, or the token field) or a session signed in with the follow-up's email. A file is taken as a PDF, JPG or PNG by its contents, whatever its name or stated type; its name is never stored or shown. Multipart form data: npi, kind and file (up to 4 MB). JSON: npi, kind, file_base64 (up to 3 MB once decoded) and optional file_name; or for caqh_authorization, npi, caqh_id and caqh_access_granted true. Leave npi out for group_tin_letter. A document sent again before it is reviewed replaces the earlier one; an accepted one cannot be replaced here. Up to 120 sends per hour.

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Payer-Follow-Up-Token` string

## Request body

- object
  - `token` string
  - `kind` 'state_license' | 'malpractice' | 'w9' | 'cv_work_history' | 'dea' | 'board_certification' | 'caqh_authorization' | 'group_tin_letter', required
  - `npi` string: The clinician; leave it out for group_tin_letter.
  - `file_base64` string: The file, base64 encoded (a data: URL prefix is accepted). Not for caqh_authorization.
  - `file_name` string: Optional. Never stored or shown.
  - `caqh_id` string: caqh_authorization only: the clinician's CAQH provider ID.
  - `caqh_access_granted` boolean: caqh_authorization only: true once Licium has access to the clinician's CAQH profile.

## Response `200`

saved (the document's new state, whether it replaced an earlier one, and whether every required document is in) and documents (the whole list, as GET returns it).

- object
  - `success` unknown
  - `data` object
    - `saved` object
      - `document` PayerFollowUpDocument: One document an application bundle needs.
        - `id` string, uuid
        - `kind` 'state_license' | 'malpractice' | 'w9' | 'cv_work_history' | 'dea' | 'board_certification' | 'caqh_authorization' | 'group_tin_letter'
        - `label` string
        - `hint` string: What the document must show.
        - `required` boolean: false: only if it applies (DEA while we do not know whether the clinician prescribes; board certification).
        - `status` 'needed' | 'received' | 'accepted' | 'needs_resend'
        - `uploaded_at` string, nullable
        - `reviewed_at` string, nullable
        - `note` string, nullable: needs_resend only: why we ask for it again.
        - `file` object, nullable
          - `type` 'application/pdf' | 'image/jpeg' | 'image/png'
          - `bytes` integer
        - `caqh_id` string, nullable: caqh_authorization only.
        - `version` integer: How many times it has been sent; 0 while needed.
      - `replaced` boolean
      - `complete` boolean
      - `completed_now` boolean
    - `documents` object

## Other responses

- `400`: Invalid fields: the message names the first one.
- `401`: Send the access token, or sign in with the follow-up's email.
- `404`: Follow-up not found or not opened by this token, or this follow-up does not need that document for that clinician.
- `409`: Not an application bundle, not paid yet, or the document is accepted already.
- `413`: The file is larger than 4 MB (multipart) or 3 MB (base64).
- `415`: The file is not a PDF, JPG or PNG.
- `429`: Too many uploads. Try again in one hour.
- `503`: The document could not be saved right now.

---

[API](https://skmtc.dev/licium/apis/licium-public-api.md) · [All operations](https://skmtc.dev/licium/apis/licium-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/licium/apis/licium-public-api/revisions/d91a72f755f4?raw)
