# DAO

## Get stakeholders data

<mark style="color:green;">`POST`</mark> `https://api.octusbridge.io/v1/dao/search/stakeholders`

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

```
{
  "stakeholders": [
    {
      "userAddress": "0:0a75c8fa5a9efa817eda3fcd51717d9690cc7ec989881fecb73616f249b8fbce",
      "votes": "0",
      "voteWeight": "0",
      "proposalVotesCount": 1
    },
    ...
{
      "userAddress": "0:8e17dbaa03a309b9f05867595126a72e5cbbe8c61d10f1250fb8d9753aaf0f7d",
      "votes": "0",
      "voteWeight": "0",
      "proposalVotesCount": 0
    }
  ],
  "totalCount": 206
}
```

{% endtab %}
{% endtabs %}

This function is used to get stakeholders data.

It can be used for showing a list of desired number of stakeholders, where the information about total number of votes a stakeholder raised, how much stakeholder’s vote can weigh, address and number of proposals he voted for ordered by the vote weight.

### Request parameters

Required body parameters:

| Name     | Example value         | Comment                                                                                                                                                                                                                      |
| -------- | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| limit    | `50`                  | Maximum number of stakeholders to be retrieved                                                                                                                                                                               |
| offset   | `0`                   | Offset                                                                                                                                                                                                                       |
| ordering | `voteweightascending` | Value based on which the retrieved stakeholders data will be ordered (voteweightascending, voteweightdescending…)based on which the retrieved stakeholders data will be ordered (voteweightascending, voteweightdescending…) |

### Response fields explanation

| Name               | Example value                                                        | Comment                                                          |
| ------------------ | -------------------------------------------------------------------- | ---------------------------------------------------------------- |
| stakeholders       | -                                                                    | List of stakeholders data determined by the limit body parameter |
| proposalVotesCount | `1`                                                                  | Amount of proposals stakeholder raised a vote                    |
| userAddress        | `0:0c3fbf8b400ce637a49e09e7ae2fc5e92920680b1d10f4cd6956c7aebde93903` | Address of the stakeholder                                       |
| voteWeight         | `0`                                                                  | Amount per vote                                                  |
| votes              | `0`                                                                  | Total amount of votes raised                                     |
| totalCount         | `208`                                                                | Total number of stakeholders                                     |

### Example

```java
app.post('/dao/search/stakeholders', (req, res) => {
    axios({
        method: 'post',
        url: `${apiUrl}/dao/search/stakeholders`,
        data: {
            limit: req.body.limit,
            offset: req.body.offset,
            ordering: req.body.ordering
        }
      })
    .then(function (response) {
        res.send(response.data)
    })
    .catch(function(error){
        console.error(error)
        res.send('Error')
    })
})
```

## Get stakeholder data

<mark style="color:blue;">`GET`</mark> `https://api.octusbridge.io/v1/dao/user/{user_address}`

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

```python
{
  "userAddress": "0:66003d2db4bc1566c3d7d3c118004b1e1d54f1f62c30c6b173845db3aa459f07",
  "votes": "100002.580351726000",
  "voteWeight": "3.4000",
  "proposalVotesCount": 1
}
```

{% endtab %}
{% endtabs %}

This function is used to get stakeholder data.

It can be used to show one’s stakeholder data based on his account address. Information that can be displayed is the amount of votes certain stakeholder raised, his vote weight, address and total number of proposal votes.

### Request parameters

Required parameters:

| Name        | Example Value                                                      | Comment                       |
| ----------- | ------------------------------------------------------------------ | ----------------------------- |
| userAddress | 0:66003d2db4bc1566c3d7d3c118004b1e1d54f1f62c30c6b173845db3aa459f07 | Address of particular account |

### Response fields explanation

| Name               | Example value                                                      | Comment                                        |
| ------------------ | ------------------------------------------------------------------ | ---------------------------------------------- |
| proposalVotesCount | 1                                                                  | Amount of proposals stakeholder raised a vote  |
| userAddress        | 0:66003d2db4bc1566c3d7d3c118004b1e1d54f1f62c30c6b173845db3aa459f07 | Address of the user                            |
| voteWeight         | 3.400                                                              | Amount representing the vote weight (per vote) |
| votes              | 100002.580351726000                                                | Total amount of votes raised                   |

### Example

```java
app.get('/dao/user/:user_address', (req, res) => {
    axios({
        method: 'get',
        url: `${apiUrl}/dao/user/${req.params.user_address}`
      })
    .then(function (response) {
        res.send(response.data)
    })
    .catch(function(error){
        console.error(error)
        res.send('Error')
    })
})
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.octusbridge.io/integrate/octus-bridge-api/bridge-api/dao.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
