Skip to main content

Enterprise Server 3.21 is currently available as a release candidate.

The REST API is now versioned. For more information, see "About API versioning."

REST API for organization custom properties in an enterprise

Use the REST API to manage custom properties for organizations belonging to an enterprise

Get organization custom properties schema for an enterprise

Gets all organization custom property definitions that are defined on an enterprise.

Access requirements:

  • Enterprise admins
  • OAuth tokens and personal access tokens (classic) with the read:enterprise scope
  • Actors with the enterprise-level "read enterprise custom properties for organizations" fine-grained permission or above

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Enterprise custom properties for organizations" enterprise permissions (read)

Parameters for "Get organization custom properties schema for an enterprise"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprise string Required

The slug version of the enterprise name.

http_status_code

status_codeDescription
200

OK

403

Forbidden

404

Resource not found

code_samples

request_example

get/enterprises/{enterprise}/org-properties/schema
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/org-properties/schema

Response

Status: 200
[ { "property_name": "environment", "url": "https://HOSTNAME/enterprises/github/org-properties/schema/environment", "source_type": "enterprise", "value_type": "single_select", "required": true, "default_value": "production", "description": "Prod or dev environment", "allowed_values": [ "production", "development" ], "values_editable_by": "enterprise_actors" }, { "property_name": "service", "url": "https://HOSTNAME/enterprises/github/org-properties/schema/service", "source_type": "enterprise", "value_type": "string" }, { "property_name": "team", "url": "https://HOSTNAME/enterprises/github/org-properties/schema/team", "source_type": "enterprise", "value_type": "string", "description": "Team owning the organization" } ]

Create or update organization custom property definitions on an enterprise

Creates new or updates existing organization custom properties defined on an enterprise in a batch.

If the property already exists, the existing property will be replaced with the new values. Missing optional values will fall back to default values, previous values will be overwritten.

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

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Enterprise custom properties for organizations" enterprise permissions (admin)

Parameters for "Create or update organization custom property definitions on an enterprise"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprise string Required

The slug version of the enterprise name.

Body parameters
Name, Type, Description
properties array of objects Required

The array of organization custom properties to create or update.

Name, Type, Description
property_name string Required

The name of the property

url string

The URL that can be used to fetch, update, or delete info about this property via the API.

source_type string

The source type of the property

Can be one of: organization, enterprise

value_type string Required

The type of the value for the property

Can be one of: string, single_select, multi_select, true_false, url

required boolean

Whether the property is required.

default_value null or string or array

Default value of the property

description string or null

Short description of the property

allowed_values array of strings or null

An ordered list of the allowed values of the property. The property can have up to 200 allowed values.

values_editable_by string or null

Who can edit the values of the property

Can be one of: enterprise_actors, enterprise_and_org_actors, null

http_status_code

status_codeDescription
200

OK

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

code_samples

request_example

patch/enterprises/{enterprise}/org-properties/schema
curl -L \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/org-properties/schema \ -d '{"properties":[{"property_name":"environment","source_type":"enterprise","value_type":"single_select","required":true,"default_value":"production","description":"Prod or dev environment","allowed_values":["production","development"],"values_editable_by":"enterprise_actors"},{"property_name":"service","source_type":"enterprise","value_type":"string"},{"property_name":"team","source_type":"enterprise","value_type":"string","description":"Team owning the organization"}]}'

Response

Status: 200
[ { "property_name": "environment", "url": "https://HOSTNAME/enterprises/github/org-properties/schema/environment", "source_type": "enterprise", "value_type": "single_select", "required": true, "default_value": "production", "description": "Prod or dev environment", "allowed_values": [ "production", "development" ], "values_editable_by": "enterprise_actors" }, { "property_name": "service", "url": "https://HOSTNAME/enterprises/github/org-properties/schema/service", "source_type": "enterprise", "value_type": "string" }, { "property_name": "team", "url": "https://HOSTNAME/enterprises/github/org-properties/schema/team", "source_type": "enterprise", "value_type": "string", "description": "Team owning the organization" } ]

Get an organization custom property definition from an enterprise

Gets an organization custom property definition that is defined on an enterprise.

Access requirements:

  • Enterprise admins
  • OAuth tokens and personal access tokens (classic) with the read:enterprise scope
  • Actors with the enterprise-level "read enterprise custom properties for organizations" fine-grained permission or above

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Enterprise custom properties for organizations" enterprise permissions (read)

Parameters for "Get an organization custom property definition from an enterprise"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprise string Required

The slug version of the enterprise name.

custom_property_name string Required

The custom property name

http_status_code

status_codeDescription
200

OK

403

Forbidden

404

Resource not found

code_samples

request_example

