---
title: "Update office"
method: PATCH
path: "/v3/offices/{id}"
tags: ["Offices"]
---

# Update office

`PATCH /v3/offices/{id}`

Update an existing office. Any subset of `name`, `location`, `external_id`, `parent_id` (or `external_parent_id`), and `primary_in_house_contact_user_id` may be supplied; fields that are omitted are left unchanged. Re-parenting via `parent_id` and `external_parent_id` is mutually exclusive — pass one or the other, never both.

## Path parameters

- `id` integer, required

## Request body

- object
  - `name` string, required — New display name for the office. Must remain unique among active offices in the organization.
  - `parent_id` integer, nullable — Id of the office to set as the new parent in the office hierarchy. Pass to re-parent the office; set to `null` to remove the parent. Mutually exclusive with `external_parent_id`.
  - `external_id` string, nullable — Customer- or HRIS-supplied identifier for cross-system reconciliation. Set to `null` to clear. Requires the `org_structure_external_id` product flag.
  - `location` string, nullable — Free-form physical location string for the office (e.g. `New York, NY, USA`). Set to `null` to clear.
  - `primary_in_house_contact_user_id` integer, nullable — Id of the Greenhouse user to set as the office's primary internal contact. Set to `null` to clear. References a `/v3/users` row.
  - `external_parent_id` string, nullable — `external_id` of the office to set as the new parent, for partners that key the hierarchy by external id rather than Greenhouse id. Set to `null` to remove the parent. Mutually exclusive with `parent_id`.

## Response `200`

Successful

- object
  - `id` integer
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `name` string — Display name of the office (e.g. `San Francisco`, `Remote (US)`). Unique among active offices in the same organization.
  - `parent_id` integer, nullable — Id of the parent office when offices are organized hierarchically. `null` for top-level offices. References another `/v3/offices` row in the same organization.
  - `external_id` string, nullable — Stable identifier supplied by the customer or HRIS for cross-system reconciliation. `null` when no external id has been set. Available when the `org_structure_external_id` product flag is enabled.
  - `location` string, nullable — Free-form physical location string for the office (e.g. `New York, NY, USA`). `null` for offices that have no location set, including most remote offices.
  - `primary_in_house_contact_user_id` integer, nullable — Id of the Greenhouse user designated as the office's primary internal contact, typically the local recruiting lead. References a `/v3/users` row. `null` when no contact has been assigned.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `422` — Unprocessable Content

---

[API](https://skmtc.dev/greenhouse/apis/auth-api.md) · [All operations](https://skmtc.dev/greenhouse/apis/auth-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/greenhouse/auth-api/revisions/9517a2e54640/schema)
