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.

Share classes define the authorized share structures on your cap table — common stock for founders and employees, and preferred stock for investors. Each class carries attributes such as votes per share, par value, liquidation preference, and participation rights. When you create or update a share class on Launchboard, the platform asynchronously tokenizes it on-chain via the OASIS protocol. You can poll tokenizationStatus to track progress, and use the retokenize endpoint to retry a failed attempt.

Endpoints

MethodPathDescription
GET/api/v1/share-classesList share classes (cursor-paginated)
POST/api/v1/share-classesCreate a share class
GET/api/v1/share-classes/{id}Get a single share class
PATCH/api/v1/share-classes/{id}Partially update a share class
DELETE/api/v1/share-classes/{id}Delete a share class
POST/api/v1/share-classes/{id}/retokenizeRetry failed OASIS tokenization

List share classes

Returns a cursor-paginated list of all share classes for your organization. Filter by classType to narrow results to common or preferred stock.
curl https://launchboard.xyz/api/v1/share-classes \
  -H "Authorization: Bearer pg_live_your_key"

Query parameters

query.classType
string
Filter to COMMON or PREFERRED stock classes only.
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 share class objects.
nextCursor
string | null
Cursor for the next page. null on the last page.

Create a share class

Creates a new share class. OASIS tokenization starts automatically in the background — the class is immediately available in Launchboard but its tokenizationStatus will transition from NOT_STARTEDPENDINGDEPLOYED (or FAILED) asynchronously over ~60–90 seconds.
curl -X POST https://launchboard.xyz/api/v1/share-classes \
  -H "Authorization: Bearer pg_live_your_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: create-series-a-2024" \
  -d '{
    "name": "Series A Preferred",
    "classType": "PREFERRED",
    "defaultIdPrefix": "PS-A",
    "initialSharesAuthorized": "10000000",
    "votesPerShare": "1",
    "seniority": 1,
    "parValue": "0.0001",
    "liquidationPreferenceMultiple": "1",
    "isParticipating": false
  }'

Request body

name
string
required
Human-readable name for the share class. Maximum 100 characters.
classType
string
required
COMMON or PREFERRED.
defaultIdPrefix
string
required
Prefix for auto-generated certificate IDs. Maximum 20 characters (e.g., "CS", "PS-A").
initialSharesAuthorized
string
required
Number of authorized shares as a numeric string (e.g., "10000000").
votesPerShare
string
required
Votes per share as a numeric string. Use "0" for non-voting shares.
seniority
number
required
Liquidation seniority rank. Must be a positive integer. 1 is the most senior.
parValue
string
Par value per share as a numeric string (e.g., "0.0001").
pricePerShare
string
Issuance price per share as a numeric string.
liquidationPreferenceMultiple
string
Liquidation preference multiplier (e.g., "1" for 1×). Preferred classes only.
participationCapMultiple
string
Cap on participation beyond the liquidation preference, as a numeric string.
isParticipating
boolean
default:"false"
Whether preferred holders also participate in residual distributions.
boardApprovalDate
string
Date the board approved this class, in YYYY-MM-DD format.
stockholderApprovalDate
string
Date stockholders approved this class, in YYYY-MM-DD format.
comments
string
Free-text notes. Maximum 2000 characters.
sourceDocumentId
string
UUID of a source document to link to this share class.

Response

Returns 201 Created with the full share class object and a Location header.
Poll GET /api/v1/share-classes/{id} and check tokenizationStatus to determine when the on-chain contract is live. The transition from PENDING to DEPLOYED typically takes 60–90 seconds.

Get a share class

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

Update a share class

Partial update — include only the fields you want to change.
curl -X PATCH https://launchboard.xyz/api/v1/share-classes/abc123 \
  -H "Authorization: Bearer pg_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Series A-1 Preferred",
    "comments": "Amended after Series A-1 close."
  }'

Request body

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

Delete a share class

curl -X DELETE https://launchboard.xyz/api/v1/share-classes/abc123 \
  -H "Authorization: Bearer pg_live_your_key"
Returns 204 No Content on success.
This request fails with 409 Conflict if the share class has active securities or issued shares. Cancel or transfer those securities before deleting the class.

Retry tokenization

Use this endpoint to retry OASIS tokenization for a share class whose previous attempt failed (tokenizationStatus: "FAILED"). The status transitions to PENDING immediately and the background mint job restarts.
curl -X POST https://launchboard.xyz/api/v1/share-classes/abc123/retokenize \
  -H "Authorization: Bearer pg_live_your_key"
Returns 200 OK with the updated share class object (status will be PENDING). Poll GET /api/v1/share-classes/{id} to track progress.

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 write operations.
404No share class with the given id exists in your organization.
409Delete attempted on a class with active securities or issued shares.
422Request body failed schema validation. The response includes a field-level errors array.