# Company House Officer Report

`POST /company_house_officer_report`

- Live: `POST https://gdapi.globaldata.net.au/api/v2/company_house_officer_report`
- Sandbox: `POST https://sandbox-gdapi.globaldata.net.au/api/v2/company_house_officer_report`

Requests a comprehensive UK Companies House officer report for the specified officer. The response confirms the job was queued and returns an `api_reference`. Poll `GET /company_house_officer_report/{api_reference}` until the report payload is ready.

## Report Contents

The officer report includes:

- Personal details (name, date of birth - month/year only)
- Current appointments (directorships, secretaryships)
- Former appointments
- Disqualification records (if `disqualified=true`)
- Correspondence address

## Officer Types

The `type` parameter filters results by officer type:

- `natural` - Individual persons (default)
- `corporate` - Corporate officers (companies acting as directors/secretaries)

## Disqualified Officers

Set `disqualified=true` to retrieve disqualification information. This searches the UK register of disqualified directors maintained by Companies House.

## Sandbox Environment

The sandbox dataset is deterministic and does not use live data. Use one of the following sample officer IDs to receive predictable reports:

| Name | Officer ID | Type | Notes |
|:-----|:-----------|:-----|:------|
| John David SMITH | ABC123DEF456 | Natural | Director with 3 appointments |
| Jane Elizabeth DOE | XYZ789GHI012 | Natural | Secretary with 1 appointment |
| Robert James JOHNSON | JKL345MNO678 | Natural | Director with 5 appointments |
| Christopher Mark TAYLOR | DEL789AYE012 | Natural | Returns 202 on first poll |
| CORPORATE SECRETARIES LIMITED | VWX567YZA890 | Corporate | Corporate secretary |
| David DISQUALIFIED | DIS123QUA456 | Natural | Disqualified director (use `disqualified=true`) |

## Request body

The officer ID and optional parameters for the report.

| Field | Type | Description |
|-------|------|-------------|
| `officer_id` | string | **Required.** The unique officer ID obtained from an officer search. Example: `ABC123DEF456` |
| `disqualified` | boolean or null | When `true`, searches the disqualified officers register instead of the standard officers register. Example: `false` |
| `type` | string or null | The type of officer to search for. Only relevant when `disqualified` is `true`. Enum: `natural`, `corporate` Example: `natural` |

**Sample request**

```json
{
    "officer_id": "ABC123DEF456",
    "disqualified": false,
    "type": "natural"
}
```

## Responses

### 200 Report request accepted.

Content type: `application/json`

| Field | Type | Description |
|-------|------|-------------|
| `message` | string | Always `Ok` on success. Example: `Ok` |
| `function` | string | The API function that handled the request. Example: `company_house_officer_report` |
| `api_reference` | string (uuid) | Audit reference for this report request. Poll `/company_house_officer_report/{api_reference}` to retrieve results. Example: `fe4291ca-d831-4760-96df-c9cb03b3cd95` |

**Sample response**

```json
{
    "message": "Ok",
    "function": "company_house_officer_report",
    "api_reference": "fe4291ca-d831-4760-96df-c9cb03b3cd95"
}
```

Standard error responses: 400, 401, 402, 403, 429, 5XX (see [Common error responses](/docs/reference/general/common-error-responses.md))

