# recordTransparencyAcceptance

Source: /openapi/thomas-federated.openapi.json

## Operation

| Method | URL |
|---|---|
| POST | https://api.thomas.co/v1/personality/transparency-acceptances |

| Field | Value |
|---|---|
| operationId | recordTransparencyAcceptance |
| method | POST |
| server | https://api.thomas.co/v1 |
| path | /personality/transparency-acceptances |
| tags | `Behaviour` |
| summary | Record an immutable transparency/acceptance register entry (FR10/FR36). |
| badges | None |

## Request Parameters

None.

## Request Body

| Content type | Schema refs |
|---|---|
| application/json | #/components/schemas/RecordTransparencyAcceptanceRequestDto |

## Responses

| Status | Description | Schema refs |
|---|---|---|
| 201 | The recorded (or idempotently-existing) transparency acceptance | #/components/schemas/TransparencyAcceptanceResponseDto |
| 400 | Invalid request payload | #/components/schemas/ApiErrorResponseDto |
| 401 | Invalid or missing authentication token (AUTH_TOKEN_INVALID) | #/components/schemas/ApiErrorResponseDto |
| 403 | Caller is not the subject of the assignment (TRANSPARENCY_NOT_SUBJECT) | #/components/schemas/ApiErrorResponseDto |
| 404 | Assignment missing/cross-tenant (TRANSPARENCY_ASSIGNMENT_NOT_FOUND) or no effective terms (TRANSPARENCY_TERMS_NOT_FOUND) | #/components/schemas/ApiErrorResponseDto |
| 409 | A concurrent acceptance race left no committed row (TRANSPARENCY_ACCEPTANCE_CONFLICT) | #/components/schemas/ApiErrorResponseDto |

## Artifact Examples

### Response 400 example

```json
{
  "statusCode": 400,
  "message": "Validation failed",
  "error": "HTTP_BAD_REQUEST"
}
```

### Response 401 example

```json
{
  "statusCode": 401,
  "message": "Invalid or missing authentication token",
  "error": "AUTH_TOKEN_INVALID"
}
```

### Response 403 example

```json
{
  "statusCode": 403,
  "message": "Caller is not the assignment subject",
  "error": "TRANSPARENCY_NOT_SUBJECT"
}
```

### Response 404 example

```json
{
  "statusCode": 404,
  "message": "Assignment or effective terms not found",
  "error": "TRANSPARENCY_ASSIGNMENT_NOT_FOUND"
}
```

### Response 409 example

```json
{
  "statusCode": 409,
  "message": "Concurrent acceptance conflict",
  "error": "TRANSPARENCY_ACCEPTANCE_CONFLICT"
}
```
