# Mint an ingestion key for a board

Mints a key that writes into ONE custom board with no session behind it — what an outside system posts rows through. Body: `name` and `scopes`, at least one of read, rows:write, columns:write, partner, processing. THE ONE ANSWER THAT CARRIES THE SECRET: only its hash is stored, so a lost key is re-minted, never recovered. Manage on the board.

Access class: `board:manage`.

## Endpoint

`POST /v1/boards/{id}/api-keys`

## Parameters

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

## Request body

Content type: `application/json`.

```json
{
  "body": {
    "name": "string",
    "scopes": [
      "string"
    ]
  },
  "params": {
    ":id": "string"
  },
  "query": {}
}
```

## Responses

### 201

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "key": {
      "boardId": "",
      "createdAt": "string",
      "id": "",
      "keyPrefix": "string",
      "name": "string",
      "scopes": [
        "string"
      ]
    },
    "secret": "string"
  }
}
```

### 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"
}
```
