diff --git a/lib/redirects/static/client-side-rest-api-redirects.json b/lib/redirects/static/client-side-rest-api-redirects.json index 8ab3164436..d75ec4af2d 100644 --- a/lib/redirects/static/client-side-rest-api-redirects.json +++ b/lib/redirects/static/client-side-rest-api-redirects.json @@ -956,8 +956,8 @@ "/rest/teams#unlink-external-idp-group-team-connection": "/rest/teams/external-groups#unlink-external-idp-group-team-connection", "/rest/teams#list-idp-groups-for-a-team": "/rest/teams/team-sync#list-idp-groups-for-a-team", "/rest/teams#create-or-update-idp-group-connections": "/rest/teams/team-sync#create-or-update-idp-group-connections", - "/rest/actions/oidc#get-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository": "/rest/actions/oidc#get-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository", - "/rest/actions/oidc#set-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository": "/rest/actions/oidc#set-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository", + "/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-a-repository": "/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-a-repository", + "/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-a-repository": "/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-a-repository", "/rest/teams#list-idp-groups-for-a-team-legacy": "/rest/teams/team-sync#list-idp-groups-for-a-team-legacy", "/rest/teams#create-or-update-idp-group-connections-legacy": "/rest/teams/team-sync#create-or-update-idp-group-connections-legacy", "/rest/enterprise-admin#list-global-webhooks": "/rest/enterprise-admin/global-webhooks#list-global-webhooks", diff --git a/lib/rest/static/apps/enabled-for-apps.json b/lib/rest/static/apps/enabled-for-apps.json index 99cfddf6a9..82ee78c553 100644 --- a/lib/rest/static/apps/enabled-for-apps.json +++ b/lib/rest/static/apps/enabled-for-apps.json @@ -4115,13 +4115,13 @@ "requestPath": "/repos/{owner}/{repo}/actions/jobs/{job_id}/rerun" }, { - "slug": "get-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository", + "slug": "get-the-customization-template-for-an-oidc-subject-claim-for-a-repository", "subcategory": "oidc", "verb": "get", "requestPath": "/repos/{owner}/{repo}/actions/oidc/customization/sub" }, { - "slug": "set-the-opt-in-flag-of-an-oidc-subject-claim-customization-for-a-repository", + "slug": "set-the-customization-template-for-an-oidc-subject-claim-for-a-repository", "subcategory": "oidc", "verb": "put", "requestPath": "/repos/{owner}/{repo}/actions/oidc/customization/sub" @@ -22133,7 +22133,7 @@ "requestPath": "/scim/v2/enterprises/{enterprise}/Groups" }, { - "slug": "provision-a-scim-enterprise-group-and-invite-users", + "slug": "provision-a-scim-enterprise-group", "subcategory": "scim", "verb": "post", "requestPath": "/scim/v2/enterprises/{enterprise}/Groups" @@ -22169,7 +22169,7 @@ "requestPath": "/scim/v2/enterprises/{enterprise}/Users" }, { - "slug": "provision-and-invite-a-scim-enterprise-user", + "slug": "provision-a-scim-enterprise-user", "subcategory": "scim", "verb": "post", "requestPath": "/scim/v2/enterprises/{enterprise}/Users" diff --git a/lib/rest/static/decorated/api.github.com.json b/lib/rest/static/decorated/api.github.com.json index d0072d1f3d..693fcb7afd 100644 --- a/lib/rest/static/decorated/api.github.com.json +++ b/lib/rest/static/decorated/api.github.com.json @@ -88571,6 +88571,10 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "subscribed": true, + "ignored": false + }, "parameters": { "owner": "OWNER", "repo": "REPO" @@ -241395,6 +241399,10 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "limit": "collaborators_only", + "expiry": "one_month" + }, "parameters": { "org": "ORG" } @@ -383879,7 +383887,7 @@ "type": "string", "name": "merge_method", "in": "body", - "description": "

Merge method to use. Possible values are merge, squash or rebase. Default is merge.

", + "description": "

The merge method to use.

", "enum": [ "merge", "squash", @@ -383890,11 +383898,15 @@ "enabledForGitHubApps": true, "codeExamples": [ { - "key": "default", + "key": "response-if-merge-was-successful", "request": { "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -441091,7 +441103,14 @@ "request": { "contentType": "application/json", "description": "Example", - "acceptHeader": "application/vnd.github.v3+json" + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } }, "response": { "statusCode": "201", @@ -448469,6 +448488,11 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + }, "parameters": { "owner": "OWNER", "repo": "REPO" diff --git a/lib/rest/static/decorated/ghec.json b/lib/rest/static/decorated/ghec.json index 1292b14f5f..667c5585ba 100644 --- a/lib/rest/static/decorated/ghec.json +++ b/lib/rest/static/decorated/ghec.json @@ -1757,6 +1757,7 @@ "type": "object", "properties": { "include_claim_keys": { + "description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores.", "type": "array", "items": { "type": "string" @@ -1802,7 +1803,7 @@ "type": "array of strings", "name": "include_claim_keys", "in": "body", - "description": "", + "description": "

Array of unique strings. Each claim key can only contain alphanumeric characters and underscores.

", "isRequired": true } ], @@ -1860,7 +1861,7 @@ "serverUrl": "https://api.github.com", "verb": "get", "requestPath": "/repos/{owner}/{repo}/actions/oidc/customization/sub", - "title": "Get the opt-out flag of an OIDC subject claim customization for a repository", + "title": "Get the customization template for an OIDC subject claim for a repository", "category": "actions", "subcategory": "oidc", "parameters": [ @@ -1901,15 +1902,27 @@ "contentType": "application/json", "description": "

Status response

", "example": { - "use_default": false + "use_default": false, + "include_claim_keys": [ + "repo", + "context" + ] }, "schema": { - "title": "The json payload enables/disables the use of sub claim customization", - "description": "OIDC Customer Subject", + "title": "Actions OIDC subject customization for a repository", + "description": "Actions OIDC subject customization for a repository", "type": "object", "properties": { "use_default": { + "description": "Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored.", "type": "boolean" + }, + "include_claim_keys": { + "description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores.", + "type": "array", + "items": { + "type": "string" + } } }, "required": [ @@ -1920,7 +1933,7 @@ } ], "previews": [], - "descriptionHTML": "

Gets the opt-out flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository.\nYou must authenticate using an access token with the repo scope to use this\nendpoint. GitHub Apps must have the organization_administration:read permission to use this endpoint.

", + "descriptionHTML": "

Gets the customization template for an OpenID Connect (OIDC) subject claim.\nYou must authenticate using an access token with the repo scope to use this\nendpoint. GitHub Apps must have the organization_administration:read permission to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "200", @@ -1940,7 +1953,7 @@ "serverUrl": "https://api.github.com", "verb": "put", "requestPath": "/repos/{owner}/{repo}/actions/oidc/customization/sub", - "title": "Set the opt-in flag of an OIDC subject claim customization for a repository", + "title": "Set the customization template for an OIDC subject claim for a repository", "category": "actions", "subcategory": "oidc", "parameters": [ @@ -1968,8 +1981,14 @@ "type": "boolean", "name": "use_default", "in": "body", - "description": "", + "description": "

Whether to use the default template or not. If true, the include_claim_keys field is ignored.

", "isRequired": true + }, + { + "type": "array of strings", + "name": "include_claim_keys", + "in": "body", + "description": "

Array of unique strings. Each claim key can only contain alphanumeric characters and underscores.

" } ], "enabledForGitHubApps": true, @@ -1981,7 +2000,11 @@ "description": "Example", "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { - "use_default": false + "use_default": false, + "include_claim_keys": [ + "repo", + "context" + ] }, "parameters": { "owner": "OWNER", @@ -1995,7 +2018,7 @@ } ], "previews": [], - "descriptionHTML": "

Sets the opt-in or opt-out flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository.\nYou must authenticate using an access token with the repo scope to use this\nendpoint. GitHub Apps must have the actions:write permission to use this endpoint.

", + "descriptionHTML": "

Sets the customization template and opt-in or opt-out flag for an OpenID Connect (OIDC) subject claim for a repository.\nYou must authenticate using an access token with the repo scope to use this\nendpoint. GitHub Apps must have the actions:write permission to use this endpoint.

", "statusCodes": [ { "httpStatusCode": "201", @@ -88998,6 +89021,10 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "subscribed": true, + "ignored": false + }, "parameters": { "owner": "OWNER", "repo": "REPO" @@ -242757,6 +242784,10 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "limit": "collaborators_only", + "expiry": "one_month" + }, "parameters": { "org": "ORG" } @@ -385814,7 +385845,7 @@ "type": "string", "name": "merge_method", "in": "body", - "description": "

Merge method to use. Possible values are merge, squash or rebase. Default is merge.

", + "description": "

The merge method to use.

", "enum": [ "merge", "squash", @@ -385825,11 +385856,15 @@ "enabledForGitHubApps": true, "codeExamples": [ { - "key": "default", + "key": "response-if-merge-was-successful", "request": { "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -443026,7 +443061,14 @@ "request": { "contentType": "application/json", "description": "Example", - "acceptHeader": "application/vnd.github.v3+json" + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } }, "response": { "statusCode": "201", @@ -450404,6 +450446,11 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + }, "parameters": { "owner": "OWNER", "repo": "REPO" @@ -457679,7 +457726,7 @@ }, { "httpStatusCode": "400", - "description": "

Bad Request

" + "description": "

Bad request

" }, { "httpStatusCode": "403", @@ -457691,7 +457738,7 @@ }, { "httpStatusCode": "429", - "description": "

Too Many Requests

" + "description": "

Too many requests

" } ], "subcategory": "scim" @@ -458081,7 +458128,7 @@ } ], "previews": [], - "descriptionHTML": "

Provision organization membership for a user, and send an activation email to the email address.

", + "descriptionHTML": "

Provisions organization membership for a user, and sends an activation email to the email address. If the user was previously a member of the organization, the invitation will reinstate any former privileges that the user had. For more information about reinstating former members, see \"Reinstating a former member of your organization.\"

", "statusCodes": [ { "httpStatusCode": "201", @@ -458093,7 +458140,7 @@ }, { "httpStatusCode": "400", - "description": "

Bad Request

" + "description": "

Bad request

" }, { "httpStatusCode": "403", @@ -458109,7 +458156,7 @@ }, { "httpStatusCode": "500", - "description": "

Internal Error

" + "description": "

Internal server error

" } ], "subcategory": "scim" @@ -459210,7 +459257,7 @@ }, { "httpStatusCode": "400", - "description": "

Bad Request

" + "description": "

Bad request

" }, { "httpStatusCode": "403", diff --git a/lib/rest/static/decorated/ghes-3.2.json b/lib/rest/static/decorated/ghes-3.2.json index f4dcb0ae4e..9cd75241ce 100644 --- a/lib/rest/static/decorated/ghes-3.2.json +++ b/lib/rest/static/decorated/ghes-3.2.json @@ -77648,6 +77648,10 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "subscribed": true, + "ignored": false + }, "parameters": { "owner": "OWNER", "repo": "REPO" @@ -308952,7 +308956,7 @@ "type": "string", "name": "merge_method", "in": "body", - "description": "

Merge method to use. Possible values are merge, squash or rebase. Default is merge.

", + "description": "

The merge method to use.

", "enum": [ "merge", "squash", @@ -308963,11 +308967,15 @@ "enabledForGitHubApps": true, "codeExamples": [ { - "key": "default", + "key": "response-if-merge-was-successful", "request": { "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -370012,7 +370020,14 @@ "request": { "contentType": "application/json", "description": "Example", - "acceptHeader": "application/vnd.github.v3+json" + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } }, "response": { "statusCode": "201", @@ -376822,6 +376837,11 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + }, "parameters": { "owner": "OWNER", "repo": "REPO" diff --git a/lib/rest/static/decorated/ghes-3.3.json b/lib/rest/static/decorated/ghes-3.3.json index f24c059a86..cfbbda055d 100644 --- a/lib/rest/static/decorated/ghes-3.3.json +++ b/lib/rest/static/decorated/ghes-3.3.json @@ -78007,6 +78007,10 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "subscribed": true, + "ignored": false + }, "parameters": { "owner": "OWNER", "repo": "REPO" @@ -310268,7 +310272,7 @@ "type": "string", "name": "merge_method", "in": "body", - "description": "

Merge method to use. Possible values are merge, squash or rebase. Default is merge.

", + "description": "

The merge method to use.

", "enum": [ "merge", "squash", @@ -310279,11 +310283,15 @@ "enabledForGitHubApps": true, "codeExamples": [ { - "key": "default", + "key": "response-if-merge-was-successful", "request": { "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -365813,7 +365821,14 @@ "request": { "contentType": "application/json", "description": "Example", - "acceptHeader": "application/vnd.github.v3+json" + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } }, "response": { "statusCode": "201", @@ -373046,6 +373061,11 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + }, "parameters": { "owner": "OWNER", "repo": "REPO" diff --git a/lib/rest/static/decorated/ghes-3.4.json b/lib/rest/static/decorated/ghes-3.4.json index e509bbf031..76938b81f1 100644 --- a/lib/rest/static/decorated/ghes-3.4.json +++ b/lib/rest/static/decorated/ghes-3.4.json @@ -80092,6 +80092,10 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "subscribed": true, + "ignored": false + }, "parameters": { "owner": "OWNER", "repo": "REPO" @@ -328469,7 +328473,7 @@ "type": "string", "name": "merge_method", "in": "body", - "description": "

Merge method to use. Possible values are merge, squash or rebase. Default is merge.

", + "description": "

The merge method to use.

", "enum": [ "merge", "squash", @@ -328480,11 +328484,15 @@ "enabledForGitHubApps": true, "codeExamples": [ { - "key": "default", + "key": "response-if-merge-was-successful", "request": { "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -384164,7 +384172,14 @@ "request": { "contentType": "application/json", "description": "Example", - "acceptHeader": "application/vnd.github.v3+json" + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } }, "response": { "statusCode": "201", @@ -391397,6 +391412,11 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + }, "parameters": { "owner": "OWNER", "repo": "REPO" diff --git a/lib/rest/static/decorated/ghes-3.5.json b/lib/rest/static/decorated/ghes-3.5.json index afa50afe08..b46620b183 100644 --- a/lib/rest/static/decorated/ghes-3.5.json +++ b/lib/rest/static/decorated/ghes-3.5.json @@ -85748,6 +85748,10 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "subscribed": true, + "ignored": false + }, "parameters": { "owner": "OWNER", "repo": "REPO" @@ -335631,7 +335635,7 @@ "type": "string", "name": "merge_method", "in": "body", - "description": "

Merge method to use. Possible values are merge, squash or rebase. Default is merge.

", + "description": "

The merge method to use.

", "enum": [ "merge", "squash", @@ -335642,11 +335646,15 @@ "enabledForGitHubApps": true, "codeExamples": [ { - "key": "default", + "key": "response-if-merge-was-successful", "request": { "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -391451,7 +391459,14 @@ "request": { "contentType": "application/json", "description": "Example", - "acceptHeader": "application/vnd.github.v3+json" + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } }, "response": { "statusCode": "201", @@ -398696,6 +398711,11 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + }, "parameters": { "owner": "OWNER", "repo": "REPO" diff --git a/lib/rest/static/decorated/ghes-3.6.json b/lib/rest/static/decorated/ghes-3.6.json index 313e4cc2a9..95bc9d95e0 100644 --- a/lib/rest/static/decorated/ghes-3.6.json +++ b/lib/rest/static/decorated/ghes-3.6.json @@ -88004,6 +88004,10 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "subscribed": true, + "ignored": false + }, "parameters": { "owner": "OWNER", "repo": "REPO" @@ -189961,47 +189965,68 @@ "category": "enterprise-admin", "subcategory": "scim", "parameters": [ - { - "name": "enterprise", - "description": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - { - "name": "startIndex", - "description": "

Used for pagination: the index of the first result to return.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "count", - "description": "

Used for pagination: the number of results to return.

", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, { "name": "filter", - "description": "

filter results

", + "description": "

If specified, only results that match the specified filter will be returned. Multiple filters are not supported. Possible filters are externalId, id, and displayName. For example, ?filter=\"externalId eq '9138790-10932-109120392-12321'\".

", "in": "query", "required": false, "schema": { "type": "string" + }, + "examples": { + "displayName": { + "value": "Engineering" + }, + "externalId": { + "value": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + } } }, { "name": "excludedAttributes", - "description": "

attributes to exclude

", + "description": "

Excludes the specified attribute from being returned in the results. Using this parameter can speed up response time.

", "in": "query", "required": false, + "schema": { + "type": "string", + "examples": [ + "members" + ] + } + }, + { + "name": "startIndex", + "description": "

Used for pagination: the starting index of the first result to return when paginating through values.

", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "default": 1, + "format": "int32", + "examples": [ + 1 + ] + } + }, + { + "name": "count", + "description": "

Used for pagination: the number of results to return per page.

", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "default": 30, + "format": "int32", + "examples": [ + 1 + ] + } + }, + { + "name": "enterprise", + "description": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

", + "in": "path", + "required": true, "schema": { "type": "string" } @@ -190022,164 +190047,262 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Response

", + "description": "

Success, either groups were found or not found

", "example": { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], - "totalResults": 2, - "itemsPerPage": 2, - "startIndex": 1, + "totalResults": 1, "Resources": [ { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], - "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", - "externalId": null, - "displayName": "octo-org", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "id": "927fa2c08dcb4a7fae9e", + "displayName": "Engineering", "members": [ { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" }, { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "display": "hubot@example.com" + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" } ], "meta": { "resourceType": "Group", - "created": "2020-06-09T03:10:17.000+10:00", - "lastModified": "2020-06-09T03:10:17.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" - } - }, - { - "schemas": [ - "urn:ietf:params:scim:schemas:core:2.0:Group" - ], - "id": "5e75bbbb-aa1a-11ea-8644-75ff655cdddd", - "externalId": null, - "displayName": "octo-docs-org", - "members": [ - { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" - } - ], - "meta": { - "resourceType": "Group", - "created": "2020-06-09T16:28:01.000+10:00", - "lastModified": "2020-06-09T16:28:01.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/5e75bbbb-aa1a-11ea-8644-75ff655cdddd" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Groups/927fa2c08dcb4a7fae9e" } } - ] + ], + "startIndex": 1, + "itemsPerPage": 20 }, "schema": { "type": "object", + "required": [ + "schemas", + "totalResults", + "Resources", + "startIndex", + "itemsPerPage" + ], "properties": { "schemas": { "type": "array", + "description": "The URIs that are used to indicate the namespaces of the list SCIM schemas.", "items": { - "type": "string" - } + "type": "string", + "enum": [ + "urn:ietf:params:scim:api:messages:2.0:ListResponse" + ] + }, + "examples": [ + "urn:ietf:params:scim:api:messages:2.0:ListResponse" + ] }, "totalResults": { - "type": "number" - }, - "itemsPerPage": { - "type": "number" - }, - "startIndex": { - "type": "number" + "type": "integer", + "description": "Number of results found", + "examples": [ + 1 + ] }, "Resources": { "type": "array", + "description": "Information about each provisioned group.", "items": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": [ - "string", - "null" - ] - }, - "displayName": { - "type": "string" - }, - "members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "displayName", + "members" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] }, - "$ref": { - "type": "string" - }, - "display": { - "type": "string" + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + ] + }, + "displayName": { + "type": "string", + "description": "A human-readable name for a security group.", + "examples": [ + "Engineering" + ] + }, + "members": { + "type": "array", + "description": "The group members.", + "items": { + "type": "object", + "required": [ + "value", + "displayName" + ], + "properties": { + "value": { + "type": "string", + "description": "The local unique identifier for the member", + "examples": [ + "23a35c27-23d3-4c03-b4c5-6443c09e7173" + ] + }, + "displayName": { + "type": "string", + "description": "The display name associated with the member", + "examples": [ + "Monalisa Octocat" + ] + } + } } } } }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta", + "members" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the group object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "members": { + "type": "array", + "description": "The security group members.", + "examples": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ] }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } - }, - "required": [ - "schemas", - "id" ] } + }, + "startIndex": { + "type": "integer", + "description": "A starting index for the returned page", + "examples": [ + 1 + ] + }, + "itemsPerPage": { + "type": "integer", + "description": "Number of objects per page", + "examples": [ + 20 + ] } - }, - "required": [ - "schemas", - "totalResults", - "itemsPerPage", - "startIndex", - "Resources" - ] + } } } } ], "previews": [], - "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.

