Launchboard models vesting in two complementary resources. Vesting terms define a reusable vesting schedule — the allocation method, vesting conditions, cliff, and total duration — that you attach to a security at grant time viaDocumentation Index
Fetch the complete documentation index at: https://docs.launchboard.xyz/llms.txt
Use this file to discover all available pages before exploring further.
vestingTermsId. Vesting milestones track discrete events tied to an individual security (for example, “product launch” or “Series A close”) that trigger a percentage of the grant to vest when you mark them complete. The two resources can be used independently or together depending on the grant structure.
Vesting terms endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/v1/vesting-terms | List vesting terms (cursor-paginated) |
POST | /api/v1/vesting-terms | Create vesting terms |
GET | /api/v1/vesting-terms/{id} | Get a single vesting terms record |
PATCH | /api/v1/vesting-terms/{id} | Partially update vesting terms |
DELETE | /api/v1/vesting-terms/{id} | Delete vesting terms |
Vesting milestones endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/v1/vesting-milestones | List vesting milestones (cursor-paginated) |
POST | /api/v1/vesting-milestones | Create a vesting milestone |
GET | /api/v1/vesting-milestones/{id} | Get a single vesting milestone |
PATCH | /api/v1/vesting-milestones/{id} | Partially update a vesting milestone |
DELETE | /api/v1/vesting-milestones/{id} | Delete a vesting milestone |
POST | /api/v1/vesting-milestones/{id}/complete | Mark a milestone as completed |
List vesting terms
Returns a cursor-paginated list of all vesting term records for your organization.Query parameters
Maximum results per page. Capped at 100.
Opaque cursor from the previous response’s
nextCursor field.Response
Array of vesting terms objects.
Cursor for the next page.
null on the last page.Create vesting terms
Creates a reusable vesting schedule. Once saved, reference the record by itsid in vestingTermsId when issuing securities.
Request body
Human-readable name. Maximum 100 characters.
Description of the vesting schedule. Used in the Launchboard UI and grant notices.
Rounding strategy for share quantities across vesting periods. One of:
CUMULATIVE_ROUNDING, CUMULATIVE_ROUND_DOWN, FRONT_LOADED, BACK_LOADED, FRONT_LOADED_TO_SINGLE_TRANCHE, BACK_LOADED_TO_SINGLE_TRANCHE, FRACTIONAL.Whether vesting is driven by time, events, or a combination:
TIME_BASED, EVENT_BASED, or HYBRID.Array of vesting condition objects. At least one is required.
Simplified schedule summary for display purposes.
Total vesting duration in months. Convenience field that mirrors
schedule.totalMonths.Cliff duration in months. Convenience field that mirrors
schedule.cliffMonths.Free-text notes.
Response
Returns201 Created with the full vesting terms object and a Location header.
Get vesting terms
Update vesting terms
Partial update — include only the fields you want to change.PATCH. Returns 200 OK with the updated object.
Delete vesting terms
204 No Content on success.
List vesting milestones
Returns a cursor-paginated list of all vesting milestones for your organization.Query parameters
Maximum results per page. Capped at 100.
Opaque cursor from the previous response’s
nextCursor field.Response
Array of vesting milestone objects.
Cursor for the next page.
null on the last page.Create a vesting milestone
Creates a new milestone for a security. The milestone starts inPENDING status.
Request body
Short name for the milestone. Maximum 100 characters.
Detailed description of the milestone condition. Maximum 500 characters.
Expected completion date in
YYYY-MM-DD format.Response
Returns201 Created with the full milestone object and a Location header.
Get a vesting milestone
Update a vesting milestone
Partial update for pending milestones. Use this to adjust the target date or description before the milestone is completed.PATCH. Returns 200 OK with the updated milestone object.
Delete a vesting milestone
204 No Content on success.
Mark a milestone as completed
Transitions aPENDING milestone to COMPLETED and records a completedAt timestamp. Optionally attach an evidence note describing how the milestone was satisfied.
Request body
Optional note documenting how the milestone was satisfied. Maximum 1000 characters.
Response
Returns200 OK with the updated milestone object. The completedAt field will be populated with the current timestamp and status will be COMPLETED.
Common errors
| Status | When it occurs |
|---|---|
400 | Malformed JSON in the request body. |
401 | Missing or invalid Authorization header. |
403 | The API key role does not have EDITOR permission. Required for all write operations. |
404 | No record with the given id exists in your organization. |
409 | Attempting to complete a milestone that is already COMPLETED. |
422 | Request body failed schema validation. The response includes a field-level errors array. |
Completing a milestone is an irreversible action. If you need to correct a milestone that was completed in error, contact support or delete the milestone and recreate it.