Cap table API
Endpoint URL
https://equity-api.diligentoneplatform.com/api/v2/reports/captable
Authentication
The Diligent Equity API uses JSON web token for authentication. The token must be sent in the header of the request.
To get a token, contact our support team at equity@diligent.com.
After you have received the token, add the following text in the header of all requests:
Authorization: Bearer {your token}
Query parameters
Name |
Type |
Description |
---|---|---|
docId |
String |
The document ID that identifies the company that is queried. |
calculationType (optional) |
String |
The type of calculation to return the results for. The following types are available:
|
effectiveDate (optional) |
String |
The effective date for which the cap table is calculated. |
effectiveScenario (optional) |
String |
Sets the cap table calculation to include the requested scenario. |
Example request
curl --location --request GET 'https://equity-api.diligentoneplatform.com/api/v2/reports/captable?docId=[DOCUMENT_ID]' \
--header 'Authorization: Bearer [API_TOKEN]'
Response fields
General fields
Example Response
Note
This example shows only the relevant parts of the response. You can view the example in full here.
[...]"details": {
"calculationType": "FullyDiluted",
"effectiveDate": "2022-03-21T00:00:00.000Z",
"effectiveScenario": "",
"antiDilutionFired": true,
"totalShares": 588815040,
"lastUpdated": "2022-03-03T01:24:13.000Z",
"updatedBy": "email@email.com""
},
[...]
Name |
Type |
Description |
---|---|---|
details |
Object |
The settings and values used in the calculations. |
calculationType |
String |
The type of calculation. |
effectiveDate |
Date |
The effective date of the calculation. |
effectiveScenario |
The effective scenario of the calculation. |
|
antiDilutionFired |
Boolean |
Indicates whether the anti-dilution was fired. |
totalShares |
Number |
The total number of shares. |
lastUpdated |
Date |
The date when the cap table was last updated. |
updatedBy |
String |
The user who last updated the cap table. |
Holders fields
Example Response
Note
This example shows only the relevant parts of the response. You can view the example in full here.
"holders": {
"1": {
"name": "Founder 1",
"group": "Founders",
"allHoldings": 5190297,
"firstInvestmentDate": "2018-09-27T00:00:00.000Z",
"grants": [{ "rid": 0, "cid": 0, "gserial": "A0002" }],
"optionsOnly": false
},
"2": {
"name": "Founder 2",
"group": "Founders",
"allHoldings": 25951484,
"firstInvestmentDate": "2018-09-27T00:00:00.000Z",
"grants": [{ "rid": 0, "cid": 0, "gserial": "A0003" }],
"optionsOnly": false
},
"3": {
"name": "Founder 3",
"group": "Founders",
"allHoldings": 6487871,
"firstInvestmentDate": "2018-09-27T00:00:00.000Z",
"grants": [{ "rid": 0, "cid": 0, "gserial": "A0004" }],
"optionsOnly": false
},
"4": {
"name": "Yellow Investor",
"group": "",
"allHoldings": 139489132,
"firstInvestmentDate": "2018-09-27T00:00:00.000Z",
"grants": [
{ "rid": 0, "cid": 0, "gserial": "A0005" },
{ "rid": 1, "cid": 1, "gserial": "A0011" }
],
"optionsOnly": false
},
"5": {
"name": "Teal Investor",
"group": "",
"allHoldings": 12110693,
"firstInvestmentDate": "2018-09-27T00:00:00.000Z",
"grants": [{ "rid": 0, "cid": 0, "gserial": "A0006" }],
"optionsOnly": false
},
"6": {
"name": "Purple Investor",
"group": "",
"allHoldings": 148226187,
"firstInvestmentDate": "2018-09-27T00:00:00.000Z",
"grants": [
{ "rid": 0, "cid": 0, "gserial": "A0007" },
{ "rid": 1, "cid": 1, "gserial": "A0012" },
{ "rid": 2, "cid": 2, "gserial": "A0014" }
],
"optionsOnly": false
},
"7": {
"name": "Red Investor",
"group": "",
"allHoldings": 23047311,
"firstInvestmentDate": "2018-12-01T00:00:00.000Z",
"grants": [
{ "rid": 1, "cid": 1, "gserial": "A0008" },
{ "rid": 2, "cid": 2, "gserial": "A0015" },
{ "rid": 3, "cid": 3, "gserial": "A0018" }
],
"optionsOnly": false
},
"8": {
"name": "Green Investor",
"group": "",
"allHoldings": 50059982,
"firstInvestmentDate": "2018-12-01T00:00:00.000Z",
"grants": [
{ "rid": 1, "cid": 1, "gserial": "A0009" },
{ "rid": 3, "cid": 3, "gserial": "A0019" }
],
"optionsOnly": false
},
"9": {
"name": "White Investor",
"group": "",
"allHoldings": 22746947,
"firstInvestmentDate": "2018-12-01T00:00:00.000Z",
"grants": [
{ "rid": 1, "cid": 1, "gserial": "A0010" },
{ "rid": 3, "cid": 3, "gserial": "A0020" }
],
"optionsOnly": false
},
"10": {
"name": "Blue Investor",
"group": "",
"allHoldings": 54169121,
"firstInvestmentDate": "2019-02-01T00:00:00.000Z",
"grants": [
{ "rid": 2, "cid": 2, "gserial": "A0013" },
{ "rid": 4, "cid": 0, "gserial": "N0021" }
],
"optionsOnly": false
},
"11": {
"name": "Orange Investor",
"group": "",
"allHoldings": 544357,
"firstInvestmentDate": "2019-02-01T00:00:00.000Z",
"grants": [{ "rid": 2, "cid": 2, "gserial": "A0016" }],
"optionsOnly": false
},
"12": {
"name": "Navy Investor",
"group": "",
"allHoldings": 66189678,
"firstInvestmentDate": "2019-02-01T00:00:00.000Z",
"grants": [
{ "rid": 2, "cid": 2, "gserial": "A0017" },
{ "rid": 5, "cid": 0, "gserial": "W0022" }
],
"optionsOnly": false
},
"167": {
"name": "Founders",
"group": true,
"allHoldings": 37629652,
"firstInvestmentDate": null,
"grants": [],
"optionsOnly": false
}
},
Name |
Type |
Description |
---|---|---|
name |
String |
The name of the holder. |
group |
String |
The group the holder belongs to. If the holder is not in any group, this field is empty. |
allHoldings |
Number |
The total number of shares held by the holder. |
firstInvestmentDate |
Date |
The first date the holder invested in the cap table. |
grants |
Object |
This object contains details about the holder's grants. Contains the following fields:
|
rid |
Number |
|
cid |
Number |
|
gserial |
String |
|
optionsOnly |
Boolean |
Indicates whether the holder has holdings in options only. |
Classes fields
Example Response
Note
This example shows only the relevant parts of the response. You can view the example in full here.
[...]
"classes": {
"0": {
"shares": 346297285,
"warrants": 866783,
"antidilutionShares": 0,
"name": "Common",
"holdings": {
"1": { "shares": 5190297, "warrants": 0, "antidilutionShares": 0 },
"2": { "shares": 25951484, "warrants": 0, "antidilutionShares": 0 },
"3": { "shares": 6487871, "warrants": 0, "antidilutionShares": 0 },
"4": { "shares": 130838613, "warrants": 0, "antidilutionShares": 0 },
"5": { "shares": 12110693, "warrants": 0, "antidilutionShares": 0 },
"6": { "shares": 130838613, "warrants": 0, "antidilutionShares": 0 },
"10": { "shares": 277734, "warrants": 0, "antidilutionShares": 0 },
"12": { "shares": 0, "warrants": 866783, "antidilutionShares": 0 },
"167": { "shares": 37629652, "warrants": 0, "antidilutionShares": 0 }
},
"exercised_holdings": {}
},
"1": {
"shares": 86505191,
"warrants": 0,
"antidilutionShares": 0,
"name": "Series A Preferred (PA)",
"holdings": {
"4": { "shares": 8650519, "warrants": 0, "antidilutionShares": 0 },
"6": { "shares": 8650519, "warrants": 0, "antidilutionShares": 0 },
"7": { "shares": 8650519, "warrants": 0, "antidilutionShares": 0 },
"8": { "shares": 43252596, "warrants": 0, "antidilutionShares": 0 },
"9": { "shares": 17301038, "warrants": 0, "antidilutionShares": 0 }
},
"exercised_holdings": {}
},
"2": {
"shares": 140851176,
"warrants": 0,
"antidilutionShares": 681762,
"name": "Series B-1 Preferred (PB1)",
"holdings": {
"6": {
"shares": 8694969,
"warrants": 0,
"antidilutionShares": 42086
},
"7": {
"shares": 12974444,
"warrants": 0,
"antidilutionShares": 62800
},
"10": {
"shares": 53631793,
"warrants": 0,
"antidilutionShares": 259594
},
"11": { "shares": 541735, "warrants": 0, "antidilutionShares": 2622 },
"12": {
"shares": 65008235,
"warrants": 0,
"antidilutionShares": 314660
}
},
"exercised_holdings": {}
},
"3": {
"shares": 13612843,
"warrants": 0,
"antidilutionShares": 0,
"name": "Series B-2 Preferred (PB2)",
"holdings": {
"7": { "shares": 1359548, "warrants": 0, "antidilutionShares": 0 },
"8": { "shares": 6807386, "warrants": 0, "antidilutionShares": 0 },
"9": { "shares": 5445909, "warrants": 0, "antidilutionShares": 0 }
},
"exercised_holdings": {}
}
},[...]
Name |
Type |
Description |
---|---|---|
classes |
Object |
The classes of the cap table. |
shares |
The total number of shares in the class. |
|
warrants |
The total number of warrants in the class. |
|
antidilutionShares |
The total number of anti-dilution shares in the class. |
|
name |
The name of the class. |
|
holdings |
The holder's holdings in the class. |
|
exercised_holdings |
Pools fields
Example Response
Note
This example shows only the relevant parts of the response. You can view the example in full here.
[...]
"pools": {
"0": {
"6": {
"total": 34601980,
"proposed": 150,
"vested": 4628607,
"unvested": 7064727,
"pendingExercised": 0,
"vestedOptions": 4628607,
"unvestedOptions": 7064877,
"unvestedRSUs": 0,
"available": 22908496
}
}
},
"classesOrdered": [0, 1, 2, 3],
"holdersOrdered": [4, 5, 6, 7, 8, 9, 10, 11, 12, 167, 3, 2, 1],
"exercised_holders": {},
"exercised_holdersOrdered": []
}
}
Name |
Type |
Description |
---|---|---|
pools |
Index object of option pools amounts |
|
total |
||
proposed |
||
vested |
||
unvested |
||
pendingExercised |
||
vestedOptions |
||
unvestedOptions |
||
unvestedRSUs |
||
available |
||
classesOrdered |
||
holdersOrdered |
||
exercised_holders |
||
exercised_holdersOrdered |