get/enterprises/{enterprise}/org-properties/schema/{custom_property_name}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/org-properties/schema/CUSTOM_PROPERTY_NAME

Response

Status: 200
{ "property_name": "environment", "url": "https://HOSTNAME/enterprises/github/org-properties/schema/environment", "source_type": "enterprise", "value_type": "single_select", "required": true, "default_value": "production", "description": "Prod or dev environment", "allowed_values": [ "production", "development" ], "values_editable_by": "enterprise_actors" }

Create or update an organization custom property definition on an enterprise

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

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Enterprise custom properties for organizations" enterprise permissions (admin)

Parameters for "Create or update an organization custom property definition on an enterprise"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprise string Required

The slug version of the enterprise name.

custom_property_name string Required

The custom property name

Body parameters
Name, Type, Description
value_type string Required

The type of the value for the property.

Can be one of: string, single_select, multi_select, true_false, url

required boolean

Whether the property is required.

default_value null or string or array

Default value of the property.

description string or null

Short description of the property.

allowed_values array of strings or null

An ordered list of the allowed values of the property. The property can have up to 200 allowed values.

values_editable_by string or null

Who can edit the values of the property.

Can be one of: enterprise_actors, enterprise_and_org_actors, null

http_status_code

status_codeDescription
200

OK

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

code_samples

request_example

put/enterprises/{enterprise}/org-properties/schema/{custom_property_name}
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/org-properties/schema/CUSTOM_PROPERTY_NAME \ -d '{"value_type":"single_select","required":true,"default_value":"production","description":"Prod or dev environment","allowed_values":["production","development"]}'

Response

Status: 200
{ "property_name": "environment", "url": "https://HOSTNAME/enterprises/github/org-properties/schema/environment", "source_type": "enterprise", "value_type": "single_select", "required": true, "default_value": "production", "description": "Prod or dev environment", "allowed_values": [ "production", "development" ], "values_editable_by": "enterprise_actors" }

Remove an organization custom property definition from an enterprise

Removes an 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

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Enterprise custom properties for organizations" enterprise permissions (admin)

Parameters for "Remove an organization custom property definition from an enterprise"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprise string Required

The slug version of the enterprise name.

custom_property_name string Required

The custom property name

http_status_code

status_codeDescription
204

A header with no content is returned.

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

code_samples

request_example

delete/enterprises/{enterprise}/org-properties/schema/{custom_property_name}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/org-properties/schema/CUSTOM_PROPERTY_NAME

A header with no content is returned.

Status: 204

List custom property values for organizations in an enterprise

Lists enterprise organizations with all of their custom property values.

Access requirements:

  • Enterprise admins
  • OAuth tokens and personal access tokens (classic) with the read:enterprise scope
  • Actors with the enterprise-level "read enterprise custom properties for organizations" fine-grained permission or above

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Enterprise custom properties for organizations" enterprise permissions (read)

Parameters for "List custom property values for organizations in an enterprise"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprise string Required

The slug version of the enterprise name.

Query parameters
Name, Type, Description
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Default: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Default: 1

http_status_code

status_codeDescription
200

OK

403

Forbidden

404

Resource not found

code_samples

request_example

get/enterprises/{enterprise}/org-properties/values
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/org-properties/values

Response

Status: 200
[ { "organization_id": 1296269, "organization_login": "Hello-World", "properties": [ { "property_name": "environment", "value": "production" }, { "property_name": "service", "value": "web" }, { "property_name": "team", "value": "octocat" } ] } ]

Create or update custom property values for organizations in an enterprise

Create or update custom property values for organizations in an enterprise.

To remove a custom property value from an organization, set the property value to null.

Access requirements:

  • Enterprise admins
  • OAuth tokens and personal access tokens (classic) with the admin:enterprise scope
  • Actors with the enterprise-level "edit enterprise custom properties for organizations" fine-grained permission or above

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Enterprise custom properties for organizations" enterprise permissions (write)

Parameters for "Create or update custom property values for organizations in an enterprise"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
enterprise string Required

The slug version of the enterprise name.

Body parameters
Name, Type, Description
organization_logins array of strings Required

The names of organizations that the custom property values will be applied to.

properties array of objects Required

List of custom property names and associated values to apply to the organizations.

Name, Type, Description
property_name string Required

The name of the property

value null or string or array Required

The value assigned to the property

http_status_code

status_codeDescription
204

No Content when custom property values are successfully created or updated

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

code_samples

request_example

patch/enterprises/{enterprise}/org-properties/values
curl -L \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/org-properties/values \ -d '{"organization_logins":["acme","github"],"properties":[{"property_name":"environment","value":"production"},{"property_name":"service","value":"web"},{"property_name":"team","value":"octocat"}]}'

No Content when custom property values are successfully created or updated

Status: 204