", + "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in private beta and are subject to change.

\n

Lists provisioned SCIM groups in an enterprise.

\n

You can improve query search time by using the excludedAttributes query parameter with a value of members to exclude members from the response.

", "statusCodes": [ { "httpStatusCode": "200", - "description": "

OK

" + "description": "

Success, either groups were found or not found

" + }, + { + "httpStatusCode": "400", + "description": "

Bad request

" + }, + { + "httpStatusCode": "401", + "description": "

Authorization failure

" + }, + { + "httpStatusCode": "403", + "description": "

Permission denied

" + }, + { + "httpStatusCode": "429", + "description": "

Too many requests

" + }, + { + "httpStatusCode": "500", + "description": "

Internal server error

" } ] }, @@ -190187,7 +190310,7 @@ "serverUrl": "http(s)://HOSTNAME/api/v3", "verb": "post", "requestPath": "/scim/v2/enterprises/{enterprise}/Groups", - "title": "Provision a SCIM enterprise group and invite users", + "title": "Provision a SCIM enterprise group", "category": "enterprise-admin", "subcategory": "scim", "parameters": [ @@ -190206,26 +190329,40 @@ "type": "array of strings", "name": "schemas", "in": "body", - "description": "

The SCIM schema URIs.

", + "description": "

The URIs that are used to indicate the namespaces of the SCIM schemas.

", + "isRequired": true + }, + { + "type": "string", + "name": "externalId", + "in": "body", + "description": "

A unique identifier for the resource as defined by the provisioning client.

", "isRequired": true }, { "type": "string", "name": "displayName", "in": "body", - "description": "

The name of the SCIM group. This must match the GitHub organization that the group maps to.

", + "description": "

A human-readable name for a security group.

", "isRequired": true }, { "type": "array of objects", "name": "members", "in": "body", - "description": "", + "description": "

The group members.

", + "isRequired": true, "childParamsGroups": [ { "type": "string", "name": "value", - "description": "

The SCIM user ID for a user.

", + "description": "

The local unique identifier for the member

", + "isRequired": true + }, + { + "type": "string", + "name": "displayName", + "description": "

The display name associated with the member

", "isRequired": true } ] @@ -190234,7 +190371,7 @@ "enabledForGitHubApps": true, "codeExamples": [ { - "key": "default", + "key": "group", "request": { "contentType": "application/json", "description": "Example", @@ -190243,15 +190380,8 @@ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], - "displayName": "octo-org", - "members": [ - { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" - }, - { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5" - } - ] + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering" }, "parameters": { "enterprise": "ENTERPRISE" @@ -190260,103 +190390,206 @@ "response": { "statusCode": "201", "contentType": "application/json", - "description": "

Response

", + "description": "

Group has been created

", "example": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", - "externalId": null, - "displayName": "octo-org", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering", "members": [ { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" }, { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "display": "hubot@example.com" + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" } ], "meta": { "resourceType": "Group", - "created": "2020-06-09T03:10:17.000+10:0", - "lastModified": "2020-06-09T03:10:17.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Groups/927fa2c08dcb4a7fae9e" } }, "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": [ - "string", - "null" - ] - }, - "displayName": { - "type": "string" - }, - "members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "displayName", + "members" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] }, - "$ref": { - "type": "string" - }, - "display": { - "type": "string" + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + ] + }, + "displayName": { + "type": "string", + "description": "A human-readable name for a security group.", + "examples": [ + "Engineering" + ] + }, + "members": { + "type": "array", + "description": "The group members.", + "items": { + "type": "object", + "required": [ + "value", + "displayName" + ], + "properties": { + "value": { + "type": "string", + "description": "The local unique identifier for the member", + "examples": [ + "23a35c27-23d3-4c03-b4c5-6443c09e7173" + ] + }, + "displayName": { + "type": "string", + "description": "The display name associated with the member", + "examples": [ + "Monalisa Octocat" + ] + } + } } } } }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta", + "members" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the group object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "members": { + "type": "array", + "description": "The security group members.", + "examples": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ] }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } - }, - "required": [ - "schemas", - "id" ] } } } ], "previews": [], - "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.

\n

Provision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to.

", + "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in private beta and are subject to change.

\n

Creates a SCIM group for an enterprise.

\n

If members are included as part of the group provisioning payload, they will be created as external group members. It is up to a provider to store a mapping between the externalId and id of each user.

", "statusCodes": [ { "httpStatusCode": "201", - "description": "

Created

" + "description": "

Group has been created

" + }, + { + "httpStatusCode": "400", + "description": "

Bad request

" + }, + { + "httpStatusCode": "401", + "description": "

Authorization failure

" + }, + { + "httpStatusCode": "403", + "description": "

Permission denied

" + }, + { + "httpStatusCode": "409", + "description": "

Duplicate record detected

" + }, + { + "httpStatusCode": "429", + "description": "

Too many requests

" + }, + { + "httpStatusCode": "500", + "description": "

Internal server error

" } ] }, @@ -190379,20 +190612,14 @@ }, { "name": "scim_group_id", - "description": "

Identifier generated by the GitHub SCIM endpoint.

", + "description": "

A unique identifier of the SCIM group.

", "in": "path", "required": true, "schema": { - "type": "string" - } - }, - { - "name": "excludedAttributes", - "description": "

Attributes to exclude.

", - "in": "query", - "required": false, - "schema": { - "type": "string" + "type": "string", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] } } ], @@ -190412,103 +190639,206 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Response

", + "description": "

Success, a group was found

", "example": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", - "externalId": null, - "displayName": "octo-org", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering", "members": [ { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" }, { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "display": "hubot@example.com" + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" } ], "meta": { "resourceType": "Group", - "created": "2020-06-09T03:10:17.000+10:0", - "lastModified": "2020-06-09T03:10:17.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Groups/927fa2c08dcb4a7fae9e" } }, "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": [ - "string", - "null" - ] - }, - "displayName": { - "type": "string" - }, - "members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "displayName", + "members" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] }, - "$ref": { - "type": "string" - }, - "display": { - "type": "string" + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + ] + }, + "displayName": { + "type": "string", + "description": "A human-readable name for a security group.", + "examples": [ + "Engineering" + ] + }, + "members": { + "type": "array", + "description": "The group members.", + "items": { + "type": "object", + "required": [ + "value", + "displayName" + ], + "properties": { + "value": { + "type": "string", + "description": "The local unique identifier for the member", + "examples": [ + "23a35c27-23d3-4c03-b4c5-6443c09e7173" + ] + }, + "displayName": { + "type": "string", + "description": "The display name associated with the member", + "examples": [ + "Monalisa Octocat" + ] + } + } } } } }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta", + "members" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the group object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "members": { + "type": "array", + "description": "The security group members.", + "examples": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ] }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } - }, - "required": [ - "schemas", - "id" ] } } } ], "previews": [], - "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.

", + "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in private beta and are subject to change.

\n

Gets information about a SCIM group.

", "statusCodes": [ { "httpStatusCode": "200", - "description": "

OK

" + "description": "

Success, a group was found

" + }, + { + "httpStatusCode": "400", + "description": "

Bad request

" + }, + { + "httpStatusCode": "401", + "description": "

Authorization failure

" + }, + { + "httpStatusCode": "403", + "description": "

Permission denied

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + }, + { + "httpStatusCode": "429", + "description": "

Too many requests

" + }, + { + "httpStatusCode": "500", + "description": "

Internal server error

" } ] }, @@ -190531,11 +190861,14 @@ }, { "name": "scim_group_id", - "description": "

Identifier generated by the GitHub SCIM endpoint.

", + "description": "

A unique identifier of the SCIM group.

", "in": "path", "required": true, "schema": { - "type": "string" + "type": "string", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] } } ], @@ -190544,26 +190877,40 @@ "type": "array of strings", "name": "schemas", "in": "body", - "description": "

The SCIM schema URIs.

", + "description": "

The URIs that are used to indicate the namespaces of the SCIM schemas.

", + "isRequired": true + }, + { + "type": "string", + "name": "externalId", + "in": "body", + "description": "

A unique identifier for the resource as defined by the provisioning client.

", "isRequired": true }, { "type": "string", "name": "displayName", "in": "body", - "description": "

The name of the SCIM group. This must match the GitHub organization that the group maps to.

", + "description": "

A human-readable name for a security group.

", "isRequired": true }, { "type": "array of objects", "name": "members", "in": "body", - "description": "", + "description": "

The group members.

", + "isRequired": true, "childParamsGroups": [ { "type": "string", "name": "value", - "description": "

The SCIM user ID for a user.

", + "description": "

The local unique identifier for the member

", + "isRequired": true + }, + { + "type": "string", + "name": "displayName", + "description": "

The display name associated with the member

", "isRequired": true } ] @@ -190572,22 +190919,215 @@ "enabledForGitHubApps": true, "codeExamples": [ { - "key": "default", + "key": "group", "request": { "contentType": "application/json", - "description": "Example", + "description": "Group", "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], - "displayName": "octo-org", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering" + }, + "parameters": { + "enterprise": "ENTERPRISE", + "scim_group_id": "SCIM_GROUP_ID" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Group was updated

", + "example": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ], + "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering", "members": [ { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" }, { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5" + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ], + "meta": { + "resourceType": "Group", + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Groups/927fa2c08dcb4a7fae9e" + } + }, + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "displayName", + "members" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + ] + }, + "displayName": { + "type": "string", + "description": "A human-readable name for a security group.", + "examples": [ + "Engineering" + ] + }, + "members": { + "type": "array", + "description": "The group members.", + "items": { + "type": "object", + "required": [ + "value", + "displayName" + ], + "properties": { + "value": { + "type": "string", + "description": "The local unique identifier for the member", + "examples": [ + "23a35c27-23d3-4c03-b4c5-6443c09e7173" + ] + }, + "displayName": { + "type": "string", + "description": "The display name associated with the member", + "examples": [ + "Monalisa Octocat" + ] + } + } + } + } + } + }, + { + "type": "object", + "required": [ + "id", + "meta", + "members" + ], + "properties": { + "id": { + "type": "string", + "description": "The internally generated id for the group object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] + }, + "members": { + "type": "array", + "description": "The security group members.", + "examples": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ] + }, + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } + } + } + } + ] + } + } + }, + { + "key": "groupWithMembers", + "request": { + "contentType": "application/json", + "description": "Group with member", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ], + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering", + "members": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" } ] }, @@ -190599,103 +191139,210 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Response

", + "description": "

Group was updated

", "example": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", - "externalId": null, - "displayName": "octo-org", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering", "members": [ { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" }, { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "display": "hubot@example.com" + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" } ], "meta": { "resourceType": "Group", - "created": "2020-06-09T03:10:17.000+10:0", - "lastModified": "2020-06-09T03:10:17.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Groups/927fa2c08dcb4a7fae9e" } }, "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": [ - "string", - "null" - ] - }, - "displayName": { - "type": "string" - }, - "members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "displayName", + "members" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] }, - "$ref": { - "type": "string" - }, - "display": { - "type": "string" + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + ] + }, + "displayName": { + "type": "string", + "description": "A human-readable name for a security group.", + "examples": [ + "Engineering" + ] + }, + "members": { + "type": "array", + "description": "The group members.", + "items": { + "type": "object", + "required": [ + "value", + "displayName" + ], + "properties": { + "value": { + "type": "string", + "description": "The local unique identifier for the member", + "examples": [ + "23a35c27-23d3-4c03-b4c5-6443c09e7173" + ] + }, + "displayName": { + "type": "string", + "description": "The display name associated with the member", + "examples": [ + "Monalisa Octocat" + ] + } + } } } } }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta", + "members" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the group object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "members": { + "type": "array", + "description": "The security group members.", + "examples": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ] }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } - }, - "required": [ - "schemas", - "id" ] } } } ], "previews": [], - "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.

\n

Replaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the Update an attribute for a SCIM enterprise group endpoint instead.

", + "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in private beta and are subject to change.

\n

Replaces an existing provisioned group’s information.

\n

You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the Update an attribute for a SCIM enterprise group endpoint instead.

", "statusCodes": [ { "httpStatusCode": "200", - "description": "

OK

" + "description": "

Group was updated

" + }, + { + "httpStatusCode": "400", + "description": "

Bad request

" + }, + { + "httpStatusCode": "401", + "description": "

Authorization failure

" + }, + { + "httpStatusCode": "403", + "description": "

Permission denied

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + }, + { + "httpStatusCode": "409", + "description": "

Duplicate record detected

" + }, + { + "httpStatusCode": "429", + "description": "

Too many requests

" + }, + { + "httpStatusCode": "500", + "description": "

Internal server error

" } ] }, @@ -190718,27 +191365,23 @@ }, { "name": "scim_group_id", - "description": "

Identifier generated by the GitHub SCIM endpoint.

", + "description": "

A unique identifier of the SCIM group.

", "in": "path", "required": true, "schema": { - "type": "string" + "type": "string", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] } } ], "bodyParameters": [ - { - "type": "array of strings", - "name": "schemas", - "in": "body", - "description": "

The SCIM schema URIs.

", - "isRequired": true - }, { "type": "array of objects", "name": "Operations", "in": "body", - "description": "

Array of SCIM operations.

", + "description": "

patch operations list

", "isRequired": true, "childParamsGroups": [ { @@ -190748,11 +191391,8 @@ "isRequired": true, "enum": [ "add", - "Add", - "remove", - "Remove", "replace", - "Replace" + "remove" ] }, { @@ -190761,20 +191401,27 @@ "description": "" }, { - "type": "", + "type": "string", "name": "value", - "description": "

Can be any value - string, number, array or object.

" + "description": "

Corresponding 'value' of that field specified by 'path'

" } ] + }, + { + "type": "array of strings", + "name": "schemas", + "in": "body", + "description": "", + "isRequired": true } ], "enabledForGitHubApps": true, "codeExamples": [ { - "key": "default", + "key": "updateGroup", "request": { "contentType": "application/json", - "description": "Example", + "description": "Update Group", "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "schemas": [ @@ -190782,11 +191429,209 @@ ], "Operations": [ { - "op": "remove", + "op": "replace", + "path": "displayName", + "value": "Employees" + } + ] + }, + "parameters": { + "enterprise": "ENTERPRISE", + "scim_group_id": "SCIM_GROUP_ID" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Success, group was updated

", + "example": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ], + "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering", + "members": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ], + "meta": { + "resourceType": "Group", + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Groups/927fa2c08dcb4a7fae9e" + } + }, + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "displayName", + "members" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + ] + }, + "displayName": { + "type": "string", + "description": "A human-readable name for a security group.", + "examples": [ + "Engineering" + ] + }, + "members": { + "type": "array", + "description": "The group members.", + "items": { + "type": "object", + "required": [ + "value", + "displayName" + ], + "properties": { + "value": { + "type": "string", + "description": "The local unique identifier for the member", + "examples": [ + "23a35c27-23d3-4c03-b4c5-6443c09e7173" + ] + }, + "displayName": { + "type": "string", + "description": "The display name associated with the member", + "examples": [ + "Monalisa Octocat" + ] + } + } + } + } + } + }, + { + "type": "object", + "required": [ + "id", + "meta", + "members" + ], + "properties": { + "id": { + "type": "string", + "description": "The internally generated id for the group object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] + }, + "members": { + "type": "array", + "description": "The security group members.", + "examples": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ] + }, + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } + } + } + } + ] + } + } + }, + { + "key": "addMembers", + "request": { + "contentType": "application/json", + "description": "Add Members", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "schemas": [ + "urn:ietf:params:scim:api:messages:2.0:PatchOp" + ], + "Operations": [ + { + "op": "add", "path": "members", "value": [ { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5" + "value": "879db59-3bdf-4490-ad68-ab880a2694745" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685" } ] } @@ -190800,98 +191645,210 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Response

", + "description": "

Success, group was updated

", "example": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", - "externalId": null, - "displayName": "octo-org", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering", "members": [ { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" } ], "meta": { "resourceType": "Group", - "created": "2020-06-09T03:10:17.000+10:00", - "lastModified": "2020-06-09T03:10:17.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Groups/927fa2c08dcb4a7fae9e" } }, "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": [ - "string", - "null" - ] - }, - "displayName": { - "type": "string" - }, - "members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "displayName", + "members" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] }, - "$ref": { - "type": "string" - }, - "display": { - "type": "string" + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + ] + }, + "displayName": { + "type": "string", + "description": "A human-readable name for a security group.", + "examples": [ + "Engineering" + ] + }, + "members": { + "type": "array", + "description": "The group members.", + "items": { + "type": "object", + "required": [ + "value", + "displayName" + ], + "properties": { + "value": { + "type": "string", + "description": "The local unique identifier for the member", + "examples": [ + "23a35c27-23d3-4c03-b4c5-6443c09e7173" + ] + }, + "displayName": { + "type": "string", + "description": "The display name associated with the member", + "examples": [ + "Monalisa Octocat" + ] + } + } } } } }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta", + "members" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the group object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "members": { + "type": "array", + "description": "The security group members.", + "examples": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ] }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } - }, - "required": [ - "schemas", - "id" ] } } } ], "previews": [], - "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.

\n

Allows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the SCIM specification.

", + "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in private beta and are subject to change.

\n

