---
title: "Confirm cap table entries"
method: POST
path: "/captable/confirm"
tags: ["captable"]
---

# Confirm cap table entries

`POST /captable/confirm`

## Request

- Base URL: `https://localhost:4410/api/v1`
- URL: `https://localhost:4410/api/v1/captable/confirm`
- Auth: HTTP bearer

An officer confirms up to 50 reviewed entries with one passkey, each at the version reviewed, with a reason for each fact that needs one (such as a class exceeding its authorized shares). An entry without an authorization document is confirmed as "Authorization not on file". An agent's or API key's call waits for an officer's approval, and an entry changed since then isn't confirmed.

## Request body

- object
  - `entries` object[]
    - `entry_id` string, required
    - `version` integer, required
    - `reasons` object
    - `authorization_not_on_file` boolean
  - `batch_id` string
  - `batch_reasons` object
  - `difference_reasons` object

## Response `200`

The result.

- object
  - `entries` object[], required
    - `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

- `202`: Called by an agent or an API key, so the call did not run. A person approves it at approval_url; then GET the Location.
- `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)
