# Replace workspace kyc

Save the workspace's KYC file WITHOUT attesting to it, so a half-finished form survives closing the pane. Fields are flat strings under `fields`; a field name this service does not know is a 400 rather than a silent drop. ADMIN OR OWNER — it is the company's paperwork. Attesting is the submit route beside it.

Access class: `workspace:admin`.

## Endpoint

`PUT /v1/workspace/kyc`

## Request body

Content type: `application/json`.

```json
{
  "body": {
    "fields": {
      "authorized_signer_email": "string",
      "authorized_signer_name": "string",
      "authorized_signer_title": "string",
      "dba": "string",
      "entity_type": "string",
      "legal_name": "string",
      "notice_address": "string",
      "notice_email": "string",
      "tax_id_last4": "string"
    }
  },
  "params": {},
  "query": {}
}
```

## Responses

### 200

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "kycStatus": "string",
    "lendersUnlocked": true,
    "msaSigned": true,
    "msaVersion": "string",
    "unlocked": true,
    "workspace": {
      "agreement": {
        "signedByWorkspace": true,
        "version": "string"
      },
      "kycFields": {
        "authorized_signer_email": "string",
        "authorized_signer_name": "string",
        "authorized_signer_title": "string",
        "dba": "string",
        "entity_type": "string",
        "legal_name": "string",
        "notice_address": "string",
        "notice_email": "string",
        "tax_id_last4": "string"
      },
      "kycMissingFields": [
        "string"
      ],
      "kycStatus": "string"
    },
    "you": {
      "msaSigned": true,
      "msaVersion": "string",
      "needsKyc": true
    }
  }
}
```

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