Skip to main content
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 tokens for "Get organization custom properties schema for an enterprise"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following 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 response status codes for "Get organization custom properties schema for an enterprise"

Status codeDescription
200

OK

403

Forbidden

404

Resource not found

Code samples for "Get organization custom properties schema for an enterprise"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

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: 2022-11-28" \ https://api.github.com/enterprises/ENTERPRISE/org-properties/schema

Response

Status: 200
[ { "property_name": "environment", "url": "https://api.github.com/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://api.github.com/enterprises/github/org-properties/schema/service", "source_type": "enterprise", "value_type": "string" }, { "property_name": "team", "url": "https://api.github.com/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 tokens for "Create or update organization custom property definitions on an enterprise"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following 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

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 response status codes for "Create or update organization custom property definitions on an enterprise"

Status codeDescription
200

OK

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

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

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

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: 2022-11-28" \ https://api.github.com/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://api.github.com/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://api.github.com/enterprises/github/org-properties/schema/service", "source_type": "enterprise", "value_type": "string" }, { "property_name": "team", "url": "https://api.github.com/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 tokens for "Get an organization custom property definition from an enterprise"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following 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 response status codes for "Get an organization custom property definition from an enterprise"

Status codeDescription
200

OK

403

Forbidden

404

Resource not found

Code samples for "Get an organization custom property definition from an enterprise"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

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: 2022-11-28" \ https://api.github.com/enterprises/ENTERPRISE/org-properties/schema/CUSTOM_PROPERTY_NAME

Response

Status: 200
{ "property_name": "environment", "url": "https://api.github.com/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 tokens for "Create or update an organization custom property definition on an enterprise"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following 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

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 response status codes for "Create or update an organization custom property definition on an enterprise"

Status codeDescription
200

OK

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

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

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

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: 2022-11-28" \ https://api.github.com/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://api.github.com/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 tokens for "Remove an organization custom property definition from an enterprise"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following 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 response status codes for "Remove an organization custom property definition from an enterprise"

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 for "Remove an organization custom property definition from an enterprise"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

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: 2022-11-28" \ https://api.github.com/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 tokens for "List custom property values for organizations in an enterprise"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following 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 response status codes for "List custom property values for organizations in an enterprise"

Status codeDescription
200

OK

403

Forbidden

404

Resource not found

Code samples for "List custom property values for organizations in an enterprise"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

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: 2022-11-28" \ https://api.github.com/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 tokens for "Create or update custom property values for organizations in an enterprise"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following 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 response status codes for "Create or update custom property values for organizations in an enterprise"

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 for "Create or update custom property values for organizations in an enterprise"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

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: 2022-11-28" \ https://api.github.com/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