# Place a DCA order for a position

`POST https://api.cryptohopper.com/v1/hopper/{id}/position/dca/{position_id}`

Part of [Positions](https://www.cryptohopper.com/api-documentation/api-reference/positions.md) in the Cryptohopper API reference.

Places a DCA buy order for one open position, priced at the current ask and sized by the hopper's DCA size setting.

OAuth scope: `read`, `manage`, `trade`

The body is optional and takes the same fields as DCA positions (market_order, dca_mode, trailing_buy, trailing_buy_percentage). If the body contains position_ids, those positions are used instead of the path position. Not available for exchange arbitrage, market maker, copy and grid bots.

## Headers

| Name | Type | Required | Description |
|---|---|---|---|
| `access-token` | string | yes | The OAuth access token of the user. |

## Path parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `position_id` | string | yes | Open position ID. |
| `id` | string | yes | Hopper ID. |

## Example request

```bash
curl -X POST "https://api.cryptohopper.com/v1/hopper/HOPPER_ID/position/dca/POSITION_ID" \
  -H "access-token: YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"market_order":0,"dca_mode":"individual"}'
```

## Response

Example response (illustrative values):

```json
{
    "data": "DCA order(s) created."
}
```

Status codes: 200. Errors return JSON with `status`, `error` and `message`, plus a numeric `code` when the error comes from the API itself rather than the gateway.
