Skip to content

Instrument routes: grant

The Instrument Verbs grant as api.sb routes, with inputs, result, refusals and an example.

Reference for Instrument, one group of Instrument routes.

Instrument.grant

Grant gives a Holder an option from the pool, with its strike price, vesting schedule and cliff. Verb page.

Text
POST /{namespace}/instruments/grant

Body, as JSON: the inputs. Emits Instrument.granted.

Inputs

InputTypeRequiredDescription
holderHolderrequiredThe Holder who receives the option, usually a Worker.
quantityintegerrequiredThe Shares the option covers.
strikemoneyrequiredThe exercise price, at or above the latest fair market value.
vestingjsonrequiredThe schedule and cliff.

Returns

OutputTypeRequiredDescription
instrumentInstrumentrequiredThe granted option.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
A strike below the latest 409A fair market valuerefusedClear what the check names, then call it again.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/instruments/grant \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"holder":"holder_e2Dm5Y6QGO","quantity":1,"strike":{"amount":29,"currency":"USD"},"vesting":{}}'
JSON
{
  "api": "https://api.sb/leaseline.app",
  "instrument": {
    "$id": "https://api.sb/leaseline.app/instruments/instrument_yZz4i2meOW",
    "$type": "Instrument",
    "kind": "safe",
    "status": "outstanding"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Instrument.grant",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}