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:enterprisescope - 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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
enterprise string RequiredThe slug version of the enterprise name. |
HTTP response status codes for "Get organization custom properties schema for an enterprise"
| Status code | Description |
|---|---|
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
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/schemaResponse
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:enterprisescope - 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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
enterprise string RequiredThe slug version of the enterprise name. |
| Name, Type, Description | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
properties array of objects RequiredThe array of organization custom properties to create or update. | ||||||||||
Properties of |
| Name, Type, Description |
|---|
property_name string RequiredThe 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: |
value_type string RequiredThe type of the value for the property Can be one of: |
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: |
HTTP response status codes for "Create or update organization custom property definitions on an enterprise"
| Status code | Description |
|---|---|
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
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:enterprisescope - 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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
enterprise string RequiredThe slug version of the enterprise name. |
custom_property_name string RequiredThe custom property name |
HTTP response status codes for "Get an organization custom property definition from an enterprise"
| Status code | Description |
|---|---|
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
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_NAMEResponse
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:enterprisescope - 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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
enterprise string RequiredThe slug version of the enterprise name. |
custom_property_name string RequiredThe custom property name |
| Name, Type, Description |
|---|
value_type string RequiredThe type of the value for the property. Can be one of: |
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: |
HTTP response status codes for "Create or update an organization custom property definition on an enterprise"
| Status code | Description |
|---|---|
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
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:enterprisescope - 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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
enterprise string RequiredThe slug version of the enterprise name. |
custom_property_name string RequiredThe custom property name |
HTTP response status codes for "Remove an organization custom property definition from an enterprise"
| Status code | Description |
|---|---|
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
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_NAMEA header with no content is returned.
Status: 204List 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:enterprisescope - 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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
enterprise string RequiredThe slug version of the enterprise name. |
| 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: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Default: |
HTTP response status codes for "List custom property values for organizations in an enterprise"
| Status code | Description |
|---|---|
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
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/valuesResponse
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:enterprisescope - 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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
enterprise string RequiredThe slug version of the enterprise name. |
| Name, Type, Description | |||
|---|---|---|---|
organization_logins array of strings RequiredThe names of organizations that the custom property values will be applied to. | |||
properties array of objects RequiredList of custom property names and associated values to apply to the organizations. | |||
Properties of |
| Name, Type, Description |
|---|
property_name string RequiredThe name of the property |
value null or string or array RequiredThe value assigned to the property |
HTTP response status codes for "Create or update custom property values for organizations in an enterprise"
| Status code | Description |
|---|---|
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
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