## GET /openapi/v1/people

Search the people we hold from RootData by name. A person is found when they hold or held a
role at a project — someone RootData no longer lists on any team is not.

### Query parameters

| Parameter | Type | Default | Notes |
|:--|:--|:--|:--|
| `q` | string | — | **Required.** 2 to 64 characters once surrounding whitespace is trimmed. Matches any name that contains it, ignoring case. `%` and `_` match themselves |
| `page`, `size`, `limit`, `offset` | integer | `size` 20 | As on `/assets` |

There is no `sort`: the order is the search's own. `id`, `slug` and `sort` are not parameters
here and are ignored.

### Response

```json
{
  "code": 0,
  "message": "success",
  "message_key": "SUCCESS",
  "result": {
    "items": [
      {
        "id": 1024,
        "name": "Jane Doe",
        "avatar_url": "https://public.rootdata.com/images/jane.jpg",
        "assets": [
          { "id": 4521, "slug": "uniswap", "name": "Uniswap" }
        ]
      }
    ],
    "page": 1,
    "total_page": 1,
    "total": 1
  }
}
```

#### Item fields

| Field | Type | Notes |
|:--|:--|:--|
| `id` | number | The person's id — what `/people/info` takes as `id` |
| `name` | string | |
| `avatar_url` | string | **Empty string** when there is none |
| `assets` | array | Every crypto asset the person holds or held a role at, each once, those with a current role first. `[]` when none of them is an asset we list |
| `assets[].id` | number | The asset id `/assets` takes |
| `assets[].slug`, `assets[].name` | string | |

**Order.** Names equal to `q` first, then names that start with it, then the rest — each
ignoring case, and each group by `id`. So a search for a short name finds the person with
exactly that name on the first page.

### Examples

```bash
# Everyone whose name contains "vitalik"
curl -H "X-Api-Key: <your-api-key>" \
  "https://open-api.coinworldcap.com/openapi/v1/people?q=vitalik"
```

| HTTP status | `code` | When |
|:--|:--|:--|
| 400 | 40000 | `q` missing, shorter than 2 or longer than 64 characters after trimming, or not valid UTF-8; the paging limits of `/assets` |

The other errors are in [Errors](#errors).
