# Quick Start

Welcome to Flow's Customer API. You can use our API to access information available in your Flow organization (or organizations you are associated with) to build a customized experience.

If you have questions that are not addressed in this documentation or need additional help, reach out to <support@flowinc.com>. We'd be happy to assist.

## Get your API keys

Your API requests are authenticated using JWT.

You can generate a JWT by reaching out to our support team at **<support@flowinc.com>**. Our support team will get you the token you need.

## Make your first request

Authentication is based on an API key. You need to set the `Authorization` header to this value:

`Authorization: Bearer YOUR_JWT`

{% hint style="info" %}
You must replace `YOUR_JWT` with your corresponding API key.
{% endhint %}

{% tabs %}
{% tab title="curl" %}

```shell
curl "https://api.flowinc.app/customerapi/funds" \
  -H "Authorization: bearer YOUR_JWT"
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'json'
require 'net/http'

uri = URI('https://api.flowinc.app/customerapi/funds')
params = Net::HTTP::Get.new(uri)
jwt = 'YOUR_JWT'
params['Authorization'] = "Bearer #{jwt}"

response = Net::HTTP.start(uri.hostname, uri.port) { |http| http.request(params) }
puts JSON.parse(response.body)

```

{% endtab %}

{% tab title="Js" %}

```javascript
const url = 'https://api.flowinc.app/customerapi/funds'

fetch(url, {
    method: "GET",
    headers: {
      "Authorization": `Bearer ${YOUR_JWT}`,
      "Content-Type": "application/json"
    }
})
.then(response => {
    return response.json();
})
```

{% endtab %}
{% endtabs %}


# Funds

A Fund is a representation of an investment vehicle. It contains the details of the legal entity, as well as information regarding the Fund offering.

This is a description of the Fund object:

<table><thead><tr><th width="244">Field</th><th width="111" align="center">Data Type</th><th width="433">Description</th></tr></thead><tbody><tr><td><code>id</code></td><td align="center">UUID</td><td>This is the Fund's Flow ID.</td></tr><tr><td><code>bank.account_name</code></td><td align="center">String</td><td>The Fund's bank account name.</td></tr><tr><td><code>bank.account_number</code></td><td align="center">String</td><td>The Fund's bank account number.</td></tr><tr><td><code>bank.additional_instructions</code></td><td align="center">String</td><td>Any additional instructions related to wiring into the Fund.</td></tr><tr><td><code>bank.name</code></td><td align="center">String</td><td>The name of the Fund's bank.</td></tr><tr><td><code>bank.routing_number</code></td><td align="center">String</td><td>The routing number/ABA for the Fund's bank account.</td></tr><tr><td><code>bank.swift_code</code></td><td align="center">String</td><td>The SWIFT code for the Fund's bank account.</td></tr><tr><td><code>calculation_method</code></td><td align="center">String</td><td>The capital call method used by the Fund. Contribution = the Fund will only call investors’ commitment amounts. Gross = the Fund will call investors’ commitment amounts plus their management fees. Investment = the Fund will call investors’ commitment amounts, management fees, and pro rata portion of the Fund’s expense reserve.</td></tr><tr><td><code>capital_due_date</code></td><td align="center">String</td><td>The date that capital is due from investors.</td></tr><tr><td><code>carry_percent</code></td><td align="center">String</td><td>The percent of carry charged by the Fund.</td></tr><tr><td><code>created_at</code></td><td align="center">String</td><td>When this Fund was created.</td></tr><tr><td><code>deal_description</code></td><td align="center">String</td><td>Any additional information regarding the Fund that will be shared with investors.</td></tr><tr><td><code>expense_reserve</code></td><td align="center">String</td><td>The amount reserved by the Fund to cover Fund expenses.</td></tr><tr><td><code>investor_count</code></td><td align="center">Integer</td><td>Total amount of investors invited to this Fund.</td></tr><tr><td><code>legal_entity.display_name</code></td><td align="center">String</td><td>Display name for the fund.</td></tr><tr><td><code>legal_entity.legal_name</code></td><td align="center">String</td><td>Legal entity name for this Fund.</td></tr><tr><td><code>legal_entity.formation_date</code></td><td align="center">String</td><td>The date on which the Fund was legally formed.</td></tr><tr><td><code>legal_entity.formation_state</code></td><td align="center">String</td><td>The state in which the Fund was formed.</td></tr><tr><td><code>legal_entity.tax_id</code></td><td align="center">String</td><td>The Fund's tax ID.</td></tr><tr><td><code>legal_entity.tax_id_type</code></td><td align="center">String</td><td>The tax ID type (e.g. EIN).</td></tr><tr><td><code>legal_entity.type</code></td><td align="center">String</td><td>The legal structure of the entity (e.g. LLC, partnership, corporation).</td></tr><tr><td><code>management_fee_percent</code></td><td align="center">Integer</td><td>The percentage of management fee charged by the Fund.</td></tr><tr><td><code>minimum_investment</code></td><td align="center">String</td><td>Minimum investment amount per investor for the Fund.</td></tr><tr><td><code>organization_name</code></td><td align="center">String</td><td>This name of the organization under which the Fund is stored in Flow.</td></tr><tr><td><code>portfolio_company_legal_name</code></td><td align="center">String</td><td>The full legal name of the company that the Fund is investing in (for single asset Funds).</td></tr><tr><td><code>round_type</code></td><td align="center">String</td><td>The portfolio company round being invested in (e.g. Seed, Series A, etc.).</td></tr><tr><td><code>security_type</code></td><td align="center">String</td><td>The security type being purchased by the Fund (e.g. Stock, Convertible Note, etc.).</td></tr><tr><td><code>sign_by_date</code></td><td align="center">String</td><td>The date by which investors are asked to complete signing of their subscription documents.</td></tr><tr><td><code>target_size</code></td><td align="center">String</td><td>The target size for the Fund.</td></tr><tr><td><code>total_contributed</code></td><td align="center">String</td><td>How much money has been contributed by investors to the Fund.</td></tr><tr><td><code>total_commitments</code></td><td align="center">String</td><td>Total investor commitments in the Fund.</td></tr><tr><td><code>total_received</code></td><td align="center">String</td><td>The total amount of investor money received by the Fund.</td></tr></tbody></table>

