---
title: "Create or update an organization custom property definition on an enterprise"
method: PUT
path: "/enterprises/{enterprise}/org-properties/schema/{custom_property_name}"
tags: ["enterprise-admin"]
---

# Create or update an organization custom property definition on an enterprise

`PUT /enterprises/{enterprise}/org-properties/schema/{custom_property_name}`

Creates a new or updates an existing organization custom property definition that is defined on an enterprise.

Access requirements:
- Enterprise admins
- OAuth tokens and personal access tokens (classic) with the `admin:enterprise` scope
- Actors with the enterprise-level "manage enterprise custom properties for organizations" fine-grained permission

## Path parameters

- `enterprise` string, required
- `custom_property_name` string, required

## Request body

- OrganizationCustomPropertyPayload — Payload for creating or updating an organization custom property definition on an enterprise.
  - `value_type` 'string' | 'single_select' | 'multi_select' | 'true_false' | 'url', required — The type of the value for the property.
  - `required` boolean — Whether the property is required.
  - `default_value` union — Default value of the property.
    - string
    - string[]
  - `description` string, nullable — Short description of the property.
  - `allowed_values` string[], nullable — An ordered list of the allowed values of the property. The property can have up to 200 allowed values.
  - `values_editable_by` 'enterprise_actors' | 'enterprise_and_org_actors', nullable — Who can edit the values of the property.

## Response `200`

Response

- OrganizationCustomProperty — Custom property defined for an organization
  - `property_name` string, required — The name of the property
  - `url` string, uri — The URL that can be used to fetch, update, or delete info about this property via the API.
  - `source_type` 'organization' | 'enterprise' — The source type of the property
  - `value_type` 'string' | 'single_select' | 'multi_select' | 'true_false' | 'url', required — The type of the value for the property
  - `required` boolean — Whether the property is required.
  - `default_value` union — Default value of the property
    - string
    - string[]
  - `description` string, nullable — Short description of the property
  - `allowed_values` string[], nullable — An ordered list of the allowed values of the property. The property can have up to 200 allowed values.
  - `values_editable_by` 'enterprise_actors' | 'enterprise_and_org_actors', nullable — Who can edit the values of the property

## Other responses

- `403` — Forbidden
- `404` — Resource not found
- `422` — Validation failed, or the endpoint has been spammed.

---

[API](https://skmtc.net/github/apis/ghec.md) · [All operations](https://skmtc.net/github/apis/ghec/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/github/ghec/revisions/8ae6d0c8716e/schema)
