---
title: "Update an organization domain."
method: PATCH
path: "/organizations/{organization_id}/domains/{domain_id}"
tags: ["Organization Domains"]
---

# Update an organization domain.

`PATCH /organizations/{organization_id}/domains/{domain_id}`

Updates the properties of an existing organization domain.

## Path parameters

- `organization_id` string, required
- `domain_id` string, required

## Request body

- object
  - `enrollment_mode` string, nullable — The enrollment_mode for the new domain. This can be `automatic_invitation`, `automatic_suggestion`, `manual_invitation` or `enterprise_sso`
  - `verified` boolean, nullable — The status of the domain's verification

## Response `200`

An organization domain

- OrganizationDomain — An organization domain
  - `object` 'organization_domain', required — String representing the object's type. Objects of the same type share the same value. Always `organization_domain`
  - `id` string, required — Unique identifier for the organization domain
  - `organization_id` string, required — Unique identifier for the organization
  - `name` string, required — Name of the organization domain
  - `enrollment_mode` 'manual_invitation' | 'automatic_invitation' | 'automatic_suggestion' | 'enterprise_sso', required — Mode of enrollment for the domain
  - `affiliation_email_address` string, nullable, required — Affiliation email address for the domain, if available.
  - `affiliation_verification` OrganizationDomainVerification, required — The verification object from an organization domain
    - `status` string, required — Status of the verification. It can be `unverified`, `verified`, `failed`, or `expired`.
    - `strategy` string, required — Name of the strategy used to verify the domain
    - `attempts` integer, nullable, required — How many attempts have been made to verify the domain
    - `expire_at` integer, nullable, required — Unix timestamp of when the verification will expire
    - `verified_at` integer, nullable, required — Unix timestamp of when ownership was verified. Only populated on `ownership_verification`; null on `affiliation_verification`.
  - `ownership_verification` OrganizationDomainVerification, required — The verification object from an organization domain
    - `status` string, required — Status of the verification. It can be `unverified`, `verified`, `failed`, or `expired`.
    - `strategy` string, required — Name of the strategy used to verify the domain
    - `attempts` integer, nullable, required — How many attempts have been made to verify the domain
    - `expire_at` integer, nullable, required — Unix timestamp of when the verification will expire
    - `verified_at` integer, nullable, required — Unix timestamp of when ownership was verified. Only populated on `ownership_verification`; null on `affiliation_verification`.
  - `verification` OrganizationDomainVerification, required — The verification object from an organization domain
    - `status` string, required — Status of the verification. It can be `unverified`, `verified`, `failed`, or `expired`.
    - `strategy` string, required — Name of the strategy used to verify the domain
    - `attempts` integer, nullable, required — How many attempts have been made to verify the domain
    - `expire_at` integer, nullable, required — Unix timestamp of when the verification will expire
    - `verified_at` integer, nullable, required — Unix timestamp of when ownership was verified. Only populated on `ownership_verification`; null on `affiliation_verification`.
  - `total_pending_invitations` integer, required — Total number of pending invitations associated with this domain
  - `total_pending_suggestions` integer, required — Total number of pending suggestions associated with this domain
  - `public_organization_data` OrganizationInvitationPublicOrganizationData
    - `id` string, required
    - `name` string, required
    - `slug` string, required
    - `image_url` string
    - `has_image` boolean, required
  - `created_at` integer, required — Unix timestamp when the domain was created
  - `updated_at` integer, required — Unix timestamp of the last update to the domain

## Other responses

- `400` — Request was not successful
- `403` — Request was not successful
- `404` — Resource not found
- `422` — Invalid request parameters

## Changes

- **2026-06-16** `d370b60d90be` — 1 warning, 1 info
  - added the new `enterprise_sso` enum value to the `enrollment_mode` response property for the response status `200`
  - added the non-success response with the status `403`

[Change history](https://skmtc.dev/clerk/apis/clerk-backend-api/changes/organizations/:organization_id/domains/:domain_id/patch.md)

---

[API](https://skmtc.dev/clerk/apis/clerk-backend-api.md) · [All operations](https://skmtc.dev/clerk/apis/clerk-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/clerk/apis/clerk-backend-api/revisions/65fe91cf191f?raw)
