# POST /v4/analytics/beneficial-owners/build

_Merkl Analytics API_

> Build the beneficial-owners tree in the background

A cold build of a large tree can outlast the gateway timeout. Call this route with the `holders` parameters until `status` is `completed`, then call `holders` and `allocations`: they answer from the cache for a few minutes. A call starts the build, or joins the one in progress. A failed build answers with its own error (`409`, `403`, `404`) once; the next call starts a new build.

## Request body

**`application/json`**
```json
{
  "type": "object",
  "properties": {
    "chainId": {
      "examples": [
        1
      ],
      "anyOf": [
        {
          "format": "numeric",
          "default": 0,
          "type": "string"
        },
        {
          "examples": [
            1
          ],
          "type": "number"
        }
      ]
    },
    "token": {
      "examples": [
        "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a"
      ],
      "type": "string"
    },
    "at": {
      "examples": [
        1790197338
      ],
      "anyOf": [
        {
          "format": "numeric",
          "default": 0,
          "type": "string"
        },
        {
          "examples": [
            1790197338
          ],
          "type": "number"
        }
      ]
    }
  },
  "required": [
    "chainId",
    "token",
    "at"
  ]
}
```
**`application/x-www-form-urlencoded`**
```json
{
  "type": "object",
  "properties": {
    "chainId": {
      "examples": [
        1
      ],
      "anyOf": [
        {
          "format": "numeric",
          "default": 0,
          "type": "string"
        },
        {
          "examples": [
            1
          ],
          "type": "number"
        }
      ]
    },
    "token": {
      "examples": [
        "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a"
      ],
      "type": "string"
    },
    "at": {
      "examples": [
        1790197338
      ],
      "anyOf": [
        {
          "format": "numeric",
          "default": 0,
          "type": "string"
        },
        {
          "examples": [
            1790197338
          ],
          "type": "number"
        }
      ]
    }
  },
  "required": [
    "chainId",
    "token",
    "at"
  ]
}
```
**`multipart/form-data`**
```json
{
  "type": "object",
  "properties": {
    "chainId": {
      "examples": [
        1
      ],
      "anyOf": [
        {
          "format": "numeric",
          "default": 0,
          "type": "string"
        },
        {
          "examples": [
            1
          ],
          "type": "number"
        }
      ]
    },
    "token": {
      "examples": [
        "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a"
      ],
      "type": "string"
    },
    "at": {
      "examples": [
        1790197338
      ],
      "anyOf": [
        {
          "format": "numeric",
          "default": 0,
          "type": "string"
        },
        {
          "examples": [
            1790197338
          ],
          "type": "number"
        }
      ]
    }
  },
  "required": [
    "chainId",
    "token",
    "at"
  ]
}
```

## Responses

- **200** Response for status 200

## Example request

```bash
curl -X POST "https://analytics.merkl.xyz/v4/analytics/beneficial-owners/build" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
```