## Get All Funds&#x20;

## Get All Funds associated to your token.

<mark style="color:blue;">`GET`</mark> `https://api.flowinc.app/customerapi/funds`

This endpoint retrieves all Funds you have access to.

{% tabs %}
{% tab title="200 " %}

```javascript
[
    {
        "id": "843703d4-ff7b-4f52-816e-e79ceee1c1c8",
        "bank": {
            "account_name": "Jack Hill",
            "account_number": "08604847",
            "additional_instructions": "Instructions.",
            "name": "Bank Name",
            "routing_number": "147299826",
            "swift_code": "AAAABB11222"
        },
        "calculation_method": "contribution",
        "capital_due_date": "2021-09-24T21:46:45.271Z",
        "carry_percent": "2.0",
        "created_at": "2022-07-12T23:51:44.777Z",
        "deal_description": "Description.",
        "expense_reserve": "0.0",
        "legal_entity": {
            "display_name": "Partnership, LP",
            "formation_date": "2022-07-12T23:51:44.777Z",
            "formation_state": "2022-07-12T23:51:44.777Z",
            "legal_name": "Partnership, LP",
            "tax_id": "555-55-5555",
            "tax_id_type": "ssn",
            "type": "Limited partnership"
        },
        "investor_count": 0,
        "management_fee_percent": "2.0",
        "minimum_investment": "0.0",
        "organization_name": "Organization Name",
        "portfolio_company_legal_name": "Company Name, LLC",
        "round_type": "Seed",
        "security_type": "preferred",
        "sign_by_date": "2022-07-12T23:51:44.777Z",
        "target_size": "0.0",
        "total_commitments": "0.0",
        "total_contributed": "0.0",
        "total_received": "0.0"
    },
    [...]
]
```

{% endtab %}

{% tab title="401: Unauthorized " %}

```javascript
{
    "error": "Bad token"
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="curl" %}

```shell
curl "https://api.flowinc.app/customerapi/funds" \
  -H "Authorization: bearer YOUR_JWT"
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'json'
require 'net/http'

uri = URI('https://api.flowinc.app/customerapi/funds')
params = Net::HTTP::Get.new(uri)
jwt = 'YOUR_JWT'
params['Authorization'] = "Bearer #{jwt}"

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(params) }
puts JSON.parse(response.body)

```

{% endtab %}

{% tab title="Js" %}

```javascript
const url = 'https://api.flowinc.app/customerapi/funds'

