---
title: "Add Record Book Officer"
method: POST
path: "/record-books/{id}/officers"
tags: ["Record Book Officers"]
---

# Add Record Book Officer

`POST /record-books/{id}/officers`

## Request

- Base URL: `https://www.harborcompliance.com/api/v1`
- URL: `https://www.harborcompliance.com/api/v1/record-books/{id}/officers`
- Auth: OAuth 2
  - Authorization code: `/api/v1/oauth/authorize`
  - Token URL: `/api/v1/oauth/access_token`
- TypeScript: <https://skmtc.dev/harborcompliance/apis/harbor-compliance-api/docs/record-books/:id/officers/post.ts> (a function with typed inputs; its response is checked against the schema)

Adds a new officer to the specified record book. Officers can only be added to corporation record books (Profit Corp or Nonprofit Corp).

## Path parameters

- `id` string, uuid, required

## Request body

- RecordBookOfficerInput
  - `user` object, required: The user to add as an officer
    - `id` string, uuid, required: UUID of the user to add as an officer
  - `title` object, required: The officer title to assign
    - `id` string, uuid, required: UUID of the officer title (e.g. President, Secretary)
  - `start_date` string, date: Officer start date (YYYY-MM-DD)
  - `end_date` string, date: Officer end date (YYYY-MM-DD)

## Response `200`

Created

- object
  - `data` RecordBookOfficer: An officer of a record book.
    - `id` string, uuid, required: UUID of the officer record
    - `user` User
      - `id` string, uuid: UUID of the user
      - `first_name` string: First name of the user
      - `middle_name` string, nullable: Middle name of the user
      - `last_name` string: Last name of the user
      - `full_name` string: Full name of the user
      - `email` string: Email of the user
    - `title` object: The officer's title (e.g. President, Secretary)
      - `id` string, uuid
      - `name` string
    - `start_date` string, date, nullable: Officer start date (YYYY-MM-DD)
    - `end_date` string, date, nullable: Officer end date (YYYY-MM-DD)

## Other responses

- `400`: Invalid parameter format
- `401`: Unauthenticated
- `403`: Forbidden - User does not have access or record book not found

---

[API](https://skmtc.dev/harborcompliance/apis/harbor-compliance-api.md) - [All operations](https://skmtc.dev/harborcompliance/apis/harbor-compliance-api/llms.txt) - [OpenAPI document](https://skmtc.dev/harborcompliance/apis/harbor-compliance-api/revisions/f9302ec2ef8a?raw)