Update a provisioned group’s individual attributes.

\n

To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the SCIM specification. Update can also be used to add group memberships.

\n

Group memberships can be sent one at a time or in batches for faster performance. Note: The memberships are referenced through a local user id, and the user will need to be created before they are referenced here.

", "statusCodes": [ { "httpStatusCode": "200", - "description": "

OK

" + "description": "

Success, group was updated

" + }, + { + "httpStatusCode": "400", + "description": "

Bad request

" + }, + { + "httpStatusCode": "401", + "description": "

Authorization failure

" + }, + { + "httpStatusCode": "403", + "description": "

Permission denied

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + }, + { + "httpStatusCode": "409", + "description": "

Duplicate record detected

" + }, + { + "httpStatusCode": "429", + "description": "

Too many requests

" + }, + { + "httpStatusCode": "500", + "description": "

Internal server error

" } ] }, @@ -190914,11 +191871,14 @@ }, { "name": "scim_group_id", - "description": "

Identifier generated by the GitHub SCIM endpoint.

", + "description": "

A unique identifier of the SCIM group.

", "in": "path", "required": true, "schema": { - "type": "string" + "type": "string", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] } } ], @@ -190937,16 +191897,40 @@ }, "response": { "statusCode": "204", - "description": "

Response

" + "description": "

Group was deleted, no content

" } } ], "previews": [], - "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.

", + "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in private beta and are subject to change.

\n

Deletes a SCIM group from an enterprise.

", "statusCodes": [ { "httpStatusCode": "204", - "description": "

No Content

" + "description": "

Group was deleted, no content

" + }, + { + "httpStatusCode": "400", + "description": "

Bad request

" + }, + { + "httpStatusCode": "401", + "description": "

Authorization failure

" + }, + { + "httpStatusCode": "403", + "description": "

Permission denied

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + }, + { + "httpStatusCode": "429", + "description": "

Too many requests

" + }, + { + "httpStatusCode": "500", + "description": "

Internal server error

" } ] }, @@ -190959,37 +191943,67 @@ "subcategory": "scim", "parameters": [ { - "name": "enterprise", - "description": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

", - "in": "path", - "required": true, + "name": "filter", + "description": "

If specified, only results that match the specified filter will be returned. Multiple filters are not supported. Possible filters are userName, externalId, id, and displayName. For example, ?filter=\"externalId eq '9138790-10932-109120392-12321'\".

", + "in": "query", + "required": false, "schema": { "type": "string" + }, + "examples": { + "userName": { + "value": "userName eq 'E012345'" + }, + "externalId": { + "value": "externalId eq 'E012345'" + } + } + }, + { + "name": "excludedAttributes", + "description": "

Excludes the specified attribute from being returned in the results. Using this parameter can speed up response time.

", + "in": "query", + "required": false, + "schema": { + "type": "string", + "examples": [ + "members" + ] } }, { "name": "startIndex", - "description": "

Used for pagination: the index of the first result to return.

", + "description": "

Used for pagination: the starting index of the first result to return when paginating through values.

", "in": "query", "required": false, "schema": { - "type": "integer" + "type": "integer", + "default": 1, + "format": "int32", + "examples": [ + 1 + ] } }, { "name": "count", - "description": "

Used for pagination: the number of results to return.

", + "description": "

Used for pagination: the number of results to return per page.

", "in": "query", "required": false, "schema": { - "type": "integer" + "type": "integer", + "default": 30, + "format": "int32", + "examples": [ + 1 + ] } }, { - "name": "filter", - "description": "

filter results

", - "in": "query", - "required": false, + "name": "enterprise", + "description": "

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

", + "in": "path", + "required": true, "schema": { "type": "string" } @@ -191010,197 +192024,343 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Response

", + "description": "

Success, either users were found or not found

", "example": { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], - "totalResults": 2, - "itemsPerPage": 2, - "startIndex": 1, + "totalResults": 1, "Resources": [ { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], - "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "externalId": "00dowz5dr9oSfDFRA0h7", - "userName": "octocat@github.com", - "name": { - "givenName": "Mona", - "familyName": "Octocat" - }, - "emails": [ - { - "value": "octocat@github.com", - "primary": true, - "type": "work" - } - ], - "groups": [ - { - "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" - } - ], + "externalId": "E012345", + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", "active": true, - "meta": { - "resourceType": "User", - "created": "2020-05-30T04:02:34.000+10:00", - "lastModified": "2020-05-30T04:05:04.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" - } - }, - { - "schemas": [ - "urn:ietf:params:scim:schemas:core:2.0:User" - ], - "id": "e18b8c34-a6b2-11ea-9d70-54abbd1c8fd5", - "externalId": "sdfoiausdofiua", - "userName": "hubot@example.com", + "userName": "E012345", "name": { - "givenName": "hu", - "familyName": "bot" + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", + "givenName": "Mona", + "middleName": "Lisa" }, + "displayName": "Mona Lisa", "emails": [ { - "value": "hubot@example.com", + "value": "mlisa@example.com", "type": "work", "primary": true } ], - "groups": [], - "active": true, - "meta": { - "resourceType": "User", - "created": "2020-06-05T08:29:40.000+10:00", - "lastModified": "2020-06-05T08:30:19.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/e18b8c34-a6b2-11ea-9d70-54abbd1c8fd5" - } + "roles": [ + { + "value": "User", + "primary": false + } + ] } - ] + ], + "startIndex": 1, + "itemsPerPage": 20 }, "schema": { "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "totalResults": { - "type": "number" - }, - "itemsPerPage": { - "type": "number" - }, - "startIndex": { - "type": "number" - }, - "Resources": { - "type": "array", - "items": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": "string" - }, - "userName": { - "type": "string" - }, - "name": { - "type": "object", - "properties": { - "givenName": { - "type": "string" - }, - "familyName": { - "type": "string" - } - } - }, - "emails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "primary": { - "type": "boolean" - }, - "type": { - "type": "string" - } - } - } - }, - "groups": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - } - } - }, - "active": { - "type": "boolean" - }, - "meta": { - "type": "object", - "properties": { - "resourceType": { - "type": "string" - }, - "created": { - "type": "string" - }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" - } - } - } - }, - "required": [ - "schemas", - "id" - ] - } - } - }, "required": [ "schemas", "totalResults", - "itemsPerPage", + "Resources", "startIndex", - "Resources" - ] + "itemsPerPage" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the list SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:api:messages:2.0:ListResponse" + ] + }, + "examples": [ + "urn:ietf:params:scim:api:messages:2.0:ListResponse" + ] + }, + "totalResults": { + "type": "integer", + "description": "Number of results found", + "examples": [ + 1 + ] + }, + "Resources": { + "type": "array", + "description": "Information about each provisioned account.", + "items": { + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] + }, + "userName": { + "type": "string", + "description": "The username for the user.", + "examples": [ + "E012345" + ] + }, + "name": { + "type": "object", + "required": [ + "familyName", + "givenName" + ], + "properties": { + "formatted": { + "type": "string", + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] + }, + "familyName": { + "type": "string", + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] + } + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" + ] + }, + "emails": { + "type": "array", + "description": "The emails for the user.", + "items": { + "type": "object", + "required": [ + "value", + "type", + "primary" + ], + "properties": { + "value": { + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] + } + } + } + } + } + }, + { + "type": "object", + "required": [ + "id", + "meta" + ], + "properties": { + "id": { + "type": "string", + "description": "The internally generated id for the user object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] + }, + "groups": { + "type": "array", + "description": "Provisioned SCIM groups that the user is a member of." + }, + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } + } + } + } + ] + } + }, + "startIndex": { + "type": "integer", + "description": "A starting index for the returned page", + "examples": [ + 1 + ] + }, + "itemsPerPage": { + "type": "integer", + "description": "Number of objects per page", + "examples": [ + 20 + ] + } + } } } } ], "previews": [], - "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.

\n

Retrieves a paginated list of all provisioned enterprise members, including pending invitations.

\n

When a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub Enterprise Server. This can happen in certain cases where an external identity associated with an organization will not match an organization member:

\n\n

The returned list of external identities can include an entry for a null user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub Enterprise Server account after completing SSO:

\n
    \n
  1. \n

    The user is granted access by the IdP and is not a member of the GitHub Enterprise Server enterprise.

    \n
  2. \n
  3. \n

    The user attempts to access the GitHub Enterprise Server enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub Enterprise Server account.

    \n
  4. \n
  5. \n

    After successfully authenticating with the SAML SSO IdP, the null external identity entry is created and the user is prompted to sign in to their GitHub Enterprise Server account:

    \n\n
  6. \n
", + "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in private beta and are subject to change.

\n

Lists provisioned SCIM enterprise members.

\n

When a user with a SCIM-provisioned external identity is removed from an enterprise through a patch with active flag set to false, the account's metadata is preserved to allow the user to re-join the enterprise in the future. However, the user's account will be suspended and the user will not be able to sign-in. In order to permanently suspend the users account with no ability to re-join the enterprise in the future, use the delete request. Users that were not permanently deleted will be visible in the returned results.

\n

You can improve query search time by using the excludedAttributes query parameter with a value of groups to exclude groups from the response.

", "statusCodes": [ { "httpStatusCode": "200", - "description": "

OK

" + "description": "

Success, either users were found or not found

" + }, + { + "httpStatusCode": "400", + "description": "

Bad request

" + }, + { + "httpStatusCode": "401", + "description": "

Authorization failure

" + }, + { + "httpStatusCode": "403", + "description": "

Permission denied

" + }, + { + "httpStatusCode": "429", + "description": "

Too many requests

" + }, + { + "httpStatusCode": "500", + "description": "

Internal server error

" } ] }, @@ -191208,7 +192368,7 @@ "serverUrl": "http(s)://HOSTNAME/api/v3", "verb": "post", "requestPath": "/scim/v2/enterprises/{enterprise}/Users", - "title": "Provision and invite a SCIM enterprise user", + "title": "Provision a SCIM enterprise user", "category": "enterprise-admin", "subcategory": "scim", "parameters": [ @@ -191227,7 +192387,21 @@ "type": "array of strings", "name": "schemas", "in": "body", - "description": "

The SCIM schema URIs.

", + "description": "

The URIs that are used to indicate the namespaces of the SCIM schemas.

", + "isRequired": true + }, + { + "type": "string", + "name": "externalId", + "in": "body", + "description": "

A unique identifier for the resource as defined by the provisioning client.

", + "isRequired": true + }, + { + "type": "boolean", + "name": "active", + "in": "body", + "description": "

Whether the user active in the IdP.

", "isRequired": true }, { @@ -191242,27 +192416,43 @@ "name": "name", "in": "body", "description": "", - "isRequired": true, "childParamsGroups": [ { "type": "string", - "name": "givenName", - "description": "

The first name of the user.

", - "isRequired": true + "name": "formatted", + "description": "

The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.

" }, { "type": "string", "name": "familyName", - "description": "

The last name of the user.

", + "description": "

The family name of the user.

", "isRequired": true + }, + { + "type": "string", + "name": "givenName", + "description": "

The given name of the user.

", + "isRequired": true + }, + { + "type": "string", + "name": "middleName", + "description": "

The middle name(s) of the user.

" } ] }, + { + "type": "string", + "name": "displayName", + "in": "body", + "description": "

A human-readable name for the user.

", + "isRequired": true + }, { "type": "array of objects", "name": "emails", "in": "body", - "description": "

List of user emails.

", + "description": "

The emails for the user.

", "isRequired": true, "childParamsGroups": [ { @@ -191287,14 +192477,24 @@ }, { "type": "array of objects", - "name": "groups", + "name": "roles", "in": "body", - "description": "

List of SCIM group IDs the user is a member of.

", + "description": "

The roles assigned to the user.

", "childParamsGroups": [ { "type": "string", "name": "value", - "description": "" + "description": "

The role value representing a user role in GitHub.

", + "isRequired": true, + "enum": [ + "User", + "Enterprise Owner" + ] + }, + { + "type": "boolean", + "name": "primary", + "description": "

Is the role a primary role for the user.

" } ] } @@ -191302,30 +192502,36 @@ "enabledForGitHubApps": true, "codeExamples": [ { - "key": "default", + "key": "user", "request": { "contentType": "application/json", - "description": "Example", + "description": "User", "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], - "userName": "mona.octocat@okta.example.com", + "externalId": "E012345", + "active": true, + "userName": "E012345", "name": { + "formatted": "Ms. Mona Lisa Octocat", "familyName": "Octocat", - "givenName": "Mona" + "givenName": "Mona", + "middleName": "Lisa" }, + "displayName": "Mona Lisa", "emails": [ { - "value": "mona.octocat@okta.example.com", + "value": "mlisa@example.com", "type": "work", "primary": true } ], - "groups": [ + "roles": [ { - "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" + "value": "User", + "primary": false } ] }, @@ -191336,130 +192542,590 @@ "response": { "statusCode": "201", "contentType": "application/json", - "description": "

Response

", + "description": "

User has been created

", "example": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], - "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "externalId": "00dowz5dr9oSfDFRA0h7", - "userName": "mona.octocat@okta.example.com", + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", + "externalId": "E012345", + "active": true, + "userName": "E012345", "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", "givenName": "Mona", - "familyName": "Octocat" + "middleName": "Lisa" }, + "displayName": "Mona Lisa", "emails": [ { - "value": "mona.octocat@okta.example.com", + "value": "mlisa@example.com", "type": "work", "primary": true } ], - "groups": [ + "roles": [ { - "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" + "value": "User", + "primary": false } ], - "active": true, "meta": { "resourceType": "User", - "created": "2017-03-09T16:11:13-05:00", - "lastModified": "2017-03-09T16:11:13-05:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Users/7fce0092-d52e-4f76-b727-3955bd72c939" } }, "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": "string" - }, - "userName": { - "type": "string" - }, - "name": { + "allOf": [ + { "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], "properties": { - "givenName": { - "type": "string" + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] }, - "familyName": { - "type": "string" - } - } - }, - "emails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "type": { - "type": "string" - }, - "primary": { - "type": "boolean" + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] + }, + "userName": { + "type": "string", + "description": "The username for the user.", + "examples": [ + "E012345" + ] + }, + "name": { + "type": "object", + "required": [ + "familyName", + "givenName" + ], + "properties": { + "formatted": { + "type": "string", + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] + }, + "familyName": { + "type": "string", + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] + } + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" + ] + }, + "emails": { + "type": "array", + "description": "The emails for the user.", + "items": { + "type": "object", + "required": [ + "value", + "type", + "primary" + ], + "properties": { + "value": { + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] + } + } } } } }, - "groups": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - } - } - }, - "active": { - "type": "boolean" - }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the user object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "groups": { + "type": "array", + "description": "Provisioned SCIM groups that the user is a member of." }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } + ] + } + } + }, + { + "key": "enterpriseOwner", + "request": { + "contentType": "application/json", + "description": "Enterprise Owner", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ], + "externalId": "E012345", + "active": true, + "userName": "E012345", + "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", + "givenName": "Mona", + "middleName": "Lisa" }, - "required": [ - "schemas", - "id" + "displayName": "Mona Lisa", + "emails": [ + { + "value": "mlisa@example.com", + "type": "work", + "primary": true + } + ], + "roles": [ + { + "value": "Enterprise Owner", + "primary": false + } + ] + }, + "parameters": { + "enterprise": "ENTERPRISE" + } + }, + "response": { + "statusCode": "201", + "contentType": "application/json", + "description": "

User has been created

", + "example": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ], + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", + "externalId": "E012345", + "active": true, + "userName": "E012345", + "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", + "givenName": "Mona", + "middleName": "Lisa" + }, + "displayName": "Mona Lisa", + "emails": [ + { + "value": "mlisa@example.com", + "type": "work", + "primary": true + } + ], + "roles": [ + { + "value": "User", + "primary": false + } + ], + "meta": { + "resourceType": "User", + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Users/7fce0092-d52e-4f76-b727-3955bd72c939" + } + }, + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] + }, + "userName": { + "type": "string", + "description": "The username for the user.", + "examples": [ + "E012345" + ] + }, + "name": { + "type": "object", + "required": [ + "familyName", + "givenName" + ], + "properties": { + "formatted": { + "type": "string", + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] + }, + "familyName": { + "type": "string", + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] + } + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" + ] + }, + "emails": { + "type": "array", + "description": "The emails for the user.", + "items": { + "type": "object", + "required": [ + "value", + "type", + "primary" + ], + "properties": { + "value": { + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] + } + } + } + } + } + }, + { + "type": "object", + "required": [ + "id", + "meta" + ], + "properties": { + "id": { + "type": "string", + "description": "The internally generated id for the user object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] + }, + "groups": { + "type": "array", + "description": "Provisioned SCIM groups that the user is a member of." + }, + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } + } + } + } ] } } } ], "previews": [], - "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.

\n

Provision enterprise membership for a user, and send organization invitation emails to the email address.

\n

You can optionally include the groups a user will be invited to join. If you do not provide a list of groups, the user is provisioned for the enterprise, but no organization invitation emails will be sent.

", + "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in private beta and are subject to change.

\n

Creates an external identity for a new SCIM enterprise user.

\n

SCIM does not authenticate users, it only provisions them. The authentication of users is done by SAML. However, when SCIM is enabled, all users need to be provisioned through SCIM before a user can sign in through SAML. The matching of a user to a SCIM provisioned user is done when the SAML assertion is consumed. The user will be matched on SAML response NameID to SCIM userName.

\n

When converting existing enterprise to use SCIM, the user handle (userName) from the SCIM payload will be used to match the provisioned user to an already existing user in the enterprise. Since the new identity record is created for newly provisioned users the matching for those records is done using a user's handle. Currently the matching will be performed to all of the users no matter if they were SAML JIT provisioned or created as local users.

", "statusCodes": [ { "httpStatusCode": "201", - "description": "

Created

" + "description": "

User has been created

" + }, + { + "httpStatusCode": "400", + "description": "

Bad request

" + }, + { + "httpStatusCode": "401", + "description": "

Authorization failure

" + }, + { + "httpStatusCode": "403", + "description": "

Permission denied

" + }, + { + "httpStatusCode": "409", + "description": "

Duplicate record detected

" + }, + { + "httpStatusCode": "429", + "description": "

Too many requests

" + }, + { + "httpStatusCode": "500", + "description": "

Internal server error

" } ] }, @@ -191506,130 +193172,293 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Response

", + "description": "

Success, a user was found

", "example": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], - "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "externalId": "00dowz5dr9oSfDFRA0h7", - "userName": "mona.octocat@okta.example.com", + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", + "externalId": "E012345", + "active": true, + "userName": "E012345", "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", "givenName": "Mona", - "familyName": "Octocat" + "middleName": "Lisa" }, + "displayName": "Mona Lisa", "emails": [ { - "value": "mona.octocat@okta.example.com", + "value": "mlisa@example.com", "type": "work", "primary": true } ], - "groups": [ + "roles": [ { - "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" + "value": "User", + "primary": false } ], - "active": true, "meta": { "resourceType": "User", - "created": "2017-03-09T16:11:13-05:00", - "lastModified": "2017-03-09T16:11:13-05:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Users/7fce0092-d52e-4f76-b727-3955bd72c939" } }, "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": "string" - }, - "userName": { - "type": "string" - }, - "name": { + "allOf": [ + { "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], "properties": { - "givenName": { - "type": "string" + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] }, - "familyName": { - "type": "string" - } - } - }, - "emails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "type": { - "type": "string" - }, - "primary": { - "type": "boolean" + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] + }, + "userName": { + "type": "string", + "description": "The username for the user.", + "examples": [ + "E012345" + ] + }, + "name": { + "type": "object", + "required": [ + "familyName", + "givenName" + ], + "properties": { + "formatted": { + "type": "string", + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] + }, + "familyName": { + "type": "string", + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] + } + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" + ] + }, + "emails": { + "type": "array", + "description": "The emails for the user.", + "items": { + "type": "object", + "required": [ + "value", + "type", + "primary" + ], + "properties": { + "value": { + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] + } + } } } } }, - "groups": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - } - } - }, - "active": { - "type": "boolean" - }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the user object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "groups": { + "type": "array", + "description": "Provisioned SCIM groups that the user is a member of." }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } - }, - "required": [ - "schemas", - "id" ] } } } ], "previews": [], - "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.