fetch(url, {
    method: "GET",
    headers: {
      "Authorization": `Bearer ${YOUR_JWT}`,
      "Content-Type": "application/json"
    }
})
.then(response => {
    return response.json();
})
```

{% endtab %}
{% endtabs %}

{% hint style="success" %}
**Good to know:** Remember your Fund numbers will change along with investor data.
{% endhint %}

## **Get Single Fund**

## Get a single Fund from your token.

<mark style="color:blue;">`GET`</mark> `https://api.flowinc.app/customerapi/funds/FUND_ID`

This endpoint retrieves a single Fund you have access to.

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "id": "843703d4-ff7b-4f52-816e-e79ceee1c1c8",
    "bank": {
        "account_name": "Jack Hill",
        "account_number": "08604847",
        "additional_instructions": "Instructions.",
        "name": "Bank Name",
        "routing_number": "147299826",
        "swift_code": "AAAABB11222"
    },
    "calculation_method": "contribution",
    "capital_due_date": "2021-09-24T21:46:45.271Z",
    "carry_percent": "2.0",
    "created_at": "2022-07-12T23:51:44.777Z",
    "deal_description": "Description.",
    "expense_reserve": "0.0",
    "legal_entity": {
        "display_name": "Partnership, LP",
        "formation_date": "2022-07-12T23:51:44.777Z",
        "formation_state": "2022-07-12T23:51:44.777Z",
        "legal_name": "Partnership, LP",
        "tax_id": "555-55-5555",
        "tax_id_type": "ssn",
        "type": "Limited partnership"
    },
    "investor_count": 0,
    "management_fee_percent": "2.0",
    "minimum_investment": "0.0",
    "organization_name": "Organization Name",
    "portfolio_company_legal_name": "Company Name, LLC",
    "round_type": "Seed",
    "security_type": "preferred",
    "sign_by_date": "2022-07-12T23:51:44.777Z",
    "target_size": "0.0",
    "total_commitments": "0.0",
    "total_contributed": "0.0",
    "total_received": "0.0"
}
```

{% endtab %}

{% tab title="401: Unauthorized " %}

```javascript
{
    "error": "Bad token"
}
```

{% endtab %}

{% tab title="404: Not Found " %}

```javascript
{
    "error": "Fund not available"
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
You must replace `FUND_ID` with the Fund's ID you're trying to access.
{% endhint %}

{% tabs %}
{% tab title="curl" %}

```shell
curl "https://api.flowinc.app/customerapi/funds/FUND_ID" \
  -H "Authorization: bearer YOUR_JWT"
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'json'
require 'net/http'

uri = URI('https://api.flowinc.app/customerapi/funds/FUND_ID')
params = Net::HTTP::Get.new(uri)
jwt = 'YOUR_JWT'
params['Authorization'] = "Bearer #{jwt}"

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(params) }
puts JSON.parse(response.body)

```

{% endtab %}

{% tab title="Js" %}

```javascript
const url = 'https://api.flowinc.app/customerapi/funds/FUND_ID'

fetch(url, {
    method: "GET",
    headers: {
      "Authorization": `Bearer ${YOUR_JWT}`,
      "Content-Type": "application/json"
    }
})
.then(response => {
    return response.json();
})
```

{% endtab %}
{% endtabs %}


# Investors

Investor information includes both legal information about investors and the specifics of their investment in a Fund.

<table><thead><tr><th width="247">Field</th><th width="114" align="center">Data Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td align="center">UUID</td><td>This is the Investor's Flow ID.</td></tr><tr><td><code>investment_account.legal_name</code> </td><td align="center">String</td><td>The full legal name of the investor.</td></tr><tr><td><code>investment_account.display_name</code></td><td align="center">String</td><td>The name that is displayed on Flow's platform (can differ from the legal name if the investor specifies a dba or other name they want displayed on the platform).</td></tr><tr><td><code>investment_account.investor_type</code></td><td align="center">String</td><td>The category of investor type (i.e. individual, joint, entity, trust).</td></tr><tr><td><code>investment_account.entity_type</code></td><td align="center">String</td><td>The entity type for the investor (e.g. LLC, partnership, corporation).</td></tr><tr><td><code>investment_account.entity_subtype</code></td><td align="center">String</td><td>For LLC entity types, the tax classification of the entity (i.e. partnership, s corp, c corp).</td></tr><tr><td><code>investment_account.trust_type</code></td><td align="center">String</td><td>For investors investing through a trust, the type of trust (e.g. revocable, irrevocable, grantor, etc.).</td></tr><tr><td><code>investment_account.trust_subtype</code></td><td align="center">String</td><td>For investors investing through a trust, the subtype of the specified trust type.</td></tr><tr><td><code>investment_account.address.line_one</code></td><td align="center">String</td><td>The investor's street address.</td></tr><tr><td><code>investment_account.address.line_two</code></td><td align="center">String</td><td>Unit, suite, or apartment number.</td></tr><tr><td><code>investment_account.address.state</code></td><td align="center">String</td><td>The state of the investor's address.</td></tr><tr><td><code>investment_account.address.postal</code></td><td align="center">String</td><td>The postal code of the investor's address.</td></tr><tr><td><code>investment_account.address.city</code></td><td align="center">String</td><td>The city of the investor's address.</td></tr><tr><td><code>investment_account.address.country</code></td><td align="center">String</td><td>The country of the investor's address.</td></tr><tr><td><code>investment_account.bank.account_name</code></td><td align="center">String</td><td>The name on the bank account specified by the investor to receive distributions from the Fund.</td></tr><tr><td><code>investment_account.bank.account_number</code></td><td align="center">String</td><td>The bank account number.</td></tr><tr><td><code>investment_account.bank.name</code></td><td align="center">String</td><td>The bank name.</td></tr><tr><td><code>investment_account.bank.routing number</code></td><td align="center">String</td><td>The bank routing number.</td></tr><tr><td><code>investment_account.bank.swift_code</code></td><td align="center">String</td><td>The bank SWIFT code (for international investors).</td></tr><tr><td><code>investment_account.bank.additional instructions</code></td><td align="center">String</td><td>Any additional wire instructions specified by the investor.</td></tr><tr><td><code>total_capital_due</code></td><td align="center">String</td><td>The total amount of capital the investor owes to the Fund.</td></tr><tr><td><code>carry_percent</code></td><td align="center">String</td><td>The percent of carry charged to the investor.</td></tr><tr><td><code>contributed_amount</code></td><td align="center">String</td><td>The amount that this investor has contributed to the fund.</td></tr><tr><td><code>contributed_at</code></td><td align="center">String</td><td>The date and time at which this investor contributed to this fund.</td></tr><tr><td><code>phone_number</code></td><td align="center">String</td><td>The phone number associated with this investor.</td></tr><tr><td><code>joint_legal_name</code></td><td align="center">String</td><td>The legal name of the co-investor in the case of a joint investment.</td></tr><tr><td><code>joint_email</code></td><td align="center">String</td><td>The email address of the co-investor in the case of a joint investment.</td></tr><tr><td><code>fax_number</code></td><td align="center">String</td><td>The fax number for this investor.</td></tr><tr><td><code>date_invited</code></td><td align="center">String</td><td>The date and time at which an invitation to join the Fund was sent to the investor through Flow's platform.</td></tr><tr><td><code>life_distributions</code></td><td align="center">String</td><td>Distributions to the investor over the life of the Fund.</td></tr><tr><td><code>management_fee_percent</code></td><td align="center">String</td><td>The management fee charged to this investor expressed as a percent.</td></tr><tr><td><code>net_asset_value</code></td><td align="center">String</td><td>The net asset value of the investor’s investment.</td></tr><tr><td><code>ownership_percent</code></td><td align="center">String</td><td>The investor’s ownership percentage within the Fund.</td></tr><tr><td><code>total_received</code></td><td align="center">String</td><td>The total amount of funds received by the investor.</td></tr><tr><td><code>unfunded_commitment_amount</code></td><td align="center">String</td><td>The amount of the investor’s commitment that the investor has not yet paid in to the Fund.</td></tr><tr><td><code>primary contact.first_name</code></td><td align="center">String</td><td>The first name of the primary contact for this investor.</td></tr><tr><td><code>primary contact.middle_name</code></td><td align="center">String</td><td>The middle name of the primary contact for this investor.</td></tr><tr><td><code>primary contact.last_name</code></td><td align="center">String</td><td>The last name of the primary contact for this investor.</td></tr><tr><td><code>primary contact.full_name</code></td><td align="center">String</td><td>The first name, middle name, and last name of the point of contact for this investor.</td></tr><tr><td><code>primary contact.email</code></td><td align="center">String</td><td>The email for the primary contact for this investor.</td></tr><tr><td><code>tax_id</code></td><td align="center">String</td><td>The tax ID number for the investor.</td></tr><tr><td><code>tax_id_type</code></td><td align="center">String</td><td>The type of tax ID (e.g. ein, ssn).</td></tr><tr><td><code>team members.member_name</code></td><td align="center">String</td><td>The name of an additional team member on the investor's account.</td></tr><tr><td><code>team members.member_email</code></td><td align="center">String</td><td>The email address of an additional team member of the investor's account.</td></tr></tbody></table>

## Get All Investors Associated with a Fund&#x20;

## Get all Investors who have invested in a specific Fund associated with your token.

<mark style="color:blue;">`GET`</mark> `https://api.flowinc.app/customerapi/funds/FUND_ID/investors`

This endpoint retrieves all Investors for a specific Fund.

#### Path Parameters

| Name                                       | Type   | Description                                    |
| ------------------------------------------ | ------ | ---------------------------------------------- |
| fund\_id<mark style="color:red;">\*</mark> | String | The UUID of a Fund associated with your token. |

{% tabs %}
{% tab title="200 " %}

```javascript
[
    {
        "id": "843703d4-ff7b-4f52-816e-e79ceee1c1c8",
        "investment_account": {
            "legal_name": "Jack Hill, LLC",
            "display_name": "Jack Hill",
            "address": {
                "line_one": "123 Main Street",
                "line_two": "Suite 3",
                "city": "New York",
                "state": "ny",
                "postal": "10009",
                "country": "US"
            },
            "bank": {
                "account_name": "Jack Hill",
                "account_number": "08604847",
                "bank_name": "Bank Name",
                "routing_number": "147299826",
                "swift_code": "AAAABB11222",
                "additional_instructions": "Instructions."
            },
            "phone_number": "555.555.5555",
            "fax_number": "777.777.7777",
            "investor_type": "joint",
            "joint_legal_name": "Jack and Jill Hill",
            "joint_email": "jj.hill@example.com",
            "entity_type": "llc",
            "entity_subtype": "partnership",
            "trust_type": "irrevocable",
            "trust_subtype": "descendants",
            "tax_id": "291-01-9101",
            "tax_id_type": "ssn"
        },
        "primary_contact": {
            "first_name": "John",
            "middle_name": "Ralph",
            "last_name": "Hill",
            "email": "j.hill@example.com",
            "full_name": "John Ralph Doe"
        },
        "team_members": [
            {
                "member_name": "John Ralph Hill",
                "member_email": "j.hill@example.com"
            },
            {
                "member_name": "Jill Hill",
                "member_email": "jill.hill@example.com"
            }
        ],
        "date_invited": "2021-09-24T21:46:45.271Z",
        "commitment_amount": "20000.0",
        "management_fee_amount": "400.0",
        "management_fee_percent": "2.0",
        "expense_reserve_amount": "0.0",
        "total_capital_due": "20000.0",
        "contributed_amount": "20000.0",
        "contributed_at": "2021-09-24T21:46:45.271Z",
        "total_received": "20000.0",
        "unfunded_commitment_amount": "0.0",
        "carry_percent": "20.0",
        "ownership_percent": "66.6667",
        "life_distributions": "0.0",
        "net_asset_value": "0.0"
    },
    [...]
]
```

{% endtab %}

{% tab title="401: Unauthorized " %}

```javascript
{
    "error": "Bad token"
}
```

{% endtab %}

{% tab title="404: Not Found " %}

```javascript
{
    "error": "Fund not available"
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
You must replace `FUND_ID` with the UUID of the fund you are trying to access.

You must replace YOUR\_JWT with the JWT provided to you by Flow.
{% endhint %}

{% tabs %}
{% tab title="curl" %}

```shell
curl "https://api.flowinc.app/customerapi/funds/FUND_ID/investors" \
        -H "Authorization: Bearer YOUR_JWT"
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'json'
require 'net/http'

fund_id = 'FUND_ID'
token = 'YOUR_JWT'

uri = URI("https://api.flowinc.app/customerapi/funds/#{fund_id}/investors")
params = Net::HTTP::Get.new(uri)
params['Authorization'] = "Bearer #{token}"

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(params) }
puts JSON.parse(response.body)
```

{% endtab %}

{% tab title="Js" %}

```javascript
const url = 'https://api.flowinc.app/customerapi/funds/FUND_ID/investors'

