Open
Description
Schema Inaccuracy
When retrieving a repository that is unavailable for legal reasons (e.g. a DMCA takedown request), the GitHub API responds with an HTTP status "451 Unavailable For Legal Reasons" and a response body such as:
{
"message": "Repository access blocked",
"block": {
"reason": "dmca",
"created_at": "2021-04-22T17:53:56Z",
"html_url": "https://github.com/github/dmca/blob/master/2021/04/2021-04-20-ultimate-character-controller.md"
}
}
This response code and error body are not described in the schema.
Relevant schema excerpt:
"/repos/{owner}/{repo}":
get:
summary: Get a repository
description: |-
The `parent` and `source` objects are present when the repository is a fork. `parent` is the repository this repository was forked from, `source` is the ultimate source for the network.
**Note:** In order to see the `security_and_analysis` block for a repository you must have admin permissions for the repository or be an owner or security manager for the organization that owns the repository. For more information, see "[Managing security managers in your organization](https://docs.github.com/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)."
tags:
- repos
operationId: repos/get
externalDocs:
description: API method documentation
url: https://docs.github.com/rest/repos/repos#get-a-repository
parameters:
- "$ref": "#/components/parameters/owner"
- "$ref": "#/components/parameters/repo"
responses:
'200':
description: Response
content:
application/json:
schema:
"$ref": "#/components/schemas/full-repository"
examples:
default-response:
"$ref": "#/components/examples/full-repository-default-response"
'403':
"$ref": "#/components/responses/forbidden"
'404':
"$ref": "#/components/responses/not_found"
'301':
"$ref": "#/components/responses/moved_permanently"
Expected
Expected a 451 response description for "Get a repository".
Reproduction Steps
gh api --verbose /repositories/239386228