", + "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in private beta and are subject to change.

\n

Gets information about a SCIM user.

", "statusCodes": [ { "httpStatusCode": "200", - "description": "

OK

" + "description": "

Success, a user was found

" + }, + { + "httpStatusCode": "400", + "description": "

Bad request

" + }, + { + "httpStatusCode": "401", + "description": "

Authorization failure

" + }, + { + "httpStatusCode": "403", + "description": "

Permission denied

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + }, + { + "httpStatusCode": "429", + "description": "

Too many requests

" + }, + { + "httpStatusCode": "500", + "description": "

Internal server error

" } ] }, @@ -191665,7 +193494,21 @@ "type": "array of strings", "name": "schemas", "in": "body", - "description": "

The SCIM schema URIs.

", + "description": "

The URIs that are used to indicate the namespaces of the SCIM schemas.

", + "isRequired": true + }, + { + "type": "string", + "name": "externalId", + "in": "body", + "description": "

A unique identifier for the resource as defined by the provisioning client.

", + "isRequired": true + }, + { + "type": "boolean", + "name": "active", + "in": "body", + "description": "

Whether the user active in the IdP.

", "isRequired": true }, { @@ -191680,27 +193523,43 @@ "name": "name", "in": "body", "description": "", - "isRequired": true, "childParamsGroups": [ { "type": "string", - "name": "givenName", - "description": "

The first name of the user.

", - "isRequired": true + "name": "formatted", + "description": "

The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.

" }, { "type": "string", "name": "familyName", - "description": "

The last name of the user.

", + "description": "

The family name of the user.

", "isRequired": true + }, + { + "type": "string", + "name": "givenName", + "description": "

The given name of the user.

", + "isRequired": true + }, + { + "type": "string", + "name": "middleName", + "description": "

The middle name(s) of the user.

" } ] }, + { + "type": "string", + "name": "displayName", + "in": "body", + "description": "

A human-readable name for the user.

", + "isRequired": true + }, { "type": "array of objects", "name": "emails", "in": "body", - "description": "

List of user emails.

", + "description": "

The emails for the user.

", "isRequired": true, "childParamsGroups": [ { @@ -191725,14 +193584,24 @@ }, { "type": "array of objects", - "name": "groups", + "name": "roles", "in": "body", - "description": "

List of SCIM group IDs the user is a member of.

", + "description": "

The roles assigned to the user.

", "childParamsGroups": [ { "type": "string", "name": "value", - "description": "" + "description": "

The role value representing a user role in GitHub.

", + "isRequired": true, + "enum": [ + "User", + "Enterprise Owner" + ] + }, + { + "type": "boolean", + "name": "primary", + "description": "

Is the role a primary role for the user.

" } ] } @@ -191740,30 +193609,36 @@ "enabledForGitHubApps": true, "codeExamples": [ { - "key": "default", + "key": "user", "request": { "contentType": "application/json", - "description": "Example", + "description": "User", "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], - "userName": "mona.octocat@okta.example.com", + "externalId": "E012345", + "active": true, + "userName": "E012345", "name": { + "formatted": "Ms. Mona Lisa Octocat", "familyName": "Octocat", - "givenName": "Mona" + "givenName": "Mona", + "middleName": "Lisa" }, + "displayName": "Mona Lisa", "emails": [ { - "value": "mona.octocat@okta.example.com", + "value": "mlisa@example.com", "type": "work", "primary": true } ], - "groups": [ + "roles": [ { - "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" + "value": "User", + "primary": false } ] }, @@ -191775,130 +193650,297 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Response

", + "description": "

User was updated

", "example": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], - "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "externalId": "00dowz5dr9oSfDFRA0h7", - "userName": "mona.octocat@okta.example.com", + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", + "externalId": "E012345", + "active": true, + "userName": "E012345", "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", "givenName": "Mona", - "familyName": "Octocat" + "middleName": "Lisa" }, + "displayName": "Mona Lisa", "emails": [ { - "value": "mona.octocat@okta.example.com", + "value": "mlisa@example.com", "type": "work", "primary": true } ], - "groups": [ + "roles": [ { - "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" + "value": "User", + "primary": false } ], - "active": true, "meta": { "resourceType": "User", - "created": "2017-03-09T16:11:13-05:00", - "lastModified": "2017-03-09T16:11:13-05:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Users/7fce0092-d52e-4f76-b727-3955bd72c939" } }, "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": "string" - }, - "userName": { - "type": "string" - }, - "name": { + "allOf": [ + { "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], "properties": { - "givenName": { - "type": "string" + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] }, - "familyName": { - "type": "string" - } - } - }, - "emails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "type": { - "type": "string" - }, - "primary": { - "type": "boolean" + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] + }, + "userName": { + "type": "string", + "description": "The username for the user.", + "examples": [ + "E012345" + ] + }, + "name": { + "type": "object", + "required": [ + "familyName", + "givenName" + ], + "properties": { + "formatted": { + "type": "string", + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] + }, + "familyName": { + "type": "string", + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] + } + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" + ] + }, + "emails": { + "type": "array", + "description": "The emails for the user.", + "items": { + "type": "object", + "required": [ + "value", + "type", + "primary" + ], + "properties": { + "value": { + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] + } + } } } } }, - "groups": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - } - } - }, - "active": { - "type": "boolean" - }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the user object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "groups": { + "type": "array", + "description": "Provisioned SCIM groups that the user is a member of." }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } - }, - "required": [ - "schemas", - "id" ] } } } ], "previews": [], - "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.

\n

Replaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the Update an attribute for a SCIM user endpoint instead.

\n

You must at least provide the required values for the user: userName, name, and emails.

\n

Warning: Setting active: false removes the user from the enterprise, deletes the external identity, and deletes the associated {scim_user_id}.

", + "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in private beta and are subject to change.

\n

Replaces an existing provisioned user's information.

\n

You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the Update an attribute for a SCIM user endpoint instead.

\n

Warning: Setting active: false will suspend a user and obfuscate the user handle and user email. Since the implementation is a generic SCIM implementation and does not differentiate yet between different IdP providers, for Okta, the user GDPR data will not be purged and the credentials will not be removed.

", "statusCodes": [ { "httpStatusCode": "200", - "description": "

OK

" + "description": "

User was updated

" + }, + { + "httpStatusCode": "400", + "description": "

Bad request

" + }, + { + "httpStatusCode": "401", + "description": "

Authorization failure

" + }, + { + "httpStatusCode": "403", + "description": "

