---
title: "Import an OCF package"
method: POST
path: "/captable/imports/ocf"
tags: ["captable"]
---

# Import an OCF package

`POST /captable/imports/ocf`

## Request

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

Drafts the ledger from an OCF 1.2.0 package (a ZIP with its Manifest.ocf.json, or its JSON files as `files`), such as another cap table tool's export or Binderwork's own, after checking every file against the published schemas; a package that breaks them lists each file and JSON path in `fields` and imports nothing. Stakeholders are found or added as holders; classes with their authorized-share changes, plans, pool adjustments, 409A valuations, stock and option issuances with their vesting, and option cancellations become Unconfirmed lines; and the package's documents are added and linked to the lines they back. A security ended by a transfer, repurchase, exercise, conversion or cancellation with a balance isn't outstanding: what remains comes in through its own issuance, and the transaction is listed as imported history. SAFEs go to the SAFE register as Unconfirmed entries; RSUs, warrants and notes are kept out with why. The package's totals per holder and class are compared with the drafts. An officer confirms the batch with captable.confirm and batch_id. A package imported before is refused.

## Request body

- union
  - object
    - `file_name` string, required
    - `content_base64` string, required
  - object
    - `archive_file_id` string, required
  - object
    - `files` object[], required
      - `file_name` string, required
      - `content_base64` string, required

## Response `200`

The result.

- object
  - `id` string, required
  - `source` 'spreadsheet' | 'pulley' | 'carta' | 'ocf', required
  - `status` 'drafted' | 'confirmed', required
  - `files` object[], required
    - `name` string, required
    - `sha256` string, required
  - `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
  - `reconciliation` object[], required
    - `kind` 'holder' | 'class', required
    - `label` string, required
    - `source` integer, required
    - `imported` integer, required
    - `difference` integer, required
  - `kept` object[], required
    - `sheet` string, nullable, required
    - `row` integer, nullable, required
    - `label` string, required
    - `reason` string, required
  - `created_at` string, date-time, 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)
