Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.launchboard.xyz/llms.txt

Use this file to discover all available pages before exploring further.

Valuations establish the fair market value of a share class at a point in time. Launchboard supports three valuation types: 409A (independent appraisals required for option pricing under IRS Section 409A), BOARD (board-determined valuations for early-stage companies), and FINANCING (valuations implied by a priced financing round). When you issue a stock option, you reference a valuation to establish the exercise price. The API lets you record valuations, track their approval workflow (DRAFTPENDING_APPROVALAPPROVED), and mark them as EXPIRED when superseded.

Endpoints

MethodPathDescription
GET/api/v1/valuationsList valuations (cursor-paginated)
POST/api/v1/valuationsCreate a valuation
GET/api/v1/valuations/{id}Get a single valuation
PATCH/api/v1/valuations/{id}Partially update a valuation
DELETE/api/v1/valuations/{id}Delete a valuation

List valuations

Returns a cursor-paginated list of all valuations for your organization, ordered by creation date descending.
curl https://launchboard.xyz/api/v1/valuations \
  -H "Authorization: Bearer pg_live_your_key"

Query parameters

query.limit
number
default:"25"
Maximum results per page. Capped at 100.
query.cursor
string
Opaque cursor from the previous response’s nextCursor field.

Response

items
object[]
Array of valuation objects.
nextCursor
string | null
Cursor for the next page. null on the last page.

Create a valuation

Records a new valuation. Start with status: "DRAFT" and advance to APPROVED once the board or appraisal firm signs off. Supports the Idempotency-Key header for safe retries.
curl -X POST https://launchboard.xyz/api/v1/valuations \
  -H "Authorization: Bearer pg_live_your_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: create-409a-q1-2024" \
  -d '{
    "type": "409A",
    "status": "APPROVED",
    "pricePerShare": "1.25",
    "effectiveDate": "2024-01-01",
    "expirationDate": "2025-01-01",
    "stockClassId": "sc_common01",
    "provider": "Carta Valuations",
    "reportId": "CVA-2024-001"
  }'

Request body

type
string
required
Valuation type: 409A, BOARD, or FINANCING.
status
string
default:"DRAFT"
Initial approval status: DRAFT, PENDING_APPROVAL, APPROVED, or EXPIRED.
pricePerShare
string
required
Fair market value per share as a positive numeric string (e.g., "1.25").
effectiveDate
string
required
Date this valuation takes effect, in YYYY-MM-DD format.
stockClassId
string
required
UUID of the share class this valuation applies to.
provider
string
Name of the appraisal firm or valuation provider. Maximum 200 characters.
fairMarketValue
string
Overall company fair market value at this date, as a numeric string.
enterpriseValue
string
Enterprise value at this date, as a numeric string.
boardApprovalDate
string
Date the board approved this valuation, in YYYY-MM-DD format.
stockholderApprovalDate
string
Date stockholders approved this valuation, in YYYY-MM-DD format.
expirationDate
string
Date this valuation expires, in YYYY-MM-DD format. 409A valuations typically expire 12 months after the effective date or when a material event occurs.
comments
string
Free-text notes. Maximum 2000 characters.
sourceDocumentId
string
UUID of the valuation report document.

Response

Returns 201 Created with the full valuation object and a Location header.
When issuing stock options, set valuationId on the security to the UUID of the APPROVED 409A valuation that was in effect on the grant date. This establishes a defensible exercise price for IRS Section 409A purposes.

Get a valuation

curl https://launchboard.xyz/api/v1/valuations/abc123 \
  -H "Authorization: Bearer pg_live_your_key"
Returns the valuation object. Field schema is identical to the list response items.

Update a valuation

Partial update — include only the fields you want to change. Use this endpoint to advance a valuation from DRAFT to APPROVED or to record an expiration.
curl -X PATCH https://launchboard.xyz/api/v1/valuations/abc123 \
  -H "Authorization: Bearer pg_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "APPROVED",
    "boardApprovalDate": "2024-01-10"
  }'

Request body

All fields from the create request body are accepted; all are optional for PATCH. Returns 200 OK with the updated valuation object.

Delete a valuation

curl -X DELETE https://launchboard.xyz/api/v1/valuations/abc123 \
  -H "Authorization: Bearer pg_live_your_key"
Returns 204 No Content on success.
Deleting a valuation that is referenced by existing securities may leave those securities without a valid 409A backing. Prefer setting status to EXPIRED rather than deleting historical valuations.

Common errors

StatusWhen it occurs
400Malformed JSON in the request body.
401Missing or invalid Authorization header.
403The API key role does not have EDITOR permission. Required for POST, PATCH, and DELETE.
404No valuation with the given id exists, or the referenced stockClassId does not exist.
422Request body failed schema validation. The response includes a field-level errors array.