# Delete records from a page

Destroys the records named in `ids` and everything that hung off them — timeline, files, documents — and answers how many actually went. Reach for `post_definitions_key_rows_rowId_archive` instead whenever a deal or lead is simply FINISHED with: archiving keeps the whole trail and can be reversed, and this cannot. Ids from another page, another workspace, or beyond this seat's reach match nothing and are not counted.

Access class: `def:read`.

## Endpoint

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

## Parameters

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

## Request body

Content type: `application/json`.

```json
{
  "body": {
    "ids": [
      "string"
    ]
  },
  "params": {
    ":key": "string"
  },
  "query": {}
}
```

## Responses

### 201

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "deleted": 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"
}
```
