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:

  • FullyDiluted

  • Outstanding

  • AsConverted

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

  • cid

  • gserial

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