Create a Stakeholder
What is a Stakeholder? In TAP and OCF terminology, a stakeholder is an equity holder—someone who owns shares on the issuer's cap table. This includes founders, employees with equity, investors, and any individual or institution holding shares.
Stakeholders are the equity holders on your cap table — founders, employees, investors, or any entity that holds shares.
Send a POST request
Using Postman or curl, send a POST request to http://localhost:8293/stakeholder/create
{
"issuerId": "<YOUR_ISSUER_ID>",
"data": {
"name": {
"legal_name": "Alex Palmer",
"first_name": "Alex",
"last_name": "Palmer"
},
"issuer_assigned_id": "",
"stakeholder_type": "INDIVIDUAL",
"current_relationship": "FOUNDER",
"primary_contact": {
"name": {
"legal_name": "Alex Palmer",
"first_name": "Alex",
"last_name": "Palmer"
},
"emails": [
{
"email_type": "PERSONAL",
"email_address": "alex@palmer.earth"
}
],
"phone_numbers": [
{
"phone_type": "MOBILE",
"phone_number": "+1 555-555-5555"
}
]
},
"contact_info": {
"emails": [
{
"email_type": "BUSINESS",
"email_address": "alex@plume.org"
}
],
"phone_numbers": [
{
"phone_type": "MOBILE",
"phone_number": "+1 555-555-5555"
}
]
},
"comments": []
}
}Replace <YOUR_ISSUER_ID> with the _id from your issuer creation response.
Check the response
The response includes your new stakeholder:
{
"stakeholder": {
"_id": "<GENERATED_STAKEHOLDER_ID>",
"object_type": "STAKEHOLDER",
"name": {
"legal_name": "Alex Palmer",
"first_name": "Alex",
"last_name": "Palmer"
},
"stakeholder_type": "INDIVIDUAL",
"issuer_assigned_id": "",
"current_relationship": "FOUNDER",
"primary_contact": {
"name": {
"legal_name": "Alex Palmer",
"first_name": "Alex",
"last_name": "Palmer"
},
"emails": [
{
"email_type": "PERSONAL",
"email_address": "alex@palmer.earth"
}
],
"phone_numbers": [
{
"phone_type": "MOBILE",
"phone_number": "+1 555-555-5555"
}
]
},
"contact_info": {
"emails": [
{
"email_type": "BUSINESS",
"email_address": "alex@plume.org"
}
],
"phone_numbers": [
{
"phone_type": "MOBILE",
"phone_number": "+1 555-555-5555"
}
]
},
"comments": [],
"issuer": "<YOUR_ISSUER_ID>",
"is_onchain_synced": false
}
}
The is_onchain_synced field starts as false. The event poller will update it to true once the blockchain confirms the transaction.
Stakeholder types
The stakeholder_type field accepts:
INDIVIDUAL— A person (founder, employee, advisor)INSTITUTION— A company or entity (VC fund, corporate investor)
Relationship types
The current_relationship field accepts values like:
FOUNDEREMPLOYEEADVISORBOARD_MEMBERINVESTORFORMER_EMPLOYEE
What's next?
With stakeholders and stock classes created, you can now issue stock to your stakeholders.