Import RSA
cap_table_import_rsaImports a signed Restricted Stock Purchase/Award Agreement (RSA) from an uploaded PDF and stores the document in S3. USE THIS (not ExtractRsaTermsOcr + CreateCapTableAgreement, and not RecordCapTableInvestment) whenever the user provides or uploads a signed RSA PDF. The grantee (founder/employee/advisor) MUST already exist as a cap-table stakeholder — this tool matches the document to an existing stakeholder by name and does NOT create one; if there is no match the import is rejected, so add the stakeholder first. Mandatory two-step human-in-the-loop flow: (1) call GetOcrUploadUrl with kind=RSA and mime_type=application/pdf, then upload the PDF bytes to the returned PUT URL; (2) call ImportRSA with preview=true and that source_s3_uri — this runs OCR and returns the extracted founder/company names and terms (shares, vesting, price_per_share, grant_date, 83b status, acceleration) plus the resolved grantee (matched_stakeholder_id, or would_create=true when no stakeholder matches) WITHOUT persisting anything; (3) PRESENT those terms to the user as a table, let them correct any value, and get explicit confirmation; (4) call ImportRSA again WITHOUT preview and the SAME source_s3_uri; pass rsa_terms_override with any user-corrected terms (omit it to accept the extracted terms as-is), and stakeholder_id to pin the matched grantee. This creates the common-stock holding with its vesting schedule (or updates the grantee's existing holding), records a signed RSA agreement, and links the PDF — atomically. Never skip the preview + confirmation step; never persist unreviewed OCR output. Empty string / 0 / false in the extracted terms means the value was not stated in the document — never fabricate.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| preview | No | ||
| companyId | Yes | UUID value wrapper. | |
| sourceS3Uri | No | ||
| stakeholderId | No | UUID value wrapper. | |
| consentToAiRead | No | ||
| rsaTermsOverride | No | ||
| newStakeholderName | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | ||
| created | No | ||
| preview | No | ||
| securityId | No | UUID value wrapper. | |
| agreementId | No | UUID value wrapper. | |
| stakeholderId | No | UUID value wrapper. | |
| consentVersion | No | ||
| consentBodyMarkdown | No |