# Update many records at once

One operation over many deals in ONE transaction: `op` is status (with `status`, `stage`, `force`, `reason`), assign (with `role` and `assignee`, an empty assignee clearing the role) or delete. At most 100 ids, refused whole above that. The answer is always 200 when the batch itself was well formed, with a line per row saying what landed and why anything was refused — a row the rules turned down is an outcome, not a failed request. Deals page only.

Access class: `def:read`.

## Endpoint

`POST /v1/definitions/{key}/rows/bulk`

## Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| key | path | string | Yes |

## Request body

Content type: `application/json`.

```json
{
  "body": {
    "assignee": "string",
    "force": true,
    "ids": [
      "string"
    ],
    "op": "string",
    "reason": "string",
    "role": "string",
    "stage": "string",
    "status": "string"
  },
  "params": {
    ":key": "string"
  },
  "query": {}
}
```

## Responses

### 201

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "failed": 1,
    "requested": 1,
    "results": [
      {
        "error": "string",
        "ok": "string",
        "rowId": ""
      }
    ],
    "succeeded": 1
  }
}
```

### default

a refusal: `{"error": "<what a person needs to read>"}`. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.

Content type: `application/json`.

```json
{
  "error": "string"
}
```
