# Create workspace agreements kind sign

Accept an agreement for the CALLER, and — when the caller holds an admin or owner seat — bind the workspace to it as well. signerName and signerTitle are required and capped at 200 characters, and a binding signer must send authorityAttested=true or the signature is refused, because nothing here holds a roster of who may bind the company. Accepting twice does not write a second acceptance. Any seat may accept for themselves.

Access class: `workspace`.

## Endpoint

`POST /v1/workspace/agreements/{kind}/sign`

## Parameters

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

## Request body

Content type: `application/json`.

```json
{
  "body": {
    "authorityAttested": true,
    "consent": {},
    "signerName": "string",
    "signerTitle": "string"
  },
  "params": {
    ":kind": "string"
  },
  "query": {}
}
```

## Responses

### 201

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "agreedMinimumFunding": {
      "amountMinor": 1,
      "period": "string"
    },
    "bodyHtml": "string",
    "bodySource": "string",
    "effectiveAt": "string",
    "firstViewedAt": "string",
    "html": "string",
    "kind": "string",
    "lastViewedAt": "string",
    "minimumFunding": {
      "source": "string"
    },
    "signed": true,
    "signedAt": "string",
    "signedByAccountId": "",
    "signedByWorkspace": true,
    "signerName": "string",
    "signerTitle": "string",
    "title": "string",
    "version": "string",
    "viewCount": 1,
    "workspaceSignedAt": "string",
    "workspaceSigner": "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"
}
```
