# Retrieving entity ownership structures

Retrieving the ownership structure of an entity is simple, and is available for manually-entered or automatically-detected directors, shareholders, universal beneficial owners, or others.

## Retrieving an entity's ownership structure

<mark style="color:green;">`POST`</mark> `/api-retrieve-ubo`

Once the entity has been verified, retrieve the ownership structure and information.

**Headers**

| Name          | Value                 |
| ------------- | --------------------- |
| Content-Type  | `multipart/form-data` |
| Authorization | `Bearer YOUR_TOKEN`   |

**Body**

| Name          | Type   | Description                                                                                |
| ------------- | ------ | ------------------------------------------------------------------------------------------ |
| `applicantId` | string | Unique applicantId generated on entity creation <mark style="color:red;">(required)</mark> |

**Response**

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

```json
{
    "ownershipInsight": {
        "parentEntity": "1725329761404x0000000000000",
        "applicantId": "1725367823259x00000000000000",
        "uboType": "Individual",
        "name": "SIMONE LEE HARDING",
        "detectedPosition": [
            "Secretary",
            "UBO",
            "Shareholder",
            "Director"
        ],
        "inputtedPosition": "null",
        "address": "123 EXAMPLE LANE, PERTH, 6000, WA, AU",
        "registrationNumber": "null",
        "shares": [
            "5000000"
        ],
        "shareClass": [
            "ORD"
        ]
    },
    "ownershipInsight": {
        "parentEntity": "1725329761404x0000000000000",
        "applicantId": "null",
        "uboType": "Entity",
        "name": "EXAMPLE CO PTY LTD",
        "detectedPosition": [
            "Shareholder"
        ],
        "inputtedPosition": "null",
        "address": "321 EXAMPLE STREET, PERTH, 6000, WA AU",
        "registrationNumber": "123000456",
        "shares": [
            "100000"
        ],
        "shareClass": [
            "ORD"
        ]
    }
```

{% endtab %}

{% tab title="400" %}

```json
{
    "statusCode": 400,
    "message": "Error: incorrect applicantId provided"
}
```

{% endtab %}
{% endtabs %}

`detectedPosition` types are roles that we've automatically identified during verification.

`inputtedPosition` types are roles that the entity has manually entered, in the event of manual fallback.

{% hint style="info" %}
Note: The `applicantId` can be empty/null when the representative has been identified, but not yet verified. If applicable, once an applicant or entity has been created to verify the representative, manually or automatically in a flow, the `applicantId` will appear.
{% endhint %}
