---
title: "Attach a document to a cap table line"
method: POST
path: "/captable/entries/{entry_id}/documents"
tags: ["captable"]
---

# Attach a document to a cap table line

`POST /captable/entries/{entry_id}/documents`

## Request

- Base URL: `https://localhost:4410/api/v1`
- URL: `https://localhost:4410/api/v1/captable/entries/{entry_id}/documents`
- Auth: HTTP bearer

Links an uploaded document's current version to a line by its role: the authorization (a board consent or the charter), the instrument, another document, or a founder purchase's stock purchase agreement, technology assignment, evidence of payment, notice of issuance or filed 83(b) election. It never changes the line's terms or confirmation; a filed 83(b) election closes the line's 83(b) task.

## Path parameters

- `entry_id` string, required

## Request body

- object
  - `document_id` string, required
  - `role` 'authorization' | 'instrument' | 'other' | 'purchase_agreement' | 'technology_assignment' | 'payment' | 'notice_of_issuance' | 'election_83b', required

## Response `200`

The result.

- object
  - `id` string, required
  - `version` integer, required
  - `status` 'unconfirmed' | 'confirmed' | 'void', required
  - `effective_on` string, date, required
  - `summary` string, required
  - `holder` object, nullable, required
    - `party_id` string, required
    - `name` string, required
  - `terms` union, required
    - object
      - `type` 'share_class', required
      - `name` string, required
      - `kind` 'common' | 'preferred', required
      - `authorized` integer, nullable, required
      - `par_value` string, nullable, required
      - `conversion_ratio` string, required
      - `liquidation` string, nullable, required
    - object
      - `type` 'option_plan', required
      - `name` string, required
      - `reserved` integer, required
      - `class_entry_id` string, nullable, required
    - object
      - `type` 'pool_change', required
      - `plan_entry_id` string, required
      - `shares` integer, required
    - object
      - `type` 'stock_issuance', required
      - `class_entry_id` string, required
      - `class_name` string, required
      - `shares` integer, required
      - `price_per_share` string, nullable, required
      - `consideration` 'cash' | 'services' | 'assignment_of_assets', nullable, required
      - `vesting` object, nullable, required
        - `start` string, date, required
        - `months` integer, required
        - `cliff_months` integer, required
      - `security_id` string, nullable, required
    - object
      - `type` 'option_grant', required
      - `plan_entry_id` string, required
      - `plan_name` string, required
      - `options` integer, required
      - `exercise_price` string, required
      - `option_type` 'iso' | 'nso', nullable, required
      - `grant_date` string, date, nullable, required
      - `vesting` object, nullable, required
        - `start` string, date, required
        - `months` integer, required
        - `cliff_months` integer, required
      - `expires_on` string, date, nullable, required
      - `post_termination_months` integer, nullable, required
      - `acceleration` object, nullable, required
        - `text` string, required
        - `page` integer, nullable, required
      - `outstanding` integer, required
      - `vested` integer, required
    - object
      - `type` 'grant_cancellation', required
      - `grant_entry_id` string, required
      - `options` integer, required
      - `kind` 'termination' | 'expiry' | 'other', required
      - `reason` string, required
    - object
      - `type` 'valuation', required
      - `price_per_share` string, required
      - `provider` string, nullable, required
  - `facts` object[], required
    - `key` string, required
    - `text` string, required
    - `source` object, nullable, required
      - `text` string, required
      - `url` string, required
    - `needs_reason` boolean, required
    - `reason` string, nullable, required
  - `documents` object[], required
    - `role` string, required
    - `document_id` string, required
    - `version_id` string, required
    - `title` string, required
    - `sha256` string, required
  - `entered_by_agent` boolean, required
  - `quotes` object[], required
    - `field` string, required
    - `quote` string, required
  - `drafted_by` string, nullable, required
  - `confirmed_by` string, nullable, required
  - `confirmed_at` string, date-time, nullable, required
  - `authorization` 'on_file' | 'not_on_file', nullable, required

## Other responses

- `default`: An RFC 9457 problem.

---

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