fetch(url, {
    method: "GET",
    headers: {
      "Authorization": "Bearer YOUR_JWT",
      "Content-Type": "application/json"
    }
})
.then(response => {
    return response.json();
})
```

{% endtab %}
{% endtabs %}

{% hint style="success" %}
**Good to know:** Investor information is scoped to specific funds in which they have invested. While you may have multiple funds associated with your API token, you will need to query each fund separately in order to obtain information on all of your investors.
{% endhint %}

## **Get Single Investor**

## Get a single Investor who has invested in a Fund associated with your token.

<mark style="color:blue;">`GET`</mark> `https://api.flowinc.app/customerapi/funds/FUND_ID/investors/INVESTOR_ID`

This endpoint retrieves a single Investor you have access to.

#### Path Parameters

| Name                                           | Type   | Description                                                      |
| ---------------------------------------------- | ------ | ---------------------------------------------------------------- |
| fund\_id<mark style="color:red;">\*</mark>     | String | The UUID of a Fund associated with your token.                   |
| investor\_id<mark style="color:red;">\*</mark> | String | The UUID of an Investor in the Fund specified by your `fund_id`. |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    "id": "843703d4-ff7b-4f52-816e-e79ceee1c1c8",
    "investment_account": {
        "legal_name": "Jack Hill, LLC",
        "display_name": "Jack Hill",
        "address": {
            "line_one": "123 Main Street",
            "line_two": "Suite 3",
            "city": "New York",
            "state": "ny",
            "postal": "10009",
            "country": "US"
        },
        "bank": {
            "account_name": "Jack Hill",
            "account_number": "08604847",
            "bank_name": "Bank Name",
            "routing_number": "147299826",
            "swift_code": "AAAABB11222",
            "additional_instructions": "Instructions."
        },
        "phone_number": "555.555.5555",
        "fax_number": "777.777.7777",
        "investor_type": "joint",
        "joint_legal_name": "Jack and Jill Hill",
        "joint_email": "jj.hill@example.com",
        "entity_type": "llc",
        "entity_subtype": "partnership",
        "trust_type": "irrevocable",
        "trust_subtype": "descendants",
        "tax_id": "555-55-5555",
        "tax_id_type": "ssn"
    },
    "primary_contact": {
        "first_name": "John",
        "middle_name": "Ralph",
        "last_name": "Hill",
        "email": "j.hill@example.com",
        "full_name": "John Ralph Doe"
    },
    "team_members": [
        {
            "member_name": "John Ralph Hill",
            "member_email": "j.hill@example.com"
        },
        {
            "member_name": "Jill Hill",
            "member_email": "jill.hill@example.com"
        }
    ],
    "date_invited": "2021-09-24T21:46:45.271Z",
    "commitment_amount": "20000.0",
    "management_fee_amount": "400.0",
    "management_fee_percent": "2.0",
    "expense_reserve_amount": "0.0",
    "total_capital_due": "20000.0",
    "contributed_amount": "20000.0",
    "contributed_at": "2021-09-24T21:46:45.271Z",
    "total_received": "20000.0",
    "unfunded_commitment_amount": "0.0",
    "carry_percent": "20.0",
    "ownership_percent": "66.6667",
    "life_distributions": "0.0",
    "net_asset_value": "0.0"
}
```

{% endtab %}

{% tab title="401: Unauthorized " %}

```javascript
{
    "error": "Bad token"
}
```

{% endtab %}

{% tab title="404: Not Found " %}

```javascript
{
    "error": "Not Found"
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
This request requires both a `FUND`\_`ID` and an `INVESTOR_ID.`

As above, you must replace YOUR\_JWT with the JWT provided to you by Flow.
{% endhint %}

{% tabs %}
{% tab title="curl" %}

```shell
curl "https://api.flowinc.app/customerapi/funds/FUND_ID/investors/INVESTOR_ID" \
        -H "Authorization: Bearer YOUR_JWT"
```

{% endtab %}

{% tab title="Ruby" %}

```ruby
require 'json'
require 'net/http'

fund_id = 'FUND_ID'
investor_id = 'INVESTOR_ID'
token = 'YOUR_JWT'

uri = URI("https://api.flowinc.app/customerapi/funds/#{fund_id}/investors/#{investor_id}")
params = Net::HTTP::Get.new(uri)
params['Authorization'] = "Bearer #{token}"

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(params) }
puts JSON.parse(response.body)
```

{% endtab %}

{% tab title="Js" %}

```javascript
const url = 'https://api.flowinc.app/customerapi/funds/FUND_ID/investors/INVESTOR_ID'

fetch(url, {
    method: "GET",
    headers: {
      "Authorization": "Bearer YOUR_JWT",
      "Content-Type": "application/json"
    }
})
.then(response => {
    return response.json();
})
```

{% endtab %}
{% endtabs %}


