> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nekt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Carta as a data source

> Bring data from Carta to Nekt.

Carta is a platform that helps companies and investors manage their cap tables, valuations, investments, and equity plans. It provides a centralized system for tracking and managing equity, ensuring compliance and simplifying complex financial processes.

<img height="50" src="https://mintcdn.com/nekt/3MFKt2g7jzqFpztO/assets/logo/logo-carta.png?fit=max&auto=format&n=3MFKt2g7jzqFpztO&q=85&s=f29623d61cc6537917fc0105e1337c27" data-path="assets/logo/logo-carta.png" />

## Configuring Carta as a Source

In the [Sources](https://app.nekt.ai/sources) tab, click on the "Add source" button located on the top right of your screen. Then, select the Carta option from the list of connectors.

Click **Next** and you'll be prompted to add your access.

### 1. Add account access

You'll need your Carta API credentials for this connection. In order to get access to the API, you need to ask for access directly to Carta ([read this guide](https://docs.carta.com/carta/docs/introduction) if you want to know more). Once you have API access, add your access details:

* **Client ID**: Your Client ID for the Carta API.
* **Client Secret**: Your Client Secret for the Carta API.

When this is done, click **Next**.

### 2. Select streams

Choose which data streams you want to sync - you can select all streams or pick specific ones that matter most to you.

> Tip: The stream can be found more easily by typing its name.

Select the streams and click **Next**.

### 3. Configure data streams

Customize how you want your data to appear in your catalog. Select a name for each table (which will contain the fetched data) and the type of sync.

* **Table name**: we suggest a name, but feel free to customize it. You have the option to add a **prefix** and make this process faster!
* **Sync Type**: you can choose between INCREMENTAL and FULL\_TABLE.
  * Incremental: every time the extraction happens, we'll get only the new data - which is good if, for example, you want to keep every record ever fetched.
  * Full table: every time the extraction happens, we'll get the current state of the data - which is good if, for example, you don't want to have deleted data in your catalog.

Once you are done configuring, click **Next**.

### 4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters.

To define your [Trigger](https://docs.nekt.com/runs/scheduling-and-triggers), consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times).

Optionally, you can determine when to execute a [full sync](https://docs.nekt.com/get-started/core-concepts/types-of-sync#additional-full-sync). This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.

Once you are ready, click **Next** to finalize the setup.

### 5. Check your new source

You can view your new source on the [Sources](https://app.nekt.ai/sources) page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.

<Warning>For you to be able to see it on your [Catalog](https://app.nekt.ai/catalog), you need at least one successful source run.</Warning>

# Streams and Fields

Below you'll find all available data streams from Carta and their corresponding fields:

<AccordionGroup>
  <Accordion title="Firms">
    Stream for managing firms in your Carta account.

    **Key Fields:**

    * `id`: Unique identifier for the firm.
    * `name`: Name of the firm.
  </Accordion>

  <Accordion title="Funds">
    Stream for managing funds within a firm.

    **Key Fields:**

    * `id`: Unique identifier for the fund.
    * `firmId`: Identifier for the firm associated with the fund.
    * `name`: Name of the fund.
  </Accordion>

  <Accordion title="Investments">
    Stream containing information about investments made by funds.

    **Key Fields:**

    * `id`: Unique identifier for the investment.
    * `firmId`: Identifier for the firm associated with the investment.
    * `fundId`: Identifier for the fund associated with the investment.
    * `companyId`: Identifier for the company associated with the investment.
    * `legalName`: Legal name of the company.
    * `doingBusinessAsName`: Doing business as name of the company.
    * `website`: Website of the company.
    * `country`: Country of the company.
    * `stateOfIncorporation`: State of incorporation of the company.
    * `cartaCompany`: Whether the company is a Carta company.
    * `reference_cap_table_id`: Reference capitalization table ID.
  </Accordion>

  <Accordion title="Capitalization Tables">
    Stream for managing capitalization tables for investments.

    **Key Fields:**

    * `id`: Unique identifier for the capitalization table.
    * `firmId`: Identifier for the firm associated with the capitalization table.
    * `fundId`: Identifier for the fund associated with the capitalization table.
    * `companyId`: Identifier for the company associated with the capitalization table.
    * `name`: Name of the capitalization table.
    * `type`: Type of the capitalization table.
    * `asOfDate.value`: The date as of which the capitalization table is valid.
  </Accordion>

  <Accordion title="Capitalization Table Details">
    Stream for detailed information within a capitalization table.

    **Key Fields:**

    * `id`: Unique identifier for the capitalization table detail.
    * `firmId`: Identifier for the firm associated with the capitalization table.
    * `fundId`: Identifier for the fund associated with the capitalization table.
    * `companyId`: Identifier for the company associated with the capitalization table.
    * `capitalizationTableId`: Identifier for the capitalization table.
    * `asOfDate.value`: The date as of which the capitalization table details are valid.
    * `summary`: An object containing summary information for the capitalization table (e.g., `fullyDilutedShares`, `outstandingShares`, `cashRaised`).
    * `shareClassDetails`: A list of objects with details for each share class.
    * `optionPoolSummaries`: A list of objects with summaries for each option pool.
    * `warrantBlockDetails`: A list of objects with details for each warrant block.
  </Accordion>

  <Accordion title="Fund Investment Documents">
    Stream for managing fund investment documents.

    **Key Fields:**

    * `documentId`: Unique identifier for the document.
    * `fundId`: Identifier for the fund associated with the document.
    * `firmId`: Identifier for the firm associated with the document.
    * `documentName`: Name of the document.
    * `fundName`: Name of the fund.
    * `firmName`: Name of the firm.
    * `effectiveDate.value`: Effective date of the document.
    * `sharedDate.value`: Date when the document was shared.
    * `portfolioId`: Identifier for the portfolio this document belongs to.
  </Accordion>

  <Accordion title="Fund Investment Document Download">
    Stream for downloading fund investment documents.

    **Key Fields:**

    * `portfolioId`: Identifier for the portfolio.
    * `documentId`: Unique identifier for the document.
    * `documentName`: Name of the document.
    * `downloadUrl`: URL to download the document.
    * `downloadUrlExpirationTime`: Expiration time for the download URL.
  </Accordion>

  <Accordion title="Issuers">
    Stream for managing issuers in your Carta account.

    **Key Fields:**

    * `id`: Unique identifier for the issuer.
    * `legalName`: Legal name of the issuer.
    * `doingBusinessAsName`: Doing business as name of the issuer.
    * `website`: Website URL of the issuer.
    * `status`: Status of the issuer.
    * `createdAt`: Timestamp when the issuer was created.
    * `updatedAt`: Timestamp when the issuer was last updated.
  </Accordion>

  <Accordion title="Issuer Capitalization Table">
    Stream for the capitalization table of a specific issuer.

    **Key Fields:**

    * `issuerId`: Unique identifier for the issuer.
    * `asOfDate.value`: The date as of which the capitalization table is valid.
    * `summary`: An object containing summary information for the capitalization table.
    * `shareClassDetails`: A list of objects with details for each share class.
    * `shareClassSummaries`: A list of objects with summaries for each share class.
    * `optionPoolSummaries`: A list of objects with summaries for each option pool.
    * `warrantBlockDetails`: A list of objects with details for each warrant block.
    * `warrantBlockSummaries`: A list of objects with summaries for each warrant block.
    * `noteBlockSummaries`: A list of objects with summaries for each note block.
  </Accordion>

  <Accordion title="Issuer Stakeholder Capitalization Table">
    Stream for the stakeholder capitalization table of a specific issuer.

    **Key Fields:**

    * `issuerId`: Unique identifier for the issuer.
    * `asOfDate`: Date as of which the capitalization table is valid.
    * `stakeholderGroups`: A list of objects, each representing a stakeholder group with detailed information.
  </Accordion>

  <Accordion title="Investor Stakeholder Capitalization Table">
    Stream for the stakeholder capitalization table of a specific investment.

    **Key Fields:**

    * `id`: Unique identifier for the stakeholder capitalization table.
    * `companyId`: Identifier for the company.
    * `asOfDate`: Date as of which the capitalization table is valid.
    * `firmId`: Identifier for the firm.
    * `fundId`: Identifier for the fund.
    * `capitalizationTableId`: Identifier for the capitalization table.
    * `stakeholderGroups`: A list of objects, each representing a stakeholder group with detailed information.
  </Accordion>

  <Accordion title="Portfolios">
    Stream for managing shareholder portfolios.

    **Key Fields:**

    * `portfolioId`: Unique identifier for the portfolio.
    * `legalName`: Legal name of the portfolio.
    * `createTime`: Timestamp when the portfolio was created.
  </Accordion>

  <Accordion title="Portfolio Issuers">
    Stream for issuers within a specific portfolio.

    **Key Fields:**

    * `id`: Unique identifier for the issuer.
    * `portfolioId`: Identifier for the portfolio associated with the issuer.
    * `legalName`: Legal name of the issuer.
    * `doingBusinessAsName`: Doing business as name of the issuer.
    * `website`: Website URL of the issuer.
  </Accordion>
</AccordionGroup>

## Skills for agents

<Snippet file="agent-skills-intro.mdx" />

<Card title="Download Carta skills file" icon="wand-magic-sparkles" href="/sources/carta.md">
  Carta connector documentation as plain markdown, for use in AI agent contexts.
</Card>