Permission denied

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + }, + { + "httpStatusCode": "409", + "description": "

Duplicate record detected

" + }, + { + "httpStatusCode": "429", + "description": "

Too many requests

" + }, + { + "httpStatusCode": "500", + "description": "

Internal server error

" } ] }, @@ -191930,28 +193972,51 @@ } ], "bodyParameters": [ - { - "type": "array of strings", - "name": "schemas", - "in": "body", - "description": "

The SCIM schema URIs.

", - "isRequired": true - }, { "type": "array of objects", "name": "Operations", "in": "body", - "description": "

Array of SCIM operations.

", + "description": "

patch operations list

", + "isRequired": true, + "childParamsGroups": [ + { + "type": "string", + "name": "op", + "description": "", + "isRequired": true, + "enum": [ + "add", + "replace", + "remove" + ] + }, + { + "type": "string", + "name": "path", + "description": "" + }, + { + "type": "string", + "name": "value", + "description": "

Corresponding 'value' of that field specified by 'path'

" + } + ] + }, + { + "type": "array of strings", + "name": "schemas", + "in": "body", + "description": "", "isRequired": true } ], "enabledForGitHubApps": true, "codeExamples": [ { - "key": "default", + "key": "userMultiValuedProperties", "request": { "contentType": "application/json", - "description": "Example", + "description": "Multi Valued Property", "acceptHeader": "application/vnd.github.v3+json", "bodyParameters": { "schemas": [ @@ -191959,19 +194024,14 @@ ], "Operations": [ { - "op": "add", - "path": "emails", - "value": [ - { - "value": "monalisa@octocat.github.com", - "type": "home" - } - ] + "op": "replace", + "path": "emails[type eq 'work'].value", + "value": "updatedEmail@microsoft.com" }, { "op": "replace", - "path": "name.givenName", - "value": "Monalisa" + "path": "name.familyName", + "value": "updatedFamilyName" } ] }, @@ -191983,123 +194043,827 @@ "response": { "statusCode": "200", "contentType": "application/json", - "description": "

Response

", + "description": "

Success, user was updated

", "example": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], - "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "externalId": "00dowz5dr9oSfDFRA0h7", - "userName": "mona.octocat@okta.example.com", + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", + "externalId": "E012345", + "active": true, + "userName": "E012345", "name": { - "givenName": "Monalisa", - "familyName": "Octocat" + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", + "givenName": "Mona", + "middleName": "Lisa" }, + "displayName": "Mona Lisa", "emails": [ { - "value": "mona.octocat@okta.example.com", + "value": "mlisa@example.com", "type": "work", "primary": true - }, - { - "value": "monalisa@octocat.github.com", - "type": "home" } ], - "groups": [ + "roles": [ { - "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" + "value": "User", + "primary": false } ], - "active": true, "meta": { "resourceType": "User", - "created": "2017-03-09T16:11:13-05:00", - "lastModified": "2017-03-09T16:11:13-05:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Users/7fce0092-d52e-4f76-b727-3955bd72c939" } }, "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": "string" - }, - "userName": { - "type": "string" - }, - "name": { + "allOf": [ + { "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], "properties": { - "givenName": { - "type": "string" + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] }, - "familyName": { - "type": "string" - } - } - }, - "emails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "type": { - "type": "string" - }, - "primary": { - "type": "boolean" + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] + }, + "userName": { + "type": "string", + "description": "The username for the user.", + "examples": [ + "E012345" + ] + }, + "name": { + "type": "object", + "required": [ + "familyName", + "givenName" + ], + "properties": { + "formatted": { + "type": "string", + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] + }, + "familyName": { + "type": "string", + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] + } + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" + ] + }, + "emails": { + "type": "array", + "description": "The emails for the user.", + "items": { + "type": "object", + "required": [ + "value", + "type", + "primary" + ], + "properties": { + "value": { + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] + } + } } } } }, - "groups": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - } - } - }, - "active": { - "type": "boolean" - }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the user object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "groups": { + "type": "array", + "description": "Provisioned SCIM groups that the user is a member of." }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } + ] + } + } + }, + { + "key": "userSingleValuedProperties", + "request": { + "contentType": "application/json", + "description": "Single Valued Property", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "schemas": [ + "urn:ietf:params:scim:api:messages:2.0:PatchOp" + ], + "Operations": [ + { + "op": "replace", + "path": "userName", + "value": "5b50642d-79fc-4410-9e90-4c077cdd1a59@testuser.com" + }, + { + "op": "replace", + "path": "displayName", + "value": "Monalisa Octocat" + } + ] + }, + "parameters": { + "enterprise": "ENTERPRISE", + "scim_user_id": "SCIM_USER_ID" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Success, user was updated

", + "example": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ], + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", + "externalId": "E012345", + "active": true, + "userName": "E012345", + "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", + "givenName": "Mona", + "middleName": "Lisa" }, - "required": [ - "schemas", - "id" + "displayName": "Mona Lisa", + "emails": [ + { + "value": "mlisa@example.com", + "type": "work", + "primary": true + } + ], + "roles": [ + { + "value": "User", + "primary": false + } + ], + "meta": { + "resourceType": "User", + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Users/7fce0092-d52e-4f76-b727-3955bd72c939" + } + }, + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] + }, + "userName": { + "type": "string", + "description": "The username for the user.", + "examples": [ + "E012345" + ] + }, + "name": { + "type": "object", + "required": [ + "familyName", + "givenName" + ], + "properties": { + "formatted": { + "type": "string", + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] + }, + "familyName": { + "type": "string", + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] + } + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" + ] + }, + "emails": { + "type": "array", + "description": "The emails for the user.", + "items": { + "type": "object", + "required": [ + "value", + "type", + "primary" + ], + "properties": { + "value": { + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] + } + } + } + } + } + }, + { + "type": "object", + "required": [ + "id", + "meta" + ], + "properties": { + "id": { + "type": "string", + "description": "The internally generated id for the user object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] + }, + "groups": { + "type": "array", + "description": "Provisioned SCIM groups that the user is a member of." + }, + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } + } + } + } + ] + } + } + }, + { + "key": "disableUser", + "request": { + "contentType": "application/json", + "description": "Disable User", + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "schemas": [ + "urn:ietf:params:scim:api:messages:2.0:PatchOp" + ], + "Operations": [ + { + "op": "replace", + "path": "active", + "value": false + } + ] + }, + "parameters": { + "enterprise": "ENTERPRISE", + "scim_user_id": "SCIM_USER_ID" + } + }, + "response": { + "statusCode": "200", + "contentType": "application/json", + "description": "

Success, user was updated

", + "example": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ], + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", + "externalId": "E012345", + "active": true, + "userName": "E012345", + "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", + "givenName": "Mona", + "middleName": "Lisa" + }, + "displayName": "Mona Lisa", + "emails": [ + { + "value": "mlisa@example.com", + "type": "work", + "primary": true + } + ], + "roles": [ + { + "value": "User", + "primary": false + } + ], + "meta": { + "resourceType": "User", + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Users/7fce0092-d52e-4f76-b727-3955bd72c939" + } + }, + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] + }, + "userName": { + "type": "string", + "description": "The username for the user.", + "examples": [ + "E012345" + ] + }, + "name": { + "type": "object", + "required": [ + "familyName", + "givenName" + ], + "properties": { + "formatted": { + "type": "string", + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] + }, + "familyName": { + "type": "string", + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] + } + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" + ] + }, + "emails": { + "type": "array", + "description": "The emails for the user.", + "items": { + "type": "object", + "required": [ + "value", + "type", + "primary" + ], + "properties": { + "value": { + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] + } + } + } + } + } + }, + { + "type": "object", + "required": [ + "id", + "meta" + ], + "properties": { + "id": { + "type": "string", + "description": "The internally generated id for the user object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] + }, + "groups": { + "type": "array", + "description": "Provisioned SCIM groups that the user is a member of." + }, + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } + } + } + } ] } } @@ -192109,10 +194873,38 @@ "statusCodes": [ { "httpStatusCode": "200", - "description": "

OK

" + "description": "

Success, user was updated

" + }, + { + "httpStatusCode": "400", + "description": "

Bad request

" + }, + { + "httpStatusCode": "401", + "description": "

Authorization failure

" + }, + { + "httpStatusCode": "403", + "description": "

Permission denied

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + }, + { + "httpStatusCode": "409", + "description": "

Duplicate record detected

" + }, + { + "httpStatusCode": "429", + "description": "

Too many requests

" + }, + { + "httpStatusCode": "500", + "description": "

Internal server error

" } ], - "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.

\n

Allows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the SCIM specification.

\n

Note: Complicated SCIM path selectors that include filters are not supported. For example, a path selector defined as \"path\": \"emails[type eq \\\"work\\\"]\" will not work.

\n

Warning: If you set active:false using the replace operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated :scim_user_id.

\n
{\n  \"Operations\":[{\n    \"op\":\"replace\",\n    \"value\":{\n      \"active\":false\n    }\n  }]\n}\n
" + "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in private beta and are subject to change.

\n

Update a provisioned user's individual attributes.

\n

To change a user's values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the SCIM specification.

\n

Note: Complicated SCIM path selectors that include filters are not supported. For example, a path selector defined as \"path\": \"emails[type eq \\\"work\\\"]\" will not work.

\n

Warning: Setting active: false will suspend a user and obfuscate the user handle and user email. Since the implementation is a generic SCIM implementation and does not differentiate yet between different IdP providers, for Okta, the user GDPR data will not be purged and the credentials will not be removed.

\n
{\n  \"Operations\":[{\n    \"op\":\"replace\",\n    \"value\":{\n      \"active\":false\n    }\n  }]\n}\n
" }, { "serverUrl": "http(s)://HOSTNAME/api/v3", @@ -192156,16 +194948,40 @@ }, "response": { "statusCode": "204", - "description": "

Response

" + "description": "

User was deleted, no content

" } } ], "previews": [], - "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.

", + "descriptionHTML": "

Note: The SCIM API endpoints for enterprise accounts are currently in private beta and are subject to change.

\n

Permanently suspends a SCIM user from an enterprise, removes all data for the user, obfuscates the login, email, and display name of the user, removes all external-identity SCIM attributes, and deletes the emails, avatar, PATs, SSH keys, OAuth authorizations credentials, GPG keys, and SAML mappings for the user. You will not be able to undo this action.

", "statusCodes": [ { "httpStatusCode": "204", - "description": "

No Content

" + "description": "

User was deleted, no content

" + }, + { + "httpStatusCode": "400", + "description": "

Bad request

" + }, + { + "httpStatusCode": "401", + "description": "

Authorization failure

" + }, + { + "httpStatusCode": "403", + "description": "

Permission denied

" + }, + { + "httpStatusCode": "404", + "description": "

Resource not found

" + }, + { + "httpStatusCode": "429", + "description": "

Too many requests

" + }, + { + "httpStatusCode": "500", + "description": "

Internal server error

" } ] } @@ -342485,7 +345301,7 @@ "type": "string", "name": "merge_method", "in": "body", - "description": "

Merge method to use. Possible values are merge, squash or rebase. Default is merge.

", + "description": "

The merge method to use.

", "enum": [ "merge", "squash", @@ -342496,11 +345312,15 @@ "enabledForGitHubApps": true, "codeExamples": [ { - "key": "default", + "key": "response-if-merge-was-successful", "request": { "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -399513,7 +402333,14 @@ "request": { "contentType": "application/json", "description": "Example", - "acceptHeader": "application/vnd.github.v3+json" + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } }, "response": { "statusCode": "201", @@ -406852,6 +409679,11 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + }, "parameters": { "owner": "OWNER", "repo": "REPO" diff --git a/lib/rest/static/decorated/github.ae.json b/lib/rest/static/decorated/github.ae.json index b3793610a0..db52f35cb5 100644 --- a/lib/rest/static/decorated/github.ae.json +++ b/lib/rest/static/decorated/github.ae.json @@ -55033,6 +55033,10 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "subscribed": true, + "ignored": false + }, "parameters": { "owner": "OWNER", "repo": "REPO" @@ -286134,7 +286138,7 @@ "type": "string", "name": "merge_method", "in": "body", - "description": "

Merge method to use. Possible values are merge, squash or rebase. Default is merge.

", + "description": "

The merge method to use.

", "enum": [ "merge", "squash", @@ -286145,11 +286149,15 @@ "enabledForGitHubApps": true, "codeExamples": [ { - "key": "default", + "key": "response-if-merge-was-successful", "request": { "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + }, "parameters": { "owner": "OWNER", "repo": "REPO", @@ -339637,7 +339645,14 @@ "request": { "contentType": "application/json", "description": "Example", - "acceptHeader": "application/vnd.github.v3+json" + "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } }, "response": { "statusCode": "201", @@ -346899,6 +346914,11 @@ "contentType": "application/json", "description": "Example", "acceptHeader": "application/vnd.github.v3+json", + "bodyParameters": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + }, "parameters": { "owner": "OWNER", "repo": "REPO" diff --git a/lib/rest/static/dereferenced/api.github.com.deref.json b/lib/rest/static/dereferenced/api.github.com.deref.json index 70a1a96448..328a6920ee 100644 --- a/lib/rest/static/dereferenced/api.github.com.deref.json +++ b/lib/rest/static/dereferenced/api.github.com.deref.json @@ -86436,6 +86436,14 @@ "required": [ "limit" ] + }, + "examples": { + "default": { + "value": { + "limit": "collaborators_only", + "expiry": "one_month" + } + } } } } @@ -260806,6 +260814,15 @@ "description": "When forking from an existing repository, fork with only the default branch." } } + }, + "examples": { + "default": { + "value": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + } + } } } } @@ -382646,7 +382663,7 @@ }, "merge_method": { "type": "string", - "description": "Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`.", + "description": "The merge method to use.", "enum": [ "merge", "squash", @@ -382654,6 +382671,14 @@ ] } } + }, + "examples": { + "response-if-merge-was-successful": { + "value": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + } + } } } } @@ -411487,6 +411512,14 @@ "description": "Determines if all notifications should be blocked from this repository." } } + }, + "examples": { + "default": { + "value": { + "subscribed": true, + "ignored": false + } + } } } } @@ -484971,6 +485004,17 @@ "name" ], "type": "object" + }, + "examples": { + "default": { + "value": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } + } } } } diff --git a/lib/rest/static/dereferenced/ghec.deref.json b/lib/rest/static/dereferenced/ghec.deref.json index b804462f88..3a9140d170 100644 --- a/lib/rest/static/dereferenced/ghec.deref.json +++ b/lib/rest/static/dereferenced/ghec.deref.json @@ -58897,6 +58897,7 @@ "type": "object", "properties": { "include_claim_keys": { + "description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores.", "type": "array", "items": { "type": "string" @@ -58960,6 +58961,7 @@ "type": "object", "properties": { "include_claim_keys": { + "description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores.", "type": "array", "items": { "type": "string" @@ -88639,6 +88641,14 @@ "required": [ "limit" ] + }, + "examples": { + "default": { + "value": { + "limit": "collaborators_only", + "expiry": "one_month" + } + } } } } @@ -153839,15 +153849,15 @@ }, "/repos/{owner}/{repo}/actions/oidc/customization/sub": { "get": { - "summary": "Get the opt-out flag of an OIDC subject claim customization for a repository", - "description": "Gets the `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository.\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint.", + "summary": "Get the customization template for an OIDC subject claim for a repository", + "description": "Gets the customization template for an OpenID Connect (OIDC) subject claim.\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint. GitHub Apps must have the `organization_administration:read` permission to use this endpoint.", "tags": [ "actions" ], "operationId": "actions/get-custom-oidc-sub-claim-for-repo", "externalDocs": { "description": "API method documentation", - "url": "https://docs.github.com/enterprise-cloud@latest//rest/actions/oidc#get-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository" + "url": "https://docs.github.com/enterprise-cloud@latest//rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-a-repository" }, "parameters": [ { @@ -153875,12 +153885,20 @@ "content": { "application/json": { "schema": { - "title": "The json payload enables/disables the use of sub claim customization", - "description": "OIDC Customer Subject", + "title": "Actions OIDC subject customization for a repository", + "description": "Actions OIDC subject customization for a repository", "type": "object", "properties": { "use_default": { + "description": "Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored.", "type": "boolean" + }, + "include_claim_keys": { + "description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores.", + "type": "array", + "items": { + "type": "string" + } } }, "required": [ @@ -153890,7 +153908,11 @@ "examples": { "default": { "value": { - "use_default": false + "use_default": false, + "include_claim_keys": [ + "repo", + "context" + ] } } } @@ -154003,15 +154025,15 @@ } }, "put": { - "summary": "Set the opt-in flag of an OIDC subject claim customization for a repository", - "description": "Sets the `opt-in` or `opt-out` flag of a GitHub Actions OpenID Connect (OIDC) subject claim customization for a repository.\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", + "summary": "Set the customization template for an OIDC subject claim for a repository", + "description": "Sets the customization template and `opt-in` or `opt-out` flag for an OpenID Connect (OIDC) subject claim for a repository.\nYou must authenticate using an access token with the `repo` scope to use this\nendpoint. GitHub Apps must have the `actions:write` permission to use this endpoint.", "tags": [ "actions" ], "operationId": "actions/set-custom-oidc-sub-claim-for-repo", "externalDocs": { "description": "API method documentation", - "url": "https://docs.github.com/enterprise-cloud@latest//rest/actions/oidc#set-the-opt-out-flag-of-an-oidc-subject-claim-customization-for-a-repository" + "url": "https://docs.github.com/enterprise-cloud@latest//rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-a-repository" }, "parameters": [ { @@ -154038,12 +154060,20 @@ "content": { "application/json": { "schema": { - "title": "The json payload enables/disables the use of sub claim customization", - "description": "OIDC Customer Subject", + "title": "Actions OIDC subject customization for a repository", + "description": "Actions OIDC subject customization for a repository", "type": "object", "properties": { "use_default": { + "description": "Whether to use the default template or not. If `true`, the `include_claim_keys` field is ignored.", "type": "boolean" + }, + "include_claim_keys": { + "description": "Array of unique strings. Each claim key can only contain alphanumeric characters and underscores.", + "type": "array", + "items": { + "type": "string" + } } }, "required": [ @@ -154053,7 +154083,11 @@ "examples": { "default": { "value": { - "use_default": false + "use_default": false, + "include_claim_keys": [ + "repo", + "context" + ] } } } @@ -264265,6 +264299,15 @@ "description": "When forking from an existing repository, fork with only the default branch." } } + }, + "examples": { + "default": { + "value": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + } + } } } } @@ -386105,7 +386148,7 @@ }, "merge_method": { "type": "string", - "description": "Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`.", + "description": "The merge method to use.", "enum": [ "merge", "squash", @@ -386113,6 +386156,14 @@ ] } } + }, + "examples": { + "response-if-merge-was-successful": { + "value": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + } + } } } } @@ -414946,6 +414997,14 @@ "description": "Determines if all notifications should be blocked from this repository." } } + }, + "examples": { + "default": { + "value": { + "subscribed": true, + "ignored": false + } + } } } } @@ -422062,7 +422121,7 @@ } }, "400": { - "description": "Bad Request", + "description": "Bad request", "content": { "application/json": { "schema": { @@ -422151,7 +422210,7 @@ } }, "429": { - "description": "Too Many Requests", + "description": "Too many requests", "content": { "application/json": { "schema": { @@ -422249,7 +422308,7 @@ }, "post": { "summary": "Provision and invite a SCIM user", - "description": "Provision organization membership for a user, and send an activation email to the email address.", + "description": "Provisions organization membership for a user, and sends an activation email to the email address. If the user was previously a member of the organization, the invitation will reinstate any former privileges that the user had. For more information about reinstating former members, see \"[Reinstating a former member of your organization](https://docs.github.com/enterprise-cloud@latest//organizations/managing-membership-in-your-organization/reinstating-a-former-member-of-your-organization).\"", "tags": [ "scim" ], @@ -422722,7 +422781,7 @@ } }, "500": { - "description": "Internal Error", + "description": "Internal server error", "content": { "application/json": { "schema": { @@ -422900,7 +422959,7 @@ } }, "400": { - "description": "Bad Request", + "description": "Bad request", "content": { "application/json": { "schema": { @@ -424670,7 +424729,7 @@ } }, "400": { - "description": "Bad Request", + "description": "Bad request", "content": { "application/json": { "schema": { @@ -492607,6 +492666,17 @@ "name" ], "type": "object" + }, + "examples": { + "default": { + "value": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } + } } } } diff --git a/lib/rest/static/dereferenced/ghes-3.2.deref.json b/lib/rest/static/dereferenced/ghes-3.2.deref.json index 6a5fb3a77f..024db26869 100644 --- a/lib/rest/static/dereferenced/ghes-3.2.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.2.deref.json @@ -214906,6 +214906,15 @@ "description": "Optional parameter to specify the organization name if forking into an organization." } } + }, + "examples": { + "default": { + "value": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + } + } } } } @@ -329415,7 +329424,7 @@ }, "merge_method": { "type": "string", - "description": "Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`.", + "description": "The merge method to use.", "enum": [ "merge", "squash", @@ -329423,6 +329432,14 @@ ] } } + }, + "examples": { + "response-if-merge-was-successful": { + "value": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + } + } } } } @@ -356784,6 +356801,14 @@ "description": "Determines if all notifications should be blocked from this repository." } } + }, + "examples": { + "default": { + "value": { + "subscribed": true, + "ignored": false + } + } } } } @@ -401099,6 +401124,17 @@ "name" ], "type": "object" + }, + "examples": { + "default": { + "value": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } + } } } } diff --git a/lib/rest/static/dereferenced/ghes-3.3.deref.json b/lib/rest/static/dereferenced/ghes-3.3.deref.json index d0eacd68b6..c5e379c6a5 100644 --- a/lib/rest/static/dereferenced/ghes-3.3.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.3.deref.json @@ -216831,6 +216831,15 @@ "description": "Optional parameter to specify the organization name if forking into an organization." } } + }, + "examples": { + "default": { + "value": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + } + } } } } @@ -331519,7 +331528,7 @@ }, "merge_method": { "type": "string", - "description": "Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`.", + "description": "The merge method to use.", "enum": [ "merge", "squash", @@ -331527,6 +331536,14 @@ ] } } + }, + "examples": { + "response-if-merge-was-successful": { + "value": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + } + } } } } @@ -359289,6 +359306,14 @@ "description": "Determines if all notifications should be blocked from this repository." } } + }, + "examples": { + "default": { + "value": { + "subscribed": true, + "ignored": false + } + } } } } @@ -403466,6 +403491,17 @@ "name" ], "type": "object" + }, + "examples": { + "default": { + "value": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } + } } } } diff --git a/lib/rest/static/dereferenced/ghes-3.4.deref.json b/lib/rest/static/dereferenced/ghes-3.4.deref.json index 6f4f7ccf30..a669766fc1 100644 --- a/lib/rest/static/dereferenced/ghes-3.4.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.4.deref.json @@ -232058,6 +232058,15 @@ "description": "Optional parameter to specify the organization name if forking into an organization." } } + }, + "examples": { + "default": { + "value": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + } + } } } } @@ -346738,7 +346747,7 @@ }, "merge_method": { "type": "string", - "description": "Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`.", + "description": "The merge method to use.", "enum": [ "merge", "squash", @@ -346746,6 +346755,14 @@ ] } } + }, + "examples": { + "response-if-merge-was-successful": { + "value": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + } + } } } } @@ -374707,6 +374724,14 @@ "description": "Determines if all notifications should be blocked from this repository." } } + }, + "examples": { + "default": { + "value": { + "subscribed": true, + "ignored": false + } + } } } } @@ -423939,6 +423964,17 @@ "name" ], "type": "object" + }, + "examples": { + "default": { + "value": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } + } } } } diff --git a/lib/rest/static/dereferenced/ghes-3.5.deref.json b/lib/rest/static/dereferenced/ghes-3.5.deref.json index e9604c1654..1ccbeea2c0 100644 --- a/lib/rest/static/dereferenced/ghes-3.5.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.5.deref.json @@ -239447,6 +239447,15 @@ "description": "Optional parameter to specify the organization name if forking into an organization." } } + }, + "examples": { + "default": { + "value": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + } + } } } } @@ -354145,7 +354154,7 @@ }, "merge_method": { "type": "string", - "description": "Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`.", + "description": "The merge method to use.", "enum": [ "merge", "squash", @@ -354153,6 +354162,14 @@ ] } } + }, + "examples": { + "response-if-merge-was-successful": { + "value": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + } + } } } } @@ -382128,6 +382145,14 @@ "description": "Determines if all notifications should be blocked from this repository." } } + }, + "examples": { + "default": { + "value": { + "subscribed": true, + "ignored": false + } + } } } } @@ -431836,6 +431861,17 @@ "name" ], "type": "object" + }, + "examples": { + "default": { + "value": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } + } } } } diff --git a/lib/rest/static/dereferenced/ghes-3.6.deref.json b/lib/rest/static/dereferenced/ghes-3.6.deref.json index 633f5a8a7a..45e1fba7b3 100644 --- a/lib/rest/static/dereferenced/ghes-3.6.deref.json +++ b/lib/rest/static/dereferenced/ghes-3.6.deref.json @@ -244106,6 +244106,15 @@ "description": "Optional parameter to specify the organization name if forking into an organization." } } + }, + "examples": { + "default": { + "value": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + } + } } } } @@ -360048,7 +360057,7 @@ }, "merge_method": { "type": "string", - "description": "Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`.", + "description": "The merge method to use.", "enum": [ "merge", "squash", @@ -360056,6 +360065,14 @@ ] } } + }, + "examples": { + "response-if-merge-was-successful": { + "value": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + } + } } } } @@ -388938,6 +388955,14 @@ "description": "Determines if all notifications should be blocked from this repository." } } + }, + "examples": { + "default": { + "value": { + "subscribed": true, + "ignored": false + } + } } } } @@ -394560,7 +394585,7 @@ "/scim/v2/enterprises/{enterprise}/Groups": { "get": { "summary": "List provisioned SCIM groups for an enterprise", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nLists provisioned SCIM groups in an enterprise.\n\nYou can improve query search time by using the `excludedAttributes` query parameter with a value of `members` to exclude members from the response.", "operationId": "enterprise-admin/list-provisioned-groups-enterprise", "tags": [ "enterprise-admin" @@ -394570,6 +394595,63 @@ "url": "https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#list-provisioned-scim-groups-for-an-enterprise" }, "parameters": [ + { + "name": "filter", + "description": "If specified, only results that match the specified filter will be returned. Multiple filters are not supported. Possible filters are `externalId`, `id`, and `displayName`. For example, `?filter=\"externalId eq '9138790-10932-109120392-12321'\"`.", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "examples": { + "displayName": { + "value": "Engineering" + }, + "externalId": { + "value": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + } + } + }, + { + "name": "excludedAttributes", + "description": "Excludes the specified attribute from being returned in the results. Using this parameter can speed up response time.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "examples": [ + "members" + ] + } + }, + { + "name": "startIndex", + "description": "Used for pagination: the starting index of the first result to return when paginating through values.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "default": 1, + "format": "int32", + "examples": [ + 1 + ] + } + }, + { + "name": "count", + "description": "Used for pagination: the number of results to return per page.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "default": 30, + "format": "int32", + "examples": [ + 1 + ] + } + }, { "name": "enterprise", "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", @@ -394578,139 +394660,202 @@ "schema": { "type": "string" } - }, - { - "name": "startIndex", - "description": "Used for pagination: the index of the first result to return.", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "count", - "description": "Used for pagination: the number of results to return.", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "filter", - "description": "filter results", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "excludedAttributes", - "description": "attributes to exclude", - "in": "query", - "required": false, - "schema": { - "type": "string" - } } ], "responses": { "200": { - "description": "Response", + "description": "Success, either groups were found or not found", "content": { "application/json": { "schema": { "type": "object", + "required": [ + "schemas", + "totalResults", + "Resources", + "startIndex", + "itemsPerPage" + ], "properties": { "schemas": { "type": "array", + "description": "The URIs that are used to indicate the namespaces of the list SCIM schemas.", "items": { - "type": "string" - } + "type": "string", + "enum": [ + "urn:ietf:params:scim:api:messages:2.0:ListResponse" + ] + }, + "examples": [ + "urn:ietf:params:scim:api:messages:2.0:ListResponse" + ] }, "totalResults": { - "type": "number" - }, - "itemsPerPage": { - "type": "number" - }, - "startIndex": { - "type": "number" + "type": "integer", + "description": "Number of results found", + "examples": [ + 1 + ] }, "Resources": { "type": "array", + "description": "Information about each provisioned group.", "items": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": [ - "string", - "null" - ] - }, - "displayName": { - "type": "string" - }, - "members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "displayName", + "members" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] }, - "$ref": { - "type": "string" - }, - "display": { - "type": "string" + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + ] + }, + "displayName": { + "type": "string", + "description": "A human-readable name for a security group.", + "examples": [ + "Engineering" + ] + }, + "members": { + "type": "array", + "description": "The group members.", + "items": { + "type": "object", + "required": [ + "value", + "displayName" + ], + "properties": { + "value": { + "type": "string", + "description": "The local unique identifier for the member", + "examples": [ + "23a35c27-23d3-4c03-b4c5-6443c09e7173" + ] + }, + "displayName": { + "type": "string", + "description": "The display name associated with the member", + "examples": [ + "Monalisa Octocat" + ] + } + } } } } }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta", + "members" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the group object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "members": { + "type": "array", + "description": "The security group members.", + "examples": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ] }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } - }, - "required": [ - "schemas", - "id" ] } + }, + "startIndex": { + "type": "integer", + "description": "A starting index for the returned page", + "examples": [ + 1 + ] + }, + "itemsPerPage": { + "type": "integer", + "description": "Number of objects per page", + "examples": [ + 20 + ] } - }, - "required": [ - "schemas", - "totalResults", - "itemsPerPage", - "startIndex", - "Resources" - ] + } }, "examples": { "default": { @@ -394718,58 +394863,310 @@ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], - "totalResults": 2, - "itemsPerPage": 2, - "startIndex": 1, + "totalResults": 1, "Resources": [ { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], - "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", - "externalId": null, - "displayName": "octo-org", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "id": "927fa2c08dcb4a7fae9e", + "displayName": "Engineering", "members": [ { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" }, { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "display": "hubot@example.com" + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" } ], "meta": { "resourceType": "Group", - "created": "2020-06-09T03:10:17.000+10:00", - "lastModified": "2020-06-09T03:10:17.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" - } - }, - { - "schemas": [ - "urn:ietf:params:scim:schemas:core:2.0:Group" - ], - "id": "5e75bbbb-aa1a-11ea-8644-75ff655cdddd", - "externalId": null, - "displayName": "octo-docs-org", - "members": [ - { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" - } - ], - "meta": { - "resourceType": "Group", - "created": "2020-06-09T16:28:01.000+10:00", - "lastModified": "2020-06-09T16:28:01.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/5e75bbbb-aa1a-11ea-8644-75ff655cdddd" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Groups/927fa2c08dcb4a7fae9e" } } + ], + "startIndex": 1, + "itemsPerPage": 20 + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "401": { + "description": "Authorization failure" + }, + "403": { + "description": "Permission denied" + }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } } } } @@ -394785,8 +395182,8 @@ } }, "post": { - "summary": "Provision a SCIM enterprise group and invite users", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nProvision an enterprise group, and invite users to the group. This sends invitation emails to the email address of the invited users to join the GitHub organization that the SCIM group corresponds to.", + "summary": "Provision a SCIM enterprise group", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nCreates a SCIM group for an enterprise.\n\nIf members are included as part of the group provisioning payload, they will be created as external group members. It is up to a provider to store a mapping between the `externalId` and `id` of each user.", "operationId": "enterprise-admin/provision-and-invite-enterprise-group", "tags": [ "enterprise-admin" @@ -394812,54 +395209,77 @@ "application/json": { "schema": { "type": "object", + "required": [ + "schemas", + "externalId", + "displayName", + "members" + ], "properties": { "schemas": { "type": "array", - "description": "The SCIM schema URIs.", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", "items": { - "type": "string" - } + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + ] }, "displayName": { "type": "string", - "description": "The name of the SCIM group. This must match the GitHub organization that the group maps to." + "description": "A human-readable name for a security group.", + "examples": [ + "Engineering" + ] }, "members": { "type": "array", + "description": "The group members.", "items": { "type": "object", + "required": [ + "value", + "displayName" + ], "properties": { "value": { "type": "string", - "description": "The SCIM user ID for a user." + "description": "The local unique identifier for the member", + "examples": [ + "23a35c27-23d3-4c03-b4c5-6443c09e7173" + ] + }, + "displayName": { + "type": "string", + "description": "The display name associated with the member", + "examples": [ + "Monalisa Octocat" + ] } - }, - "required": [ - "value" - ] + } } } - }, - "required": [ - "schemas", - "displayName" - ] + } }, "examples": { - "default": { + "group": { "value": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], - "displayName": "octo-org", - "members": [ - { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" - }, - { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5" - } - ] + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering" } } } @@ -394868,96 +395288,451 @@ }, "responses": { "201": { - "description": "Response", + "description": "Group has been created", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": [ - "string", - "null" - ] - }, - "displayName": { - "type": "string" - }, - "members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "displayName", + "members" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] }, - "$ref": { - "type": "string" - }, - "display": { - "type": "string" + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + ] + }, + "displayName": { + "type": "string", + "description": "A human-readable name for a security group.", + "examples": [ + "Engineering" + ] + }, + "members": { + "type": "array", + "description": "The group members.", + "items": { + "type": "object", + "required": [ + "value", + "displayName" + ], + "properties": { + "value": { + "type": "string", + "description": "The local unique identifier for the member", + "examples": [ + "23a35c27-23d3-4c03-b4c5-6443c09e7173" + ] + }, + "displayName": { + "type": "string", + "description": "The display name associated with the member", + "examples": [ + "Monalisa Octocat" + ] + } + } } } } }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta", + "members" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the group object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "members": { + "type": "array", + "description": "The security group members.", + "examples": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ] }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } - }, - "required": [ - "schemas", - "id" ] }, "examples": { - "default": { + "group": { "value": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", - "externalId": null, - "displayName": "octo-org", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering", "members": [ { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" }, { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "display": "hubot@example.com" + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" } ], "meta": { "resourceType": "Group", - "created": "2020-06-09T03:10:17.000+10:0", - "lastModified": "2020-06-09T03:10:17.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Groups/927fa2c08dcb4a7fae9e" + } + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "401": { + "description": "Authorization failure" + }, + "403": { + "description": "Permission denied" + }, + "409": { + "description": "Duplicate record detected" + }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" } } } @@ -394977,7 +395752,7 @@ "/scim/v2/enterprises/{enterprise}/Groups/{scim_group_id}": { "get": { "summary": "Get SCIM provisioning information for an enterprise group", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nGets information about a SCIM group.", "operationId": "enterprise-admin/get-provisioning-information-for-enterprise-group", "tags": [ "enterprise-admin" @@ -394998,87 +395773,160 @@ }, { "name": "scim_group_id", - "description": "Identifier generated by the GitHub SCIM endpoint.", + "description": "A unique identifier of the SCIM group.", "in": "path", "required": true, "schema": { - "type": "string" - } - }, - { - "name": "excludedAttributes", - "description": "Attributes to exclude.", - "in": "query", - "required": false, - "schema": { - "type": "string" + "type": "string", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] } } ], "responses": { "200": { - "description": "Response", + "description": "Success, a group was found", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": [ - "string", - "null" - ] - }, - "displayName": { - "type": "string" - }, - "members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "displayName", + "members" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] }, - "$ref": { - "type": "string" - }, - "display": { - "type": "string" + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + ] + }, + "displayName": { + "type": "string", + "description": "A human-readable name for a security group.", + "examples": [ + "Engineering" + ] + }, + "members": { + "type": "array", + "description": "The group members.", + "items": { + "type": "object", + "required": [ + "value", + "displayName" + ], + "properties": { + "value": { + "type": "string", + "description": "The local unique identifier for the member", + "examples": [ + "23a35c27-23d3-4c03-b4c5-6443c09e7173" + ] + }, + "displayName": { + "type": "string", + "description": "The display name associated with the member", + "examples": [ + "Monalisa Octocat" + ] + } + } } } } }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta", + "members" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the group object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "members": { + "type": "array", + "description": "The security group members.", + "examples": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ] }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } - }, - "required": [ - "schemas", - "id" ] }, "examples": { @@ -395088,25 +395936,324 @@ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", - "externalId": null, - "displayName": "octo-org", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering", "members": [ { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" }, { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "display": "hubot@example.com" + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" } ], "meta": { "resourceType": "Group", - "created": "2020-06-09T03:10:17.000+10:0", - "lastModified": "2020-06-09T03:10:17.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Groups/927fa2c08dcb4a7fae9e" + } + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "401": { + "description": "Authorization failure" + }, + "403": { + "description": "Permission denied" + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" } } } @@ -395124,7 +396271,7 @@ }, "put": { "summary": "Set SCIM information for a provisioned enterprise group", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nReplaces an existing provisioned group’s information. You must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead.", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nReplaces an existing provisioned group’s information.\n\nYou must provide all the information required for the group as if you were provisioning it for the first time. Any existing group information that you don't provide will be removed, including group membership. If you want to only update a specific attribute, use the [Update an attribute for a SCIM enterprise group](#update-an-attribute-for-a-scim-enterprise-group) endpoint instead.", "operationId": "enterprise-admin/set-information-for-provisioned-enterprise-group", "tags": [ "enterprise-admin" @@ -395145,11 +396292,14 @@ }, { "name": "scim_group_id", - "description": "Identifier generated by the GitHub SCIM endpoint.", + "description": "A unique identifier of the SCIM group.", "in": "path", "required": true, "schema": { - "type": "string" + "type": "string", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] } } ], @@ -395159,52 +396309,96 @@ "application/json": { "schema": { "type": "object", + "required": [ + "schemas", + "externalId", + "displayName", + "members" + ], "properties": { "schemas": { "type": "array", - "description": "The SCIM schema URIs.", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", "items": { - "type": "string" - } + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + ] }, "displayName": { "type": "string", - "description": "The name of the SCIM group. This must match the GitHub organization that the group maps to." + "description": "A human-readable name for a security group.", + "examples": [ + "Engineering" + ] }, "members": { "type": "array", + "description": "The group members.", "items": { "type": "object", + "required": [ + "value", + "displayName" + ], "properties": { "value": { "type": "string", - "description": "The SCIM user ID for a user." + "description": "The local unique identifier for the member", + "examples": [ + "23a35c27-23d3-4c03-b4c5-6443c09e7173" + ] + }, + "displayName": { + "type": "string", + "description": "The display name associated with the member", + "examples": [ + "Monalisa Octocat" + ] } - }, - "required": [ - "value" - ] + } } } - }, - "required": [ - "schemas", - "displayName" - ] + } }, "examples": { - "default": { + "group": { + "summary": "Group", "value": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], - "displayName": "octo-org", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering" + } + }, + "groupWithMembers": { + "summary": "Group with member", + "value": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ], + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering", "members": [ { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" }, { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5" + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" } ] } @@ -395215,96 +396409,505 @@ }, "responses": { "200": { - "description": "Response", + "description": "Group was updated", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": [ - "string", - "null" - ] - }, - "displayName": { - "type": "string" - }, - "members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "displayName", + "members" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] }, - "$ref": { - "type": "string" - }, - "display": { - "type": "string" + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + ] + }, + "displayName": { + "type": "string", + "description": "A human-readable name for a security group.", + "examples": [ + "Engineering" + ] + }, + "members": { + "type": "array", + "description": "The group members.", + "items": { + "type": "object", + "required": [ + "value", + "displayName" + ], + "properties": { + "value": { + "type": "string", + "description": "The local unique identifier for the member", + "examples": [ + "23a35c27-23d3-4c03-b4c5-6443c09e7173" + ] + }, + "displayName": { + "type": "string", + "description": "The display name associated with the member", + "examples": [ + "Monalisa Octocat" + ] + } + } } } } }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta", + "members" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the group object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "members": { + "type": "array", + "description": "The security group members.", + "examples": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ] }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } - }, - "required": [ - "schemas", - "id" ] }, "examples": { - "default": { + "group": { "value": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", - "externalId": null, - "displayName": "octo-org", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering", "members": [ { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" }, { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5", - "display": "hubot@example.com" + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" } ], "meta": { "resourceType": "Group", - "created": "2020-06-09T03:10:17.000+10:0", - "lastModified": "2020-06-09T03:10:17.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Groups/927fa2c08dcb4a7fae9e" + } + } + }, + "groupWithMembers": { + "value": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ], + "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering", + "members": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ], + "meta": { + "resourceType": "Group", + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Groups/927fa2c08dcb4a7fae9e" + } + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "401": { + "description": "Authorization failure" + }, + "403": { + "description": "Permission denied" + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "409": { + "description": "Duplicate record detected" + }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" } } } @@ -395322,7 +396925,7 @@ }, "patch": { "summary": "Update an attribute for a SCIM enterprise group", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nAllows you to change a provisioned group’s individual attributes. To change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nUpdate a provisioned group’s individual attributes.\n\nTo change a group’s values, you must provide a specific Operations JSON format that contains at least one of the add, remove, or replace operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2). Update can also be used to add group memberships.\n\nGroup memberships can be sent one at a time or in batches for faster performance. **Note**: The memberships are referenced through a local user `id`, and the user will need to be created before they are referenced here.", "operationId": "enterprise-admin/update-attribute-for-enterprise-group", "tags": [ "enterprise-admin" @@ -395343,11 +396946,14 @@ }, { "name": "scim_group_id", - "description": "Identifier generated by the GitHub SCIM endpoint.", + "description": "A unique identifier of the SCIM group.", "in": "path", "required": true, "schema": { - "type": "string" + "type": "string", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] } } ], @@ -395357,63 +396963,81 @@ "application/json": { "schema": { "type": "object", + "required": [ + "Operations", + "schemas" + ], "properties": { - "schemas": { - "type": "array", - "description": "The SCIM schema URIs.", - "items": { - "type": "string" - } - }, "Operations": { "type": "array", - "description": "Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2).", - "minItems": 1, + "description": "patch operations list", "items": { "type": "object", + "required": [ + "op" + ], "properties": { "op": { "type": "string", "enum": [ "add", - "Add", - "remove", - "Remove", "replace", - "Replace" + "remove" ] }, "path": { "type": "string" }, "value": { - "description": "Can be any value - string, number, array or object." + "type": "string", + "description": "Corresponding 'value' of that field specified by 'path'" } - }, - "required": [ - "op" + } + } + }, + "schemas": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:api:messages:2.0:PatchOp" ] } } - }, - "required": [ - "schemas", - "Operations" - ] + } }, "examples": { - "default": { + "updateGroup": { + "summary": "Update Group", "value": { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { - "op": "remove", + "op": "replace", + "path": "displayName", + "value": "Employees" + } + ] + } + }, + "addMembers": { + "summary": "Add Members", + "value": { + "schemas": [ + "urn:ietf:params:scim:api:messages:2.0:PatchOp" + ], + "Operations": [ + { + "op": "add", "path": "members", "value": [ { - "value": "aaaa8c34-a6b2-11ea-9d70-bbbbbd1c8fd5" + "value": "879db59-3bdf-4490-ad68-ab880a2694745" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685" } ] } @@ -395426,91 +397050,505 @@ }, "responses": { "200": { - "description": "Response", + "description": "Success, group was updated", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": [ - "string", - "null" - ] - }, - "displayName": { - "type": "string" - }, - "members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "displayName", + "members" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] }, - "$ref": { - "type": "string" - }, - "display": { - "type": "string" + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159" + ] + }, + "displayName": { + "type": "string", + "description": "A human-readable name for a security group.", + "examples": [ + "Engineering" + ] + }, + "members": { + "type": "array", + "description": "The group members.", + "items": { + "type": "object", + "required": [ + "value", + "displayName" + ], + "properties": { + "value": { + "type": "string", + "description": "The local unique identifier for the member", + "examples": [ + "23a35c27-23d3-4c03-b4c5-6443c09e7173" + ] + }, + "displayName": { + "type": "string", + "description": "The display name associated with the member", + "examples": [ + "Monalisa Octocat" + ] + } + } } } } }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta", + "members" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the group object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "members": { + "type": "array", + "description": "The security group members.", + "examples": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ] }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } - }, - "required": [ - "schemas", - "id" ] }, "examples": { - "default": { + "updateGroup": { "value": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", - "externalId": null, - "displayName": "octo-org", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering", "members": [ { - "value": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "$ref": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "display": "octocat@github.com" + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" } ], "meta": { "resourceType": "Group", - "created": "2020-06-09T03:10:17.000+10:00", - "lastModified": "2020-06-09T03:10:17.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Groups/abcd27f8-a9aa-11ea-8221-f59b2be9cccc" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Groups/927fa2c08dcb4a7fae9e" + } + } + }, + "addMembers": { + "value": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:Group" + ], + "id": "abcd27f8-a9aa-11ea-8221-f59b2be9cccc", + "externalId": "8aa1a0c0-c4c3-4bc0-b4a5-2ef676900159", + "displayName": "Engineering", + "members": [ + { + "value": "879db59-3bdf-4490-ad68-ab880a2694745", + "$+ref": "https://api.github.localhost/scim/v2/Users/879db59-3bdf-4490-ad68-ab880a2694745", + "displayName": "User 1" + }, + { + "value": "0db508eb-91e2-46e4-809c-30dcbda0c685", + "$+ref": "https://api.github.localhost/scim/v2/Users/0db508eb-91e2-46e4-809c-30dcbda0c685", + "displayName": "User 2" + } + ], + "meta": { + "resourceType": "Group", + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Groups/927fa2c08dcb4a7fae9e" + } + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "401": { + "description": "Authorization failure" + }, + "403": { + "description": "Permission denied" + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "409": { + "description": "Duplicate record detected" + }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" } } } @@ -395528,7 +397566,7 @@ }, "delete": { "summary": "Delete a SCIM group from an enterprise", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\n Deletes a SCIM group from an enterprise.", "operationId": "enterprise-admin/delete-scim-group-from-enterprise", "tags": [ "enterprise-admin" @@ -395549,17 +397587,319 @@ }, { "name": "scim_group_id", - "description": "Identifier generated by the GitHub SCIM endpoint.", + "description": "A unique identifier of the SCIM group.", "in": "path", "required": true, "schema": { - "type": "string" + "type": "string", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] } } ], "responses": { "204": { - "description": "Response" + "description": "Group was deleted, no content" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "401": { + "description": "Authorization failure" + }, + "403": { + "description": "Permission denied" + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } } }, "x-github": { @@ -395573,7 +397913,7 @@ "/scim/v2/enterprises/{enterprise}/Users": { "get": { "summary": "List SCIM provisioned identities for an enterprise", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nRetrieves a paginated list of all provisioned enterprise members, including pending invitations.\n\nWhen a user with a SAML-provisioned external identity leaves (or is removed from) an enterprise, the account's metadata is immediately removed. However, the returned list of user accounts might not always match the organization or enterprise member list you see on GitHub Enterprise Server. This can happen in certain cases where an external identity associated with an organization will not match an organization member:\n - When a user with a SCIM-provisioned external identity is removed from an enterprise, the account's metadata is preserved to allow the user to re-join the organization in the future.\n - When inviting a user to join an organization, you can expect to see their external identity in the results before they accept the invitation, or if the invitation is cancelled (or never accepted).\n - When a user is invited over SCIM, an external identity is created that matches with the invitee's email address. However, this identity is only linked to a user account when the user accepts the invitation by going through SAML SSO.\n\nThe returned list of external identities can include an entry for a `null` user. These are unlinked SAML identities that are created when a user goes through the following Single Sign-On (SSO) process but does not sign in to their GitHub Enterprise Server account after completing SSO:\n\n1. The user is granted access by the IdP and is not a member of the GitHub Enterprise Server enterprise.\n\n1. The user attempts to access the GitHub Enterprise Server enterprise and initiates the SAML SSO process, and is not currently signed in to their GitHub Enterprise Server account.\n\n1. After successfully authenticating with the SAML SSO IdP, the `null` external identity entry is created and the user is prompted to sign in to their GitHub Enterprise Server account:\n - If the user signs in, their GitHub Enterprise Server account is linked to this entry.\n - If the user does not sign in (or does not create a new account when prompted), they are not added to the GitHub Enterprise Server enterprise, and the external identity `null` entry remains in place.", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nLists provisioned SCIM enterprise members.\n\nWhen a user with a SCIM-provisioned external identity is removed from an enterprise through a `patch` with `active` flag set to `false`, the account's metadata is preserved to allow the user to re-join the enterprise in the future. However, the user's account will be suspended and the user will not be able to sign-in. In order to permanently suspend the users account with no ability to re-join the enterprise in the future, use the `delete` request. Users that were not permanently deleted will be visible in the returned results.\n\nYou can improve query search time by using the `excludedAttributes` query parameter with a value of `groups` to exclude groups from the response.", "operationId": "enterprise-admin/list-provisioned-identities-enterprise", "tags": [ "enterprise-admin" @@ -395583,6 +397923,63 @@ "url": "https://docs.github.com/enterprise-server@3.6/rest/reference/enterprise-admin#list-scim-provisioned-identities-for-an-enterprise" }, "parameters": [ + { + "name": "filter", + "description": "If specified, only results that match the specified filter will be returned. Multiple filters are not supported. Possible filters are `userName`, `externalId`, `id`, and `displayName`. For example, `?filter=\"externalId eq '9138790-10932-109120392-12321'\"`.", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "examples": { + "userName": { + "value": "userName eq 'E012345'" + }, + "externalId": { + "value": "externalId eq 'E012345'" + } + } + }, + { + "name": "excludedAttributes", + "description": "Excludes the specified attribute from being returned in the results. Using this parameter can speed up response time.", + "in": "query", + "required": false, + "schema": { + "type": "string", + "examples": [ + "members" + ] + } + }, + { + "name": "startIndex", + "description": "Used for pagination: the starting index of the first result to return when paginating through values.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "default": 1, + "format": "int32", + "examples": [ + 1 + ] + } + }, + { + "name": "count", + "description": "Used for pagination: the number of results to return per page.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "default": 30, + "format": "int32", + "examples": [ + 1 + ] + } + }, { "name": "enterprise", "description": "The slug version of the enterprise name. You can also substitute this value with the enterprise id.", @@ -395591,152 +397988,280 @@ "schema": { "type": "string" } - }, - { - "name": "startIndex", - "description": "Used for pagination: the index of the first result to return.", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "count", - "description": "Used for pagination: the number of results to return.", - "in": "query", - "required": false, - "schema": { - "type": "integer" - } - }, - { - "name": "filter", - "description": "filter results", - "in": "query", - "required": false, - "schema": { - "type": "string" - } } ], "responses": { "200": { - "description": "Response", + "description": "Success, either users were found or not found", "content": { "application/json": { "schema": { "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "totalResults": { - "type": "number" - }, - "itemsPerPage": { - "type": "number" - }, - "startIndex": { - "type": "number" - }, - "Resources": { - "type": "array", - "items": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": "string" - }, - "userName": { - "type": "string" - }, - "name": { - "type": "object", - "properties": { - "givenName": { - "type": "string" - }, - "familyName": { - "type": "string" - } - } - }, - "emails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "primary": { - "type": "boolean" - }, - "type": { - "type": "string" - } - } - } - }, - "groups": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - } - } - }, - "active": { - "type": "boolean" - }, - "meta": { - "type": "object", - "properties": { - "resourceType": { - "type": "string" - }, - "created": { - "type": "string" - }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" - } - } - } - }, - "required": [ - "schemas", - "id" - ] - } - } - }, "required": [ "schemas", "totalResults", - "itemsPerPage", + "Resources", "startIndex", - "Resources" - ] + "itemsPerPage" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the list SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:api:messages:2.0:ListResponse" + ] + }, + "examples": [ + "urn:ietf:params:scim:api:messages:2.0:ListResponse" + ] + }, + "totalResults": { + "type": "integer", + "description": "Number of results found", + "examples": [ + 1 + ] + }, + "Resources": { + "type": "array", + "description": "Information about each provisioned account.", + "items": { + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] + }, + "userName": { + "type": "string", + "description": "The username for the user.", + "examples": [ + "E012345" + ] + }, + "name": { + "type": "object", + "required": [ + "familyName", + "givenName" + ], + "properties": { + "formatted": { + "type": "string", + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] + }, + "familyName": { + "type": "string", + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] + } + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" + ] + }, + "emails": { + "type": "array", + "description": "The emails for the user.", + "items": { + "type": "object", + "required": [ + "value", + "type", + "primary" + ], + "properties": { + "value": { + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] + } + } + } + } + } + }, + { + "type": "object", + "required": [ + "id", + "meta" + ], + "properties": { + "id": { + "type": "string", + "description": "The internally generated id for the user object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] + }, + "groups": { + "type": "array", + "description": "Provisioned SCIM groups that the user is a member of." + }, + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } + } + } + } + ] + } + }, + "startIndex": { + "type": "integer", + "description": "A starting index for the returned page", + "examples": [ + 1 + ] + }, + "itemsPerPage": { + "type": "integer", + "description": "Number of objects per page", + "examples": [ + 20 + ] + } + } }, "examples": { "default": { @@ -395744,71 +398269,313 @@ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], - "totalResults": 2, - "itemsPerPage": 2, - "startIndex": 1, + "totalResults": 1, "Resources": [ { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], - "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "externalId": "00dowz5dr9oSfDFRA0h7", - "userName": "octocat@github.com", - "name": { - "givenName": "Mona", - "familyName": "Octocat" - }, - "emails": [ - { - "value": "octocat@github.com", - "primary": true, - "type": "work" - } - ], - "groups": [ - { - "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" - } - ], + "externalId": "E012345", + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", "active": true, - "meta": { - "resourceType": "User", - "created": "2020-05-30T04:02:34.000+10:00", - "lastModified": "2020-05-30T04:05:04.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" - } - }, - { - "schemas": [ - "urn:ietf:params:scim:schemas:core:2.0:User" - ], - "id": "e18b8c34-a6b2-11ea-9d70-54abbd1c8fd5", - "externalId": "sdfoiausdofiua", - "userName": "hubot@example.com", + "userName": "E012345", "name": { - "givenName": "hu", - "familyName": "bot" + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", + "givenName": "Mona", + "middleName": "Lisa" }, + "displayName": "Mona Lisa", "emails": [ { - "value": "hubot@example.com", + "value": "mlisa@example.com", "type": "work", "primary": true } ], - "groups": [ - - ], - "active": true, - "meta": { - "resourceType": "User", - "created": "2020-06-05T08:29:40.000+10:00", - "lastModified": "2020-06-05T08:30:19.000+10:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/e18b8c34-a6b2-11ea-9d70-54abbd1c8fd5" - } + "roles": [ + { + "value": "User", + "primary": false + } + ] } + ], + "startIndex": 1, + "itemsPerPage": 20 + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "401": { + "description": "Authorization failure" + }, + "403": { + "description": "Permission denied" + }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } } } } @@ -395824,8 +398591,8 @@ } }, "post": { - "summary": "Provision and invite a SCIM enterprise user", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nProvision enterprise membership for a user, and send organization invitation emails to the email address.\n\nYou can optionally include the groups a user will be invited to join. If you do not provide a list of `groups`, the user is provisioned for the enterprise, but no organization invitation emails will be sent.", + "summary": "Provision a SCIM enterprise user", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nCreates an external identity for a new SCIM enterprise user.\n\nSCIM does not authenticate users, it only provisions them. The authentication of users is done by SAML. However, when SCIM is enabled, all users need to be provisioned through SCIM before a user can sign in through SAML. The matching of a user to a SCIM provisioned user is done when the SAML assertion is consumed. The user will be matched on SAML response `NameID` to SCIM `userName`.\n\nWhen converting existing enterprise to use SCIM, the user handle (`userName`) from the SCIM payload will be used to match the provisioned user to an already existing user in the enterprise. Since the new identity record is created for newly provisioned users the matching for those records is done using a user's handle. Currently the matching will be performed to all of the users no matter if they were SAML JIT provisioned or created as local users.", "operationId": "enterprise-admin/provision-and-invite-enterprise-user", "tags": [ "enterprise-admin" @@ -395851,102 +398618,219 @@ "application/json": { "schema": { "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], "properties": { "schemas": { "type": "array", - "description": "The SCIM schema URIs.", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", "items": { - "type": "string" - } + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] }, "userName": { "type": "string", - "description": "The username for the user." + "description": "The username for the user.", + "examples": [ + "E012345" + ] }, "name": { "type": "object", + "required": [ + "familyName", + "givenName" + ], "properties": { - "givenName": { + "formatted": { "type": "string", - "description": "The first name of the user." + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] }, "familyName": { "type": "string", - "description": "The last name of the user." + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] } - }, - "required": [ - "givenName", - "familyName" + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" ] }, "emails": { "type": "array", - "description": "List of user emails.", + "description": "The emails for the user.", "items": { "type": "object", - "properties": { - "value": { - "type": "string", - "description": "The email address." - }, - "type": { - "type": "string", - "description": "The type of email address." - }, - "primary": { - "type": "boolean", - "description": "Whether this email address is the primary address." - } - }, "required": [ "value", "type", "primary" - ] - } - }, - "groups": { - "type": "array", - "description": "List of SCIM group IDs the user is a member of.", - "items": { - "type": "object", + ], "properties": { "value": { - "type": "string" + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] } } } } - }, - "required": [ - "schemas", - "userName", - "name", - "emails" - ] + } }, "examples": { - "default": { + "user": { + "summary": "User", "value": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], - "userName": "mona.octocat@okta.example.com", + "externalId": "E012345", + "active": true, + "userName": "E012345", "name": { + "formatted": "Ms. Mona Lisa Octocat", "familyName": "Octocat", - "givenName": "Mona" + "givenName": "Mona", + "middleName": "Lisa" }, + "displayName": "Mona Lisa", "emails": [ { - "value": "mona.octocat@okta.example.com", + "value": "mlisa@example.com", "type": "work", "primary": true } ], - "groups": [ + "roles": [ { - "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" + "value": "User", + "primary": false + } + ] + } + }, + "enterpriseOwner": { + "summary": "Enterprise Owner", + "value": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ], + "externalId": "E012345", + "active": true, + "userName": "E012345", + "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", + "givenName": "Mona", + "middleName": "Lisa" + }, + "displayName": "Mona Lisa", + "emails": [ + { + "value": "mlisa@example.com", + "type": "work", + "primary": true + } + ], + "roles": [ + { + "value": "Enterprise Owner", + "primary": false } ] } @@ -395957,123 +398841,575 @@ }, "responses": { "201": { - "description": "Response", + "description": "User has been created", "content": { "application/json": { "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] + }, + "userName": { + "type": "string", + "description": "The username for the user.", + "examples": [ + "E012345" + ] + }, + "name": { + "type": "object", + "required": [ + "familyName", + "givenName" + ], + "properties": { + "formatted": { + "type": "string", + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] + }, + "familyName": { + "type": "string", + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] + } + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" + ] + }, + "emails": { + "type": "array", + "description": "The emails for the user.", + "items": { + "type": "object", + "required": [ + "value", + "type", + "primary" + ], + "properties": { + "value": { + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] + } + } + } + } + } + }, + { + "type": "object", + "required": [ + "id", + "meta" + ], + "properties": { + "id": { + "type": "string", + "description": "The internally generated id for the user object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] + }, + "groups": { + "type": "array", + "description": "Provisioned SCIM groups that the user is a member of." + }, + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } + } + } + } + ] + }, + "examples": { + "user": { + "value": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ], + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", + "externalId": "E012345", + "active": true, + "userName": "E012345", + "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", + "givenName": "Mona", + "middleName": "Lisa" + }, + "displayName": "Mona Lisa", + "emails": [ + { + "value": "mlisa@example.com", + "type": "work", + "primary": true + } + ], + "roles": [ + { + "value": "User", + "primary": false + } + ], + "meta": { + "resourceType": "User", + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Users/7fce0092-d52e-4f76-b727-3955bd72c939" + } + } + }, + "enterpriseOwner": { + "value": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ], + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", + "externalId": "E012345", + "active": true, + "userName": "E012345", + "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", + "givenName": "Mona", + "middleName": "Lisa" + }, + "displayName": "Mona Lisa", + "emails": [ + { + "value": "mlisa@example.com", + "type": "work", + "primary": true + } + ], + "roles": [ + { + "value": "User", + "primary": false + } + ], + "meta": { + "resourceType": "User", + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Users/7fce0092-d52e-4f76-b727-3955bd72c939" + } + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", "type": "object", "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, "schemas": { "type": "array", "items": { "type": "string" } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] }, - "id": { - "type": "string" + "documentation_url": { + "type": [ + "string", + "null" + ] }, - "externalId": { - "type": "string" + "detail": { + "type": [ + "string", + "null" + ] }, - "userName": { - "type": "string" + "status": { + "type": "integer" }, - "name": { - "type": "object", - "properties": { - "givenName": { - "type": "string" - }, - "familyName": { - "type": "string" - } - } + "scimType": { + "type": [ + "string", + "null" + ] }, - "emails": { + "schemas": { "type": "array", "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "type": { - "type": "string" - }, - "primary": { - "type": "boolean" - } - } - } - }, - "groups": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - } - } - }, - "active": { - "type": "boolean" - }, - "meta": { - "type": "object", - "properties": { - "resourceType": { - "type": "string" - }, - "created": { - "type": "string" - }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" - } + "type": "string" } } - }, - "required": [ - "schemas", - "id" - ] - }, - "examples": { - "default": { - "value": { - "schemas": [ - "urn:ietf:params:scim:schemas:core:2.0:User" - ], - "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "externalId": "00dowz5dr9oSfDFRA0h7", - "userName": "mona.octocat@okta.example.com", - "name": { - "givenName": "Mona", - "familyName": "Octocat" - }, - "emails": [ - { - "value": "mona.octocat@okta.example.com", - "type": "work", - "primary": true - } - ], - "groups": [ - { - "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" - } - ], - "active": true, - "meta": { - "resourceType": "User", - "created": "2017-03-09T16:11:13-05:00", - "lastModified": "2017-03-09T16:11:13-05:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" + } + } + } + } + }, + "401": { + "description": "Authorization failure" + }, + "403": { + "description": "Permission denied" + }, + "409": { + "description": "Duplicate record detected" + }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" } } } @@ -396093,7 +399429,7 @@ "/scim/v2/enterprises/{enterprise}/Users/{scim_user_id}": { "get": { "summary": "Get SCIM provisioning information for an enterprise user", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nGets information about a SCIM user.", "operationId": "enterprise-admin/get-provisioning-information-for-enterprise-user", "tags": [ "enterprise-admin" @@ -396124,90 +399460,225 @@ ], "responses": { "200": { - "description": "Response", + "description": "Success, a user was found", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "schemas": { - "type": "array", - "items": { - "type": "string" - } - }, - "id": { - "type": "string" - }, - "externalId": { - "type": "string" - }, - "userName": { - "type": "string" - }, - "name": { + "allOf": [ + { "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], "properties": { - "givenName": { - "type": "string" + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] }, - "familyName": { - "type": "string" - } - } - }, - "emails": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "type": { - "type": "string" - }, - "primary": { - "type": "boolean" + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] + }, + "userName": { + "type": "string", + "description": "The username for the user.", + "examples": [ + "E012345" + ] + }, + "name": { + "type": "object", + "required": [ + "familyName", + "givenName" + ], + "properties": { + "formatted": { + "type": "string", + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] + }, + "familyName": { + "type": "string", + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] + } + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" + ] + }, + "emails": { + "type": "array", + "description": "The emails for the user.", + "items": { + "type": "object", + "required": [ + "value", + "type", + "primary" + ], + "properties": { + "value": { + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] + } + } } } } }, - "groups": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - } - } - }, - "active": { - "type": "boolean" - }, - "meta": { + { "type": "object", + "required": [ + "id", + "meta" + ], "properties": { - "resourceType": { - "type": "string" + "id": { + "type": "string", + "description": "The internally generated id for the user object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] }, - "created": { - "type": "string" + "groups": { + "type": "array", + "description": "Provisioned SCIM groups that the user is a member of." }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } } } } - }, - "required": [ - "schemas", - "id" ] }, "examples": { @@ -396216,31 +399687,334 @@ "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], - "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "externalId": "00dowz5dr9oSfDFRA0h7", - "userName": "mona.octocat@okta.example.com", + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", + "externalId": "E012345", + "active": true, + "userName": "E012345", "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", "givenName": "Mona", - "familyName": "Octocat" + "middleName": "Lisa" }, + "displayName": "Mona Lisa", "emails": [ { - "value": "mona.octocat@okta.example.com", + "value": "mlisa@example.com", "type": "work", "primary": true } ], - "groups": [ + "roles": [ { - "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" + "value": "User", + "primary": false } ], - "active": true, "meta": { "resourceType": "User", - "created": "2017-03-09T16:11:13-05:00", - "lastModified": "2017-03-09T16:11:13-05:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Users/7fce0092-d52e-4f76-b727-3955bd72c939" + } + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "401": { + "description": "Authorization failure" + }, + "403": { + "description": "Permission denied" + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" } } } @@ -396258,7 +400032,7 @@ }, "put": { "summary": "Set SCIM information for a provisioned enterprise user", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nReplaces an existing provisioned user's information. You must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-an-enterprise-scim-user) endpoint instead.\n\nYou must at least provide the required values for the user: `userName`, `name`, and `emails`.\n\n**Warning:** Setting `active: false` removes the user from the enterprise, deletes the external identity, and deletes the associated `{scim_user_id}`.", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nReplaces an existing provisioned user's information.\n\nYou must provide all the information required for the user as if you were provisioning them for the first time. Any existing user information that you don't provide will be removed. If you want to only update a specific attribute, use the [Update an attribute for a SCIM user](#update-an-attribute-for-a-scim-enterprise-user) endpoint instead.\n\n**Warning:** Setting `active: false` will suspend a user and obfuscate the user handle and user email. Since the implementation is a generic SCIM implementation and does not differentiate yet between different IdP providers, for Okta, the user GDPR data will not be purged and the credentials will not be removed.", "operationId": "enterprise-admin/set-information-for-provisioned-enterprise-user", "tags": [ "enterprise-admin" @@ -396293,102 +400067,188 @@ "application/json": { "schema": { "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], "properties": { "schemas": { "type": "array", - "description": "The SCIM schema URIs.", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", "items": { - "type": "string" - } + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] }, "userName": { "type": "string", - "description": "The username for the user." + "description": "The username for the user.", + "examples": [ + "E012345" + ] }, "name": { "type": "object", + "required": [ + "familyName", + "givenName" + ], "properties": { - "givenName": { + "formatted": { "type": "string", - "description": "The first name of the user." + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] }, "familyName": { "type": "string", - "description": "The last name of the user." + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] } - }, - "required": [ - "givenName", - "familyName" + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" ] }, "emails": { "type": "array", - "description": "List of user emails.", + "description": "The emails for the user.", "items": { "type": "object", - "properties": { - "value": { - "type": "string", - "description": "The email address." - }, - "type": { - "type": "string", - "description": "The type of email address." - }, - "primary": { - "type": "boolean", - "description": "Whether this email address is the primary address." - } - }, "required": [ "value", "type", "primary" - ] - } - }, - "groups": { - "type": "array", - "description": "List of SCIM group IDs the user is a member of.", - "items": { - "type": "object", + ], "properties": { "value": { - "type": "string" + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] } } } } - }, - "required": [ - "schemas", - "userName", - "name", - "emails" - ] + } }, "examples": { - "default": { + "user": { + "summary": "User", "value": { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], - "userName": "mona.octocat@okta.example.com", + "externalId": "E012345", + "active": true, + "userName": "E012345", "name": { + "formatted": "Ms. Mona Lisa Octocat", "familyName": "Octocat", - "givenName": "Mona" + "givenName": "Mona", + "middleName": "Lisa" }, + "displayName": "Mona Lisa", "emails": [ { - "value": "mona.octocat@okta.example.com", + "value": "mlisa@example.com", "type": "work", "primary": true } ], - "groups": [ + "roles": [ { - "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" + "value": "User", + "primary": false } ] } @@ -396399,123 +400259,564 @@ }, "responses": { "200": { - "description": "Response", + "description": "User was updated", "content": { "application/json": { "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] + }, + "userName": { + "type": "string", + "description": "The username for the user.", + "examples": [ + "E012345" + ] + }, + "name": { + "type": "object", + "required": [ + "familyName", + "givenName" + ], + "properties": { + "formatted": { + "type": "string", + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] + }, + "familyName": { + "type": "string", + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] + } + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" + ] + }, + "emails": { + "type": "array", + "description": "The emails for the user.", + "items": { + "type": "object", + "required": [ + "value", + "type", + "primary" + ], + "properties": { + "value": { + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] + } + } + } + } + } + }, + { + "type": "object", + "required": [ + "id", + "meta" + ], + "properties": { + "id": { + "type": "string", + "description": "The internally generated id for the user object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] + }, + "groups": { + "type": "array", + "description": "Provisioned SCIM groups that the user is a member of." + }, + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } + } + } + } + ] + }, + "examples": { + "user": { + "value": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ], + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", + "externalId": "E012345", + "active": true, + "userName": "E012345", + "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", + "givenName": "Mona", + "middleName": "Lisa" + }, + "displayName": "Mona Lisa", + "emails": [ + { + "value": "mlisa@example.com", + "type": "work", + "primary": true + } + ], + "roles": [ + { + "value": "User", + "primary": false + } + ], + "meta": { + "resourceType": "User", + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Users/7fce0092-d52e-4f76-b727-3955bd72c939" + } + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", "type": "object", "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, "schemas": { "type": "array", "items": { "type": "string" } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] }, - "id": { - "type": "string" + "documentation_url": { + "type": [ + "string", + "null" + ] }, - "externalId": { - "type": "string" + "detail": { + "type": [ + "string", + "null" + ] }, - "userName": { - "type": "string" + "status": { + "type": "integer" }, - "name": { - "type": "object", - "properties": { - "givenName": { - "type": "string" - }, - "familyName": { - "type": "string" - } - } + "scimType": { + "type": [ + "string", + "null" + ] }, - "emails": { + "schemas": { "type": "array", "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "type": { - "type": "string" - }, - "primary": { - "type": "boolean" - } - } - } - }, - "groups": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - } - } - }, - "active": { - "type": "boolean" - }, - "meta": { - "type": "object", - "properties": { - "resourceType": { - "type": "string" - }, - "created": { - "type": "string" - }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" - } + "type": "string" } } - }, - "required": [ - "schemas", - "id" - ] - }, - "examples": { - "default": { - "value": { - "schemas": [ - "urn:ietf:params:scim:schemas:core:2.0:User" - ], - "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "externalId": "00dowz5dr9oSfDFRA0h7", - "userName": "mona.octocat@okta.example.com", - "name": { - "givenName": "Mona", - "familyName": "Octocat" - }, - "emails": [ - { - "value": "mona.octocat@okta.example.com", - "type": "work", - "primary": true - } - ], - "groups": [ - { - "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" - } - ], - "active": true, - "meta": { - "resourceType": "User", - "created": "2017-03-09T16:11:13-05:00", - "lastModified": "2017-03-09T16:11:13-05:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" + } + } + } + } + }, + "401": { + "description": "Authorization failure" + }, + "403": { + "description": "Permission denied" + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "409": { + "description": "Duplicate record detected" + }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" } } } @@ -396533,7 +400834,7 @@ }, "patch": { "summary": "Update an attribute for a SCIM enterprise user", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.\n\nAllows you to change a provisioned user's individual attributes. To change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n\n**Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `\"path\": \"emails[type eq \\\"work\\\"]\"` will not work.\n\n**Warning:** If you set `active:false` using the `replace` operation (as shown in the JSON example below), it removes the user from the enterprise, deletes the external identity, and deletes the associated `:scim_user_id`.\n\n```\n{\n \"Operations\":[{\n \"op\":\"replace\",\n \"value\":{\n \"active\":false\n }\n }]\n}\n```", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nUpdate a provisioned user's individual attributes.\n\nTo change a user's values, you must provide a specific `Operations` JSON format that contains at least one of the `add`, `remove`, or `replace` operations. For examples and more information on the SCIM operations format, see the [SCIM specification](https://tools.ietf.org/html/rfc7644#section-3.5.2).\n\n**Note:** Complicated SCIM `path` selectors that include filters are not supported. For example, a `path` selector defined as `\"path\": \"emails[type eq \\\"work\\\"]\"` will not work.\n\n**Warning:** Setting `active: false` will suspend a user and obfuscate the user handle and user email. Since the implementation is a generic SCIM implementation and does not differentiate yet between different IdP providers, for Okta, the user GDPR data will not be purged and the credentials will not be removed.\n```\n{\n \"Operations\":[{\n \"op\":\"replace\",\n \"value\":{\n \"active\":false\n }\n }]\n}\n```", "operationId": "enterprise-admin/update-attribute-for-enterprise-user", "tags": [ "enterprise-admin" @@ -396568,48 +400869,101 @@ "application/json": { "schema": { "type": "object", + "required": [ + "Operations", + "schemas" + ], "properties": { - "schemas": { - "type": "array", - "description": "The SCIM schema URIs.", - "items": { - "type": "string" - } - }, "Operations": { "type": "array", - "description": "Array of [SCIM operations](https://tools.ietf.org/html/rfc7644#section-3.5.2).", + "description": "patch operations list", "items": { - "type": "object" + "type": "object", + "required": [ + "op" + ], + "properties": { + "op": { + "type": "string", + "enum": [ + "add", + "replace", + "remove" + ] + }, + "path": { + "type": "string" + }, + "value": { + "type": "string", + "description": "Corresponding 'value' of that field specified by 'path'" + } + } + } + }, + "schemas": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:api:messages:2.0:PatchOp" + ] } } - }, - "required": [ - "schemas", - "Operations" - ] + } }, "examples": { - "default": { + "userMultiValuedProperties": { + "summary": "Multi Valued Property", "value": { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { - "op": "add", - "path": "emails", - "value": [ - { - "value": "monalisa@octocat.github.com", - "type": "home" - } - ] + "op": "replace", + "path": "emails[type eq 'work'].value", + "value": "updatedEmail@microsoft.com" }, { "op": "replace", - "path": "name.givenName", - "value": "Monalisa" + "path": "name.familyName", + "value": "updatedFamilyName" + } + ] + } + }, + "userSingleValuedProperties": { + "summary": "Single Valued Property", + "value": { + "schemas": [ + "urn:ietf:params:scim:api:messages:2.0:PatchOp" + ], + "Operations": [ + { + "op": "replace", + "path": "userName", + "value": "5b50642d-79fc-4410-9e90-4c077cdd1a59@testuser.com" + }, + { + "op": "replace", + "path": "displayName", + "value": "Monalisa Octocat" + } + ] + } + }, + "disableUser": { + "summary": "Disable User", + "value": { + "schemas": [ + "urn:ietf:params:scim:api:messages:2.0:PatchOp" + ], + "Operations": [ + { + "op": "replace", + "path": "active", + "value": false } ] } @@ -396620,127 +400974,638 @@ }, "responses": { "200": { - "description": "Response", + "description": "Success, user was updated", "content": { "application/json": { "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "schemas", + "externalId", + "userName", + "active", + "displayName", + "emails" + ], + "properties": { + "schemas": { + "type": "array", + "description": "The URIs that are used to indicate the namespaces of the SCIM schemas.", + "items": { + "type": "string", + "enum": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "examples": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ] + }, + "externalId": { + "type": "string", + "description": "A unique identifier for the resource as defined by the provisioning client.", + "examples": [ + "E012345" + ] + }, + "active": { + "type": "boolean", + "description": "Whether the user active in the IdP.", + "examples": [ + true + ] + }, + "userName": { + "type": "string", + "description": "The username for the user.", + "examples": [ + "E012345" + ] + }, + "name": { + "type": "object", + "required": [ + "familyName", + "givenName" + ], + "properties": { + "formatted": { + "type": "string", + "description": "The full name, including all middle names, titles, and suffixes as appropriate, formatted for display.", + "examples": [ + "Ms. Mona Lisa Octocat" + ] + }, + "familyName": { + "type": "string", + "description": "The family name of the user.", + "examples": [ + "Octocat" + ] + }, + "givenName": { + "type": "string", + "description": "The given name of the user.", + "examples": [ + "Mona" + ] + }, + "middleName": { + "type": "string", + "description": "The middle name(s) of the user.", + "examples": [ + "Lisa" + ] + } + } + }, + "displayName": { + "type": "string", + "description": "A human-readable name for the user.", + "examples": [ + "Mona Lisa" + ] + }, + "emails": { + "type": "array", + "description": "The emails for the user.", + "items": { + "type": "object", + "required": [ + "value", + "type", + "primary" + ], + "properties": { + "value": { + "type": "string", + "description": "The email address.", + "examples": [ + "mlisa@example.com" + ] + }, + "type": { + "type": "string", + "description": "The type of email address.", + "examples": [ + "work" + ] + }, + "primary": { + "type": "boolean", + "description": "Whether this email address is the primary address.", + "examples": [ + true + ] + } + } + } + }, + "roles": { + "type": "array", + "description": "The roles assigned to the user.", + "items": { + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string", + "description": "The role value representing a user role in GitHub.", + "enum": [ + "User", + "Enterprise Owner" + ], + "examples": [ + "User" + ] + }, + "primary": { + "type": "boolean", + "description": "Is the role a primary role for the user.", + "examples": [ + false + ] + } + } + } + } + } + }, + { + "type": "object", + "required": [ + "id", + "meta" + ], + "properties": { + "id": { + "type": "string", + "description": "The internally generated id for the user object.", + "examples": [ + "7fce0092-d52e-4f76-b727-3955bd72c939" + ] + }, + "groups": { + "type": "array", + "description": "Provisioned SCIM groups that the user is a member of." + }, + "meta": { + "type": "object", + "description": "The metadata associated with the creation/updates to the user.", + "required": [ + "resourceType" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "A type of a resource", + "enum": [ + "User", + "Group" + ], + "examples": [ + "User" + ] + }, + "created": { + "type": "string", + "description": "A date and time when the user was created.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "lastModified": { + "type": "string", + "description": "A data and time when the user was last modified.", + "examples": [ + "2022-03-27T19:59:26.000Z" + ] + }, + "location": { + "type": "string", + "description": "A URL location of an object" + } + } + } + } + } + ] + }, + "examples": { + "userMultiValuedProperties": { + "value": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ], + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", + "externalId": "E012345", + "active": true, + "userName": "E012345", + "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", + "givenName": "Mona", + "middleName": "Lisa" + }, + "displayName": "Mona Lisa", + "emails": [ + { + "value": "mlisa@example.com", + "type": "work", + "primary": true + } + ], + "roles": [ + { + "value": "User", + "primary": false + } + ], + "meta": { + "resourceType": "User", + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Users/7fce0092-d52e-4f76-b727-3955bd72c939" + } + } + }, + "userSingleValuedProperties": { + "value": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ], + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", + "externalId": "E012345", + "active": true, + "userName": "E012345", + "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", + "givenName": "Mona", + "middleName": "Lisa" + }, + "displayName": "Mona Lisa", + "emails": [ + { + "value": "mlisa@example.com", + "type": "work", + "primary": true + } + ], + "roles": [ + { + "value": "User", + "primary": false + } + ], + "meta": { + "resourceType": "User", + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Users/7fce0092-d52e-4f76-b727-3955bd72c939" + } + } + }, + "disableUser": { + "value": { + "schemas": [ + "urn:ietf:params:scim:schemas:core:2.0:User" + ], + "id": "7fce0092-d52e-4f76-b727-3955bd72c939", + "externalId": "E012345", + "active": true, + "userName": "E012345", + "name": { + "formatted": "Ms. Mona Lisa Octocat", + "familyName": "Octocat", + "givenName": "Mona", + "middleName": "Lisa" + }, + "displayName": "Mona Lisa", + "emails": [ + { + "value": "mlisa@example.com", + "type": "work", + "primary": true + } + ], + "roles": [ + { + "value": "User", + "primary": false + } + ], + "meta": { + "resourceType": "User", + "created": "2012-03-27T19:59:26.000Z", + "lastModified": "2018-03-27T19:59:26.000Z", + "location": "https://api.github.localhost/scim/v2/Users/7fce0092-d52e-4f76-b727-3955bd72c939" + } + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", "type": "object", "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, "schemas": { "type": "array", "items": { "type": "string" } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] }, - "id": { - "type": "string" + "documentation_url": { + "type": [ + "string", + "null" + ] }, - "externalId": { - "type": "string" + "detail": { + "type": [ + "string", + "null" + ] }, - "userName": { - "type": "string" + "status": { + "type": "integer" }, - "name": { - "type": "object", - "properties": { - "givenName": { - "type": "string" - }, - "familyName": { - "type": "string" - } - } + "scimType": { + "type": [ + "string", + "null" + ] }, - "emails": { + "schemas": { "type": "array", "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - }, - "type": { - "type": "string" - }, - "primary": { - "type": "boolean" - } - } - } - }, - "groups": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - } - } - }, - "active": { - "type": "boolean" - }, - "meta": { - "type": "object", - "properties": { - "resourceType": { - "type": "string" - }, - "created": { - "type": "string" - }, - "lastModified": { - "type": "string" - }, - "location": { - "type": "string" - } + "type": "string" } } - }, - "required": [ - "schemas", - "id" - ] - }, - "examples": { - "default": { - "value": { - "schemas": [ - "urn:ietf:params:scim:schemas:core:2.0:User" - ], - "id": "92b58aaa-a1d6-11ea-8227-b9ce9e023ccc", - "externalId": "00dowz5dr9oSfDFRA0h7", - "userName": "mona.octocat@okta.example.com", - "name": { - "givenName": "Monalisa", - "familyName": "Octocat" - }, - "emails": [ - { - "value": "mona.octocat@okta.example.com", - "type": "work", - "primary": true - }, - { - "value": "monalisa@octocat.github.com", - "type": "home" - } - ], - "groups": [ - { - "value": "468dd3fa-a1d6-11ea-9031-15a1f0d7811d" - } - ], - "active": true, - "meta": { - "resourceType": "User", - "created": "2017-03-09T16:11:13-05:00", - "lastModified": "2017-03-09T16:11:13-05:00", - "location": "https://api.github.com/scim/v2/enterprises/octo-corp/Users/92b58aaa-a1d6-11ea-8227-b9ce9e023ccc" + } + } + } + } + }, + "401": { + "description": "Authorization failure" + }, + "403": { + "description": "Permission denied" + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "409": { + "description": "Duplicate record detected" + }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" } } } @@ -396758,7 +401623,7 @@ }, "delete": { "summary": "Delete a SCIM user from an enterprise", - "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in beta and are subject to change.", + "description": "**Note:** The SCIM API endpoints for enterprise accounts are currently in *private* beta and are subject to change.\n\nPermanently suspends a SCIM user from an enterprise, removes all data for the user, obfuscates the login, email, and display name of the user, removes all external-identity SCIM attributes, and deletes the emails, avatar, PATs, SSH keys, OAuth authorizations credentials, GPG keys, and SAML mappings for the user. You will not be able to undo this action.", "operationId": "enterprise-admin/delete-user-from-enterprise", "tags": [ "enterprise-admin" @@ -396789,7 +401654,306 @@ ], "responses": { "204": { - "description": "Response" + "description": "User was deleted, no content" + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "401": { + "description": "Authorization failure" + }, + "403": { + "description": "Permission denied" + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "429": { + "description": "Too many requests", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "500": { + "description": "Internal server error", + "content": { + "application/json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "application/scim+json": { + "schema": { + "title": "Scim Error", + "description": "Scim Error", + "type": "object", + "properties": { + "message": { + "type": [ + "string", + "null" + ] + }, + "documentation_url": { + "type": [ + "string", + "null" + ] + }, + "detail": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": "integer" + }, + "scimType": { + "type": [ + "string", + "null" + ] + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } } }, "x-github": { @@ -441686,6 +446850,17 @@ "name" ], "type": "object" + }, + "examples": { + "default": { + "value": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } + } } } } diff --git a/lib/rest/static/dereferenced/github.ae.deref.json b/lib/rest/static/dereferenced/github.ae.deref.json index 4ff820fb5e..f73cdc0ee7 100644 --- a/lib/rest/static/dereferenced/github.ae.deref.json +++ b/lib/rest/static/dereferenced/github.ae.deref.json @@ -200536,6 +200536,15 @@ "description": "Optional parameter to specify the organization name if forking into an organization." } } + }, + "examples": { + "default": { + "value": { + "organization": "octocat", + "name": "Hello-World", + "default_branch_only": true + } + } } } } @@ -314993,7 +315002,7 @@ }, "merge_method": { "type": "string", - "description": "Merge method to use. Possible values are `merge`, `squash` or `rebase`. Default is `merge`.", + "description": "The merge method to use.", "enum": [ "merge", "squash", @@ -315001,6 +315010,14 @@ ] } } + }, + "examples": { + "response-if-merge-was-successful": { + "value": { + "commit_title": "Expand enum", + "commit_message": "Add a new value to the merge_method enum" + } + } } } } @@ -342454,6 +342471,14 @@ "description": "Determines if all notifications should be blocked from this repository." } } + }, + "examples": { + "default": { + "value": { + "subscribed": true, + "ignored": false + } + } } } } @@ -386544,6 +386569,17 @@ "name" ], "type": "object" + }, + "examples": { + "default": { + "value": { + "name": "Hello-World", + "description": "This is your first repo!", + "homepage": "https://github.com", + "private": false, + "is_template": true + } + } } } }