@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api GitHub v3 REST API
@base {protocol}://{hostname}/api/v3
@version 1.1.4
@auth ApiKey access_token in path
@endpoints 725
@hint download_for_search
@toc root(1), admin(33), app(12), app-manifests(1), applications(12), apps(1), authorizations(7), codes_of_conduct(2), emojis(1), enterprise(15), enterprises(28), events(1), feeds(1), gists(19), gitignore(2), installation(2), issues(1), licenses(2), markdown(2), meta(1), networks(1), notifications(7), octocat(1), organizations(1), orgs(110), projects(19), rate_limit(1), reactions(1), repos(318), repositories(6), search(7), setup(11), teams(33), user(40), users(24), zen(1)

@group root
@endpoint GET /
@returns(200) {current_user_url: str(uri-template), current_user_authorizations_html_url: str(uri-template), authorizations_url: str(uri-template), code_search_url: str(uri-template), commit_search_url: str(uri-template), emails_url: str(uri-template), emojis_url: str(uri-template), events_url: str(uri-template), feeds_url: str(uri-template), followers_url: str(uri-template), following_url: str(uri-template), gists_url: str(uri-template), hub_url: str(uri-template), issue_search_url: str(uri-template), issues_url: str(uri-template), keys_url: str(uri-template), label_search_url: str(uri-template), notifications_url: str(uri-template), organization_url: str(uri-template), organization_repositories_url: str(uri-template), organization_teams_url: str(uri-template), public_gists_url: str(uri-template), rate_limit_url: str(uri-template), repository_url: str(uri-template), repository_search_url: str(uri-template), current_user_repositories_url: str(uri-template), starred_url: str(uri-template), starred_gists_url: str(uri-template), topic_search_url: str(uri-template), user_url: str(uri-template), user_organizations_url: str(uri-template), user_repositories_url: str(uri-template), user_search_url: str(uri-template)}

@endgroup

@group admin
@endpoint GET /admin/hooks
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /admin/hooks
@required {name: str, config: map{url!: str, content_type: str, secret: str, insecure_ssl: str}}
@optional {events: [str], active: bool=true}
@returns(201) {type: str, id: int, name: str, active: bool, events: [str], config: map{url: str, content_type: str, insecure_ssl: str, secret: str}, updated_at: str, created_at: str, url: str, ping_url: str}

@endpoint GET /admin/hooks/{hook_id}
@required {hook_id: int}
@returns(200) {type: str, id: int, name: str, active: bool, events: [str], config: map{url: str, content_type: str, insecure_ssl: str, secret: str}, updated_at: str, created_at: str, url: str, ping_url: str}

@endpoint PATCH /admin/hooks/{hook_id}
@required {hook_id: int}
@optional {config: map{url!: str, content_type: str, secret: str, insecure_ssl: str}, events: [str], active: bool=true}
@returns(200) {type: str, id: int, name: str, active: bool, events: [str], config: map{url: str, content_type: str, insecure_ssl: str}, updated_at: str, created_at: str, url: str, ping_url: str}

@endpoint DELETE /admin/hooks/{hook_id}
@required {hook_id: int}
@returns(204)

@endpoint POST /admin/hooks/{hook_id}/pings
@required {hook_id: int}
@returns(204)

@endpoint GET /admin/keys
@optional {per_page: int=30, page: int=1, direction: str(asc/desc)=desc, sort: str(created/updated/accessed)=created, since: str}
@returns(200)

@endpoint DELETE /admin/keys/{key_ids}
@required {key_ids: str}
@returns(204)

@endpoint PATCH /admin/ldap/teams/{team_id}/mapping
@required {team_id: int, ldap_dn: str}
@returns(200) {ldap_dn: str, id: int, node_id: str, url: str, html_url: str, name: str, slug: str, description: str?, privacy: str, permission: str, members_url: str, repositories_url: str, parent: any?}

@endpoint POST /admin/ldap/teams/{team_id}/sync
@required {team_id: int}
@returns(201) {status: str}

@endpoint PATCH /admin/ldap/users/{username}/mapping
@required {username: str, ldap_dn: str}
@returns(200) {ldap_dn: str, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, name: str?, company: str?, blog: str?, location: str?, email: str(email)?, hireable: bool?, bio: str?, twitter_username: str?, public_repos: int, public_gists: int, followers: int, following: int, created_at: str(date-time), updated_at: str(date-time), private_gists: int, total_private_repos: int, owned_private_repos: int, disk_usage: int, collaborators: int, two_factor_authentication: bool, plan: map{collaborators: int, name: str, space: int, private_repos: int}, suspended_at: str(date-time)?, business_plus: bool}

@endpoint POST /admin/ldap/users/{username}/sync
@required {username: str}
@returns(201) {status: str}

@endpoint POST /admin/organizations
@required {login: str, admin: str}
@optional {profile_name: str}
@returns(201) {login: str, id: int, node_id: str, url: str(uri), repos_url: str(uri), events_url: str(uri), hooks_url: str, issues_url: str, members_url: str, public_members_url: str, avatar_url: str, description: str?}

@endpoint PATCH /admin/organizations/{org}
@required {org: str, login: str}
@returns(202) {message: str, url: str}

@endpoint GET /admin/pre-receive-environments
@optional {per_page: int=30, page: int=1, direction: str(asc/desc)=desc, sort: str(created/updated/name)=created}
@returns(200)

@endpoint POST /admin/pre-receive-environments
@required {name: str, image_url: str}
@returns(201) {id: int, name: str, image_url: str, url: str, html_url: str, default_environment: bool, created_at: str, hooks_count: int, download: map{url: str, state: str, downloaded_at: str?, message: str?}}

@endpoint GET /admin/pre-receive-environments/{pre_receive_environment_id}
@required {pre_receive_environment_id: int}
@returns(200) {id: int, name: str, image_url: str, url: str, html_url: str, default_environment: bool, created_at: str, hooks_count: int, download: map{url: str, state: str, downloaded_at: str?, message: str?}}

@endpoint PATCH /admin/pre-receive-environments/{pre_receive_environment_id}
@required {pre_receive_environment_id: int}
@optional {name: str, image_url: str}
@returns(200) {id: int, name: str, image_url: str, url: str, html_url: str, default_environment: bool, created_at: str, hooks_count: int, download: map{url: str, state: str, downloaded_at: str?, message: str?}}
@errors {422}

@endpoint DELETE /admin/pre-receive-environments/{pre_receive_environment_id}
@required {pre_receive_environment_id: int}
@returns(204)
@errors {422}

@endpoint POST /admin/pre-receive-environments/{pre_receive_environment_id}/downloads
@required {pre_receive_environment_id: int}
@returns(202) {url: str, state: str, downloaded_at: str?, message: str?}
@errors {422}

@endpoint GET /admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest
@required {pre_receive_environment_id: int}
@returns(200) {url: str, state: str, downloaded_at: str?, message: str?}

@endpoint GET /admin/pre-receive-hooks
@optional {per_page: int=30, page: int=1, direction: str(asc/desc)=desc, sort: str(created/updated/name)=created}
@returns(200)

@endpoint POST /admin/pre-receive-hooks
@required {name: str, script: str, script_repository: map{}, environment: map{}}
@optional {enforcement: str, allow_downstream_configuration: bool}
@returns(201) {id: int, name: str, enforcement: str, script: str, script_repository: map{id: int, full_name: str, url: str, html_url: str}, environment: map{id: int, name: str, image_url: str, url: str, html_url: str, default_environment: bool, created_at: str, hooks_count: int, download: map{url: str, state: str, downloaded_at: str?, message: str?}}, allow_downstream_configuration: bool}

@endpoint GET /admin/pre-receive-hooks/{pre_receive_hook_id}
@required {pre_receive_hook_id: int}
@returns(200) {id: int, name: str, enforcement: str, script: str, script_repository: map{id: int, full_name: str, url: str, html_url: str}, environment: map{id: int, name: str, image_url: str, url: str, html_url: str, default_environment: bool, created_at: str, hooks_count: int, download: map{url: str, state: str, downloaded_at: str?, message: str?}}, allow_downstream_configuration: bool}

@endpoint PATCH /admin/pre-receive-hooks/{pre_receive_hook_id}
@required {pre_receive_hook_id: int}
@optional {name: str, script: str, script_repository: map{}, environment: map{}, enforcement: str, allow_downstream_configuration: bool}
@returns(200) {id: int, name: str, enforcement: str, script: str, script_repository: map{id: int, full_name: str, url: str, html_url: str}, environment: map{id: int, name: str, image_url: str, url: str, html_url: str, default_environment: bool, created_at: str, hooks_count: int, download: map{url: str, state: str, downloaded_at: str?, message: str?}}, allow_downstream_configuration: bool}

@endpoint DELETE /admin/pre-receive-hooks/{pre_receive_hook_id}
@required {pre_receive_hook_id: int}
@returns(204)

@endpoint GET /admin/tokens
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint DELETE /admin/tokens/{token_id}
@required {token_id: int}
@returns(204)

@endpoint POST /admin/users
@required {login: str}
@optional {email: str}
@returns(201) {name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}

@endpoint PATCH /admin/users/{username}
@required {username: str, login: str}
@returns(202) {message: str, url: str}

@endpoint DELETE /admin/users/{username}
@required {username: str}
@returns(204)

@endpoint POST /admin/users/{username}/authorizations
@required {username: str, scopes: [str]}
@returns(200) {id: int, url: str(uri), scopes: [str]?, token: str, token_last_eight: str?, hashed_token: str?, app: map{client_id: str, name: str, url: str(uri)}, note: str?, note_url: str(uri)?, updated_at: str(date-time), created_at: str(date-time), fingerprint: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, installation: map?{permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], repositories_url: str(uri), account: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, expires_at: str(date-time)?}
@returns(201) {id: int, url: str(uri), scopes: [str]?, token: str, token_last_eight: str?, hashed_token: str?, app: map{client_id: str, name: str, url: str(uri)}, note: str?, note_url: str(uri)?, updated_at: str(date-time), created_at: str(date-time), fingerprint: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, installation: map?{permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], repositories_url: str(uri), account: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, expires_at: str(date-time)?}

@endpoint DELETE /admin/users/{username}/authorizations
@required {username: str}
@returns(204)

@endgroup

@group app
@endpoint GET /app
@returns(200) {id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}

@endgroup

@group app-manifests
@endpoint POST /app-manifests/{code}/conversions
@required {code: str}
@returns(201)
@errors {404, 422}

@endgroup

@group app
@endpoint GET /app/hook/config
@returns(200) {url: str(uri), content_type: str, secret: str, insecure_ssl: any}

@endpoint PATCH /app/hook/config
@optional {url: str(uri), content_type: str, secret: str, insecure_ssl: any}
@returns(200) {url: str(uri), content_type: str, secret: str, insecure_ssl: any}

@endpoint GET /app/hook/deliveries
@optional {per_page: int=30, cursor: str, redelivery: bool}
@returns(200)
@errors {400, 422}

@endpoint GET /app/hook/deliveries/{delivery_id}
@required {delivery_id: int}
@returns(200) {id: int, guid: str, delivered_at: str(date-time), redelivery: bool, duration: num, status: str, status_code: int, event: str, action: str?, installation_id: int?, repository_id: int?, url: str, request: map{headers: map?, payload: map?}, response: map{headers: map?, payload: str?}}
@errors {400, 422}

@endpoint POST /app/hook/deliveries/{delivery_id}/attempts
@required {delivery_id: int}
@returns(202)
@errors {400, 422}

@endpoint GET /app/installations
@optional {per_page: int=30, page: int=1, since: str(date-time), outdated: str}
@returns(200)

@endpoint GET /app/installations/{installation_id}
@required {installation_id: int}
@returns(200) {id: int, account: any?, repository_selection: str, access_tokens_url: str(uri), repositories_url: str(uri), html_url: str(uri), app_id: int, target_id: int, target_type: str, permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, events: [str], created_at: str(date-time), updated_at: str(date-time), single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], app_slug: str, suspended_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, suspended_at: str(date-time)?, contact_email: str?}
@errors {404}

@endpoint DELETE /app/installations/{installation_id}
@required {installation_id: int}
@returns(204)
@errors {404}

@endpoint POST /app/installations/{installation_id}/access_tokens
@required {installation_id: int}
@optional {repositories: [str], repository_ids: [int], permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}}
@returns(201) {token: str, expires_at: str, permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, repositories: [map], single_file: str, has_multiple_single_files: bool, single_file_paths: [str]}
@errors {401, 403, 404, 422}

@endpoint PUT /app/installations/{installation_id}/suspended
@required {installation_id: int}
@returns(204)
@errors {404}

@endpoint DELETE /app/installations/{installation_id}/suspended
@required {installation_id: int}
@returns(204)
@errors {404}

@endgroup

@group applications
@endpoint GET /applications/grants
@optional {per_page: int=30, page: int=1, client_id: str}
@returns(200)
@errors {304, 401, 403, 404}

@endpoint GET /applications/grants/{grant_id}
@required {grant_id: int}
@returns(200) {id: int, url: str(uri), app: map{client_id: str, name: str, url: str(uri)}, created_at: str(date-time), updated_at: str(date-time), scopes: [str], user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}
@errors {304, 401, 403}

@endpoint DELETE /applications/grants/{grant_id}
@required {grant_id: int}
@returns(204)
@errors {304, 401, 403}

@endpoint DELETE /applications/{client_id}/grant
@required {client_id: str, access_token: str}
@returns(204)
@errors {422}

@endpoint DELETE /applications/{client_id}/grants/{access_token}
@required {client_id: str, access_token: str}
@returns(204)

@endpoint POST /applications/{client_id}/token
@required {client_id: str, access_token: str}
@returns(200) {id: int, url: str(uri), scopes: [str]?, token: str, token_last_eight: str?, hashed_token: str?, app: map{client_id: str, name: str, url: str(uri)}, note: str?, note_url: str(uri)?, updated_at: str(date-time), created_at: str(date-time), fingerprint: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, installation: map?{permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], repositories_url: str(uri), account: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, expires_at: str(date-time)?}
@errors {404, 422}

@endpoint PATCH /applications/{client_id}/token
@required {client_id: str, access_token: str}
@returns(200) {id: int, url: str(uri), scopes: [str]?, token: str, token_last_eight: str?, hashed_token: str?, app: map{client_id: str, name: str, url: str(uri)}, note: str?, note_url: str(uri)?, updated_at: str(date-time), created_at: str(date-time), fingerprint: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, installation: map?{permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], repositories_url: str(uri), account: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, expires_at: str(date-time)?}
@errors {422}

@endpoint DELETE /applications/{client_id}/token
@required {client_id: str, access_token: str}
@returns(204)
@errors {422}

@endpoint POST /applications/{client_id}/token/scoped
@required {client_id: str, access_token: str}
@optional {target: str, target_id: int, repositories: [str], repository_ids: [int], permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}}
@returns(200) {id: int, url: str(uri), scopes: [str]?, token: str, token_last_eight: str?, hashed_token: str?, app: map{client_id: str, name: str, url: str(uri)}, note: str?, note_url: str(uri)?, updated_at: str(date-time), created_at: str(date-time), fingerprint: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, installation: map?{permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], repositories_url: str(uri), account: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, expires_at: str(date-time)?}
@errors {401, 403, 404, 422}

@endpoint GET /applications/{client_id}/tokens/{access_token}
@required {client_id: str, access_token: str}
@returns(200) {id: int, url: str(uri), scopes: [str]?, token: str, token_last_eight: str?, hashed_token: str?, app: map{client_id: str, name: str, url: str(uri)}, note: str?, note_url: str(uri)?, updated_at: str(date-time), created_at: str(date-time), fingerprint: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, installation: map?{permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], repositories_url: str(uri), account: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, expires_at: str(date-time)?}
@errors {404}

@endpoint POST /applications/{client_id}/tokens/{access_token}
@required {client_id: str, access_token: str}
@returns(200) {id: int, url: str(uri), scopes: [str]?, token: str, token_last_eight: str?, hashed_token: str?, app: map{client_id: str, name: str, url: str(uri)}, note: str?, note_url: str(uri)?, updated_at: str(date-time), created_at: str(date-time), fingerprint: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, installation: map?{permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], repositories_url: str(uri), account: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, expires_at: str(date-time)?}

@endpoint DELETE /applications/{client_id}/tokens/{access_token}
@required {client_id: str, access_token: str}
@returns(204)

@endgroup

@group apps
@endpoint GET /apps/{app_slug}
@required {app_slug: str}
@returns(200) {id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}
@errors {403, 404}

@endgroup

@group authorizations
@endpoint GET /authorizations
@optional {per_page: int=30, page: int=1, client_id: str}
@returns(200)
@errors {304, 401, 403, 404}

@endpoint POST /authorizations
@optional {scopes: [str], note: str, note_url: str, client_id: str, client_secret: str, fingerprint: str}
@returns(201) {id: int, url: str(uri), scopes: [str]?, token: str, token_last_eight: str?, hashed_token: str?, app: map{client_id: str, name: str, url: str(uri)}, note: str?, note_url: str(uri)?, updated_at: str(date-time), created_at: str(date-time), fingerprint: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, installation: map?{permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], repositories_url: str(uri), account: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, expires_at: str(date-time)?}
@errors {304, 401, 403, 410, 422}

@endpoint PUT /authorizations/clients/{client_id}
@required {client_id: str, client_secret: str}
@optional {scopes: [str], note: str, note_url: str, fingerprint: str}
@returns(200) {id: int, url: str(uri), scopes: [str]?, token: str, token_last_eight: str?, hashed_token: str?, app: map{client_id: str, name: str, url: str(uri)}, note: str?, note_url: str(uri)?, updated_at: str(date-time), created_at: str(date-time), fingerprint: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, installation: map?{permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], repositories_url: str(uri), account: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, expires_at: str(date-time)?}
@returns(201) {id: int, url: str(uri), scopes: [str]?, token: str, token_last_eight: str?, hashed_token: str?, app: map{client_id: str, name: str, url: str(uri)}, note: str?, note_url: str(uri)?, updated_at: str(date-time), created_at: str(date-time), fingerprint: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, installation: map?{permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], repositories_url: str(uri), account: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, expires_at: str(date-time)?}
@errors {304, 401, 403, 422}

@endpoint PUT /authorizations/clients/{client_id}/{fingerprint}
@required {client_id: str, fingerprint: str, client_secret: str}
@optional {scopes: [str], note: str, note_url: str}
@returns(200) {id: int, url: str(uri), scopes: [str]?, token: str, token_last_eight: str?, hashed_token: str?, app: map{client_id: str, name: str, url: str(uri)}, note: str?, note_url: str(uri)?, updated_at: str(date-time), created_at: str(date-time), fingerprint: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, installation: map?{permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], repositories_url: str(uri), account: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, expires_at: str(date-time)?}
@returns(201) {id: int, url: str(uri), scopes: [str]?, token: str, token_last_eight: str?, hashed_token: str?, app: map{client_id: str, name: str, url: str(uri)}, note: str?, note_url: str(uri)?, updated_at: str(date-time), created_at: str(date-time), fingerprint: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, installation: map?{permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], repositories_url: str(uri), account: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, expires_at: str(date-time)?}
@errors {422}

@endpoint GET /authorizations/{authorization_id}
@required {authorization_id: int}
@returns(200) {id: int, url: str(uri), scopes: [str]?, token: str, token_last_eight: str?, hashed_token: str?, app: map{client_id: str, name: str, url: str(uri)}, note: str?, note_url: str(uri)?, updated_at: str(date-time), created_at: str(date-time), fingerprint: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, installation: map?{permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], repositories_url: str(uri), account: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, expires_at: str(date-time)?}
@errors {304, 401, 403}

@endpoint PATCH /authorizations/{authorization_id}
@required {authorization_id: int}
@optional {scopes: [str], add_scopes: [str], remove_scopes: [str], note: str, note_url: str, fingerprint: str}
@returns(200) {id: int, url: str(uri), scopes: [str]?, token: str, token_last_eight: str?, hashed_token: str?, app: map{client_id: str, name: str, url: str(uri)}, note: str?, note_url: str(uri)?, updated_at: str(date-time), created_at: str(date-time), fingerprint: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, installation: map?{permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, repository_selection: str, single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], repositories_url: str(uri), account: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, expires_at: str(date-time)?}
@errors {422}

@endpoint DELETE /authorizations/{authorization_id}
@required {authorization_id: int}
@returns(204)
@errors {304, 401, 403}

@endgroup

@group codes_of_conduct
@endpoint GET /codes_of_conduct
@returns(200)
@errors {304}

@endpoint GET /codes_of_conduct/{key}
@required {key: str}
@returns(200) {key: str, name: str, url: str(uri), body: str, html_url: str(uri)?}
@errors {304, 404}

@endgroup

@group emojis
@endpoint GET /emojis
@returns(200)
@errors {304}

@endgroup

@group enterprise
@endpoint GET /enterprise/announcement
@returns(200) {announcement: str?, expires_at: str(date-time)?}

@endpoint PATCH /enterprise/announcement
@required {announcement: str}
@optional {expires_at: str(date-time)}
@returns(200) {announcement: str?, expires_at: str(date-time)?}

@endpoint DELETE /enterprise/announcement
@returns(204)

@endpoint GET /enterprise/settings/license
@returns(200) {seats: any, seats_used: int, seats_available: any, kind: str, days_until_expiration: int, expire_at: str}

@endpoint GET /enterprise/stats/all
@returns(200) {repos: map{total_repos: int, root_repos: int, fork_repos: int, org_repos: int, total_pushes: int, total_wikis: int}, hooks: map{total_hooks: int, active_hooks: int, inactive_hooks: int}, pages: map{total_pages: int}, orgs: map{total_orgs: int, disabled_orgs: int, total_teams: int, total_team_members: int}, users: map{total_users: int, admin_users: int, suspended_users: int}, pulls: map{total_pulls: int, merged_pulls: int, mergeable_pulls: int, unmergeable_pulls: int}, issues: map{total_issues: int, open_issues: int, closed_issues: int}, milestones: map{total_milestones: int, open_milestones: int, closed_milestones: int}, gists: map{total_gists: int, private_gists: int, public_gists: int}, comments: map{total_commit_comments: int, total_gist_comments: int, total_issue_comments: int, total_pull_request_comments: int}}

@endpoint GET /enterprise/stats/comments
@returns(200) {total_commit_comments: int, total_gist_comments: int, total_issue_comments: int, total_pull_request_comments: int}

@endpoint GET /enterprise/stats/gists
@returns(200) {total_gists: int, private_gists: int, public_gists: int}

@endpoint GET /enterprise/stats/hooks
@returns(200) {total_hooks: int, active_hooks: int, inactive_hooks: int}

@endpoint GET /enterprise/stats/issues
@returns(200) {total_issues: int, open_issues: int, closed_issues: int}

@endpoint GET /enterprise/stats/milestones
@returns(200) {total_milestones: int, open_milestones: int, closed_milestones: int}

@endpoint GET /enterprise/stats/orgs
@returns(200) {total_orgs: int, disabled_orgs: int, total_teams: int, total_team_members: int}

@endpoint GET /enterprise/stats/pages
@returns(200) {total_pages: int}

@endpoint GET /enterprise/stats/pulls
@returns(200) {total_pulls: int, merged_pulls: int, mergeable_pulls: int, unmergeable_pulls: int}

@endpoint GET /enterprise/stats/repos
@returns(200) {total_repos: int, root_repos: int, fork_repos: int, org_repos: int, total_pushes: int, total_wikis: int}

@endpoint GET /enterprise/stats/users
@returns(200) {total_users: int, admin_users: int, suspended_users: int}

@endgroup

@group enterprises
@endpoint GET /enterprises/{enterprise}/actions/permissions
@required {enterprise: str}
@returns(200) {enabled_organizations: str, selected_organizations_url: str, allowed_actions: str, selected_actions_url: str}

@endpoint PUT /enterprises/{enterprise}/actions/permissions
@required {enterprise: str, enabled_organizations: str(all/none/selected)}
@optional {allowed_actions: str(all/local_only/selected)}
@returns(204)

@endpoint GET /enterprises/{enterprise}/actions/permissions/organizations
@required {enterprise: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: num, organizations: [map]}

@endpoint PUT /enterprises/{enterprise}/actions/permissions/organizations
@required {enterprise: str, selected_organization_ids: [int]}
@returns(204)

@endpoint PUT /enterprises/{enterprise}/actions/permissions/organizations/{org_id}
@required {enterprise: str, org_id: int}
@returns(204)

@endpoint DELETE /enterprises/{enterprise}/actions/permissions/organizations/{org_id}
@required {enterprise: str, org_id: int}
@returns(204)

@endpoint GET /enterprises/{enterprise}/actions/permissions/selected-actions
@required {enterprise: str}
@returns(200) {github_owned_allowed: bool, patterns_allowed: [str]}

@endpoint PUT /enterprises/{enterprise}/actions/permissions/selected-actions
@required {enterprise: str, github_owned_allowed: bool, patterns_allowed: [str]}
@returns(204)

@endpoint GET /enterprises/{enterprise}/actions/runner-groups
@required {enterprise: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: num, runner_groups: [map]}

@endpoint POST /enterprises/{enterprise}/actions/runner-groups
@required {enterprise: str, name: str}
@optional {visibility: str(selected/all), selected_organization_ids: [int], runners: [int], allows_public_repositories: bool=false}
@returns(201) {id: num, name: str, visibility: str, default: bool, selected_organizations_url: str, runners_url: str, allows_public_repositories: bool}

@endpoint GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}
@required {enterprise: str, runner_group_id: int}
@returns(200) {id: num, name: str, visibility: str, default: bool, selected_organizations_url: str, runners_url: str, allows_public_repositories: bool}

@endpoint PATCH /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}
@required {enterprise: str, runner_group_id: int}
@optional {name: str, visibility: str(selected/all)=all, allows_public_repositories: bool=false}
@returns(200) {id: num, name: str, visibility: str, default: bool, selected_organizations_url: str, runners_url: str, allows_public_repositories: bool}

@endpoint DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}
@required {enterprise: str, runner_group_id: int}
@returns(204)

@endpoint GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations
@required {enterprise: str, runner_group_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: num, organizations: [map]}

@endpoint PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations
@required {enterprise: str, runner_group_id: int, selected_organization_ids: [int]}
@returns(204)

@endpoint PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}
@required {enterprise: str, runner_group_id: int, org_id: int}
@returns(204)

@endpoint DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}
@required {enterprise: str, runner_group_id: int, org_id: int}
@returns(204)

@endpoint GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners
@required {enterprise: str, runner_group_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: num, runners: [map]}

@endpoint PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners
@required {enterprise: str, runner_group_id: int, runners: [int]}
@returns(204)

@endpoint PUT /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
@required {enterprise: str, runner_group_id: int, runner_id: int}
@returns(204)

@endpoint DELETE /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
@required {enterprise: str, runner_group_id: int, runner_id: int}
@returns(204)

@endpoint GET /enterprises/{enterprise}/actions/runners
@required {enterprise: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: num, runners: [map]}

@endpoint GET /enterprises/{enterprise}/actions/runners/downloads
@required {enterprise: str}
@returns(200)

@endpoint POST /enterprises/{enterprise}/actions/runners/registration-token
@required {enterprise: str}
@returns(201) {token: str, expires_at: str(date-time), permissions: map, repositories: [map], single_file: str?, repository_selection: str}

@endpoint POST /enterprises/{enterprise}/actions/runners/remove-token
@required {enterprise: str}
@returns(201) {token: str, expires_at: str(date-time), permissions: map, repositories: [map], single_file: str?, repository_selection: str}

@endpoint GET /enterprises/{enterprise}/actions/runners/{runner_id}
@required {enterprise: str, runner_id: int}
@returns(200) {id: int, name: str, os: str, status: str, busy: bool, labels: [map]}

@endpoint DELETE /enterprises/{enterprise}/actions/runners/{runner_id}
@required {enterprise: str, runner_id: int}
@returns(204)

@endpoint GET /enterprises/{enterprise}/audit-log
@required {enterprise: str}
@optional {phrase: str, after: str, before: str, order: str(desc/asc), page: int=1, per_page: int=30}
@returns(200)

@endgroup

@group events
@endpoint GET /events
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 403, 503}

@endgroup

@group feeds
@endpoint GET /feeds
@returns(200) {timeline_url: str, user_url: str, current_user_public_url: str, current_user_url: str, current_user_actor_url: str, current_user_organization_url: str, current_user_organization_urls: [str(uri)], security_advisories_url: str, repository_discussions_url: str, repository_discussions_category_url: str, _links: map{timeline: map{href: str, type: str}, user: map{href: str, type: str}, security_advisories: map{href: str, type: str}, current_user: map{href: str, type: str}, current_user_public: map{href: str, type: str}, current_user_actor: map{href: str, type: str}, current_user_organization: map{href: str, type: str}, current_user_organizations: [map], repository_discussions: map{href: str, type: str}, repository_discussions_category: map{href: str, type: str}}, repository_discussions: map{href: str, type: str}, repository_discussions_category: map{href: str, type: str}}

@endgroup

@group gists
@endpoint GET /gists
@optional {since: str(date-time), per_page: int=30, page: int=1}
@returns(200)
@errors {304, 403}

@endpoint POST /gists
@required {files: map}
@optional {description: str, public: any}
@returns(201) {forks: [map]?, history: [map]?, fork_of: map?{url: str(uri), forks_url: str(uri), commits_url: str(uri), id: str, node_id: str, git_pull_url: str(uri), git_push_url: str(uri), html_url: str(uri), files: map, public: bool, created_at: str(date-time), updated_at: str(date-time), description: str?, comments: int, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, comments_url: str(uri), owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, truncated: bool, forks: [any], history: [any]}, url: str, forks_url: str, commits_url: str, id: str, node_id: str, git_pull_url: str, git_push_url: str, html_url: str, files: map, public: bool, created_at: str, updated_at: str, description: str?, comments: int, user: str?, comments_url: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, truncated: bool}
@errors {304, 403, 404, 422}

@endpoint GET /gists/public
@optional {since: str(date-time), per_page: int=30, page: int=1}
@returns(200)
@errors {304, 403, 422}

@endpoint GET /gists/starred
@optional {since: str(date-time), per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403}

@endpoint GET /gists/{gist_id}
@required {gist_id: str}
@returns(200) {forks: [map]?, history: [map]?, fork_of: map?{url: str(uri), forks_url: str(uri), commits_url: str(uri), id: str, node_id: str, git_pull_url: str(uri), git_push_url: str(uri), html_url: str(uri), files: map, public: bool, created_at: str(date-time), updated_at: str(date-time), description: str?, comments: int, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, comments_url: str(uri), owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, truncated: bool, forks: [any], history: [any]}, url: str, forks_url: str, commits_url: str, id: str, node_id: str, git_pull_url: str, git_push_url: str, html_url: str, files: map, public: bool, created_at: str, updated_at: str, description: str?, comments: int, user: str?, comments_url: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, truncated: bool}
@errors {304, 403, 404}

@endpoint PATCH /gists/{gist_id}
@required {gist_id: str}
@optional {description: str, files: map}
@returns(200) {forks: [map]?, history: [map]?, fork_of: map?{url: str(uri), forks_url: str(uri), commits_url: str(uri), id: str, node_id: str, git_pull_url: str(uri), git_push_url: str(uri), html_url: str(uri), files: map, public: bool, created_at: str(date-time), updated_at: str(date-time), description: str?, comments: int, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, comments_url: str(uri), owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, truncated: bool, forks: [any], history: [any]}, url: str, forks_url: str, commits_url: str, id: str, node_id: str, git_pull_url: str, git_push_url: str, html_url: str, files: map, public: bool, created_at: str, updated_at: str, description: str?, comments: int, user: str?, comments_url: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, truncated: bool}
@errors {404, 422}

@endpoint DELETE /gists/{gist_id}
@required {gist_id: str}
@returns(204)
@errors {304, 403, 404}

@endpoint GET /gists/{gist_id}/comments
@required {gist_id: str}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 403, 404}

@endpoint POST /gists/{gist_id}/comments
@required {gist_id: str, body: str}
@returns(201) {id: int, node_id: str, url: str(uri), body: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), author_association: str}
@errors {304, 403, 404}

@endpoint GET /gists/{gist_id}/comments/{comment_id}
@required {gist_id: str, comment_id: int}
@returns(200) {id: int, node_id: str, url: str(uri), body: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), author_association: str}
@errors {304, 403, 404}

@endpoint PATCH /gists/{gist_id}/comments/{comment_id}
@required {gist_id: str, comment_id: int, body: str}
@returns(200) {id: int, node_id: str, url: str(uri), body: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), author_association: str}
@errors {404}

@endpoint DELETE /gists/{gist_id}/comments/{comment_id}
@required {gist_id: str, comment_id: int}
@returns(204)
@errors {304, 403, 404}

@endpoint GET /gists/{gist_id}/commits
@required {gist_id: str}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 403, 404}

@endpoint GET /gists/{gist_id}/forks
@required {gist_id: str}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 403, 404}

@endpoint POST /gists/{gist_id}/forks
@required {gist_id: str}
@returns(201) {url: str(uri), forks_url: str(uri), commits_url: str(uri), id: str, node_id: str, git_pull_url: str(uri), git_push_url: str(uri), html_url: str(uri), files: map, public: bool, created_at: str(date-time), updated_at: str(date-time), description: str?, comments: int, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, comments_url: str(uri), owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, truncated: bool, forks: [any], history: [any]}
@errors {304, 403, 404, 422}

@endpoint GET /gists/{gist_id}/star
@required {gist_id: str}
@returns(204)
@errors {304, 403, 404}

@endpoint PUT /gists/{gist_id}/star
@required {gist_id: str}
@returns(204)
@errors {304, 403, 404}

@endpoint DELETE /gists/{gist_id}/star
@required {gist_id: str}
@returns(204)
@errors {304, 403, 404}

@endpoint GET /gists/{gist_id}/{sha}
@required {gist_id: str, sha: str}
@returns(200) {forks: [map]?, history: [map]?, fork_of: map?{url: str(uri), forks_url: str(uri), commits_url: str(uri), id: str, node_id: str, git_pull_url: str(uri), git_push_url: str(uri), html_url: str(uri), files: map, public: bool, created_at: str(date-time), updated_at: str(date-time), description: str?, comments: int, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, comments_url: str(uri), owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, truncated: bool, forks: [any], history: [any]}, url: str, forks_url: str, commits_url: str, id: str, node_id: str, git_pull_url: str, git_push_url: str, html_url: str, files: map, public: bool, created_at: str, updated_at: str, description: str?, comments: int, user: str?, comments_url: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, truncated: bool}
@errors {403, 404, 422}

@endgroup

@group gitignore
@endpoint GET /gitignore/templates
@returns(200)
@errors {304}

@endpoint GET /gitignore/templates/{name}
@required {name: str}
@returns(200) {name: str, source: str}
@errors {304}

@endgroup

@group installation
@endpoint GET /installation/repositories
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, repositories: [map], repository_selection: str}
@errors {304, 401, 403}

@endpoint DELETE /installation/token
@returns(204)

@endgroup

@group issues
@endpoint GET /issues
@optional {filter: str(assigned/created/mentioned/subscribed/repos/all)=assigned, state: str(open/closed/all)=open, labels: str, sort: str(created/updated/comments)=created, direction: str(asc/desc)=desc, since: str(date-time), collab: bool, orgs: bool, owned: bool, pulls: bool, per_page: int=30, page: int=1}
@returns(200)
@errors {304, 404, 422}

@endgroup

@group licenses
@endpoint GET /licenses
@optional {featured: bool, per_page: int=30, page: int=1}
@returns(200)
@errors {304}

@endpoint GET /licenses/{license}
@required {license: str}
@returns(200) {key: str, name: str, spdx_id: str?, url: str(uri)?, node_id: str, html_url: str(uri), description: str, implementation: str, permissions: [str], conditions: [str], limitations: [str], body: str, featured: bool}
@errors {304, 403, 404}

@endgroup

@group markdown
@endpoint POST /markdown
@required {text: str}
@optional {mode: str(markdown/gfm)=markdown, context: str}
@returns(200)
@errors {304}

@endpoint POST /markdown/raw
@returns(200)
@errors {304}

@endgroup

@group meta
@endpoint GET /meta
@returns(200) {verifiable_password_authentication: bool, packages: [str], dependabot: [str], installed_version: str}
@errors {304}

@endgroup

@group networks
@endpoint GET /networks/{owner}/{repo}/events
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {301, 304, 403, 404}

@endgroup

@group notifications
@endpoint GET /notifications
@optional {all: bool=false, participating: bool=false, since: str(date-time), before: str(date-time), page: int=1, per_page: int=50}
@returns(200)
@errors {304, 401, 403, 422}

@endpoint PUT /notifications
@optional {last_read_at: str(date-time), read: bool}
@returns(202) {message: str}
@returns(205)
@errors {304, 401, 403}

@endpoint GET /notifications/threads/{thread_id}
@required {thread_id: int}
@returns(200) {id: str, repository: map{id: int, node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str?, hooks_url: str(uri), svn_url: str, homepage: str?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, delete_branch_on_merge: bool, subscribers_count: int, network_count: int, code_of_conduct: map{key: str, name: str, url: str(uri), body: str, html_url: str(uri)?}, license: map?{key: str, name: str, spdx_id: str, url: str, node_id: str}, forks: int, open_issues: int, watchers: int, allow_forking: bool}, subject: map{title: str, url: str, latest_comment_url: str, type: str}, reason: str, unread: bool, updated_at: str, last_read_at: str?, url: str, subscription_url: str}
@errors {304, 401, 403}

@endpoint PATCH /notifications/threads/{thread_id}
@required {thread_id: int}
@returns(205)
@errors {304, 403}

@endpoint GET /notifications/threads/{thread_id}/subscription
@required {thread_id: int}
@returns(200) {subscribed: bool, ignored: bool, reason: str?, created_at: str(date-time)?, url: str(uri), thread_url: str(uri), repository_url: str(uri)}
@errors {304, 401, 403}

@endpoint PUT /notifications/threads/{thread_id}/subscription
@required {thread_id: int}
@optional {ignored: bool=false}
@returns(200) {subscribed: bool, ignored: bool, reason: str?, created_at: str(date-time)?, url: str(uri), thread_url: str(uri), repository_url: str(uri)}
@errors {304, 401, 403}

@endpoint DELETE /notifications/threads/{thread_id}/subscription
@required {thread_id: int}
@returns(204)
@errors {304, 401, 403}

@endgroup

@group octocat
@endpoint GET /octocat
@optional {s: str}
@returns(200)

@endgroup

@group organizations
@endpoint GET /organizations
@optional {since: int, per_page: int=30}
@returns(200)
@errors {304}

@endgroup

@group orgs
@endpoint GET /orgs/{org}
@required {org: str}
@returns(200) {login: str, id: int, node_id: str, url: str(uri), repos_url: str(uri), events_url: str(uri), hooks_url: str, issues_url: str, members_url: str, public_members_url: str, avatar_url: str, description: str?, name: str, company: str, blog: str(uri), location: str, email: str(email), twitter_username: str?, is_verified: bool, has_organization_projects: bool, has_repository_projects: bool, public_repos: int, public_gists: int, followers: int, following: int, html_url: str(uri), created_at: str(date-time), type: str, total_private_repos: int, owned_private_repos: int, private_gists: int?, disk_usage: int?, collaborators: int?, billing_email: str(email)?, plan: map{name: str, space: int, private_repos: int, filled_seats: int, seats: int}, default_repository_permission: str?, members_can_create_repositories: bool?, two_factor_requirement_enabled: bool?, members_allowed_repository_creation_type: str, members_can_create_public_repositories: bool, members_can_create_private_repositories: bool, members_can_create_internal_repositories: bool, members_can_create_pages: bool, members_can_create_public_pages: bool, members_can_create_private_pages: bool, updated_at: str(date-time)}
@errors {404}

@endpoint PATCH /orgs/{org}
@required {org: str}
@optional {billing_email: str, company: str, email: str, twitter_username: str, location: str, name: str, description: str, has_organization_projects: bool, has_repository_projects: bool, default_repository_permission: str(read/write/admin/none)=read, members_can_create_repositories: bool=true, members_can_create_internal_repositories: bool, members_can_create_private_repositories: bool, members_can_create_public_repositories: bool, members_allowed_repository_creation_type: str(all/private/none), members_can_create_pages: bool=true, blog: str}
@returns(200) {login: str, id: int, node_id: str, url: str(uri), repos_url: str(uri), events_url: str(uri), hooks_url: str, issues_url: str, members_url: str, public_members_url: str, avatar_url: str, description: str?, name: str, company: str, blog: str(uri), location: str, email: str(email), twitter_username: str?, is_verified: bool, has_organization_projects: bool, has_repository_projects: bool, public_repos: int, public_gists: int, followers: int, following: int, html_url: str(uri), created_at: str(date-time), type: str, total_private_repos: int, owned_private_repos: int, private_gists: int?, disk_usage: int?, collaborators: int?, billing_email: str(email)?, plan: map{name: str, space: int, private_repos: int, filled_seats: int, seats: int}, default_repository_permission: str?, members_can_create_repositories: bool?, two_factor_requirement_enabled: bool?, members_allowed_repository_creation_type: str, members_can_create_public_repositories: bool, members_can_create_private_repositories: bool, members_can_create_internal_repositories: bool, members_can_create_pages: bool, members_can_create_public_pages: bool, members_can_create_private_pages: bool, updated_at: str(date-time)}
@errors {409, 422}

@endpoint GET /orgs/{org}/actions/permissions
@required {org: str}
@returns(200) {enabled_repositories: str, selected_repositories_url: str, allowed_actions: str, selected_actions_url: str}

@endpoint PUT /orgs/{org}/actions/permissions
@required {org: str, enabled_repositories: str(all/none/selected)}
@optional {allowed_actions: str(all/local_only/selected)}
@returns(204)

@endpoint GET /orgs/{org}/actions/permissions/repositories
@required {org: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: num, repositories: [map]}

@endpoint PUT /orgs/{org}/actions/permissions/repositories
@required {org: str, selected_repository_ids: [int]}
@returns(204)

@endpoint PUT /orgs/{org}/actions/permissions/repositories/{repository_id}
@required {org: str, repository_id: int}
@returns(204)

@endpoint DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}
@required {org: str, repository_id: int}
@returns(204)

@endpoint GET /orgs/{org}/actions/permissions/selected-actions
@required {org: str}
@returns(200) {github_owned_allowed: bool, patterns_allowed: [str]}

@endpoint PUT /orgs/{org}/actions/permissions/selected-actions
@required {org: str, github_owned_allowed: bool, patterns_allowed: [str]}
@returns(204)

@endpoint GET /orgs/{org}/actions/runner-groups
@required {org: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: num, runner_groups: [map]}

@endpoint POST /orgs/{org}/actions/runner-groups
@required {org: str, name: str}
@optional {visibility: str(selected/all/private)=all, selected_repository_ids: [int], runners: [int], allows_public_repositories: bool=false}
@returns(201) {id: num, name: str, visibility: str, default: bool, selected_repositories_url: str, runners_url: str, inherited: bool, inherited_allows_public_repositories: bool, allows_public_repositories: bool}

@endpoint GET /orgs/{org}/actions/runner-groups/{runner_group_id}
@required {org: str, runner_group_id: int}
@returns(200) {id: num, name: str, visibility: str, default: bool, selected_repositories_url: str, runners_url: str, inherited: bool, inherited_allows_public_repositories: bool, allows_public_repositories: bool}

@endpoint PATCH /orgs/{org}/actions/runner-groups/{runner_group_id}
@required {org: str, runner_group_id: int, name: str}
@optional {visibility: str(selected/all/private), allows_public_repositories: bool=false}
@returns(200) {id: num, name: str, visibility: str, default: bool, selected_repositories_url: str, runners_url: str, inherited: bool, inherited_allows_public_repositories: bool, allows_public_repositories: bool}

@endpoint DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}
@required {org: str, runner_group_id: int}
@returns(204)

@endpoint GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories
@required {org: str, runner_group_id: int}
@optional {page: int=1, per_page: int=30}
@returns(200) {total_count: num, repositories: [map]}

@endpoint PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories
@required {org: str, runner_group_id: int, selected_repository_ids: [int]}
@returns(204)

@endpoint PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}
@required {org: str, runner_group_id: int, repository_id: int}
@returns(204)

@endpoint DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}
@required {org: str, runner_group_id: int, repository_id: int}
@returns(204)

@endpoint GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners
@required {org: str, runner_group_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: num, runners: [map]}

@endpoint PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners
@required {org: str, runner_group_id: int, runners: [int]}
@returns(204)

@endpoint PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
@required {org: str, runner_group_id: int, runner_id: int}
@returns(204)

@endpoint DELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
@required {org: str, runner_group_id: int, runner_id: int}
@returns(204)

@endpoint GET /orgs/{org}/actions/runners
@required {org: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, runners: [map]}

@endpoint GET /orgs/{org}/actions/runners/downloads
@required {org: str}
@returns(200)

@endpoint POST /orgs/{org}/actions/runners/registration-token
@required {org: str}
@returns(201) {token: str, expires_at: str(date-time), permissions: map, repositories: [map], single_file: str?, repository_selection: str}

@endpoint POST /orgs/{org}/actions/runners/remove-token
@required {org: str}
@returns(201) {token: str, expires_at: str(date-time), permissions: map, repositories: [map], single_file: str?, repository_selection: str}

@endpoint GET /orgs/{org}/actions/runners/{runner_id}
@required {org: str, runner_id: int}
@returns(200) {id: int, name: str, os: str, status: str, busy: bool, labels: [map]}

@endpoint DELETE /orgs/{org}/actions/runners/{runner_id}
@required {org: str, runner_id: int}
@returns(204)

@endpoint GET /orgs/{org}/actions/secrets
@required {org: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, secrets: [map]}

@endpoint GET /orgs/{org}/actions/secrets/public-key
@required {org: str}
@returns(200) {key_id: str, key: str, id: int, url: str, title: str, created_at: str}

@endpoint GET /orgs/{org}/actions/secrets/{secret_name}
@required {org: str, secret_name: str}
@returns(200) {name: str, created_at: str(date-time), updated_at: str(date-time), visibility: str, selected_repositories_url: str(uri)}

@endpoint PUT /orgs/{org}/actions/secrets/{secret_name}
@required {org: str, secret_name: str, visibility: str(all/private/selected)}
@optional {encrypted_value: str, key_id: str, selected_repository_ids: [int]}
@returns(201)
@returns(204)

@endpoint DELETE /orgs/{org}/actions/secrets/{secret_name}
@required {org: str, secret_name: str}
@returns(204)

@endpoint GET /orgs/{org}/actions/secrets/{secret_name}/repositories
@required {org: str, secret_name: str}
@optional {page: int=1, per_page: int=30}
@returns(200) {total_count: int, repositories: [map]}

@endpoint PUT /orgs/{org}/actions/secrets/{secret_name}/repositories
@required {org: str, secret_name: str, selected_repository_ids: [int]}
@returns(204)

@endpoint PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}
@required {org: str, secret_name: str, repository_id: int}
@returns(204)
@errors {409}

@endpoint DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}
@required {org: str, secret_name: str, repository_id: int}
@returns(204)
@errors {409}

@endpoint GET /orgs/{org}/audit-log
@required {org: str}
@optional {phrase: str, after: str, before: str, order: str(desc/asc), per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /orgs/{org}/events
@required {org: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /orgs/{org}/hooks
@required {org: str}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint POST /orgs/{org}/hooks
@required {org: str, name: str, config: map{url!: str(uri), content_type: str, secret: str, insecure_ssl: any, username: str, password: str}}
@optional {events: [str]=push, active: bool=true}
@returns(201) {id: int, url: str(uri), ping_url: str(uri), deliveries_url: str(uri), name: str, events: [str], active: bool, config: map{url: str, insecure_ssl: str, content_type: str, secret: str}, updated_at: str(date-time), created_at: str(date-time), type: str}
@errors {404, 422}

@endpoint GET /orgs/{org}/hooks/{hook_id}
@required {org: str, hook_id: int}
@returns(200) {id: int, url: str(uri), ping_url: str(uri), deliveries_url: str(uri), name: str, events: [str], active: bool, config: map{url: str, insecure_ssl: str, content_type: str, secret: str}, updated_at: str(date-time), created_at: str(date-time), type: str}
@errors {404}

@endpoint PATCH /orgs/{org}/hooks/{hook_id}
@required {org: str, hook_id: int}
@optional {config: map{url!: str(uri), content_type: str, secret: str, insecure_ssl: any}, events: [str]=push, active: bool=true, name: str}
@returns(200) {id: int, url: str(uri), ping_url: str(uri), deliveries_url: str(uri), name: str, events: [str], active: bool, config: map{url: str, insecure_ssl: str, content_type: str, secret: str}, updated_at: str(date-time), created_at: str(date-time), type: str}
@errors {404, 422}

@endpoint DELETE /orgs/{org}/hooks/{hook_id}
@required {org: str, hook_id: int}
@returns(204)
@errors {404}

@endpoint GET /orgs/{org}/hooks/{hook_id}/config
@required {org: str, hook_id: int}
@returns(200) {url: str(uri), content_type: str, secret: str, insecure_ssl: any}

@endpoint PATCH /orgs/{org}/hooks/{hook_id}/config
@required {org: str, hook_id: int}
@optional {url: str(uri), content_type: str, secret: str, insecure_ssl: any}
@returns(200) {url: str(uri), content_type: str, secret: str, insecure_ssl: any}

@endpoint GET /orgs/{org}/hooks/{hook_id}/deliveries
@required {org: str, hook_id: int}
@optional {per_page: int=30, cursor: str, redelivery: bool}
@returns(200)
@errors {400, 422}

@endpoint GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}
@required {org: str, hook_id: int, delivery_id: int}
@returns(200) {id: int, guid: str, delivered_at: str(date-time), redelivery: bool, duration: num, status: str, status_code: int, event: str, action: str?, installation_id: int?, repository_id: int?, url: str, request: map{headers: map?, payload: map?}, response: map{headers: map?, payload: str?}}
@errors {400, 422}

@endpoint POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts
@required {org: str, hook_id: int, delivery_id: int}
@returns(202)
@errors {400, 422}

@endpoint POST /orgs/{org}/hooks/{hook_id}/pings
@required {org: str, hook_id: int}
@returns(204)
@errors {404}

@endpoint GET /orgs/{org}/installation
@required {org: str}
@returns(200) {id: int, account: any?, repository_selection: str, access_tokens_url: str(uri), repositories_url: str(uri), html_url: str(uri), app_id: int, target_id: int, target_type: str, permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, events: [str], created_at: str(date-time), updated_at: str(date-time), single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], app_slug: str, suspended_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, suspended_at: str(date-time)?, contact_email: str?}

@endpoint GET /orgs/{org}/installations
@required {org: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, installations: [map]}

@endpoint GET /orgs/{org}/issues
@required {org: str}
@optional {filter: str(assigned/created/mentioned/subscribed/repos/all)=assigned, state: str(open/closed/all)=open, labels: str, sort: str(created/updated/comments)=created, direction: str(asc/desc)=desc, since: str(date-time), per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint GET /orgs/{org}/members
@required {org: str}
@optional {filter: str(2fa_disabled/all)=all, role: str(all/admin/member)=all, per_page: int=30, page: int=1}
@returns(200)
@errors {422}

@endpoint GET /orgs/{org}/members/{username}
@required {org: str, username: str}
@returns(204)
@errors {302, 404}

@endpoint DELETE /orgs/{org}/members/{username}
@required {org: str, username: str}
@returns(204)
@errors {403}

@endpoint GET /orgs/{org}/memberships/{username}
@required {org: str, username: str}
@returns(200) {url: str(uri), state: str, role: str, organization_url: str(uri), organization: map{login: str, id: int, node_id: str, url: str(uri), repos_url: str(uri), events_url: str(uri), hooks_url: str, issues_url: str, members_url: str, public_members_url: str, avatar_url: str, description: str?}, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, permissions: map{can_create_repository: bool}}
@errors {403, 404}

@endpoint PUT /orgs/{org}/memberships/{username}
@required {org: str, username: str}
@optional {role: str(admin/member)=member}
@returns(200) {url: str(uri), state: str, role: str, organization_url: str(uri), organization: map{login: str, id: int, node_id: str, url: str(uri), repos_url: str(uri), events_url: str(uri), hooks_url: str, issues_url: str, members_url: str, public_members_url: str, avatar_url: str, description: str?}, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, permissions: map{can_create_repository: bool}}
@errors {403, 422}

@endpoint DELETE /orgs/{org}/memberships/{username}
@required {org: str, username: str}
@returns(204)
@errors {403, 404}

@endpoint GET /orgs/{org}/outside_collaborators
@required {org: str}
@optional {filter: str(2fa_disabled/all)=all, per_page: int=30, page: int=1}
@returns(200)

@endpoint PUT /orgs/{org}/outside_collaborators/{username}
@required {org: str, username: str}
@optional {async: bool=false}
@returns(202)
@returns(204)
@errors {403, 404}

@endpoint DELETE /orgs/{org}/outside_collaborators/{username}
@required {org: str, username: str}
@returns(204)
@errors {422}

@endpoint GET /orgs/{org}/pre-receive-hooks
@required {org: str}
@optional {per_page: int=30, page: int=1, direction: str(asc/desc)=desc, sort: str(created/updated/name)=created}
@returns(200)

@endpoint GET /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}
@required {org: str, pre_receive_hook_id: int}
@returns(200) {id: int, name: str, enforcement: str, configuration_url: str, allow_downstream_configuration: bool}

@endpoint PATCH /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}
@required {org: str, pre_receive_hook_id: int}
@optional {enforcement: str, allow_downstream_configuration: bool}
@returns(200) {id: int, name: str, enforcement: str, configuration_url: str, allow_downstream_configuration: bool}

@endpoint DELETE /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}
@required {org: str, pre_receive_hook_id: int}
@returns(200) {id: int, name: str, enforcement: str, configuration_url: str, allow_downstream_configuration: bool}

@endpoint GET /orgs/{org}/projects
@required {org: str}
@optional {state: str(open/closed/all)=open, per_page: int=30, page: int=1}
@returns(200)
@errors {422}

@endpoint POST /orgs/{org}/projects
@required {org: str, name: str}
@optional {body: str}
@returns(201) {owner_url: str(uri), url: str(uri), html_url: str(uri), columns_url: str(uri), id: int, node_id: str, name: str, body: str?, number: int, state: str, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), organization_permission: str, private: bool}
@errors {401, 403, 404, 410, 422}

@endpoint GET /orgs/{org}/public_members
@required {org: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /orgs/{org}/public_members/{username}
@required {org: str, username: str}
@returns(204)
@errors {404}

@endpoint PUT /orgs/{org}/public_members/{username}
@required {org: str, username: str}
@returns(204)
@errors {403}

@endpoint DELETE /orgs/{org}/public_members/{username}
@required {org: str, username: str}
@returns(204)

@endpoint GET /orgs/{org}/repos
@required {org: str}
@optional {type: str(all/public/private/forks/sources/member/internal), sort: str(created/updated/pushed/full_name)=created, direction: str(asc/desc), per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /orgs/{org}/repos
@required {org: str, name: str}
@optional {description: str, homepage: str, private: bool=false, visibility: str(public/private/internal), has_issues: bool=true, has_projects: bool=true, has_wiki: bool=true, has_downloads: bool=true, is_template: bool=false, team_id: int, auto_init: bool=false, gitignore_template: str, license_template: str, allow_squash_merge: bool=true, allow_merge_commit: bool=true, allow_rebase_merge: bool=true, allow_auto_merge: bool=false, delete_branch_on_merge: bool=false, use_squash_pr_title_as_default: bool=false, squash_merge_commit_title: str(PR_TITLE/COMMIT_OR_PR_TITLE), squash_merge_commit_message: str(PR_BODY/COMMIT_MESSAGES/BLANK), merge_commit_title: str(PR_TITLE/MERGE_MESSAGE), merge_commit_message: str(PR_BODY/PR_TITLE/BLANK)}
@returns(201) {id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}
@errors {403, 422}

@endpoint GET /orgs/{org}/secret-scanning/alerts
@required {org: str}
@optional {state: str(open/resolved), secret_type: str, resolution: str, page: int=1, per_page: int=30}
@returns(200)
@errors {404, 503}

@endpoint GET /orgs/{org}/teams
@required {org: str}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {403}

@endpoint POST /orgs/{org}/teams
@required {org: str, name: str}
@optional {description: str, maintainers: [str], repo_names: [str], privacy: str(secret/closed), permission: str(pull/push)=pull, parent_team_id: int, ldap_dn: str}
@returns(201) {id: int, node_id: str, url: str(uri), html_url: str(uri), name: str, slug: str, description: str?, privacy: str, permission: str, members_url: str, repositories_url: str(uri), parent: map?{id: int, node_id: str, url: str(uri), members_url: str, name: str, description: str?, permission: str, privacy: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str}, members_count: int, repos_count: int, created_at: str(date-time), updated_at: str(date-time), organization: map{login: str, id: int, node_id: str, url: str(uri), repos_url: str(uri), events_url: str(uri), hooks_url: str, issues_url: str, members_url: str, public_members_url: str, avatar_url: str, description: str?, name: str, company: str, blog: str(uri), location: str, email: str(email), twitter_username: str?, is_verified: bool, has_organization_projects: bool, has_repository_projects: bool, public_repos: int, public_gists: int, followers: int, following: int, html_url: str(uri), created_at: str(date-time), type: str, total_private_repos: int, owned_private_repos: int, private_gists: int?, disk_usage: int?, collaborators: int?, billing_email: str(email)?, plan: map{name: str, space: int, private_repos: int, filled_seats: int, seats: int}, default_repository_permission: str?, members_can_create_repositories: bool?, two_factor_requirement_enabled: bool?, members_allowed_repository_creation_type: str, members_can_create_public_repositories: bool, members_can_create_private_repositories: bool, members_can_create_internal_repositories: bool, members_can_create_pages: bool, members_can_create_public_pages: bool, members_can_create_private_pages: bool, updated_at: str(date-time)}, ldap_dn: str}
@errors {403, 422}

@endpoint GET /orgs/{org}/teams/{team_slug}
@required {org: str, team_slug: str}
@returns(200) {id: int, node_id: str, url: str(uri), html_url: str(uri), name: str, slug: str, description: str?, privacy: str, permission: str, members_url: str, repositories_url: str(uri), parent: map?{id: int, node_id: str, url: str(uri), members_url: str, name: str, description: str?, permission: str, privacy: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str}, members_count: int, repos_count: int, created_at: str(date-time), updated_at: str(date-time), organization: map{login: str, id: int, node_id: str, url: str(uri), repos_url: str(uri), events_url: str(uri), hooks_url: str, issues_url: str, members_url: str, public_members_url: str, avatar_url: str, description: str?, name: str, company: str, blog: str(uri), location: str, email: str(email), twitter_username: str?, is_verified: bool, has_organization_projects: bool, has_repository_projects: bool, public_repos: int, public_gists: int, followers: int, following: int, html_url: str(uri), created_at: str(date-time), type: str, total_private_repos: int, owned_private_repos: int, private_gists: int?, disk_usage: int?, collaborators: int?, billing_email: str(email)?, plan: map{name: str, space: int, private_repos: int, filled_seats: int, seats: int}, default_repository_permission: str?, members_can_create_repositories: bool?, two_factor_requirement_enabled: bool?, members_allowed_repository_creation_type: str, members_can_create_public_repositories: bool, members_can_create_private_repositories: bool, members_can_create_internal_repositories: bool, members_can_create_pages: bool, members_can_create_public_pages: bool, members_can_create_private_pages: bool, updated_at: str(date-time)}, ldap_dn: str}
@errors {404}

@endpoint PATCH /orgs/{org}/teams/{team_slug}
@required {org: str, team_slug: str}
@optional {name: str, description: str, privacy: str(secret/closed), permission: str(pull/push/admin)=pull, parent_team_id: int}
@returns(200) {id: int, node_id: str, url: str(uri), html_url: str(uri), name: str, slug: str, description: str?, privacy: str, permission: str, members_url: str, repositories_url: str(uri), parent: map?{id: int, node_id: str, url: str(uri), members_url: str, name: str, description: str?, permission: str, privacy: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str}, members_count: int, repos_count: int, created_at: str(date-time), updated_at: str(date-time), organization: map{login: str, id: int, node_id: str, url: str(uri), repos_url: str(uri), events_url: str(uri), hooks_url: str, issues_url: str, members_url: str, public_members_url: str, avatar_url: str, description: str?, name: str, company: str, blog: str(uri), location: str, email: str(email), twitter_username: str?, is_verified: bool, has_organization_projects: bool, has_repository_projects: bool, public_repos: int, public_gists: int, followers: int, following: int, html_url: str(uri), created_at: str(date-time), type: str, total_private_repos: int, owned_private_repos: int, private_gists: int?, disk_usage: int?, collaborators: int?, billing_email: str(email)?, plan: map{name: str, space: int, private_repos: int, filled_seats: int, seats: int}, default_repository_permission: str?, members_can_create_repositories: bool?, two_factor_requirement_enabled: bool?, members_allowed_repository_creation_type: str, members_can_create_public_repositories: bool, members_can_create_private_repositories: bool, members_can_create_internal_repositories: bool, members_can_create_pages: bool, members_can_create_public_pages: bool, members_can_create_private_pages: bool, updated_at: str(date-time)}, ldap_dn: str}
@returns(201) {id: int, node_id: str, url: str(uri), html_url: str(uri), name: str, slug: str, description: str?, privacy: str, permission: str, members_url: str, repositories_url: str(uri), parent: map?{id: int, node_id: str, url: str(uri), members_url: str, name: str, description: str?, permission: str, privacy: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str}, members_count: int, repos_count: int, created_at: str(date-time), updated_at: str(date-time), organization: map{login: str, id: int, node_id: str, url: str(uri), repos_url: str(uri), events_url: str(uri), hooks_url: str, issues_url: str, members_url: str, public_members_url: str, avatar_url: str, description: str?, name: str, company: str, blog: str(uri), location: str, email: str(email), twitter_username: str?, is_verified: bool, has_organization_projects: bool, has_repository_projects: bool, public_repos: int, public_gists: int, followers: int, following: int, html_url: str(uri), created_at: str(date-time), type: str, total_private_repos: int, owned_private_repos: int, private_gists: int?, disk_usage: int?, collaborators: int?, billing_email: str(email)?, plan: map{name: str, space: int, private_repos: int, filled_seats: int, seats: int}, default_repository_permission: str?, members_can_create_repositories: bool?, two_factor_requirement_enabled: bool?, members_allowed_repository_creation_type: str, members_can_create_public_repositories: bool, members_can_create_private_repositories: bool, members_can_create_internal_repositories: bool, members_can_create_pages: bool, members_can_create_public_pages: bool, members_can_create_private_pages: bool, updated_at: str(date-time)}, ldap_dn: str}
@errors {403, 404, 422}

@endpoint DELETE /orgs/{org}/teams/{team_slug}
@required {org: str, team_slug: str}
@returns(204)

@endpoint GET /orgs/{org}/teams/{team_slug}/discussions
@required {org: str, team_slug: str}
@optional {direction: str(asc/desc)=desc, per_page: int=30, page: int=1, pinned: str}
@returns(200)

@endpoint POST /orgs/{org}/teams/{team_slug}/discussions
@required {org: str, team_slug: str, title: str, body: str}
@optional {private: bool=false}
@returns(201) {author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, body_html: str, body_version: str, comments_count: int, comments_url: str(uri), created_at: str(date-time), last_edited_at: str(date-time)?, html_url: str(uri), node_id: str, number: int, pinned: bool, private: bool, team_url: str(uri), title: str, updated_at: str(date-time), url: str(uri), reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}
@required {org: str, team_slug: str, discussion_number: int}
@returns(200) {author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, body_html: str, body_version: str, comments_count: int, comments_url: str(uri), created_at: str(date-time), last_edited_at: str(date-time)?, html_url: str(uri), node_id: str, number: int, pinned: bool, private: bool, team_url: str(uri), title: str, updated_at: str(date-time), url: str(uri), reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}
@required {org: str, team_slug: str, discussion_number: int}
@optional {title: str, body: str}
@returns(200) {author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, body_html: str, body_version: str, comments_count: int, comments_url: str(uri), created_at: str(date-time), last_edited_at: str(date-time)?, html_url: str(uri), node_id: str, number: int, pinned: bool, private: bool, team_url: str(uri), title: str, updated_at: str(date-time), url: str(uri), reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}
@required {org: str, team_slug: str, discussion_number: int}
@returns(204)

@endpoint GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments
@required {org: str, team_slug: str, discussion_number: int}
@optional {direction: str(asc/desc)=desc, per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments
@required {org: str, team_slug: str, discussion_number: int, body: str}
@returns(201) {author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, body_html: str, body_version: str, created_at: str(date-time), last_edited_at: str(date-time)?, discussion_url: str(uri), html_url: str(uri), node_id: str, number: int, updated_at: str(date-time), url: str(uri), reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}
@required {org: str, team_slug: str, discussion_number: int, comment_number: int}
@returns(200) {author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, body_html: str, body_version: str, created_at: str(date-time), last_edited_at: str(date-time)?, discussion_url: str(uri), html_url: str(uri), node_id: str, number: int, updated_at: str(date-time), url: str(uri), reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}
@required {org: str, team_slug: str, discussion_number: int, comment_number: int, body: str}
@returns(200) {author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, body_html: str, body_version: str, created_at: str(date-time), last_edited_at: str(date-time)?, discussion_url: str(uri), html_url: str(uri), node_id: str, number: int, updated_at: str(date-time), url: str(uri), reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}
@required {org: str, team_slug: str, discussion_number: int, comment_number: int}
@returns(204)

@endpoint GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions
@required {org: str, team_slug: str, discussion_number: int, comment_number: int}
@optional {content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes), per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions
@required {org: str, team_slug: str, discussion_number: int, comment_number: int, content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes)}
@returns(200) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}
@returns(201) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}

@endpoint DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}
@required {org: str, team_slug: str, discussion_number: int, comment_number: int, reaction_id: int}
@returns(204)

@endpoint GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions
@required {org: str, team_slug: str, discussion_number: int}
@optional {content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes), per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions
@required {org: str, team_slug: str, discussion_number: int, content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes)}
@returns(200) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}
@returns(201) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}

@endpoint DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}
@required {org: str, team_slug: str, discussion_number: int, reaction_id: int}
@returns(204)

@endpoint GET /orgs/{org}/teams/{team_slug}/members
@required {org: str, team_slug: str}
@optional {role: str(member/maintainer/all)=all, per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /orgs/{org}/teams/{team_slug}/memberships/{username}
@required {org: str, team_slug: str, username: str}
@returns(200) {url: str(uri), role: str, state: str}
@errors {404}

@endpoint PUT /orgs/{org}/teams/{team_slug}/memberships/{username}
@required {org: str, team_slug: str, username: str}
@optional {role: str(member/maintainer)=member}
@returns(200) {url: str(uri), role: str, state: str}
@errors {403, 422}

@endpoint DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}
@required {org: str, team_slug: str, username: str}
@returns(204)
@errors {403}

@endpoint GET /orgs/{org}/teams/{team_slug}/projects
@required {org: str, team_slug: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /orgs/{org}/teams/{team_slug}/projects/{project_id}
@required {org: str, team_slug: str, project_id: int}
@returns(200) {owner_url: str, url: str, html_url: str, columns_url: str, id: int, node_id: str, name: str, body: str?, number: int, state: str, creator: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str, updated_at: str, organization_permission: str, private: bool, permissions: map{read: bool, write: bool, admin: bool}}
@errors {404}

@endpoint PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}
@required {org: str, team_slug: str, project_id: int}
@optional {permission: str(read/write/admin)}
@returns(204)
@errors {403}

@endpoint DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}
@required {org: str, team_slug: str, project_id: int}
@returns(204)

@endpoint GET /orgs/{org}/teams/{team_slug}/repos
@required {org: str, team_slug: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}
@required {org: str, team_slug: str, owner: str, repo: str}
@returns(200) {id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str}
@returns(204)
@errors {404}

@endpoint PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}
@required {org: str, team_slug: str, owner: str, repo: str}
@optional {permission: str=push}
@returns(204)

@endpoint DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}
@required {org: str, team_slug: str, owner: str, repo: str}
@returns(204)

@endpoint GET /orgs/{org}/teams/{team_slug}/teams
@required {org: str, team_slug: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endgroup

@group projects
@endpoint GET /projects/columns/cards/{card_id}
@required {card_id: int}
@returns(200) {url: str(uri), id: int, node_id: str, note: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), archived: bool, column_name: str, project_id: str, column_url: str(uri), content_url: str(uri), project_url: str(uri)}
@errors {304, 401, 403, 404}

@endpoint PATCH /projects/columns/cards/{card_id}
@required {card_id: int}
@optional {note: str, archived: bool}
@returns(200) {url: str(uri), id: int, node_id: str, note: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), archived: bool, column_name: str, project_id: str, column_url: str(uri), content_url: str(uri), project_url: str(uri)}
@errors {304, 401, 403, 404, 422}

@endpoint DELETE /projects/columns/cards/{card_id}
@required {card_id: int}
@returns(204)
@errors {304, 401, 403, 404}

@endpoint POST /projects/columns/cards/{card_id}/moves
@required {card_id: int, position: str}
@optional {column_id: int}
@returns(201)
@errors {304, 401, 403, 422, 503}

@endpoint GET /projects/columns/{column_id}
@required {column_id: int}
@returns(200) {url: str(uri), project_url: str(uri), cards_url: str(uri), id: int, node_id: str, name: str, created_at: str(date-time), updated_at: str(date-time)}
@errors {304, 401, 403, 404}

@endpoint PATCH /projects/columns/{column_id}
@required {column_id: int, name: str}
@returns(200) {url: str(uri), project_url: str(uri), cards_url: str(uri), id: int, node_id: str, name: str, created_at: str(date-time), updated_at: str(date-time)}
@errors {304, 401, 403}

@endpoint DELETE /projects/columns/{column_id}
@required {column_id: int}
@returns(204)
@errors {304, 401, 403}

@endpoint GET /projects/columns/{column_id}/cards
@required {column_id: int}
@optional {archived_state: str(all/archived/not_archived)=not_archived, per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403}

@endpoint POST /projects/columns/{column_id}/cards
@required {column_id: int}
@returns(201) {url: str(uri), id: int, node_id: str, note: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), archived: bool, column_name: str, project_id: str, column_url: str(uri), content_url: str(uri), project_url: str(uri)}
@errors {304, 401, 403, 422, 503}

@endpoint POST /projects/columns/{column_id}/moves
@required {column_id: int, position: str}
@returns(201)
@errors {304, 401, 403, 422}

@endpoint GET /projects/{project_id}
@required {project_id: int}
@returns(200) {owner_url: str(uri), url: str(uri), html_url: str(uri), columns_url: str(uri), id: int, node_id: str, name: str, body: str?, number: int, state: str, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), organization_permission: str, private: bool}
@errors {304, 401, 403}

@endpoint PATCH /projects/{project_id}
@required {project_id: int}
@optional {name: str, body: str, state: str, organization_permission: str(read/write/admin/none), private: bool}
@returns(200) {owner_url: str(uri), url: str(uri), html_url: str(uri), columns_url: str(uri), id: int, node_id: str, name: str, body: str?, number: int, state: str, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), organization_permission: str, private: bool}
@errors {304, 401, 403, 404, 410, 422}

@endpoint DELETE /projects/{project_id}
@required {project_id: int}
@returns(204)
@errors {304, 401, 403, 404, 410}

@endpoint GET /projects/{project_id}/collaborators
@required {project_id: int}
@optional {affiliation: str(outside/direct/all)=all, per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403, 404, 422}

@endpoint PUT /projects/{project_id}/collaborators/{username}
@required {project_id: int, username: str}
@optional {permission: str(read/write/admin)=write}
@returns(204)
@errors {304, 401, 403, 404, 422}

@endpoint DELETE /projects/{project_id}/collaborators/{username}
@required {project_id: int, username: str}
@returns(204)
@errors {304, 401, 403, 404, 422}

@endpoint GET /projects/{project_id}/collaborators/{username}/permission
@required {project_id: int, username: str}
@returns(200) {permission: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}
@errors {304, 401, 403, 404, 422}

@endpoint GET /projects/{project_id}/columns
@required {project_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403}

@endpoint POST /projects/{project_id}/columns
@required {project_id: int, name: str}
@returns(201) {url: str(uri), project_url: str(uri), cards_url: str(uri), id: int, node_id: str, name: str, created_at: str(date-time), updated_at: str(date-time)}
@errors {304, 401, 403, 422}

@endgroup

@group rate_limit
@endpoint GET /rate_limit
@returns(200) {resources: map{core: map{limit: int, remaining: int, reset: int, used: int}, graphql: map{limit: int, remaining: int, reset: int, used: int}, search: map{limit: int, remaining: int, reset: int, used: int}, source_import: map{limit: int, remaining: int, reset: int, used: int}, integration_manifest: map{limit: int, remaining: int, reset: int, used: int}, code_scanning_upload: map{limit: int, remaining: int, reset: int, used: int}, actions_runner_registration: map{limit: int, remaining: int, reset: int, used: int}, scim: map{limit: int, remaining: int, reset: int, used: int}}, rate: map{limit: int, remaining: int, reset: int, used: int}}
@errors {304, 404}

@endgroup

@group reactions
@endpoint DELETE /reactions/{reaction_id}
@required {reaction_id: int}
@returns(204)
@errors {304, 401, 403, 410}

@endgroup

@group repos
@endpoint GET /repos/{owner}/{repo}
@required {owner: str, repo: str}
@returns(200) {id: int, node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time), created_at: str(date-time), updated_at: str(date-time), permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, temp_clone_token: str?, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_merge_commit: bool, allow_update_branch: bool, allow_forking: bool, subscribers_count: int, network_count: int, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, parent: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, source: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, forks: int, master_branch: str, open_issues: int, watchers: int, anonymous_access_enabled: bool, code_of_conduct: map{url: str(uri), key: str, name: str, html_url: str(uri)?}, security_and_analysis: map?{advanced_security: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}}}
@errors {301, 403, 404}

@endpoint PATCH /repos/{owner}/{repo}
@required {owner: str, repo: str}
@optional {name: str, description: str, homepage: str, private: bool=false, visibility: str(public/private/internal), has_issues: bool=true, has_projects: bool=true, has_wiki: bool=true, is_template: bool=false, default_branch: str, allow_squash_merge: bool=true, allow_merge_commit: bool=true, allow_rebase_merge: bool=true, delete_branch_on_merge: bool=false, allow_update_branch: bool=false, use_squash_pr_title_as_default: bool=false, squash_merge_commit_title: str(PR_TITLE/COMMIT_OR_PR_TITLE), squash_merge_commit_message: str(PR_BODY/COMMIT_MESSAGES/BLANK), merge_commit_title: str(PR_TITLE/MERGE_MESSAGE), merge_commit_message: str(PR_BODY/PR_TITLE/BLANK), archived: bool=false, allow_forking: bool=false}
@returns(200) {id: int, node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time), created_at: str(date-time), updated_at: str(date-time), permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, temp_clone_token: str?, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_merge_commit: bool, allow_update_branch: bool, allow_forking: bool, subscribers_count: int, network_count: int, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, parent: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, source: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, forks: int, master_branch: str, open_issues: int, watchers: int, anonymous_access_enabled: bool, code_of_conduct: map{url: str(uri), key: str, name: str, html_url: str(uri)?}, security_and_analysis: map?{advanced_security: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}}}
@errors {307, 403, 404, 422}

@endpoint DELETE /repos/{owner}/{repo}
@required {owner: str, repo: str}
@returns(204)
@errors {307, 403, 404}

@endpoint GET /repos/{owner}/{repo}/actions/artifacts
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1, name: str}
@returns(200) {total_count: int, artifacts: [map]}

@endpoint GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}
@required {owner: str, repo: str, artifact_id: int}
@returns(200) {id: int, node_id: str, name: str, size_in_bytes: int, url: str, archive_download_url: str, expired: bool, created_at: str(date-time)?, expires_at: str(date-time)?, updated_at: str(date-time)?, workflow_run: map?{id: int, repository_id: int, head_repository_id: int, head_branch: str, head_sha: str}}

@endpoint DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}
@required {owner: str, repo: str, artifact_id: int}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}
@required {owner: str, repo: str, artifact_id: int, archive_format: str}
@errors {302, 410}

@endpoint GET /repos/{owner}/{repo}/actions/jobs/{job_id}
@required {owner: str, repo: str, job_id: int}
@returns(200) {id: int, run_id: int, run_url: str, run_attempt: int, node_id: str, head_sha: str, url: str, html_url: str?, status: str, conclusion: str?, started_at: str(date-time), completed_at: str(date-time)?, name: str, steps: [map], check_run_url: str, labels: [str], runner_id: int?, runner_name: str?, runner_group_id: int?, runner_group_name: str?}

@endpoint GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs
@required {owner: str, repo: str, job_id: int}
@errors {302}

@endpoint GET /repos/{owner}/{repo}/actions/permissions
@required {owner: str, repo: str}
@returns(200) {enabled: bool, allowed_actions: str, selected_actions_url: str}

@endpoint PUT /repos/{owner}/{repo}/actions/permissions
@required {owner: str, repo: str, enabled: bool}
@optional {allowed_actions: str(all/local_only/selected)}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/actions/permissions/selected-actions
@required {owner: str, repo: str}
@returns(200) {github_owned_allowed: bool, patterns_allowed: [str]}

@endpoint PUT /repos/{owner}/{repo}/actions/permissions/selected-actions
@required {owner: str, repo: str, github_owned_allowed: bool, patterns_allowed: [str]}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/actions/runners
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, runners: [map]}

@endpoint GET /repos/{owner}/{repo}/actions/runners/downloads
@required {owner: str, repo: str}
@returns(200)

@endpoint POST /repos/{owner}/{repo}/actions/runners/registration-token
@required {owner: str, repo: str}
@returns(201) {token: str, expires_at: str(date-time), permissions: map, repositories: [map], single_file: str?, repository_selection: str}

@endpoint POST /repos/{owner}/{repo}/actions/runners/remove-token
@required {owner: str, repo: str}
@returns(201) {token: str, expires_at: str(date-time), permissions: map, repositories: [map], single_file: str?, repository_selection: str}

@endpoint GET /repos/{owner}/{repo}/actions/runners/{runner_id}
@required {owner: str, repo: str, runner_id: int}
@returns(200) {id: int, name: str, os: str, status: str, busy: bool, labels: [map]}

@endpoint DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}
@required {owner: str, repo: str, runner_id: int}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/actions/runs
@required {owner: str, repo: str}
@optional {actor: str, branch: str, event: str, status: str(completed/action_required/cancelled/failure/neutral/skipped/stale/success/timed_out/in_progress/queued/requested/waiting/pending), per_page: int=30, page: int=1, created: str(date-time), exclude_pull_requests: bool=false}
@returns(200) {total_count: int, workflow_runs: [map]}

@endpoint GET /repos/{owner}/{repo}/actions/runs/{run_id}
@required {owner: str, repo: str, run_id: int}
@optional {exclude_pull_requests: bool=false}
@returns(200) {id: int, name: str?, node_id: str, check_suite_id: int, check_suite_node_id: str, head_branch: str?, head_sha: str, run_number: int, event: str, status: str?, conclusion: str?, workflow_id: int, url: str, html_url: str, pull_requests: [map]?, created_at: str(date-time), updated_at: str(date-time), jobs_url: str, logs_url: str, check_suite_url: str, artifacts_url: str, cancel_url: str, rerun_url: str, workflow_url: str, head_commit: map?{id: str, tree_id: str, message: str, timestamp: str(date-time), author: map?{name: str, email: str}, committer: map?{name: str, email: str}}, repository: map{id: int, node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str?, hooks_url: str(uri), svn_url: str, homepage: str?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, delete_branch_on_merge: bool, subscribers_count: int, network_count: int, code_of_conduct: map{key: str, name: str, url: str(uri), body: str, html_url: str(uri)?}, license: map?{key: str, name: str, spdx_id: str, url: str, node_id: str}, forks: int, open_issues: int, watchers: int, allow_forking: bool}, head_repository: map{id: int, node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str?, hooks_url: str(uri), svn_url: str, homepage: str?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, delete_branch_on_merge: bool, subscribers_count: int, network_count: int, code_of_conduct: map{key: str, name: str, url: str(uri), body: str, html_url: str(uri)?}, license: map?{key: str, name: str, spdx_id: str, url: str, node_id: str}, forks: int, open_issues: int, watchers: int, allow_forking: bool}, head_repository_id: int}

@endpoint DELETE /repos/{owner}/{repo}/actions/runs/{run_id}
@required {owner: str, repo: str, run_id: int}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals
@required {owner: str, repo: str, run_id: int}
@returns(200)

@endpoint GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts
@required {owner: str, repo: str, run_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, artifacts: [map]}

@endpoint POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel
@required {owner: str, repo: str, run_id: int}
@returns(202)
@errors {409}

@endpoint GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs
@required {owner: str, repo: str, run_id: int}
@optional {filter: str(latest/all)=latest, per_page: int=30, page: int=1}
@returns(200) {total_count: int, jobs: [map]}

@endpoint GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs
@required {owner: str, repo: str, run_id: int}
@errors {302}

@endpoint DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs
@required {owner: str, repo: str, run_id: int}
@returns(204)
@errors {403, 500}

@endpoint GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments
@required {owner: str, repo: str, run_id: int}
@returns(200)

@endpoint POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments
@required {owner: str, repo: str, run_id: int, environment_ids: [int], state: str(approved/rejected), comment: str}
@returns(200)

@endpoint POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun
@required {owner: str, repo: str, run_id: int}
@returns(201)

@endpoint GET /repos/{owner}/{repo}/actions/secrets
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, secrets: [map]}

@endpoint GET /repos/{owner}/{repo}/actions/secrets/public-key
@required {owner: str, repo: str}
@returns(200) {key_id: str, key: str, id: int, url: str, title: str, created_at: str}

@endpoint GET /repos/{owner}/{repo}/actions/secrets/{secret_name}
@required {owner: str, repo: str, secret_name: str}
@returns(200) {name: str, created_at: str(date-time), updated_at: str(date-time)}

@endpoint PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}
@required {owner: str, repo: str, secret_name: str}
@optional {encrypted_value: str, key_id: str}
@returns(201)
@returns(204)

@endpoint DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}
@required {owner: str, repo: str, secret_name: str}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/actions/workflows
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, workflows: [map]}

@endpoint GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}
@required {owner: str, repo: str, workflow_id: any}
@returns(200) {id: int, node_id: str, name: str, path: str, state: str, created_at: str(date-time), updated_at: str(date-time), url: str, html_url: str, badge_url: str, deleted_at: str(date-time)}

@endpoint PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable
@required {owner: str, repo: str, workflow_id: any}
@returns(204)

@endpoint POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches
@required {owner: str, repo: str, workflow_id: any, ref: str}
@optional {inputs: map}
@returns(204)

@endpoint PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable
@required {owner: str, repo: str, workflow_id: any}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs
@required {owner: str, repo: str, workflow_id: any}
@optional {actor: str, branch: str, event: str, status: str(completed/action_required/cancelled/failure/neutral/skipped/stale/success/timed_out/in_progress/queued/requested/waiting/pending), per_page: int=30, page: int=1, created: str(date-time), exclude_pull_requests: bool=false}
@returns(200) {total_count: int, workflow_runs: [map]}

@endpoint GET /repos/{owner}/{repo}/assignees
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/assignees/{assignee}
@required {owner: str, repo: str, assignee: str}
@returns(204)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/autolinks
@required {owner: str, repo: str}
@optional {page: int=1}
@returns(200)

@endpoint POST /repos/{owner}/{repo}/autolinks
@required {owner: str, repo: str, key_prefix: str, url_template: str}
@optional {is_alphanumeric: bool=true}
@returns(201) {id: int, key_prefix: str, url_template: str}
@errors {422}

@endpoint GET /repos/{owner}/{repo}/autolinks/{autolink_id}
@required {owner: str, repo: str, autolink_id: int}
@returns(200) {id: int, key_prefix: str, url_template: str}
@errors {404}

@endpoint DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}
@required {owner: str, repo: str, autolink_id: int}
@returns(204)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/branches
@required {owner: str, repo: str}
@optional {protected: bool, per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/branches/{branch}
@required {owner: str, repo: str, branch: str}
@returns(200) {name: str, commit: map{url: str(uri), sha: str, node_id: str, html_url: str(uri), comments_url: str(uri), commit: map{url: str(uri), author: map?{name: str, email: str, date: str}, committer: map?{name: str, email: str, date: str}, message: str, comment_count: int, tree: map{sha: str, url: str(uri)}, verification: map{verified: bool, reason: str, payload: str?, signature: str?}}, author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, committer: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, parents: [map], stats: map{additions: int, deletions: int, total: int}, files: [map]}, _links: map{html: str, self: str(uri)}, protected: bool, protection: map{url: str, enabled: bool, required_status_checks: map{url: str, enforcement_level: str, contexts: [str], contexts_url: str, strict: bool}, enforce_admins: map{url: str(uri), enabled: bool}, required_pull_request_reviews: map{url: str(uri), dismissal_restrictions: map{users: [map], teams: [map], apps: [map], url: str, users_url: str, teams_url: str}, dismiss_stale_reviews: bool, require_code_owner_reviews: bool, required_approving_review_count: int}, restrictions: map{url: str(uri), users_url: str(uri), teams_url: str(uri), apps_url: str(uri), users: [map], teams: [map], apps: [map]}, required_linear_history: map{enabled: bool}, allow_force_pushes: map{enabled: bool}, allow_deletions: map{enabled: bool}, block_creations: map{enabled: bool}, required_conversation_resolution: map{enabled: bool}, name: str, protection_url: str, required_signatures: map{url: str(uri), enabled: bool}}, protection_url: str(uri), pattern: str, required_approving_review_count: int}
@errors {301, 404}

@endpoint GET /repos/{owner}/{repo}/branches/{branch}/protection
@required {owner: str, repo: str, branch: str}
@returns(200) {url: str, enabled: bool, required_status_checks: map{url: str, enforcement_level: str, contexts: [str], contexts_url: str, strict: bool}, enforce_admins: map{url: str(uri), enabled: bool}, required_pull_request_reviews: map{url: str(uri), dismissal_restrictions: map{users: [map], teams: [map], apps: [map], url: str, users_url: str, teams_url: str}, dismiss_stale_reviews: bool, require_code_owner_reviews: bool, required_approving_review_count: int}, restrictions: map{url: str(uri), users_url: str(uri), teams_url: str(uri), apps_url: str(uri), users: [map], teams: [map], apps: [map]}, required_linear_history: map{enabled: bool}, allow_force_pushes: map{enabled: bool}, allow_deletions: map{enabled: bool}, block_creations: map{enabled: bool}, required_conversation_resolution: map{enabled: bool}, name: str, protection_url: str, required_signatures: map{url: str(uri), enabled: bool}}
@errors {404}

@endpoint PUT /repos/{owner}/{repo}/branches/{branch}/protection
@required {owner: str, repo: str, branch: str, required_status_checks: map{strict!: bool, contexts!: [str], checks: [map]}, enforce_admins: bool, required_pull_request_reviews: map{dismissal_restrictions: map, dismiss_stale_reviews: bool, require_code_owner_reviews: bool, required_approving_review_count: int}, restrictions: map{users!: [str], teams!: [str], apps: [str]}}
@optional {required_linear_history: bool, allow_force_pushes: bool, allow_deletions: bool, block_creations: bool, required_conversation_resolution: bool, contexts: [str]}
@returns(200) {url: str(uri), required_status_checks: map{url: str(uri), strict: bool, contexts: [str], contexts_url: str(uri)}, required_pull_request_reviews: map{url: str(uri), dismiss_stale_reviews: bool, require_code_owner_reviews: bool, required_approving_review_count: int, dismissal_restrictions: map{url: str(uri), users_url: str(uri), teams_url: str(uri), users: [map], teams: [map], apps: [map]}}, required_signatures: map{url: str(uri), enabled: bool}, enforce_admins: map{url: str(uri), enabled: bool}, required_linear_history: map{enabled: bool}, allow_force_pushes: map{enabled: bool}, allow_deletions: map{enabled: bool}, restrictions: map{url: str(uri), users_url: str(uri), teams_url: str(uri), apps_url: str(uri), users: [map], teams: [map], apps: [map]}, required_conversation_resolution: map{enabled: bool}, block_creations: map{enabled: bool}}
@errors {403, 404, 422}

@endpoint DELETE /repos/{owner}/{repo}/branches/{branch}/protection
@required {owner: str, repo: str, branch: str}
@returns(204)
@errors {403}

@endpoint GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins
@required {owner: str, repo: str, branch: str}
@returns(200) {url: str(uri), enabled: bool}

@endpoint POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins
@required {owner: str, repo: str, branch: str}
@returns(200) {url: str(uri), enabled: bool}

@endpoint DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins
@required {owner: str, repo: str, branch: str}
@returns(204)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews
@required {owner: str, repo: str, branch: str}
@returns(200) {url: str(uri), dismissal_restrictions: map{users: [map], teams: [map], apps: [map], url: str, users_url: str, teams_url: str}, dismiss_stale_reviews: bool, require_code_owner_reviews: bool, required_approving_review_count: int}

@endpoint PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews
@required {owner: str, repo: str, branch: str}
@optional {dismissal_restrictions: map{users: [str], teams: [str], apps: [str]}, dismiss_stale_reviews: bool, require_code_owner_reviews: bool, required_approving_review_count: int}
@returns(200) {url: str(uri), dismissal_restrictions: map{users: [map], teams: [map], apps: [map], url: str, users_url: str, teams_url: str}, dismiss_stale_reviews: bool, require_code_owner_reviews: bool, required_approving_review_count: int}
@errors {422}

@endpoint DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews
@required {owner: str, repo: str, branch: str}
@returns(204)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures
@required {owner: str, repo: str, branch: str}
@returns(200) {url: str(uri), enabled: bool}
@errors {404}

@endpoint POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures
@required {owner: str, repo: str, branch: str}
@returns(200) {url: str(uri), enabled: bool}
@errors {404}

@endpoint DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures
@required {owner: str, repo: str, branch: str}
@returns(204)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks
@required {owner: str, repo: str, branch: str}
@returns(200) {url: str(uri), strict: bool, contexts: [str], contexts_url: str(uri)}
@errors {404}

@endpoint PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks
@required {owner: str, repo: str, branch: str}
@optional {strict: bool, contexts: [str]}
@returns(200) {url: str(uri), strict: bool, contexts: [str], contexts_url: str(uri)}
@errors {404, 422}

@endpoint DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks
@required {owner: str, repo: str, branch: str}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {404}

@endpoint POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {403, 404, 422}

@endpoint PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {404, 422}

@endpoint DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {404, 422}

@endpoint GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions
@required {owner: str, repo: str, branch: str}
@returns(200) {url: str(uri), users_url: str(uri), teams_url: str(uri), apps_url: str(uri), users: [map], teams: [map], apps: [map]}
@errors {404}

@endpoint DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions
@required {owner: str, repo: str, branch: str}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {404}

@endpoint POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {422}

@endpoint PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {422}

@endpoint DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {422}

@endpoint GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {404}

@endpoint POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {422}

@endpoint PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {422}

@endpoint DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {422}

@endpoint GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {404}

@endpoint POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {422}

@endpoint PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {422}

@endpoint DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
@required {owner: str, repo: str, branch: str}
@returns(200)
@errors {422}

@endpoint POST /repos/{owner}/{repo}/branches/{branch}/rename
@required {owner: str, repo: str, branch: str, new_name: str}
@returns(201) {name: str, commit: map{url: str(uri), sha: str, node_id: str, html_url: str(uri), comments_url: str(uri), commit: map{url: str(uri), author: map?{name: str, email: str, date: str}, committer: map?{name: str, email: str, date: str}, message: str, comment_count: int, tree: map{sha: str, url: str(uri)}, verification: map{verified: bool, reason: str, payload: str?, signature: str?}}, author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, committer: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, parents: [map], stats: map{additions: int, deletions: int, total: int}, files: [map]}, _links: map{html: str, self: str(uri)}, protected: bool, protection: map{url: str, enabled: bool, required_status_checks: map{url: str, enforcement_level: str, contexts: [str], contexts_url: str, strict: bool}, enforce_admins: map{url: str(uri), enabled: bool}, required_pull_request_reviews: map{url: str(uri), dismissal_restrictions: map{users: [map], teams: [map], apps: [map], url: str, users_url: str, teams_url: str}, dismiss_stale_reviews: bool, require_code_owner_reviews: bool, required_approving_review_count: int}, restrictions: map{url: str(uri), users_url: str(uri), teams_url: str(uri), apps_url: str(uri), users: [map], teams: [map], apps: [map]}, required_linear_history: map{enabled: bool}, allow_force_pushes: map{enabled: bool}, allow_deletions: map{enabled: bool}, block_creations: map{enabled: bool}, required_conversation_resolution: map{enabled: bool}, name: str, protection_url: str, required_signatures: map{url: str(uri), enabled: bool}}, protection_url: str(uri), pattern: str, required_approving_review_count: int}
@errors {403, 404, 422}

@endpoint POST /repos/{owner}/{repo}/check-runs
@required {owner: str, repo: str, name: str, head_sha: str}
@optional {details_url: str, external_id: str, status: str(queued/in_progress/completed)=queued, started_at: str(date-time), conclusion: str(action_required/cancelled/failure/neutral/success/skipped/stale/timed_out), completed_at: str(date-time), output: map{title!: str, summary!: str, text: str, annotations: [map], images: [map]}, actions: [map{label!: str, description!: str, identifier!: str}]}
@returns(201) {id: int, head_sha: str, node_id: str, external_id: str?, url: str, html_url: str?, details_url: str?, status: str, conclusion: str?, started_at: str(date-time)?, completed_at: str(date-time)?, output: map{title: str?, summary: str?, text: str?, annotations_count: int, annotations_url: str(uri)}, name: str, check_suite: map?{id: int}, app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, pull_requests: [map], deployment: map{url: str(uri), id: int, node_id: str, task: str, original_environment: str, environment: str, description: str?, created_at: str(date-time), updated_at: str(date-time), statuses_url: str(uri), repository_url: str(uri), transient_environment: bool, production_environment: bool, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}}}

@endpoint GET /repos/{owner}/{repo}/check-runs/{check_run_id}
@required {owner: str, repo: str, check_run_id: int}
@returns(200) {id: int, head_sha: str, node_id: str, external_id: str?, url: str, html_url: str?, details_url: str?, status: str, conclusion: str?, started_at: str(date-time)?, completed_at: str(date-time)?, output: map{title: str?, summary: str?, text: str?, annotations_count: int, annotations_url: str(uri)}, name: str, check_suite: map?{id: int}, app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, pull_requests: [map], deployment: map{url: str(uri), id: int, node_id: str, task: str, original_environment: str, environment: str, description: str?, created_at: str(date-time), updated_at: str(date-time), statuses_url: str(uri), repository_url: str(uri), transient_environment: bool, production_environment: bool, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}}}

@endpoint PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}
@required {owner: str, repo: str, check_run_id: int}
@optional {name: str, details_url: str, external_id: str, started_at: str(date-time), status: str(queued/in_progress/completed), conclusion: str(action_required/cancelled/failure/neutral/success/skipped/stale/timed_out), completed_at: str(date-time), output: map{title: str, summary!: str, text: str, annotations: [map], images: [map]}, actions: [map{label!: str, description!: str, identifier!: str}]}
@returns(200) {id: int, head_sha: str, node_id: str, external_id: str?, url: str, html_url: str?, details_url: str?, status: str, conclusion: str?, started_at: str(date-time)?, completed_at: str(date-time)?, output: map{title: str?, summary: str?, text: str?, annotations_count: int, annotations_url: str(uri)}, name: str, check_suite: map?{id: int}, app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, pull_requests: [map], deployment: map{url: str(uri), id: int, node_id: str, task: str, original_environment: str, environment: str, description: str?, created_at: str(date-time), updated_at: str(date-time), statuses_url: str(uri), repository_url: str(uri), transient_environment: bool, production_environment: bool, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}}}

@endpoint GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations
@required {owner: str, repo: str, check_run_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest
@required {owner: str, repo: str, check_run_id: int}
@returns(201)
@errors {403, 404, 422}

@endpoint POST /repos/{owner}/{repo}/check-suites
@required {owner: str, repo: str, head_sha: str}
@returns(200) {id: int, node_id: str, head_branch: str?, head_sha: str, status: str?, conclusion: str?, url: str?, before: str?, after: str?, pull_requests: [map]?, app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, repository: map{id: int, node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str?, hooks_url: str(uri), svn_url: str, homepage: str?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, delete_branch_on_merge: bool, subscribers_count: int, network_count: int, code_of_conduct: map{key: str, name: str, url: str(uri), body: str, html_url: str(uri)?}, license: map?{key: str, name: str, spdx_id: str, url: str, node_id: str}, forks: int, open_issues: int, watchers: int, allow_forking: bool}, created_at: str(date-time)?, updated_at: str(date-time)?, head_commit: map{id: str, tree_id: str, message: str, timestamp: str(date-time), author: map?{name: str, email: str}, committer: map?{name: str, email: str}}, latest_check_runs_count: int, check_runs_url: str, rerequestable: bool, runs_rerequestable: bool}
@returns(201) {id: int, node_id: str, head_branch: str?, head_sha: str, status: str?, conclusion: str?, url: str?, before: str?, after: str?, pull_requests: [map]?, app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, repository: map{id: int, node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str?, hooks_url: str(uri), svn_url: str, homepage: str?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, delete_branch_on_merge: bool, subscribers_count: int, network_count: int, code_of_conduct: map{key: str, name: str, url: str(uri), body: str, html_url: str(uri)?}, license: map?{key: str, name: str, spdx_id: str, url: str, node_id: str}, forks: int, open_issues: int, watchers: int, allow_forking: bool}, created_at: str(date-time)?, updated_at: str(date-time)?, head_commit: map{id: str, tree_id: str, message: str, timestamp: str(date-time), author: map?{name: str, email: str}, committer: map?{name: str, email: str}}, latest_check_runs_count: int, check_runs_url: str, rerequestable: bool, runs_rerequestable: bool}

@endpoint PATCH /repos/{owner}/{repo}/check-suites/preferences
@required {owner: str, repo: str}
@optional {auto_trigger_checks: [map{app_id!: int, setting!: bool}]}
@returns(200) {preferences: map{auto_trigger_checks: [map]}, repository: map{id: int, node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str?, hooks_url: str(uri), svn_url: str, homepage: str?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, delete_branch_on_merge: bool, subscribers_count: int, network_count: int, code_of_conduct: map{key: str, name: str, url: str(uri), body: str, html_url: str(uri)?}, license: map?{key: str, name: str, spdx_id: str, url: str, node_id: str}, forks: int, open_issues: int, watchers: int, allow_forking: bool}}

@endpoint GET /repos/{owner}/{repo}/check-suites/{check_suite_id}
@required {owner: str, repo: str, check_suite_id: int}
@returns(200) {id: int, node_id: str, head_branch: str?, head_sha: str, status: str?, conclusion: str?, url: str?, before: str?, after: str?, pull_requests: [map]?, app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, repository: map{id: int, node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str?, hooks_url: str(uri), svn_url: str, homepage: str?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, delete_branch_on_merge: bool, subscribers_count: int, network_count: int, code_of_conduct: map{key: str, name: str, url: str(uri), body: str, html_url: str(uri)?}, license: map?{key: str, name: str, spdx_id: str, url: str, node_id: str}, forks: int, open_issues: int, watchers: int, allow_forking: bool}, created_at: str(date-time)?, updated_at: str(date-time)?, head_commit: map{id: str, tree_id: str, message: str, timestamp: str(date-time), author: map?{name: str, email: str}, committer: map?{name: str, email: str}}, latest_check_runs_count: int, check_runs_url: str, rerequestable: bool, runs_rerequestable: bool}

@endpoint GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs
@required {owner: str, repo: str, check_suite_id: int}
@optional {check_name: str, status: str(queued/in_progress/completed), filter: str(latest/all)=latest, per_page: int=30, page: int=1}
@returns(200) {total_count: int, check_runs: [map]}

@endpoint POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest
@required {owner: str, repo: str, check_suite_id: int}
@returns(201)

@endpoint GET /repos/{owner}/{repo}/code-scanning/alerts
@required {owner: str, repo: str}
@optional {tool_name: str, tool_guid: str, page: int=1, per_page: int=30, ref: str, state: str}
@returns(200)
@errors {403, 404, 503}

@endpoint GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}
@required {owner: str, repo: str, alert_number: int}
@returns(200) {number: int, created_at: str(date-time), url: str(uri), html_url: str(uri), instances_url: str(uri), state: str, dismissed_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, dismissed_at: str(date-time)?, dismissed_reason: str?, rule: map{id: str?, name: str, severity: str?, security_severity_level: str?, description: str, full_description: str, tags: [str]?, help: str?, help_uri: str?}, tool: map{name: str, version: str?, guid: str?}, most_recent_instance: map{ref: str, analysis_key: str, environment: str, category: str, state: str, commit_sha: str, message: map{text: str}, location: map{path: str, start_line: int, end_line: int, start_column: int, end_column: int}, html_url: str, classifications: [str]}}
@errors {403, 404, 503}

@endpoint PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}
@required {owner: str, repo: str, alert_number: int, state: str(open/dismissed)}
@optional {dismissed_reason: str(false positive/won't fix/used in tests)}
@returns(200) {number: int, created_at: str(date-time), url: str(uri), html_url: str(uri), instances_url: str(uri), state: str, dismissed_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, dismissed_at: str(date-time)?, dismissed_reason: str?, rule: map{id: str?, name: str, severity: str?, security_severity_level: str?, description: str, full_description: str, tags: [str]?, help: str?, help_uri: str?}, tool: map{name: str, version: str?, guid: str?}, most_recent_instance: map{ref: str, analysis_key: str, environment: str, category: str, state: str, commit_sha: str, message: map{text: str}, location: map{path: str, start_line: int, end_line: int, start_column: int, end_column: int}, html_url: str, classifications: [str]}}
@errors {403, 404, 503}

@endpoint GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances
@required {owner: str, repo: str, alert_number: int}
@optional {page: int=1, per_page: int=30, ref: str}
@returns(200)
@errors {403, 404, 503}

@endpoint GET /repos/{owner}/{repo}/code-scanning/analyses
@required {owner: str, repo: str}
@optional {tool_name: str, tool_guid: str, page: int=1, per_page: int=30, ref: str, sarif_id: str}
@returns(200)
@errors {403, 404, 503}

@endpoint GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}
@required {owner: str, repo: str, analysis_id: int}
@returns(200) {ref: str, commit_sha: str, analysis_key: str, environment: str, category: str, error: str, created_at: str(date-time), results_count: int, rules_count: int, id: int, url: str(uri), sarif_id: str, tool: map{name: str, version: str?, guid: str?}, deletable: bool, warning: str}
@errors {403, 404, 503}

@endpoint DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}
@required {owner: str, repo: str, analysis_id: int}
@optional {confirm_delete: str}
@returns(200) {next_analysis_url: str(uri)?, confirm_delete_url: str(uri)?}
@errors {400, 403, 404, 503}

@endpoint POST /repos/{owner}/{repo}/code-scanning/sarifs
@required {owner: str, repo: str, commit_sha: str, ref: str, sarif: str}
@optional {checkout_uri: str(uri), started_at: str(date-time), tool_name: str}
@returns(202) {id: str, url: str(uri)}
@errors {400, 403, 404, 413, 503}

@endpoint GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}
@required {owner: str, repo: str, sarif_id: str}
@returns(200) {processing_status: str, analyses_url: str(uri)?}
@errors {403, 404, 503}

@endpoint GET /repos/{owner}/{repo}/collaborators
@required {owner: str, repo: str}
@optional {affiliation: str(outside/direct/all)=all, per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/collaborators/{username}
@required {owner: str, repo: str, username: str}
@returns(204)
@errors {404}

@endpoint PUT /repos/{owner}/{repo}/collaborators/{username}
@required {owner: str, repo: str, username: str}
@optional {permission: str=push}
@returns(201) {id: int, repository: map{id: int, node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str?, hooks_url: str(uri), svn_url: str, homepage: str?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, delete_branch_on_merge: bool, subscribers_count: int, network_count: int, code_of_conduct: map{key: str, name: str, url: str(uri), body: str, html_url: str(uri)?}, license: map?{key: str, name: str, spdx_id: str, url: str, node_id: str}, forks: int, open_issues: int, watchers: int, allow_forking: bool}, invitee: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, inviter: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, permissions: str, created_at: str(date-time), expired: bool, url: str, html_url: str, node_id: str}
@returns(204)
@errors {403, 422}

@endpoint DELETE /repos/{owner}/{repo}/collaborators/{username}
@required {owner: str, repo: str, username: str}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/collaborators/{username}/permission
@required {owner: str, repo: str, username: str}
@returns(200) {permission: str, user: map?{login: str, id: int, email: str?, name: str?, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, permissions: map{pull: bool, triage: bool, push: bool, maintain: bool, admin: bool}}}
@errors {404}

@endpoint GET /repos/{owner}/{repo}/comments
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /repos/{owner}/{repo}/comments/{comment_id}
@required {owner: str, repo: str, comment_id: int}
@returns(200) {html_url: str(uri), url: str(uri), id: int, node_id: str, body: str, path: str?, position: int?, line: int?, commit_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), author_association: str, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}
@errors {404}

@endpoint PATCH /repos/{owner}/{repo}/comments/{comment_id}
@required {owner: str, repo: str, comment_id: int, body: str}
@returns(200) {html_url: str(uri), url: str(uri), id: int, node_id: str, body: str, path: str?, position: int?, line: int?, commit_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), author_association: str, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}
@errors {404}

@endpoint DELETE /repos/{owner}/{repo}/comments/{comment_id}
@required {owner: str, repo: str, comment_id: int}
@returns(204)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/comments/{comment_id}/reactions
@required {owner: str, repo: str, comment_id: int}
@optional {content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes), per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint POST /repos/{owner}/{repo}/comments/{comment_id}/reactions
@required {owner: str, repo: str, comment_id: int, content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes)}
@returns(200) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}
@returns(201) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}
@errors {422}

@endpoint DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}
@required {owner: str, repo: str, comment_id: int, reaction_id: int}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/commits
@required {owner: str, repo: str}
@optional {sha: str, path: str, author: str, since: str(date-time), until: str(date-time), per_page: int=30, page: int=1}
@returns(200)
@errors {400, 404, 409, 500}

@endpoint GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head
@required {owner: str, repo: str, commit_sha: str}
@returns(200)
@errors {422}

@endpoint GET /repos/{owner}/{repo}/commits/{commit_sha}/comments
@required {owner: str, repo: str, commit_sha: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /repos/{owner}/{repo}/commits/{commit_sha}/comments
@required {owner: str, repo: str, commit_sha: str, body: str}
@optional {path: str, position: int, line: int}
@returns(201) {html_url: str(uri), url: str(uri), id: int, node_id: str, body: str, path: str?, position: int?, line: int?, commit_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), author_association: str, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}
@errors {403, 422}

@endpoint GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls
@required {owner: str, repo: str, commit_sha: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /repos/{owner}/{repo}/commits/{ref}
@required {owner: str, repo: str, ref: str}
@optional {page: int=1, per_page: int=30}
@returns(200) {url: str(uri), sha: str, node_id: str, html_url: str(uri), comments_url: str(uri), commit: map{url: str(uri), author: map?{name: str, email: str, date: str}, committer: map?{name: str, email: str, date: str}, message: str, comment_count: int, tree: map{sha: str, url: str(uri)}, verification: map{verified: bool, reason: str, payload: str?, signature: str?}}, author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, committer: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, parents: [map], stats: map{additions: int, deletions: int, total: int}, files: [map]}
@errors {404, 422, 500, 503}

@endpoint GET /repos/{owner}/{repo}/commits/{ref}/check-runs
@required {owner: str, repo: str, ref: str}
@optional {check_name: str, status: str(queued/in_progress/completed), filter: str(latest/all)=latest, per_page: int=30, page: int=1, app_id: int}
@returns(200) {total_count: int, check_runs: [map]}

@endpoint GET /repos/{owner}/{repo}/commits/{ref}/check-suites
@required {owner: str, repo: str, ref: str}
@optional {app_id: int, check_name: str, per_page: int=30, page: int=1}
@returns(200) {total_count: int, check_suites: [map]}

@endpoint GET /repos/{owner}/{repo}/commits/{ref}/status
@required {owner: str, repo: str, ref: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {state: str, statuses: [map], sha: str, total_count: int, repository: map{id: int, node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str?, hooks_url: str(uri), svn_url: str, homepage: str?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, delete_branch_on_merge: bool, subscribers_count: int, network_count: int, code_of_conduct: map{key: str, name: str, url: str(uri), body: str, html_url: str(uri)?}, license: map?{key: str, name: str, spdx_id: str, url: str, node_id: str}, forks: int, open_issues: int, watchers: int, allow_forking: bool}, commit_url: str(uri), url: str(uri)}
@errors {404}

@endpoint GET /repos/{owner}/{repo}/commits/{ref}/statuses
@required {owner: str, repo: str, ref: str}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {301}

@endpoint GET /repos/{owner}/{repo}/compare/{basehead}
@required {owner: str, repo: str, basehead: str}
@optional {page: int=1, per_page: int=30}
@returns(200) {url: str(uri), html_url: str(uri), permalink_url: str(uri), diff_url: str(uri), patch_url: str(uri), base_commit: map{url: str(uri), sha: str, node_id: str, html_url: str(uri), comments_url: str(uri), commit: map{url: str(uri), author: map?{name: str, email: str, date: str}, committer: map?{name: str, email: str, date: str}, message: str, comment_count: int, tree: map{sha: str, url: str(uri)}, verification: map{verified: bool, reason: str, payload: str?, signature: str?}}, author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, committer: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, parents: [map], stats: map{additions: int, deletions: int, total: int}, files: [map]}, merge_base_commit: map{url: str(uri), sha: str, node_id: str, html_url: str(uri), comments_url: str(uri), commit: map{url: str(uri), author: map?{name: str, email: str, date: str}, committer: map?{name: str, email: str, date: str}, message: str, comment_count: int, tree: map{sha: str, url: str(uri)}, verification: map{verified: bool, reason: str, payload: str?, signature: str?}}, author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, committer: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, parents: [map], stats: map{additions: int, deletions: int, total: int}, files: [map]}, status: str, ahead_by: int, behind_by: int, total_commits: int, commits: [map], files: [map]}
@errors {404, 500, 503}

@endpoint POST /repos/{owner}/{repo}/content_references/{content_reference_id}/attachments
@required {owner: str, repo: str, content_reference_id: int, title: str, body: str}
@returns(200) {id: int, title: str, body: str, node_id: str}
@errors {304, 403, 404, 410, 415, 422}

@endpoint GET /repos/{owner}/{repo}/contents/{path}
@required {owner: str, repo: str, path: str}
@optional {ref: str}
@returns(200)
@errors {302, 403, 404}

@endpoint PUT /repos/{owner}/{repo}/contents/{path}
@required {owner: str, repo: str, path: str, message: str, content: str}
@optional {sha: str, branch: str, committer: map{name!: str, email!: str, date: str}, author: map{name!: str, email!: str, date: str}}
@returns(200) {content: map?{name: str, path: str, sha: str, size: int, url: str, html_url: str, git_url: str, download_url: str, type: str, _links: map{self: str, git: str, html: str}}, commit: map{sha: str, node_id: str, url: str, html_url: str, author: map{date: str, name: str, email: str}, committer: map{date: str, name: str, email: str}, message: str, tree: map{url: str, sha: str}, parents: [map], verification: map{verified: bool, reason: str, signature: str?, payload: str?}}}
@returns(201) {content: map?{name: str, path: str, sha: str, size: int, url: str, html_url: str, git_url: str, download_url: str, type: str, _links: map{self: str, git: str, html: str}}, commit: map{sha: str, node_id: str, url: str, html_url: str, author: map{date: str, name: str, email: str}, committer: map{date: str, name: str, email: str}, message: str, tree: map{url: str, sha: str}, parents: [map], verification: map{verified: bool, reason: str, signature: str?, payload: str?}}}
@errors {404, 409, 422}

@endpoint DELETE /repos/{owner}/{repo}/contents/{path}
@required {owner: str, repo: str, path: str, message: str, sha: str}
@optional {branch: str, committer: map{name: str, email: str}, author: map{name: str, email: str}}
@returns(200) {content: map?{name: str, path: str, sha: str, size: int, url: str, html_url: str, git_url: str, download_url: str, type: str, _links: map{self: str, git: str, html: str}}, commit: map{sha: str, node_id: str, url: str, html_url: str, author: map{date: str, name: str, email: str}, committer: map{date: str, name: str, email: str}, message: str, tree: map{url: str, sha: str}, parents: [map], verification: map{verified: bool, reason: str, signature: str?, payload: str?}}}
@errors {404, 409, 422, 503}

@endpoint GET /repos/{owner}/{repo}/contributors
@required {owner: str, repo: str}
@optional {anon: str, per_page: int=30, page: int=1}
@returns(200)
@returns(204)
@errors {403, 404}

@endpoint GET /repos/{owner}/{repo}/deployments
@required {owner: str, repo: str}
@optional {sha: str=none, ref: str=none, task: str=none, environment: str=none, per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /repos/{owner}/{repo}/deployments
@required {owner: str, repo: str, ref: str}
@optional {task: str=deploy, auto_merge: bool=true, required_contexts: [str], payload: any, environment: str=production, description: str=, transient_environment: bool=false, production_environment: bool}
@returns(201) {url: str(uri), id: int, node_id: str, sha: str, ref: str, task: str, payload: any, original_environment: str, environment: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), statuses_url: str(uri), repository_url: str(uri), transient_environment: bool, production_environment: bool, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}}
@returns(202) {message: str}
@errors {409, 422}

@endpoint GET /repos/{owner}/{repo}/deployments/{deployment_id}
@required {owner: str, repo: str, deployment_id: int}
@returns(200) {url: str(uri), id: int, node_id: str, sha: str, ref: str, task: str, payload: any, original_environment: str, environment: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), statuses_url: str(uri), repository_url: str(uri), transient_environment: bool, production_environment: bool, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}}
@errors {404}

@endpoint DELETE /repos/{owner}/{repo}/deployments/{deployment_id}
@required {owner: str, repo: str, deployment_id: int}
@returns(204)
@errors {404, 422}

@endpoint GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses
@required {owner: str, repo: str, deployment_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses
@required {owner: str, repo: str, deployment_id: int, state: str(error/failure/inactive/in_progress/queued/pending/success)}
@optional {target_url: str=, log_url: str=, description: str=, environment: str(production/staging/qa), environment_url: str=, auto_inactive: bool}
@returns(201) {url: str(uri), id: int, node_id: str, state: str, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, description: str, environment: str, target_url: str(uri), created_at: str(date-time), updated_at: str(date-time), deployment_url: str(uri), repository_url: str(uri), environment_url: str(uri), log_url: str(uri), performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}}
@errors {422}

@endpoint GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}
@required {owner: str, repo: str, deployment_id: int, status_id: int}
@returns(200) {url: str(uri), id: int, node_id: str, state: str, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, description: str, environment: str, target_url: str(uri), created_at: str(date-time), updated_at: str(date-time), deployment_url: str(uri), repository_url: str(uri), environment_url: str(uri), log_url: str(uri), performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}}
@errors {404}

@endpoint POST /repos/{owner}/{repo}/dispatches
@required {owner: str, repo: str, event_type: str}
@optional {client_payload: map}
@returns(204)
@errors {422}

@endpoint GET /repos/{owner}/{repo}/environments
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, environments: [map]}

@endpoint GET /repos/{owner}/{repo}/environments/{environment_name}
@required {owner: str, repo: str, environment_name: str}
@returns(200) {id: int, node_id: str, name: str, url: str, html_url: str, created_at: str(date-time), updated_at: str(date-time), protection_rules: [any], deployment_branch_policy: map?{protected_branches: bool, custom_branch_policies: bool}}

@endpoint PUT /repos/{owner}/{repo}/environments/{environment_name}
@required {owner: str, repo: str, environment_name: str}
@optional {wait_timer: int, reviewers: [map{type: str, id: int}], deployment_branch_policy: map{protected_branches!: bool, custom_branch_policies!: bool}}
@returns(200) {id: int, node_id: str, name: str, url: str, html_url: str, created_at: str(date-time), updated_at: str(date-time), protection_rules: [any], deployment_branch_policy: map?{protected_branches: bool, custom_branch_policies: bool}}
@errors {422}

@endpoint DELETE /repos/{owner}/{repo}/environments/{environment_name}
@required {owner: str, repo: str, environment_name: str}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies
@required {owner: str, repo: str, environment_name: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, branch_policies: [map]}

@endpoint POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies
@required {owner: str, repo: str, environment_name: str, name: str}
@returns(200) {id: int, node_id: str, name: str}
@errors {303, 404}

@endpoint GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}
@required {owner: str, repo: str, environment_name: str, branch_policy_id: int}
@returns(200) {id: int, node_id: str, name: str}

@endpoint PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}
@required {owner: str, repo: str, environment_name: str, branch_policy_id: int, name: str}
@returns(200) {id: int, node_id: str, name: str}

@endpoint DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}
@required {owner: str, repo: str, environment_name: str, branch_policy_id: int}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/events
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /repos/{owner}/{repo}/forks
@required {owner: str, repo: str}
@optional {sort: str(newest/oldest/stargazers/watchers)=newest, per_page: int=30, page: int=1}
@returns(200)
@errors {400}

@endpoint POST /repos/{owner}/{repo}/forks
@required {owner: str, repo: str}
@optional {organization: str}
@returns(202) {id: int, node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time), created_at: str(date-time), updated_at: str(date-time), permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, temp_clone_token: str?, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_merge_commit: bool, allow_update_branch: bool, allow_forking: bool, subscribers_count: int, network_count: int, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, parent: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, source: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, forks: int, master_branch: str, open_issues: int, watchers: int, anonymous_access_enabled: bool, code_of_conduct: map{url: str(uri), key: str, name: str, html_url: str(uri)?}, security_and_analysis: map?{advanced_security: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}}}
@errors {400, 403, 404, 422}

@endpoint POST /repos/{owner}/{repo}/git/blobs
@required {owner: str, repo: str, content: str}
@optional {encoding: str=utf-8}
@returns(201) {url: str, sha: str}
@errors {403, 404, 409, 422}

@endpoint GET /repos/{owner}/{repo}/git/blobs/{file_sha}
@required {owner: str, repo: str, file_sha: str}
@returns(200) {content: str, encoding: str, url: str(uri), sha: str, size: int?, node_id: str, highlighted_content: str}
@errors {403, 404, 422}

@endpoint POST /repos/{owner}/{repo}/git/commits
@required {owner: str, repo: str, message: str, tree: str}
@optional {parents: [str], author: map{name!: str, email!: str, date: str(date-time)}, committer: map{name: str, email: str, date: str(date-time)}, signature: str}
@returns(201) {sha: str, node_id: str, url: str(uri), author: map{date: str(date-time), email: str, name: str}, committer: map{date: str(date-time), email: str, name: str}, message: str, tree: map{sha: str, url: str(uri)}, parents: [map], verification: map{verified: bool, reason: str, signature: str?, payload: str?}, html_url: str(uri)}
@errors {404, 422}

@endpoint GET /repos/{owner}/{repo}/git/commits/{commit_sha}
@required {owner: str, repo: str, commit_sha: str}
@returns(200) {sha: str, node_id: str, url: str(uri), author: map{date: str(date-time), email: str, name: str}, committer: map{date: str(date-time), email: str, name: str}, message: str, tree: map{sha: str, url: str(uri)}, parents: [map], verification: map{verified: bool, reason: str, signature: str?, payload: str?}, html_url: str(uri)}
@errors {404}

@endpoint GET /repos/{owner}/{repo}/git/matching-refs/{ref}
@required {owner: str, repo: str, ref: str}
@returns(200)

@endpoint GET /repos/{owner}/{repo}/git/ref/{ref}
@required {owner: str, repo: str, ref: str}
@returns(200) {ref: str, node_id: str, url: str(uri), object: map{type: str, sha: str, url: str(uri)}}
@errors {404}

@endpoint POST /repos/{owner}/{repo}/git/refs
@required {owner: str, repo: str, ref: str, sha: str}
@optional {key: str}
@returns(201) {ref: str, node_id: str, url: str(uri), object: map{type: str, sha: str, url: str(uri)}}
@errors {422}

@endpoint PATCH /repos/{owner}/{repo}/git/refs/{ref}
@required {owner: str, repo: str, ref: str, sha: str}
@optional {force: bool=false}
@returns(200) {ref: str, node_id: str, url: str(uri), object: map{type: str, sha: str, url: str(uri)}}
@errors {422}

@endpoint DELETE /repos/{owner}/{repo}/git/refs/{ref}
@required {owner: str, repo: str, ref: str}
@returns(204)
@errors {422}

@endpoint POST /repos/{owner}/{repo}/git/tags
@required {owner: str, repo: str, tag: str, message: str, object: str, type: str(commit/tree/blob)}
@optional {tagger: map{name!: str, email!: str, date: str(date-time)}}
@returns(201) {node_id: str, tag: str, sha: str, url: str(uri), message: str, tagger: map{date: str, email: str, name: str}, object: map{sha: str, type: str, url: str(uri)}, verification: map{verified: bool, reason: str, payload: str?, signature: str?}}
@errors {422}

@endpoint GET /repos/{owner}/{repo}/git/tags/{tag_sha}
@required {owner: str, repo: str, tag_sha: str}
@returns(200) {node_id: str, tag: str, sha: str, url: str(uri), message: str, tagger: map{date: str, email: str, name: str}, object: map{sha: str, type: str, url: str(uri)}, verification: map{verified: bool, reason: str, payload: str?, signature: str?}}
@errors {404}

@endpoint POST /repos/{owner}/{repo}/git/trees
@required {owner: str, repo: str, tree: [map{path: str, mode: str, type: str, sha: str, content: str}]}
@optional {base_tree: str}
@returns(201) {sha: str, url: str(uri), truncated: bool, tree: [map]}
@errors {403, 404, 422}

@endpoint GET /repos/{owner}/{repo}/git/trees/{tree_sha}
@required {owner: str, repo: str, tree_sha: str}
@optional {recursive: str}
@returns(200) {sha: str, url: str(uri), truncated: bool, tree: [map]}
@errors {404, 422}

@endpoint GET /repos/{owner}/{repo}/hooks
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint POST /repos/{owner}/{repo}/hooks
@required {owner: str, repo: str}
@optional {name: str, config: map{url: str(uri), content_type: str, secret: str, insecure_ssl: any, token: str, digest: str}, events: [str]=push, active: bool=true}
@returns(201) {type: str, id: int, name: str, active: bool, events: [str], config: map{email: str, password: str, room: str, subdomain: str, url: str(uri), insecure_ssl: any, content_type: str, digest: str, secret: str, token: str}, updated_at: str(date-time), created_at: str(date-time), url: str(uri), test_url: str(uri), ping_url: str(uri), deliveries_url: str(uri), last_response: map{code: int?, status: str?, message: str?}}
@errors {403, 404, 422}

@endpoint GET /repos/{owner}/{repo}/hooks/{hook_id}
@required {owner: str, repo: str, hook_id: int}
@returns(200) {type: str, id: int, name: str, active: bool, events: [str], config: map{email: str, password: str, room: str, subdomain: str, url: str(uri), insecure_ssl: any, content_type: str, digest: str, secret: str, token: str}, updated_at: str(date-time), created_at: str(date-time), url: str(uri), test_url: str(uri), ping_url: str(uri), deliveries_url: str(uri), last_response: map{code: int?, status: str?, message: str?}}
@errors {404}

@endpoint PATCH /repos/{owner}/{repo}/hooks/{hook_id}
@required {owner: str, repo: str, hook_id: int}
@optional {config: map{url!: str(uri), content_type: str, secret: str, insecure_ssl: any, address: str, room: str}, events: [str]=push, add_events: [str], remove_events: [str], active: bool=true}
@returns(200) {type: str, id: int, name: str, active: bool, events: [str], config: map{email: str, password: str, room: str, subdomain: str, url: str(uri), insecure_ssl: any, content_type: str, digest: str, secret: str, token: str}, updated_at: str(date-time), created_at: str(date-time), url: str(uri), test_url: str(uri), ping_url: str(uri), deliveries_url: str(uri), last_response: map{code: int?, status: str?, message: str?}}
@errors {404, 422}

@endpoint DELETE /repos/{owner}/{repo}/hooks/{hook_id}
@required {owner: str, repo: str, hook_id: int}
@returns(204)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/hooks/{hook_id}/config
@required {owner: str, repo: str, hook_id: int}
@returns(200) {url: str(uri), content_type: str, secret: str, insecure_ssl: any}

@endpoint PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config
@required {owner: str, repo: str, hook_id: int}
@optional {url: str(uri), content_type: str, secret: str, insecure_ssl: any}
@returns(200) {url: str(uri), content_type: str, secret: str, insecure_ssl: any}

@endpoint GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries
@required {owner: str, repo: str, hook_id: int}
@optional {per_page: int=30, cursor: str, redelivery: bool}
@returns(200)
@errors {400, 422}

@endpoint GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}
@required {owner: str, repo: str, hook_id: int, delivery_id: int}
@returns(200) {id: int, guid: str, delivered_at: str(date-time), redelivery: bool, duration: num, status: str, status_code: int, event: str, action: str?, installation_id: int?, repository_id: int?, url: str, request: map{headers: map?, payload: map?}, response: map{headers: map?, payload: str?}}
@errors {400, 422}

@endpoint POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts
@required {owner: str, repo: str, hook_id: int, delivery_id: int}
@returns(202)
@errors {400, 422}

@endpoint POST /repos/{owner}/{repo}/hooks/{hook_id}/pings
@required {owner: str, repo: str, hook_id: int}
@returns(204)
@errors {404}

@endpoint POST /repos/{owner}/{repo}/hooks/{hook_id}/tests
@required {owner: str, repo: str, hook_id: int}
@returns(204)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/installation
@required {owner: str, repo: str}
@returns(200) {id: int, account: any?, repository_selection: str, access_tokens_url: str(uri), repositories_url: str(uri), html_url: str(uri), app_id: int, target_id: int, target_type: str, permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, events: [str], created_at: str(date-time), updated_at: str(date-time), single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], app_slug: str, suspended_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, suspended_at: str(date-time)?, contact_email: str?}
@errors {301, 404}

@endpoint GET /repos/{owner}/{repo}/invitations
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint PATCH /repos/{owner}/{repo}/invitations/{invitation_id}
@required {owner: str, repo: str, invitation_id: int}
@optional {permissions: str(read/write/maintain/triage/admin)}
@returns(200) {id: int, repository: map{id: int, node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str?, hooks_url: str(uri), svn_url: str, homepage: str?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, delete_branch_on_merge: bool, subscribers_count: int, network_count: int, code_of_conduct: map{key: str, name: str, url: str(uri), body: str, html_url: str(uri)?}, license: map?{key: str, name: str, spdx_id: str, url: str, node_id: str}, forks: int, open_issues: int, watchers: int, allow_forking: bool}, invitee: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, inviter: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, permissions: str, created_at: str(date-time), expired: bool, url: str, html_url: str, node_id: str}

@endpoint DELETE /repos/{owner}/{repo}/invitations/{invitation_id}
@required {owner: str, repo: str, invitation_id: int}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/issues
@required {owner: str, repo: str}
@optional {milestone: str, state: str(open/closed/all)=open, assignee: str, creator: str, mentioned: str, labels: str, sort: str(created/updated/comments)=created, direction: str(asc/desc)=desc, since: str(date-time), per_page: int=30, page: int=1}
@returns(200)
@errors {301, 404, 422}

@endpoint POST /repos/{owner}/{repo}/issues
@required {owner: str, repo: str, title: any}
@optional {body: str, assignee: str, milestone: any, labels: [any], assignees: [str]}
@returns(201) {id: int, node_id: str, url: str(uri), repository_url: str(uri), labels_url: str, comments_url: str(uri), events_url: str(uri), html_url: str(uri), number: int, state: str, state_reason: str?, title: str, body: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assignees: [map]?, milestone: map?{url: str(uri), html_url: str(uri), labels_url: str(uri), id: int, node_id: str, number: int, state: str, title: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, open_issues: int, closed_issues: int, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, due_on: str(date-time)?}, locked: bool, active_lock_reason: str?, comments: int, pull_request: map{merged_at: str(date-time)?, diff_url: str(uri)?, html_url: str(uri)?, patch_url: str(uri)?, url: str(uri)?}, closed_at: str(date-time)?, created_at: str(date-time), updated_at: str(date-time), draft: bool, closed_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body_html: str, body_text: str, timeline_url: str(uri), repository: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, author_association: str, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}
@errors {403, 404, 410, 422, 503}

@endpoint GET /repos/{owner}/{repo}/issues/comments
@required {owner: str, repo: str}
@optional {sort: str(created/updated)=created, direction: str(asc/desc), since: str(date-time), per_page: int=30, page: int=1}
@returns(200)
@errors {404, 422}

@endpoint GET /repos/{owner}/{repo}/issues/comments/{comment_id}
@required {owner: str, repo: str, comment_id: int}
@returns(200) {id: int, node_id: str, url: str(uri), body: str, body_text: str, body_html: str, html_url: str(uri), user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), issue_url: str(uri), author_association: str, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}
@errors {404}

@endpoint PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}
@required {owner: str, repo: str, comment_id: int, body: str}
@returns(200) {id: int, node_id: str, url: str(uri), body: str, body_text: str, body_html: str, html_url: str(uri), user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), issue_url: str(uri), author_association: str, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}
@errors {422}

@endpoint DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}
@required {owner: str, repo: str, comment_id: int}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions
@required {owner: str, repo: str, comment_id: int}
@optional {content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes), per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions
@required {owner: str, repo: str, comment_id: int, content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes)}
@returns(200) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}
@returns(201) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}
@errors {422}

@endpoint DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}
@required {owner: str, repo: str, comment_id: int, reaction_id: int}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/issues/events
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {422}

@endpoint GET /repos/{owner}/{repo}/issues/events/{event_id}
@required {owner: str, repo: str, event_id: int}
@returns(200) {id: int, node_id: str, url: str(uri), actor: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, event: str, commit_id: str?, commit_url: str?, created_at: str(date-time), issue: map?{id: int, node_id: str, url: str(uri), repository_url: str(uri), labels_url: str, comments_url: str(uri), events_url: str(uri), html_url: str(uri), number: int, state: str, state_reason: str?, title: str, body: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assignees: [map]?, milestone: map?{url: str(uri), html_url: str(uri), labels_url: str(uri), id: int, node_id: str, number: int, state: str, title: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, open_issues: int, closed_issues: int, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, due_on: str(date-time)?}, locked: bool, active_lock_reason: str?, comments: int, pull_request: map{merged_at: str(date-time)?, diff_url: str(uri)?, html_url: str(uri)?, patch_url: str(uri)?, url: str(uri)?}, closed_at: str(date-time)?, created_at: str(date-time), updated_at: str(date-time), draft: bool, closed_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body_html: str, body_text: str, timeline_url: str(uri), repository: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, author_association: str, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}, label: map{name: str?, color: str?}, assignee: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assigner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, review_requester: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, requested_reviewer: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, requested_team: map{id: int, node_id: str, name: str, slug: str, description: str?, privacy: str, permission: str, permissions: map{pull: bool, triage: bool, push: bool, maintain: bool, admin: bool}, url: str(uri), html_url: str(uri), members_url: str, repositories_url: str(uri), parent: map?{id: int, node_id: str, url: str(uri), members_url: str, name: str, description: str?, permission: str, privacy: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str}}, dismissed_review: map{state: str, review_id: int, dismissal_message: str?, dismissal_commit_id: str?}, milestone: map{title: str}, project_card: map{url: str(uri), id: int, project_url: str(uri), project_id: int, column_name: str, previous_column_name: str}, rename: map{from: str, to: str}, author_association: str, lock_reason: str?, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}}
@errors {403, 404, 410}

@endpoint GET /repos/{owner}/{repo}/issues/{issue_number}
@required {owner: str, repo: str, issue_number: int}
@returns(200) {id: int, node_id: str, url: str(uri), repository_url: str(uri), labels_url: str, comments_url: str(uri), events_url: str(uri), html_url: str(uri), number: int, state: str, state_reason: str?, title: str, body: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assignees: [map]?, milestone: map?{url: str(uri), html_url: str(uri), labels_url: str(uri), id: int, node_id: str, number: int, state: str, title: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, open_issues: int, closed_issues: int, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, due_on: str(date-time)?}, locked: bool, active_lock_reason: str?, comments: int, pull_request: map{merged_at: str(date-time)?, diff_url: str(uri)?, html_url: str(uri)?, patch_url: str(uri)?, url: str(uri)?}, closed_at: str(date-time)?, created_at: str(date-time), updated_at: str(date-time), draft: bool, closed_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body_html: str, body_text: str, timeline_url: str(uri), repository: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, author_association: str, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}
@errors {301, 304, 404, 410}

@endpoint PATCH /repos/{owner}/{repo}/issues/{issue_number}
@required {owner: str, repo: str, issue_number: int}
@optional {title: any, body: str, assignee: str, state: str(open/closed), state_reason: str(completed/not_planned/reopened), milestone: any, labels: [any], assignees: [str]}
@returns(200) {id: int, node_id: str, url: str(uri), repository_url: str(uri), labels_url: str, comments_url: str(uri), events_url: str(uri), html_url: str(uri), number: int, state: str, state_reason: str?, title: str, body: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assignees: [map]?, milestone: map?{url: str(uri), html_url: str(uri), labels_url: str(uri), id: int, node_id: str, number: int, state: str, title: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, open_issues: int, closed_issues: int, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, due_on: str(date-time)?}, locked: bool, active_lock_reason: str?, comments: int, pull_request: map{merged_at: str(date-time)?, diff_url: str(uri)?, html_url: str(uri)?, patch_url: str(uri)?, url: str(uri)?}, closed_at: str(date-time)?, created_at: str(date-time), updated_at: str(date-time), draft: bool, closed_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body_html: str, body_text: str, timeline_url: str(uri), repository: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, author_association: str, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}
@errors {301, 403, 404, 410, 422, 503}

@endpoint POST /repos/{owner}/{repo}/issues/{issue_number}/assignees
@required {owner: str, repo: str, issue_number: int}
@optional {assignees: [str]}
@returns(201) {id: int, node_id: str, url: str(uri), repository_url: str(uri), labels_url: str, comments_url: str(uri), events_url: str(uri), html_url: str(uri), number: int, state: str, state_reason: str?, title: str, body: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assignees: [map]?, milestone: map?{url: str(uri), html_url: str(uri), labels_url: str(uri), id: int, node_id: str, number: int, state: str, title: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, open_issues: int, closed_issues: int, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, due_on: str(date-time)?}, locked: bool, active_lock_reason: str?, comments: int, pull_request: map{merged_at: str(date-time)?, diff_url: str(uri)?, html_url: str(uri)?, patch_url: str(uri)?, url: str(uri)?}, closed_at: str(date-time)?, created_at: str(date-time), updated_at: str(date-time), draft: bool, closed_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body_html: str, body_text: str, timeline_url: str(uri), repository: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, author_association: str, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees
@required {owner: str, repo: str, issue_number: int}
@optional {assignees: [str]}
@returns(200) {id: int, node_id: str, url: str(uri), repository_url: str(uri), labels_url: str, comments_url: str(uri), events_url: str(uri), html_url: str(uri), number: int, state: str, state_reason: str?, title: str, body: str?, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assignees: [map]?, milestone: map?{url: str(uri), html_url: str(uri), labels_url: str(uri), id: int, node_id: str, number: int, state: str, title: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, open_issues: int, closed_issues: int, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, due_on: str(date-time)?}, locked: bool, active_lock_reason: str?, comments: int, pull_request: map{merged_at: str(date-time)?, diff_url: str(uri)?, html_url: str(uri)?, patch_url: str(uri)?, url: str(uri)?}, closed_at: str(date-time)?, created_at: str(date-time), updated_at: str(date-time), draft: bool, closed_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body_html: str, body_text: str, timeline_url: str(uri), repository: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, author_association: str, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}
@required {owner: str, repo: str, issue_number: int, assignee: str}
@returns(204)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/issues/{issue_number}/comments
@required {owner: str, repo: str, issue_number: int}
@optional {since: str(date-time), per_page: int=30, page: int=1}
@returns(200)
@errors {404, 410}

@endpoint POST /repos/{owner}/{repo}/issues/{issue_number}/comments
@required {owner: str, repo: str, issue_number: int, body: str}
@returns(201) {id: int, node_id: str, url: str(uri), body: str, body_text: str, body_html: str, html_url: str(uri), user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), issue_url: str(uri), author_association: str, performed_via_github_app: map?{id: int, slug: str, node_id: str, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map{issues: str, checks: str, metadata: str, contents: str, deployments: str}, events: [str], installations_count: int, client_id: str, client_secret: str, webhook_secret: str?, pem: str}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}
@errors {403, 404, 410, 422}

@endpoint GET /repos/{owner}/{repo}/issues/{issue_number}/events
@required {owner: str, repo: str, issue_number: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {410}

@endpoint GET /repos/{owner}/{repo}/issues/{issue_number}/labels
@required {owner: str, repo: str, issue_number: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {301, 404, 410}

@endpoint POST /repos/{owner}/{repo}/issues/{issue_number}/labels
@required {owner: str, repo: str, issue_number: int}
@returns(200)
@errors {301, 404, 410, 422}

@endpoint PUT /repos/{owner}/{repo}/issues/{issue_number}/labels
@required {owner: str, repo: str, issue_number: int}
@returns(200)
@errors {301, 404, 410, 422}

@endpoint DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels
@required {owner: str, repo: str, issue_number: int}
@returns(204)
@errors {301, 404, 410}

@endpoint DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}
@required {owner: str, repo: str, issue_number: int, name: str}
@returns(200)
@errors {301, 404, 410}

@endpoint PUT /repos/{owner}/{repo}/issues/{issue_number}/lock
@required {owner: str, repo: str, issue_number: int}
@optional {lock_reason: str(off-topic/too heated/resolved/spam)}
@returns(204)
@errors {403, 404, 410, 422}

@endpoint DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock
@required {owner: str, repo: str, issue_number: int}
@returns(204)
@errors {403, 404}

@endpoint GET /repos/{owner}/{repo}/issues/{issue_number}/reactions
@required {owner: str, repo: str, issue_number: int}
@optional {content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes), per_page: int=30, page: int=1}
@returns(200)
@errors {404, 410}

@endpoint POST /repos/{owner}/{repo}/issues/{issue_number}/reactions
@required {owner: str, repo: str, issue_number: int, content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes)}
@returns(200) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}
@returns(201) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}
@errors {422}

@endpoint DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}
@required {owner: str, repo: str, issue_number: int, reaction_id: int}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/issues/{issue_number}/timeline
@required {owner: str, repo: str, issue_number: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {404, 410}

@endpoint GET /repos/{owner}/{repo}/keys
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /repos/{owner}/{repo}/keys
@required {owner: str, repo: str, key: str}
@optional {title: str, read_only: bool}
@returns(201) {id: int, key: str, url: str, title: str, verified: bool, created_at: str, read_only: bool}
@errors {422}

@endpoint GET /repos/{owner}/{repo}/keys/{key_id}
@required {owner: str, repo: str, key_id: int}
@returns(200) {id: int, key: str, url: str, title: str, verified: bool, created_at: str, read_only: bool}
@errors {404}

@endpoint DELETE /repos/{owner}/{repo}/keys/{key_id}
@required {owner: str, repo: str, key_id: int}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/labels
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint POST /repos/{owner}/{repo}/labels
@required {owner: str, repo: str, name: str}
@optional {color: str, description: str}
@returns(201) {id: int(int64), node_id: str, url: str(uri), name: str, description: str?, color: str, default: bool}
@errors {404, 422}

@endpoint GET /repos/{owner}/{repo}/labels/{name}
@required {owner: str, repo: str, name: str}
@returns(200) {id: int(int64), node_id: str, url: str(uri), name: str, description: str?, color: str, default: bool}
@errors {404}

@endpoint PATCH /repos/{owner}/{repo}/labels/{name}
@required {owner: str, repo: str, name: str}
@optional {new_name: str, color: str, description: str}
@returns(200) {id: int(int64), node_id: str, url: str(uri), name: str, description: str?, color: str, default: bool}

@endpoint DELETE /repos/{owner}/{repo}/labels/{name}
@required {owner: str, repo: str, name: str}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/languages
@required {owner: str, repo: str}
@returns(200)

@endpoint PUT /repos/{owner}/{repo}/lfs
@required {owner: str, repo: str}
@returns(202)
@errors {403}

@endpoint DELETE /repos/{owner}/{repo}/lfs
@required {owner: str, repo: str}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/license
@required {owner: str, repo: str}
@returns(200) {name: str, path: str, sha: str, size: int, url: str(uri), html_url: str(uri)?, git_url: str(uri)?, download_url: str(uri)?, type: str, content: str, encoding: str, _links: map{git: str(uri)?, html: str(uri)?, self: str(uri)}, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}}

@endpoint POST /repos/{owner}/{repo}/merge-upstream
@required {owner: str, repo: str, branch: str}
@returns(200) {message: str, merge_type: str, base_branch: str}
@errors {409, 422}

@endpoint POST /repos/{owner}/{repo}/merges
@required {owner: str, repo: str, base: str, head: str}
@optional {commit_message: str}
@returns(201) {url: str(uri), sha: str, node_id: str, html_url: str(uri), comments_url: str(uri), commit: map{url: str(uri), author: map?{name: str, email: str, date: str}, committer: map?{name: str, email: str, date: str}, message: str, comment_count: int, tree: map{sha: str, url: str(uri)}, verification: map{verified: bool, reason: str, payload: str?, signature: str?}}, author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, committer: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, parents: [map], stats: map{additions: int, deletions: int, total: int}, files: [map]}
@returns(204)
@errors {403, 404, 409, 422}

@endpoint GET /repos/{owner}/{repo}/milestones
@required {owner: str, repo: str}
@optional {state: str(open/closed/all)=open, sort: str(due_on/completeness)=due_on, direction: str(asc/desc)=asc, per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint POST /repos/{owner}/{repo}/milestones
@required {owner: str, repo: str, title: str}
@optional {state: str(open/closed)=open, description: str, due_on: str(date-time)}
@returns(201) {url: str(uri), html_url: str(uri), labels_url: str(uri), id: int, node_id: str, number: int, state: str, title: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, open_issues: int, closed_issues: int, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, due_on: str(date-time)?}
@errors {404, 422}

@endpoint GET /repos/{owner}/{repo}/milestones/{milestone_number}
@required {owner: str, repo: str, milestone_number: int}
@returns(200) {url: str(uri), html_url: str(uri), labels_url: str(uri), id: int, node_id: str, number: int, state: str, title: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, open_issues: int, closed_issues: int, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, due_on: str(date-time)?}
@errors {404}

@endpoint PATCH /repos/{owner}/{repo}/milestones/{milestone_number}
@required {owner: str, repo: str, milestone_number: int}
@optional {title: str, state: str(open/closed)=open, description: str, due_on: str(date-time)}
@returns(200) {url: str(uri), html_url: str(uri), labels_url: str(uri), id: int, node_id: str, number: int, state: str, title: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, open_issues: int, closed_issues: int, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, due_on: str(date-time)?}

@endpoint DELETE /repos/{owner}/{repo}/milestones/{milestone_number}
@required {owner: str, repo: str, milestone_number: int}
@returns(204)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels
@required {owner: str, repo: str, milestone_number: int}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /repos/{owner}/{repo}/notifications
@required {owner: str, repo: str}
@optional {all: bool=false, participating: bool=false, since: str(date-time), before: str(date-time), per_page: int=30, page: int=1}
@returns(200)

@endpoint PUT /repos/{owner}/{repo}/notifications
@required {owner: str, repo: str}
@optional {last_read_at: str(date-time)}
@returns(202) {message: str, url: str}
@returns(205)

@endpoint GET /repos/{owner}/{repo}/pages
@required {owner: str, repo: str}
@returns(200) {url: str(uri), status: str?, cname: str?, protected_domain_state: str?, pending_domain_unverified_at: str(date-time)?, custom_404: bool, html_url: str(uri), build_type: str?, source: map{branch: str, path: str}, public: bool, https_certificate: map{state: str, description: str, domains: [str], expires_at: str(date)}, https_enforced: bool}
@errors {404}

@endpoint POST /repos/{owner}/{repo}/pages
@required {owner: str, repo: str}
@optional {build_type: str(legacy/workflow), source: map{branch!: str, path: str}}
@returns(201) {url: str(uri), status: str?, cname: str?, protected_domain_state: str?, pending_domain_unverified_at: str(date-time)?, custom_404: bool, html_url: str(uri), build_type: str?, source: map{branch: str, path: str}, public: bool, https_certificate: map{state: str, description: str, domains: [str], expires_at: str(date)}, https_enforced: bool}
@errors {409, 422}

@endpoint PUT /repos/{owner}/{repo}/pages
@required {owner: str, repo: str}
@optional {cname: str, https_enforced: bool, build_type: str(legacy/workflow), source: any}
@returns(204)
@errors {400, 409, 422}

@endpoint DELETE /repos/{owner}/{repo}/pages
@required {owner: str, repo: str}
@returns(204)
@errors {404, 409, 422}

@endpoint GET /repos/{owner}/{repo}/pages/builds
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /repos/{owner}/{repo}/pages/builds
@required {owner: str, repo: str}
@returns(201) {url: str(uri), status: str}

@endpoint GET /repos/{owner}/{repo}/pages/builds/latest
@required {owner: str, repo: str}
@returns(200) {url: str(uri), status: str, error: map{message: str?}, pusher: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, commit: str, duration: int, created_at: str(date-time), updated_at: str(date-time)}

@endpoint GET /repos/{owner}/{repo}/pages/builds/{build_id}
@required {owner: str, repo: str, build_id: int}
@returns(200) {url: str(uri), status: str, error: map{message: str?}, pusher: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, commit: str, duration: int, created_at: str(date-time), updated_at: str(date-time)}

@endpoint GET /repos/{owner}/{repo}/pre-receive-hooks
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1, direction: str(asc/desc)=desc, sort: str(created/updated/name)=created}
@returns(200)

@endpoint GET /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
@required {owner: str, repo: str, pre_receive_hook_id: int}
@returns(200) {id: int, name: str, enforcement: str, configuration_url: str}

@endpoint PATCH /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
@required {owner: str, repo: str, pre_receive_hook_id: int}
@optional {enforcement: str(enabled/disabled/testing)}
@returns(200) {id: int, name: str, enforcement: str, configuration_url: str}

@endpoint DELETE /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}
@required {owner: str, repo: str, pre_receive_hook_id: int}
@returns(200) {id: int, name: str, enforcement: str, configuration_url: str}

@endpoint GET /repos/{owner}/{repo}/projects
@required {owner: str, repo: str}
@optional {state: str(open/closed/all)=open, per_page: int=30, page: int=1}
@returns(200)
@errors {401, 403, 404, 410, 422}

@endpoint POST /repos/{owner}/{repo}/projects
@required {owner: str, repo: str, name: str}
@optional {body: str}
@returns(201) {owner_url: str(uri), url: str(uri), html_url: str(uri), columns_url: str(uri), id: int, node_id: str, name: str, body: str?, number: int, state: str, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), organization_permission: str, private: bool}
@errors {401, 403, 404, 410, 422}

@endpoint GET /repos/{owner}/{repo}/pulls
@required {owner: str, repo: str}
@optional {state: str(open/closed/all)=open, head: str, base: str, sort: str(created/updated/popularity/long-running)=created, direction: str(asc/desc), per_page: int=30, page: int=1}
@returns(200)
@errors {304, 422}

@endpoint POST /repos/{owner}/{repo}/pulls
@required {owner: str, repo: str, head: str, base: str}
@optional {title: str, body: str, maintainer_can_modify: bool, draft: bool, issue: int}
@returns(201) {url: str(uri), id: int, node_id: str, html_url: str(uri), diff_url: str(uri), patch_url: str(uri), issue_url: str(uri), commits_url: str(uri), review_comments_url: str(uri), review_comment_url: str, comments_url: str(uri), statuses_url: str(uri), number: int, state: str, locked: bool, title: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str?, labels: [map], milestone: map?{url: str(uri), html_url: str(uri), labels_url: str(uri), id: int, node_id: str, number: int, state: str, title: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, open_issues: int, closed_issues: int, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, due_on: str(date-time)?}, active_lock_reason: str?, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, merged_at: str(date-time)?, merge_commit_sha: str?, assignee: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assignees: [map]?, requested_reviewers: [map]?, requested_teams: [map]?, head: map{label: str, ref: str, repo: map?{archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), description: str?, downloads_url: str(uri), events_url: str(uri), fork: bool, forks_url: str(uri), full_name: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, hooks_url: str(uri), html_url: str(uri), id: int, node_id: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, name: str, notifications_url: str, owner: map{avatar_url: str(uri), events_url: str, followers_url: str(uri), following_url: str, gists_url: str, gravatar_id: str?, html_url: str(uri), id: int, node_id: str, login: str, organizations_url: str(uri), received_events_url: str(uri), repos_url: str(uri), site_admin: bool, starred_url: str, subscriptions_url: str(uri), type: str, url: str(uri)}, private: bool, pulls_url: str, releases_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, url: str(uri), clone_url: str, default_branch: str, forks: int, forks_count: int, git_url: str, has_downloads: bool, has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_discussions: bool, homepage: str(uri)?, language: str?, master_branch: str, archived: bool, disabled: bool, visibility: str, mirror_url: str(uri)?, open_issues: int, open_issues_count: int, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, allow_merge_commit: bool, allow_squash_merge: bool, allow_rebase_merge: bool, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str}, pushed_at: str(date-time), size: int, ssh_url: str, stargazers_count: int, svn_url: str(uri), topics: [str], watchers: int, watchers_count: int, created_at: str(date-time), updated_at: str(date-time), allow_forking: bool, is_template: bool}, sha: str, user: map{avatar_url: str(uri), events_url: str, followers_url: str(uri), following_url: str, gists_url: str, gravatar_id: str?, html_url: str(uri), id: int, node_id: str, login: str, organizations_url: str(uri), received_events_url: str(uri), repos_url: str(uri), site_admin: bool, starred_url: str, subscriptions_url: str(uri), type: str, url: str(uri)}}, base: map{label: str, ref: str, repo: map{archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), description: str?, downloads_url: str(uri), events_url: str(uri), fork: bool, forks_url: str(uri), full_name: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, hooks_url: str(uri), html_url: str(uri), id: int, is_template: bool, node_id: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, name: str, notifications_url: str, owner: map{avatar_url: str(uri), events_url: str, followers_url: str(uri), following_url: str, gists_url: str, gravatar_id: str?, html_url: str(uri), id: int, node_id: str, login: str, organizations_url: str(uri), received_events_url: str(uri), repos_url: str(uri), site_admin: bool, starred_url: str, subscriptions_url: str(uri), type: str, url: str(uri)}, private: bool, pulls_url: str, releases_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, url: str(uri), clone_url: str, default_branch: str, forks: int, forks_count: int, git_url: str, has_downloads: bool, has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_discussions: bool, homepage: str(uri)?, language: str?, master_branch: str, archived: bool, disabled: bool, visibility: str, mirror_url: str(uri)?, open_issues: int, open_issues_count: int, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, allow_merge_commit: bool, allow_squash_merge: bool, allow_rebase_merge: bool, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, pushed_at: str(date-time), size: int, ssh_url: str, stargazers_count: int, svn_url: str(uri), topics: [str], watchers: int, watchers_count: int, created_at: str(date-time), updated_at: str(date-time), allow_forking: bool}, sha: str, user: map{avatar_url: str(uri), events_url: str, followers_url: str(uri), following_url: str, gists_url: str, gravatar_id: str?, html_url: str(uri), id: int, node_id: str, login: str, organizations_url: str(uri), received_events_url: str(uri), repos_url: str(uri), site_admin: bool, starred_url: str, subscriptions_url: str(uri), type: str, url: str(uri)}}, _links: map{comments: map{href: str}, commits: map{href: str}, statuses: map{href: str}, html: map{href: str}, issue: map{href: str}, review_comments: map{href: str}, review_comment: map{href: str}, self: map{href: str}}, author_association: str, auto_merge: map?{enabled_by: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, merge_method: str, commit_title: str, commit_message: str}, draft: bool, merged: bool, mergeable: bool?, rebaseable: bool?, mergeable_state: str, merged_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, comments: int, review_comments: int, maintainer_can_modify: bool, commits: int, additions: int, deletions: int, changed_files: int}
@errors {403, 422}

@endpoint GET /repos/{owner}/{repo}/pulls/comments
@required {owner: str, repo: str}
@optional {sort: str(created/updated/created_at), direction: str(asc/desc), since: str(date-time), per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /repos/{owner}/{repo}/pulls/comments/{comment_id}
@required {owner: str, repo: str, comment_id: int}
@returns(200) {url: str, pull_request_review_id: int?, id: int, node_id: str, diff_hunk: str, path: str, position: int, original_position: int, commit_id: str, original_commit_id: str, in_reply_to_id: int, user: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, created_at: str(date-time), updated_at: str(date-time), html_url: str(uri), pull_request_url: str(uri), author_association: str, _links: map{self: map{href: str(uri)}, html: map{href: str(uri)}, pull_request: map{href: str(uri)}}, start_line: int?, original_start_line: int?, start_side: str?, line: int, original_line: int, side: str, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, body_html: str, body_text: str}
@errors {404}

@endpoint PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}
@required {owner: str, repo: str, comment_id: int, body: str}
@returns(200) {url: str, pull_request_review_id: int?, id: int, node_id: str, diff_hunk: str, path: str, position: int, original_position: int, commit_id: str, original_commit_id: str, in_reply_to_id: int, user: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, created_at: str(date-time), updated_at: str(date-time), html_url: str(uri), pull_request_url: str(uri), author_association: str, _links: map{self: map{href: str(uri)}, html: map{href: str(uri)}, pull_request: map{href: str(uri)}}, start_line: int?, original_start_line: int?, start_side: str?, line: int, original_line: int, side: str, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, body_html: str, body_text: str}

@endpoint DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}
@required {owner: str, repo: str, comment_id: int}
@returns(204)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions
@required {owner: str, repo: str, comment_id: int}
@optional {content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes), per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions
@required {owner: str, repo: str, comment_id: int, content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes)}
@returns(200) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}
@returns(201) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}
@errors {422}

@endpoint DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}
@required {owner: str, repo: str, comment_id: int, reaction_id: int}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/pulls/{pull_number}
@required {owner: str, repo: str, pull_number: int}
@returns(200) {url: str(uri), id: int, node_id: str, html_url: str(uri), diff_url: str(uri), patch_url: str(uri), issue_url: str(uri), commits_url: str(uri), review_comments_url: str(uri), review_comment_url: str, comments_url: str(uri), statuses_url: str(uri), number: int, state: str, locked: bool, title: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str?, labels: [map], milestone: map?{url: str(uri), html_url: str(uri), labels_url: str(uri), id: int, node_id: str, number: int, state: str, title: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, open_issues: int, closed_issues: int, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, due_on: str(date-time)?}, active_lock_reason: str?, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, merged_at: str(date-time)?, merge_commit_sha: str?, assignee: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assignees: [map]?, requested_reviewers: [map]?, requested_teams: [map]?, head: map{label: str, ref: str, repo: map?{archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), description: str?, downloads_url: str(uri), events_url: str(uri), fork: bool, forks_url: str(uri), full_name: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, hooks_url: str(uri), html_url: str(uri), id: int, node_id: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, name: str, notifications_url: str, owner: map{avatar_url: str(uri), events_url: str, followers_url: str(uri), following_url: str, gists_url: str, gravatar_id: str?, html_url: str(uri), id: int, node_id: str, login: str, organizations_url: str(uri), received_events_url: str(uri), repos_url: str(uri), site_admin: bool, starred_url: str, subscriptions_url: str(uri), type: str, url: str(uri)}, private: bool, pulls_url: str, releases_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, url: str(uri), clone_url: str, default_branch: str, forks: int, forks_count: int, git_url: str, has_downloads: bool, has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_discussions: bool, homepage: str(uri)?, language: str?, master_branch: str, archived: bool, disabled: bool, visibility: str, mirror_url: str(uri)?, open_issues: int, open_issues_count: int, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, allow_merge_commit: bool, allow_squash_merge: bool, allow_rebase_merge: bool, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str}, pushed_at: str(date-time), size: int, ssh_url: str, stargazers_count: int, svn_url: str(uri), topics: [str], watchers: int, watchers_count: int, created_at: str(date-time), updated_at: str(date-time), allow_forking: bool, is_template: bool}, sha: str, user: map{avatar_url: str(uri), events_url: str, followers_url: str(uri), following_url: str, gists_url: str, gravatar_id: str?, html_url: str(uri), id: int, node_id: str, login: str, organizations_url: str(uri), received_events_url: str(uri), repos_url: str(uri), site_admin: bool, starred_url: str, subscriptions_url: str(uri), type: str, url: str(uri)}}, base: map{label: str, ref: str, repo: map{archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), description: str?, downloads_url: str(uri), events_url: str(uri), fork: bool, forks_url: str(uri), full_name: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, hooks_url: str(uri), html_url: str(uri), id: int, is_template: bool, node_id: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, name: str, notifications_url: str, owner: map{avatar_url: str(uri), events_url: str, followers_url: str(uri), following_url: str, gists_url: str, gravatar_id: str?, html_url: str(uri), id: int, node_id: str, login: str, organizations_url: str(uri), received_events_url: str(uri), repos_url: str(uri), site_admin: bool, starred_url: str, subscriptions_url: str(uri), type: str, url: str(uri)}, private: bool, pulls_url: str, releases_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, url: str(uri), clone_url: str, default_branch: str, forks: int, forks_count: int, git_url: str, has_downloads: bool, has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_discussions: bool, homepage: str(uri)?, language: str?, master_branch: str, archived: bool, disabled: bool, visibility: str, mirror_url: str(uri)?, open_issues: int, open_issues_count: int, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, allow_merge_commit: bool, allow_squash_merge: bool, allow_rebase_merge: bool, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, pushed_at: str(date-time), size: int, ssh_url: str, stargazers_count: int, svn_url: str(uri), topics: [str], watchers: int, watchers_count: int, created_at: str(date-time), updated_at: str(date-time), allow_forking: bool}, sha: str, user: map{avatar_url: str(uri), events_url: str, followers_url: str(uri), following_url: str, gists_url: str, gravatar_id: str?, html_url: str(uri), id: int, node_id: str, login: str, organizations_url: str(uri), received_events_url: str(uri), repos_url: str(uri), site_admin: bool, starred_url: str, subscriptions_url: str(uri), type: str, url: str(uri)}}, _links: map{comments: map{href: str}, commits: map{href: str}, statuses: map{href: str}, html: map{href: str}, issue: map{href: str}, review_comments: map{href: str}, review_comment: map{href: str}, self: map{href: str}}, author_association: str, auto_merge: map?{enabled_by: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, merge_method: str, commit_title: str, commit_message: str}, draft: bool, merged: bool, mergeable: bool?, rebaseable: bool?, mergeable_state: str, merged_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, comments: int, review_comments: int, maintainer_can_modify: bool, commits: int, additions: int, deletions: int, changed_files: int}
@errors {304, 404, 500, 503}

@endpoint PATCH /repos/{owner}/{repo}/pulls/{pull_number}
@required {owner: str, repo: str, pull_number: int}
@optional {title: str, body: str, state: str(open/closed), base: str, maintainer_can_modify: bool}
@returns(200) {url: str(uri), id: int, node_id: str, html_url: str(uri), diff_url: str(uri), patch_url: str(uri), issue_url: str(uri), commits_url: str(uri), review_comments_url: str(uri), review_comment_url: str, comments_url: str(uri), statuses_url: str(uri), number: int, state: str, locked: bool, title: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str?, labels: [map], milestone: map?{url: str(uri), html_url: str(uri), labels_url: str(uri), id: int, node_id: str, number: int, state: str, title: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, open_issues: int, closed_issues: int, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, due_on: str(date-time)?}, active_lock_reason: str?, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, merged_at: str(date-time)?, merge_commit_sha: str?, assignee: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assignees: [map]?, requested_reviewers: [map]?, requested_teams: [map]?, head: map{label: str, ref: str, repo: map?{archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), description: str?, downloads_url: str(uri), events_url: str(uri), fork: bool, forks_url: str(uri), full_name: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, hooks_url: str(uri), html_url: str(uri), id: int, node_id: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, name: str, notifications_url: str, owner: map{avatar_url: str(uri), events_url: str, followers_url: str(uri), following_url: str, gists_url: str, gravatar_id: str?, html_url: str(uri), id: int, node_id: str, login: str, organizations_url: str(uri), received_events_url: str(uri), repos_url: str(uri), site_admin: bool, starred_url: str, subscriptions_url: str(uri), type: str, url: str(uri)}, private: bool, pulls_url: str, releases_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, url: str(uri), clone_url: str, default_branch: str, forks: int, forks_count: int, git_url: str, has_downloads: bool, has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_discussions: bool, homepage: str(uri)?, language: str?, master_branch: str, archived: bool, disabled: bool, visibility: str, mirror_url: str(uri)?, open_issues: int, open_issues_count: int, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, allow_merge_commit: bool, allow_squash_merge: bool, allow_rebase_merge: bool, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str}, pushed_at: str(date-time), size: int, ssh_url: str, stargazers_count: int, svn_url: str(uri), topics: [str], watchers: int, watchers_count: int, created_at: str(date-time), updated_at: str(date-time), allow_forking: bool, is_template: bool}, sha: str, user: map{avatar_url: str(uri), events_url: str, followers_url: str(uri), following_url: str, gists_url: str, gravatar_id: str?, html_url: str(uri), id: int, node_id: str, login: str, organizations_url: str(uri), received_events_url: str(uri), repos_url: str(uri), site_admin: bool, starred_url: str, subscriptions_url: str(uri), type: str, url: str(uri)}}, base: map{label: str, ref: str, repo: map{archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), description: str?, downloads_url: str(uri), events_url: str(uri), fork: bool, forks_url: str(uri), full_name: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, hooks_url: str(uri), html_url: str(uri), id: int, is_template: bool, node_id: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, name: str, notifications_url: str, owner: map{avatar_url: str(uri), events_url: str, followers_url: str(uri), following_url: str, gists_url: str, gravatar_id: str?, html_url: str(uri), id: int, node_id: str, login: str, organizations_url: str(uri), received_events_url: str(uri), repos_url: str(uri), site_admin: bool, starred_url: str, subscriptions_url: str(uri), type: str, url: str(uri)}, private: bool, pulls_url: str, releases_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, url: str(uri), clone_url: str, default_branch: str, forks: int, forks_count: int, git_url: str, has_downloads: bool, has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_discussions: bool, homepage: str(uri)?, language: str?, master_branch: str, archived: bool, disabled: bool, visibility: str, mirror_url: str(uri)?, open_issues: int, open_issues_count: int, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, allow_merge_commit: bool, allow_squash_merge: bool, allow_rebase_merge: bool, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, pushed_at: str(date-time), size: int, ssh_url: str, stargazers_count: int, svn_url: str(uri), topics: [str], watchers: int, watchers_count: int, created_at: str(date-time), updated_at: str(date-time), allow_forking: bool}, sha: str, user: map{avatar_url: str(uri), events_url: str, followers_url: str(uri), following_url: str, gists_url: str, gravatar_id: str?, html_url: str(uri), id: int, node_id: str, login: str, organizations_url: str(uri), received_events_url: str(uri), repos_url: str(uri), site_admin: bool, starred_url: str, subscriptions_url: str(uri), type: str, url: str(uri)}}, _links: map{comments: map{href: str}, commits: map{href: str}, statuses: map{href: str}, html: map{href: str}, issue: map{href: str}, review_comments: map{href: str}, review_comment: map{href: str}, self: map{href: str}}, author_association: str, auto_merge: map?{enabled_by: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, merge_method: str, commit_title: str, commit_message: str}, draft: bool, merged: bool, mergeable: bool?, rebaseable: bool?, mergeable_state: str, merged_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, comments: int, review_comments: int, maintainer_can_modify: bool, commits: int, additions: int, deletions: int, changed_files: int}
@errors {403, 422}

@endpoint GET /repos/{owner}/{repo}/pulls/{pull_number}/comments
@required {owner: str, repo: str, pull_number: int}
@optional {sort: str(created/updated)=created, direction: str(asc/desc), since: str(date-time), per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /repos/{owner}/{repo}/pulls/{pull_number}/comments
@required {owner: str, repo: str, pull_number: int, body: str, commit_id: str, path: str, line: int}
@optional {position: int, side: str(LEFT/RIGHT), start_line: int, start_side: str(LEFT/RIGHT/side), in_reply_to: int}
@returns(201) {url: str, pull_request_review_id: int?, id: int, node_id: str, diff_hunk: str, path: str, position: int, original_position: int, commit_id: str, original_commit_id: str, in_reply_to_id: int, user: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, created_at: str(date-time), updated_at: str(date-time), html_url: str(uri), pull_request_url: str(uri), author_association: str, _links: map{self: map{href: str(uri)}, html: map{href: str(uri)}, pull_request: map{href: str(uri)}}, start_line: int?, original_start_line: int?, start_side: str?, line: int, original_line: int, side: str, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, body_html: str, body_text: str}
@errors {403, 422}

@endpoint POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies
@required {owner: str, repo: str, pull_number: int, comment_id: int, body: str}
@returns(201) {url: str, pull_request_review_id: int?, id: int, node_id: str, diff_hunk: str, path: str, position: int, original_position: int, commit_id: str, original_commit_id: str, in_reply_to_id: int, user: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, created_at: str(date-time), updated_at: str(date-time), html_url: str(uri), pull_request_url: str(uri), author_association: str, _links: map{self: map{href: str(uri)}, html: map{href: str(uri)}, pull_request: map{href: str(uri)}}, start_line: int?, original_start_line: int?, start_side: str?, line: int, original_line: int, side: str, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, body_html: str, body_text: str}
@errors {404}

@endpoint GET /repos/{owner}/{repo}/pulls/{pull_number}/commits
@required {owner: str, repo: str, pull_number: int}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /repos/{owner}/{repo}/pulls/{pull_number}/files
@required {owner: str, repo: str, pull_number: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {422, 500, 503}

@endpoint GET /repos/{owner}/{repo}/pulls/{pull_number}/merge
@required {owner: str, repo: str, pull_number: int}
@returns(204)
@errors {404}

@endpoint PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge
@required {owner: str, repo: str, pull_number: int}
@optional {commit_title: str, commit_message: str, sha: str, merge_method: str(merge/squash/rebase)}
@returns(200) {sha: str, merged: bool, message: str}
@errors {403, 404, 405, 409, 422}

@endpoint GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers
@required {owner: str, repo: str, pull_number: int}
@returns(200) {users: [map], teams: [map]}

@endpoint POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers
@required {owner: str, repo: str, pull_number: int}
@optional {reviewers: [str], team_reviewers: [str]}
@returns(201) {url: str(uri), id: int, node_id: str, html_url: str(uri), diff_url: str(uri), patch_url: str(uri), issue_url: str(uri), commits_url: str(uri), review_comments_url: str(uri), review_comment_url: str, comments_url: str(uri), statuses_url: str(uri), number: int, state: str, locked: bool, title: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str?, labels: [map], milestone: map?{url: str(uri), html_url: str(uri), labels_url: str(uri), id: int, node_id: str, number: int, state: str, title: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, open_issues: int, closed_issues: int, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, due_on: str(date-time)?}, active_lock_reason: str?, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, merged_at: str(date-time)?, merge_commit_sha: str?, assignee: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assignees: [map]?, requested_reviewers: [map]?, requested_teams: [map]?, head: map{label: str, ref: str, repo: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, sha: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, base: map{label: str, ref: str, repo: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, sha: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, _links: map{comments: map{href: str}, commits: map{href: str}, statuses: map{href: str}, html: map{href: str}, issue: map{href: str}, review_comments: map{href: str}, review_comment: map{href: str}, self: map{href: str}}, author_association: str, auto_merge: map?{enabled_by: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, merge_method: str, commit_title: str, commit_message: str}, draft: bool}
@errors {403, 422}

@endpoint DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers
@required {owner: str, repo: str, pull_number: int, reviewers: [str]}
@optional {team_reviewers: [str]}
@returns(200) {url: str(uri), id: int, node_id: str, html_url: str(uri), diff_url: str(uri), patch_url: str(uri), issue_url: str(uri), commits_url: str(uri), review_comments_url: str(uri), review_comment_url: str, comments_url: str(uri), statuses_url: str(uri), number: int, state: str, locked: bool, title: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str?, labels: [map], milestone: map?{url: str(uri), html_url: str(uri), labels_url: str(uri), id: int, node_id: str, number: int, state: str, title: str, description: str?, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, open_issues: int, closed_issues: int, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, due_on: str(date-time)?}, active_lock_reason: str?, created_at: str(date-time), updated_at: str(date-time), closed_at: str(date-time)?, merged_at: str(date-time)?, merge_commit_sha: str?, assignee: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assignees: [map]?, requested_reviewers: [map]?, requested_teams: [map]?, head: map{label: str, ref: str, repo: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, sha: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, base: map{label: str, ref: str, repo: map{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, sha: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}, _links: map{comments: map{href: str}, commits: map{href: str}, statuses: map{href: str}, html: map{href: str}, issue: map{href: str}, review_comments: map{href: str}, review_comment: map{href: str}, self: map{href: str}}, author_association: str, auto_merge: map?{enabled_by: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, merge_method: str, commit_title: str, commit_message: str}, draft: bool}
@errors {422}

@endpoint GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews
@required {owner: str, repo: str, pull_number: int}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews
@required {owner: str, repo: str, pull_number: int}
@optional {commit_id: str, body: str, event: str(APPROVE/REQUEST_CHANGES/COMMENT), comments: [map{path!: str, position: int, body!: str, line: int, side: str, start_line: int, start_side: str}]}
@returns(200) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, state: str, html_url: str(uri), pull_request_url: str(uri), _links: map{html: map{href: str}, pull_request: map{href: str}}, submitted_at: str(date-time), commit_id: str?, body_html: str, body_text: str, author_association: str}
@errors {403, 422}

@endpoint GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}
@required {owner: str, repo: str, pull_number: int, review_id: int}
@returns(200) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, state: str, html_url: str(uri), pull_request_url: str(uri), _links: map{html: map{href: str}, pull_request: map{href: str}}, submitted_at: str(date-time), commit_id: str?, body_html: str, body_text: str, author_association: str}
@errors {404}

@endpoint PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}
@required {owner: str, repo: str, pull_number: int, review_id: int, body: str}
@returns(200) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, state: str, html_url: str(uri), pull_request_url: str(uri), _links: map{html: map{href: str}, pull_request: map{href: str}}, submitted_at: str(date-time), commit_id: str?, body_html: str, body_text: str, author_association: str}
@errors {422}

@endpoint DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}
@required {owner: str, repo: str, pull_number: int, review_id: int}
@returns(200) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, state: str, html_url: str(uri), pull_request_url: str(uri), _links: map{html: map{href: str}, pull_request: map{href: str}}, submitted_at: str(date-time), commit_id: str?, body_html: str, body_text: str, author_association: str}
@errors {404, 422}

@endpoint GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments
@required {owner: str, repo: str, pull_number: int, review_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals
@required {owner: str, repo: str, pull_number: int, review_id: int, message: str}
@optional {event: str}
@returns(200) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, state: str, html_url: str(uri), pull_request_url: str(uri), _links: map{html: map{href: str}, pull_request: map{href: str}}, submitted_at: str(date-time), commit_id: str?, body_html: str, body_text: str, author_association: str}
@errors {404, 422}

@endpoint POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events
@required {owner: str, repo: str, pull_number: int, review_id: int, event: str(APPROVE/REQUEST_CHANGES/COMMENT)}
@optional {body: str}
@returns(200) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, state: str, html_url: str(uri), pull_request_url: str(uri), _links: map{html: map{href: str}, pull_request: map{href: str}}, submitted_at: str(date-time), commit_id: str?, body_html: str, body_text: str, author_association: str}
@errors {403, 404, 422}

@endpoint PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch
@required {owner: str, repo: str, pull_number: int}
@optional {expected_head_sha: str}
@returns(202) {message: str, url: str}
@errors {403, 422}

@endpoint GET /repos/{owner}/{repo}/readme
@required {owner: str, repo: str}
@optional {ref: str}
@returns(200) {type: str, encoding: str, size: int, name: str, path: str, content: str, sha: str, url: str(uri), git_url: str(uri)?, html_url: str(uri)?, download_url: str(uri)?, _links: map{git: str(uri)?, html: str(uri)?, self: str(uri)}, target: str, submodule_git_url: str}
@errors {404, 422}

@endpoint GET /repos/{owner}/{repo}/readme/{dir}
@required {owner: str, repo: str, dir: str}
@optional {ref: str}
@returns(200) {type: str, encoding: str, size: int, name: str, path: str, content: str, sha: str, url: str(uri), git_url: str(uri)?, html_url: str(uri)?, download_url: str(uri)?, _links: map{git: str(uri)?, html: str(uri)?, self: str(uri)}, target: str, submodule_git_url: str}
@errors {404, 422}

@endpoint GET /repos/{owner}/{repo}/releases
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint POST /repos/{owner}/{repo}/releases
@required {owner: str, repo: str, tag_name: str}
@optional {target_commitish: str, name: str, body: str, draft: bool=false, prerelease: bool=false, generate_release_notes: bool=false}
@returns(201) {url: str(uri), html_url: str(uri), assets_url: str(uri), upload_url: str, tarball_url: str(uri)?, zipball_url: str(uri)?, id: int, node_id: str, tag_name: str, target_commitish: str, name: str?, body: str?, draft: bool, prerelease: bool, created_at: str(date-time), published_at: str(date-time)?, author: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assets: [map], body_html: str, body_text: str, mentions_count: int, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}
@errors {422}

@endpoint GET /repos/{owner}/{repo}/releases/assets/{asset_id}
@required {owner: str, repo: str, asset_id: int}
@returns(200) {url: str(uri), browser_download_url: str(uri), id: int, node_id: str, name: str, label: str?, state: str, content_type: str, size: int, download_count: int, created_at: str(date-time), updated_at: str(date-time), uploader: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}
@errors {302, 404}

@endpoint PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}
@required {owner: str, repo: str, asset_id: int}
@optional {name: str, label: str, state: str}
@returns(200) {url: str(uri), browser_download_url: str(uri), id: int, node_id: str, name: str, label: str?, state: str, content_type: str, size: int, download_count: int, created_at: str(date-time), updated_at: str(date-time), uploader: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}

@endpoint DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}
@required {owner: str, repo: str, asset_id: int}
@returns(204)

@endpoint POST /repos/{owner}/{repo}/releases/generate-notes
@required {owner: str, repo: str, tag_name: str}
@optional {target_commitish: str, previous_tag_name: str, configuration_file_path: str}
@returns(200) {name: str, body: str}
@errors {404}

@endpoint GET /repos/{owner}/{repo}/releases/latest
@required {owner: str, repo: str}
@returns(200) {url: str(uri), html_url: str(uri), assets_url: str(uri), upload_url: str, tarball_url: str(uri)?, zipball_url: str(uri)?, id: int, node_id: str, tag_name: str, target_commitish: str, name: str?, body: str?, draft: bool, prerelease: bool, created_at: str(date-time), published_at: str(date-time)?, author: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assets: [map], body_html: str, body_text: str, mentions_count: int, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint GET /repos/{owner}/{repo}/releases/tags/{tag}
@required {owner: str, repo: str, tag: str}
@returns(200) {url: str(uri), html_url: str(uri), assets_url: str(uri), upload_url: str, tarball_url: str(uri)?, zipball_url: str(uri)?, id: int, node_id: str, tag_name: str, target_commitish: str, name: str?, body: str?, draft: bool, prerelease: bool, created_at: str(date-time), published_at: str(date-time)?, author: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assets: [map], body_html: str, body_text: str, mentions_count: int, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}
@errors {404}

@endpoint GET /repos/{owner}/{repo}/releases/{release_id}
@required {owner: str, repo: str, release_id: int}
@returns(200) {url: str(uri), html_url: str(uri), assets_url: str(uri), upload_url: str, tarball_url: str(uri)?, zipball_url: str(uri)?, id: int, node_id: str, tag_name: str, target_commitish: str, name: str?, body: str?, draft: bool, prerelease: bool, created_at: str(date-time), published_at: str(date-time)?, author: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assets: [map], body_html: str, body_text: str, mentions_count: int, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}
@errors {404}

@endpoint PATCH /repos/{owner}/{repo}/releases/{release_id}
@required {owner: str, repo: str, release_id: int}
@optional {tag_name: str, target_commitish: str, name: str, body: str, draft: bool, prerelease: bool}
@returns(200) {url: str(uri), html_url: str(uri), assets_url: str(uri), upload_url: str, tarball_url: str(uri)?, zipball_url: str(uri)?, id: int, node_id: str, tag_name: str, target_commitish: str, name: str?, body: str?, draft: bool, prerelease: bool, created_at: str(date-time), published_at: str(date-time)?, author: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, assets: [map], body_html: str, body_text: str, mentions_count: int, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint DELETE /repos/{owner}/{repo}/releases/{release_id}
@required {owner: str, repo: str, release_id: int}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/releases/{release_id}/assets
@required {owner: str, repo: str, release_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /repos/{owner}/{repo}/releases/{release_id}/assets
@required {owner: str, repo: str, release_id: int, name: str}
@optional {label: str}
@returns(201) {url: str(uri), browser_download_url: str(uri), id: int, node_id: str, name: str, label: str?, state: str, content_type: str, size: int, download_count: int, created_at: str(date-time), updated_at: str(date-time), uploader: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}
@errors {422}

@endpoint GET /repos/{owner}/{repo}/releases/{release_id}/reactions
@required {owner: str, repo: str, release_id: int}
@optional {content: str(+1/laugh/heart/hooray/rocket/eyes), per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint POST /repos/{owner}/{repo}/releases/{release_id}/reactions
@required {owner: str, repo: str, release_id: int, content: str(+1/laugh/heart/hooray/rocket/eyes)}
@returns(200) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}
@returns(201) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}
@errors {422}

@endpoint DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}
@required {owner: str, repo: str, release_id: int, reaction_id: int}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/secret-scanning/alerts
@required {owner: str, repo: str}
@optional {state: str(open/resolved), secret_type: str, resolution: str, page: int=1, per_page: int=30}
@returns(200)
@errors {404, 503}

@endpoint GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}
@required {owner: str, repo: str, alert_number: int}
@returns(200) {number: int, created_at: str(date-time), updated_at: str(date-time)?, url: str(uri), html_url: str(uri), locations_url: str(uri), state: str, resolution: str?, resolved_at: str(date-time)?, resolved_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, secret_type: str, secret: str}
@errors {304, 404, 503}

@endpoint PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}
@required {owner: str, repo: str, alert_number: int, state: str(open/resolved)}
@optional {resolution: str(false_positive/wont_fix/revoked/used_in_tests)}
@returns(200) {number: int, created_at: str(date-time), updated_at: str(date-time)?, url: str(uri), html_url: str(uri), locations_url: str(uri), state: str, resolution: str?, resolved_at: str(date-time)?, resolved_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, secret_type: str, secret: str}
@errors {404, 422, 503}

@endpoint GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations
@required {owner: str, repo: str, alert_number: int}
@optional {page: int=1, per_page: int=30}
@returns(200)
@errors {404, 503}

@endpoint GET /repos/{owner}/{repo}/stargazers
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {422}

@endpoint GET /repos/{owner}/{repo}/stats/code_frequency
@required {owner: str, repo: str}
@returns(200)
@returns(202)
@returns(204)

@endpoint GET /repos/{owner}/{repo}/stats/commit_activity
@required {owner: str, repo: str}
@returns(200)
@returns(202)
@returns(204)

@endpoint GET /repos/{owner}/{repo}/stats/contributors
@required {owner: str, repo: str}
@returns(200)
@returns(202)
@returns(204)

@endpoint GET /repos/{owner}/{repo}/stats/participation
@required {owner: str, repo: str}
@returns(200) {all: [int], owner: [int]}
@errors {404}

@endpoint GET /repos/{owner}/{repo}/stats/punch_card
@required {owner: str, repo: str}
@returns(200)
@returns(204)

@endpoint POST /repos/{owner}/{repo}/statuses/{sha}
@required {owner: str, repo: str, sha: str, state: str(error/failure/pending/success)}
@optional {target_url: str, description: str, context: str=default}
@returns(201) {url: str, avatar_url: str?, id: int, node_id: str, state: str, description: str?, target_url: str?, context: str, created_at: str, updated_at: str, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}}

@endpoint GET /repos/{owner}/{repo}/subscribers
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /repos/{owner}/{repo}/subscription
@required {owner: str, repo: str}
@returns(200) {subscribed: bool, ignored: bool, reason: str?, created_at: str(date-time), url: str(uri), repository_url: str(uri)}
@errors {403, 404}

@endpoint PUT /repos/{owner}/{repo}/subscription
@required {owner: str, repo: str}
@optional {subscribed: bool, ignored: bool}
@returns(200) {subscribed: bool, ignored: bool, reason: str?, created_at: str(date-time), url: str(uri), repository_url: str(uri)}

@endpoint DELETE /repos/{owner}/{repo}/subscription
@required {owner: str, repo: str}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/tags
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /repos/{owner}/{repo}/tarball/{ref}
@required {owner: str, repo: str, ref: str}
@errors {302}

@endpoint GET /repos/{owner}/{repo}/teams
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /repos/{owner}/{repo}/topics
@required {owner: str, repo: str}
@optional {page: int=1, per_page: int=30}
@returns(200) {names: [str]}
@errors {404}

@endpoint PUT /repos/{owner}/{repo}/topics
@required {owner: str, repo: str, names: [str]}
@returns(200) {names: [str]}
@errors {404, 422}

@endpoint POST /repos/{owner}/{repo}/transfer
@required {owner: str, repo: str, new_owner: str}
@optional {team_ids: [int]}
@returns(202) {id: int, node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str?, hooks_url: str(uri), svn_url: str, homepage: str?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, temp_clone_token: str, delete_branch_on_merge: bool, subscribers_count: int, network_count: int, code_of_conduct: map{key: str, name: str, url: str(uri), body: str, html_url: str(uri)?}, license: map?{key: str, name: str, spdx_id: str, url: str, node_id: str}, forks: int, open_issues: int, watchers: int, allow_forking: bool}

@endpoint GET /repos/{owner}/{repo}/zipball/{ref}
@required {owner: str, repo: str, ref: str}
@errors {302}

@endpoint POST /repos/{template_owner}/{template_repo}/generate
@required {template_owner: str, template_repo: str, name: str}
@optional {owner: str, description: str, include_all_branches: bool=false, private: bool=false}
@returns(201) {id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}

@endgroup

@group repositories
@endpoint GET /repositories
@optional {since: int, visibility: str(all/public)=public}
@returns(200)
@errors {304, 422}

@endpoint GET /repositories/{repository_id}/environments/{environment_name}/secrets
@required {repository_id: int, environment_name: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, secrets: [map]}

@endpoint GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key
@required {repository_id: int, environment_name: str}
@returns(200) {key_id: str, key: str, id: int, url: str, title: str, created_at: str}

@endpoint GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}
@required {repository_id: int, environment_name: str, secret_name: str}
@returns(200) {name: str, created_at: str(date-time), updated_at: str(date-time)}

@endpoint PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}
@required {repository_id: int, environment_name: str, secret_name: str, encrypted_value: str, key_id: str}
@returns(201)
@returns(204)

@endpoint DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}
@required {repository_id: int, environment_name: str, secret_name: str}
@returns(204)

@endgroup

@group search
@endpoint GET /search/code
@required {q: str}
@optional {sort: str, order: str(desc/asc)=desc, per_page: int=30, page: int=1}
@returns(200) {total_count: int, incomplete_results: bool, items: [map]}
@errors {304, 403, 422, 503}

@endpoint GET /search/commits
@required {q: str}
@optional {sort: str(author-date/committer-date), order: str(desc/asc)=desc, per_page: int=30, page: int=1}
@returns(200) {total_count: int, incomplete_results: bool, items: [map]}
@errors {304}

@endpoint GET /search/issues
@required {q: str}
@optional {sort: str(comments/reactions/reactions-+1/reactions--1/reactions-smile/reactions-thinking_face/reactions-heart/reactions-tada/interactions/created/updated), order: str(desc/asc)=desc, per_page: int=30, page: int=1}
@returns(200) {total_count: int, incomplete_results: bool, items: [map]}
@errors {304, 403, 422, 503}

@endpoint GET /search/labels
@required {repository_id: int, q: str}
@optional {sort: str(created/updated), order: str(desc/asc)=desc, per_page: int=30, page: int=1}
@returns(200) {total_count: int, incomplete_results: bool, items: [map]}
@errors {304, 403, 404, 422}

@endpoint GET /search/repositories
@required {q: str}
@optional {sort: str(stars/forks/help-wanted-issues/updated), order: str(desc/asc)=desc, per_page: int=30, page: int=1}
@returns(200) {total_count: int, incomplete_results: bool, items: [map]}
@errors {304, 422, 503}

@endpoint GET /search/topics
@required {q: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, incomplete_results: bool, items: [map]}
@errors {304}

@endpoint GET /search/users
@required {q: str}
@optional {sort: str(followers/repositories/joined), order: str(desc/asc)=desc, per_page: int=30, page: int=1}
@returns(200) {total_count: int, incomplete_results: bool, items: [map]}
@errors {304, 422, 503}

@endgroup

@group setup
@endpoint GET /setup/api/configcheck
@returns(200) {status: str, progress: [map]}

@endpoint POST /setup/api/configure
@returns(202)

@endpoint GET /setup/api/maintenance
@returns(200) {status: str, scheduled_time: str, connection_services: [map]}

@endpoint POST /setup/api/maintenance
@returns(200) {status: str, scheduled_time: str, connection_services: [map]}

@endpoint GET /setup/api/settings
@returns(200) {enterprise: map{private_mode: bool, public_pages: bool, subdomain_isolation: bool, signup_enabled: bool, github_hostname: str, identicons_host: str, http_proxy: str?, auth_mode: str, expire_sessions: bool, admin_password: str?, configuration_id: int, configuration_run_count: int, avatar: map{enabled: bool, uri: str}, customer: map{name: str, email: str, uuid: str, secret_key_data: str, public_key_data: str}, license: map{seats: int, evaluation: bool, perpetual: bool, unlimited_seating: bool, support_key: str, ssh_allowed: bool, cluster_support: bool, expire_at: str}, github_ssl: map{enabled: bool, cert: str?, key: str?}, ldap: map{host: str?, port: int, base: [any], uid: str?, bind_dn: str?, password: str?, method: str, search_strategy: str, user_groups: [any], admin_group: str?, virtual_attribute_enabled: bool, recursive_group_search: bool, posix_support: bool, user_sync_emails: bool, user_sync_keys: bool, user_sync_interval: int, team_sync_interval: int, sync_enabled: bool, reconciliation: map{user: str?, org: str?}, profile: map{uid: str, name: str?, mail: str?, key: str?}}, cas: map{url: str?}, saml: map{sso_url: str?, certificate: str?, certificate_path: str?, issuer: str?, idp_initiated_sso: bool, disable_admin_demote: bool}, github_oauth: map{client_id: str, client_secret: str, organization_name: str, organization_team: str}, smtp: map{enabled: bool, address: str, authentication: str, port: str, domain: str, username: str, user_name: str, enable_starttls_auto: bool, password: str, discard-to-noreply-address: bool, support_address: str, support_address_type: str, noreply_address: str}, ntp: map{primary_server: str, secondary_server: str}, timezone: str?, snmp: map{enabled: bool, community: str}, syslog: map{enabled: bool, server: str?, protocol_name: str}, assets: str?, pages: map{enabled: bool}, collectd: map{enabled: bool, server: str?, port: int, encryption: str?, username: str?, password: str?}, mapping: map{enabled: bool, tileserver: str?, basemap: str, token: str?}, load_balancer: str?}, run_list: [str]}

@endpoint PUT /setup/api/settings
@returns(204)

@endpoint GET /setup/api/settings/authorized-keys
@returns(200)

@endpoint POST /setup/api/settings/authorized-keys
@returns(201)

@endpoint DELETE /setup/api/settings/authorized-keys
@returns(200)

@endpoint POST /setup/api/start
@returns(202)

@endpoint POST /setup/api/upgrade
@returns(202)

@endgroup

@group teams
@endpoint GET /teams/{team_id}
@required {team_id: int}
@returns(200) {id: int, node_id: str, url: str(uri), html_url: str(uri), name: str, slug: str, description: str?, privacy: str, permission: str, members_url: str, repositories_url: str(uri), parent: map?{id: int, node_id: str, url: str(uri), members_url: str, name: str, description: str?, permission: str, privacy: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str}, members_count: int, repos_count: int, created_at: str(date-time), updated_at: str(date-time), organization: map{login: str, id: int, node_id: str, url: str(uri), repos_url: str(uri), events_url: str(uri), hooks_url: str, issues_url: str, members_url: str, public_members_url: str, avatar_url: str, description: str?, name: str, company: str, blog: str(uri), location: str, email: str(email), twitter_username: str?, is_verified: bool, has_organization_projects: bool, has_repository_projects: bool, public_repos: int, public_gists: int, followers: int, following: int, html_url: str(uri), created_at: str(date-time), type: str, total_private_repos: int, owned_private_repos: int, private_gists: int?, disk_usage: int?, collaborators: int?, billing_email: str(email)?, plan: map{name: str, space: int, private_repos: int, filled_seats: int, seats: int}, default_repository_permission: str?, members_can_create_repositories: bool?, two_factor_requirement_enabled: bool?, members_allowed_repository_creation_type: str, members_can_create_public_repositories: bool, members_can_create_private_repositories: bool, members_can_create_internal_repositories: bool, members_can_create_pages: bool, members_can_create_public_pages: bool, members_can_create_private_pages: bool, updated_at: str(date-time)}, ldap_dn: str}
@errors {404}

@endpoint PATCH /teams/{team_id}
@required {team_id: int, name: str}
@optional {description: str, privacy: str(secret/closed), permission: str(pull/push/admin)=pull, parent_team_id: int}
@returns(200) {id: int, node_id: str, url: str(uri), html_url: str(uri), name: str, slug: str, description: str?, privacy: str, permission: str, members_url: str, repositories_url: str(uri), parent: map?{id: int, node_id: str, url: str(uri), members_url: str, name: str, description: str?, permission: str, privacy: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str}, members_count: int, repos_count: int, created_at: str(date-time), updated_at: str(date-time), organization: map{login: str, id: int, node_id: str, url: str(uri), repos_url: str(uri), events_url: str(uri), hooks_url: str, issues_url: str, members_url: str, public_members_url: str, avatar_url: str, description: str?, name: str, company: str, blog: str(uri), location: str, email: str(email), twitter_username: str?, is_verified: bool, has_organization_projects: bool, has_repository_projects: bool, public_repos: int, public_gists: int, followers: int, following: int, html_url: str(uri), created_at: str(date-time), type: str, total_private_repos: int, owned_private_repos: int, private_gists: int?, disk_usage: int?, collaborators: int?, billing_email: str(email)?, plan: map{name: str, space: int, private_repos: int, filled_seats: int, seats: int}, default_repository_permission: str?, members_can_create_repositories: bool?, two_factor_requirement_enabled: bool?, members_allowed_repository_creation_type: str, members_can_create_public_repositories: bool, members_can_create_private_repositories: bool, members_can_create_internal_repositories: bool, members_can_create_pages: bool, members_can_create_public_pages: bool, members_can_create_private_pages: bool, updated_at: str(date-time)}, ldap_dn: str}
@returns(201) {id: int, node_id: str, url: str(uri), html_url: str(uri), name: str, slug: str, description: str?, privacy: str, permission: str, members_url: str, repositories_url: str(uri), parent: map?{id: int, node_id: str, url: str(uri), members_url: str, name: str, description: str?, permission: str, privacy: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str}, members_count: int, repos_count: int, created_at: str(date-time), updated_at: str(date-time), organization: map{login: str, id: int, node_id: str, url: str(uri), repos_url: str(uri), events_url: str(uri), hooks_url: str, issues_url: str, members_url: str, public_members_url: str, avatar_url: str, description: str?, name: str, company: str, blog: str(uri), location: str, email: str(email), twitter_username: str?, is_verified: bool, has_organization_projects: bool, has_repository_projects: bool, public_repos: int, public_gists: int, followers: int, following: int, html_url: str(uri), created_at: str(date-time), type: str, total_private_repos: int, owned_private_repos: int, private_gists: int?, disk_usage: int?, collaborators: int?, billing_email: str(email)?, plan: map{name: str, space: int, private_repos: int, filled_seats: int, seats: int}, default_repository_permission: str?, members_can_create_repositories: bool?, two_factor_requirement_enabled: bool?, members_allowed_repository_creation_type: str, members_can_create_public_repositories: bool, members_can_create_private_repositories: bool, members_can_create_internal_repositories: bool, members_can_create_pages: bool, members_can_create_public_pages: bool, members_can_create_private_pages: bool, updated_at: str(date-time)}, ldap_dn: str}
@errors {403, 404, 422}

@endpoint DELETE /teams/{team_id}
@required {team_id: int}
@returns(204)
@errors {404, 422}

@endpoint GET /teams/{team_id}/discussions
@required {team_id: int}
@optional {direction: str(asc/desc)=desc, per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /teams/{team_id}/discussions
@required {team_id: int, title: str, body: str}
@optional {private: bool=false}
@returns(201) {author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, body_html: str, body_version: str, comments_count: int, comments_url: str(uri), created_at: str(date-time), last_edited_at: str(date-time)?, html_url: str(uri), node_id: str, number: int, pinned: bool, private: bool, team_url: str(uri), title: str, updated_at: str(date-time), url: str(uri), reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint GET /teams/{team_id}/discussions/{discussion_number}
@required {team_id: int, discussion_number: int}
@returns(200) {author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, body_html: str, body_version: str, comments_count: int, comments_url: str(uri), created_at: str(date-time), last_edited_at: str(date-time)?, html_url: str(uri), node_id: str, number: int, pinned: bool, private: bool, team_url: str(uri), title: str, updated_at: str(date-time), url: str(uri), reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint PATCH /teams/{team_id}/discussions/{discussion_number}
@required {team_id: int, discussion_number: int}
@optional {title: str, body: str}
@returns(200) {author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, body_html: str, body_version: str, comments_count: int, comments_url: str(uri), created_at: str(date-time), last_edited_at: str(date-time)?, html_url: str(uri), node_id: str, number: int, pinned: bool, private: bool, team_url: str(uri), title: str, updated_at: str(date-time), url: str(uri), reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint DELETE /teams/{team_id}/discussions/{discussion_number}
@required {team_id: int, discussion_number: int}
@returns(204)

@endpoint GET /teams/{team_id}/discussions/{discussion_number}/comments
@required {team_id: int, discussion_number: int}
@optional {direction: str(asc/desc)=desc, per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /teams/{team_id}/discussions/{discussion_number}/comments
@required {team_id: int, discussion_number: int, body: str}
@returns(201) {author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, body_html: str, body_version: str, created_at: str(date-time), last_edited_at: str(date-time)?, discussion_url: str(uri), html_url: str(uri), node_id: str, number: int, updated_at: str(date-time), url: str(uri), reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}
@required {team_id: int, discussion_number: int, comment_number: int}
@returns(200) {author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, body_html: str, body_version: str, created_at: str(date-time), last_edited_at: str(date-time)?, discussion_url: str(uri), html_url: str(uri), node_id: str, number: int, updated_at: str(date-time), url: str(uri), reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint PATCH /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}
@required {team_id: int, discussion_number: int, comment_number: int, body: str}
@returns(200) {author: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, body: str, body_html: str, body_version: str, created_at: str(date-time), last_edited_at: str(date-time)?, discussion_url: str(uri), html_url: str(uri), node_id: str, number: int, updated_at: str(date-time), url: str(uri), reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}}

@endpoint DELETE /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}
@required {team_id: int, discussion_number: int, comment_number: int}
@returns(204)

@endpoint GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions
@required {team_id: int, discussion_number: int, comment_number: int}
@optional {content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes), per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions
@required {team_id: int, discussion_number: int, comment_number: int, content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes)}
@returns(201) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}

@endpoint GET /teams/{team_id}/discussions/{discussion_number}/reactions
@required {team_id: int, discussion_number: int}
@optional {content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes), per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /teams/{team_id}/discussions/{discussion_number}/reactions
@required {team_id: int, discussion_number: int, content: str(+1/-1/laugh/confused/heart/hooray/rocket/eyes)}
@returns(201) {id: int, node_id: str, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, content: str, created_at: str(date-time)}

@endpoint GET /teams/{team_id}/members
@required {team_id: int}
@optional {role: str(member/maintainer/all)=all, per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint GET /teams/{team_id}/members/{username}
@required {team_id: int, username: str}
@returns(204)
@errors {404}

@endpoint PUT /teams/{team_id}/members/{username}
@required {team_id: int, username: str}
@returns(204)
@errors {403, 404, 422}

@endpoint DELETE /teams/{team_id}/members/{username}
@required {team_id: int, username: str}
@returns(204)
@errors {404}

@endpoint GET /teams/{team_id}/memberships/{username}
@required {team_id: int, username: str}
@returns(200) {url: str(uri), role: str, state: str}
@errors {404}

@endpoint PUT /teams/{team_id}/memberships/{username}
@required {team_id: int, username: str}
@optional {role: str(member/maintainer)=member}
@returns(200) {url: str(uri), role: str, state: str}
@errors {403, 404, 422}

@endpoint DELETE /teams/{team_id}/memberships/{username}
@required {team_id: int, username: str}
@returns(204)
@errors {403}

@endpoint GET /teams/{team_id}/projects
@required {team_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint GET /teams/{team_id}/projects/{project_id}
@required {team_id: int, project_id: int}
@returns(200) {owner_url: str, url: str, html_url: str, columns_url: str, id: int, node_id: str, name: str, body: str?, number: int, state: str, creator: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str, updated_at: str, organization_permission: str, private: bool, permissions: map{read: bool, write: bool, admin: bool}}
@errors {404}

@endpoint PUT /teams/{team_id}/projects/{project_id}
@required {team_id: int, project_id: int}
@optional {permission: str(read/write/admin)}
@returns(204)
@errors {403, 404, 422}

@endpoint DELETE /teams/{team_id}/projects/{project_id}
@required {team_id: int, project_id: int}
@returns(204)
@errors {404, 422}

@endpoint GET /teams/{team_id}/repos
@required {team_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {404}

@endpoint GET /teams/{team_id}/repos/{owner}/{repo}
@required {team_id: int, owner: str, repo: str}
@returns(200) {id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str}
@returns(204)
@errors {404}

@endpoint PUT /teams/{team_id}/repos/{owner}/{repo}
@required {team_id: int, owner: str, repo: str}
@optional {permission: str(pull/push/admin)}
@returns(204)
@errors {403, 422}

@endpoint DELETE /teams/{team_id}/repos/{owner}/{repo}
@required {team_id: int, owner: str, repo: str}
@returns(204)

@endpoint GET /teams/{team_id}/teams
@required {team_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {403, 404, 422}

@endgroup

@group user
@endpoint GET /user
@returns(200)
@errors {304, 401, 403}

@endpoint PATCH /user
@optional {name: str, email: str, blog: str, twitter_username: str, company: str, location: str, hireable: bool, bio: str}
@returns(200) {login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, name: str?, company: str?, blog: str?, location: str?, email: str(email)?, hireable: bool?, bio: str?, twitter_username: str?, public_repos: int, public_gists: int, followers: int, following: int, created_at: str(date-time), updated_at: str(date-time), private_gists: int, total_private_repos: int, owned_private_repos: int, disk_usage: int, collaborators: int, two_factor_authentication: bool, plan: map{collaborators: int, name: str, space: int, private_repos: int}, suspended_at: str(date-time)?, business_plus: bool, ldap_dn: str}
@errors {304, 401, 403, 404, 422}

@endpoint GET /user/emails
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403, 404}

@endpoint POST /user/emails
@returns(201)
@errors {304, 401, 403, 404, 422}

@endpoint DELETE /user/emails
@returns(204)
@errors {304, 401, 403, 404, 422}

@endpoint GET /user/followers
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403}

@endpoint GET /user/following
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403}

@endpoint GET /user/following/{username}
@required {username: str}
@returns(204)
@errors {304, 401, 403, 404}

@endpoint PUT /user/following/{username}
@required {username: str}
@returns(204)
@errors {304, 401, 403, 404}

@endpoint DELETE /user/following/{username}
@required {username: str}
@returns(204)
@errors {304, 401, 403, 404}

@endpoint GET /user/gpg_keys
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403, 404}

@endpoint POST /user/gpg_keys
@required {armored_public_key: str}
@returns(201) {id: int, primary_key_id: int?, key_id: str, public_key: str, emails: [map], subkeys: [map], can_sign: bool, can_encrypt_comms: bool, can_encrypt_storage: bool, can_certify: bool, created_at: str(date-time), expires_at: str(date-time)?, raw_key: str?}
@errors {304, 401, 403, 404, 422}

@endpoint GET /user/gpg_keys/{gpg_key_id}
@required {gpg_key_id: int}
@returns(200) {id: int, primary_key_id: int?, key_id: str, public_key: str, emails: [map], subkeys: [map], can_sign: bool, can_encrypt_comms: bool, can_encrypt_storage: bool, can_certify: bool, created_at: str(date-time), expires_at: str(date-time)?, raw_key: str?}
@errors {304, 401, 403, 404}

@endpoint DELETE /user/gpg_keys/{gpg_key_id}
@required {gpg_key_id: int}
@returns(204)
@errors {304, 401, 403, 404, 422}

@endpoint GET /user/installations
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, installations: [map]}
@errors {304, 401, 403}

@endpoint GET /user/installations/{installation_id}/repositories
@required {installation_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, repository_selection: str, repositories: [map]}
@errors {304, 403, 404}

@endpoint PUT /user/installations/{installation_id}/repositories/{repository_id}
@required {installation_id: int, repository_id: int}
@returns(204)
@errors {304, 403, 404}

@endpoint DELETE /user/installations/{installation_id}/repositories/{repository_id}
@required {installation_id: int, repository_id: int}
@returns(204)
@errors {304, 403, 404}

@endpoint GET /user/issues
@optional {filter: str(assigned/created/mentioned/subscribed/repos/all)=assigned, state: str(open/closed/all)=open, labels: str, sort: str(created/updated/comments)=created, direction: str(asc/desc)=desc, since: str(date-time), per_page: int=30, page: int=1}
@returns(200)
@errors {304, 404}

@endpoint GET /user/keys
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403, 404}

@endpoint POST /user/keys
@required {key: str}
@optional {title: str}
@returns(201) {key: str, id: int, url: str, title: str, created_at: str(date-time), verified: bool, read_only: bool}
@errors {304, 401, 403, 404, 422}

@endpoint GET /user/keys/{key_id}
@required {key_id: int}
@returns(200) {key: str, id: int, url: str, title: str, created_at: str(date-time), verified: bool, read_only: bool}
@errors {304, 401, 403, 404}

@endpoint DELETE /user/keys/{key_id}
@required {key_id: int}
@returns(204)
@errors {304, 401, 403, 404}

@endpoint GET /user/memberships/orgs
@optional {state: str(active/pending), per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403, 422}

@endpoint GET /user/memberships/orgs/{org}
@required {org: str}
@returns(200) {url: str(uri), state: str, role: str, organization_url: str(uri), organization: map{login: str, id: int, node_id: str, url: str(uri), repos_url: str(uri), events_url: str(uri), hooks_url: str, issues_url: str, members_url: str, public_members_url: str, avatar_url: str, description: str?}, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, permissions: map{can_create_repository: bool}}
@errors {403, 404}

@endpoint PATCH /user/memberships/orgs/{org}
@required {org: str, state: str}
@returns(200) {url: str(uri), state: str, role: str, organization_url: str(uri), organization: map{login: str, id: int, node_id: str, url: str(uri), repos_url: str(uri), events_url: str(uri), hooks_url: str, issues_url: str, members_url: str, public_members_url: str, avatar_url: str, description: str?}, user: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, permissions: map{can_create_repository: bool}}
@errors {403, 404, 422}

@endpoint GET /user/orgs
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403}

@endpoint POST /user/projects
@required {name: str}
@optional {body: str}
@returns(201) {owner_url: str(uri), url: str(uri), html_url: str(uri), columns_url: str(uri), id: int, node_id: str, name: str, body: str?, number: int, state: str, creator: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, created_at: str(date-time), updated_at: str(date-time), organization_permission: str, private: bool}
@errors {304, 401, 403, 422}

@endpoint GET /user/public_emails
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403, 404}

@endpoint GET /user/repos
@optional {visibility: str(all/public/private)=all, affiliation: str=owner,collaborator,organization_member, type: str(all/owner/public/private/member)=all, sort: str(created/updated/pushed/full_name)=full_name, direction: str(asc/desc), per_page: int=30, page: int=1, since: str(date-time), before: str(date-time)}
@returns(200)
@errors {304, 401, 403, 422}

@endpoint POST /user/repos
@required {name: str}
@optional {description: str, homepage: str, private: bool=false, has_issues: bool=true, has_projects: bool=true, has_wiki: bool=true, has_discussions: bool=false, team_id: int, auto_init: bool=false, gitignore_template: str, license_template: str, allow_squash_merge: bool=true, allow_merge_commit: bool=true, allow_rebase_merge: bool=true, allow_auto_merge: bool=false, delete_branch_on_merge: bool=false, squash_merge_commit_title: str(PR_TITLE/COMMIT_OR_PR_TITLE), squash_merge_commit_message: str(PR_BODY/COMMIT_MESSAGES/BLANK), merge_commit_title: str(PR_TITLE/MERGE_MESSAGE), merge_commit_message: str(PR_BODY/PR_TITLE/BLANK), has_downloads: bool=true, is_template: bool=false}
@returns(201) {id: int, node_id: str, name: str, full_name: str, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, organization: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, forks: int, permissions: map{admin: bool, pull: bool, triage: bool, push: bool, maintain: bool}, owner: map{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, private: bool, html_url: str(uri), description: str?, fork: bool, url: str(uri), archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str(uri), deployments_url: str(uri), downloads_url: str(uri), events_url: str(uri), forks_url: str(uri), git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str(uri), merges_url: str(uri), milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str(uri), statuses_url: str, subscribers_url: str(uri), subscription_url: str(uri), tags_url: str(uri), teams_url: str(uri), trees_url: str, clone_url: str, mirror_url: str(uri)?, hooks_url: str(uri), svn_url: str(uri), homepage: str(uri)?, language: str?, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str(date-time)?, created_at: str(date-time)?, updated_at: str(date-time)?, allow_rebase_merge: bool, template_repository: map?{id: int, node_id: str, name: str, full_name: str, owner: map{login: str, id: int, node_id: str, avatar_url: str, gravatar_id: str, url: str, html_url: str, followers_url: str, following_url: str, gists_url: str, starred_url: str, subscriptions_url: str, organizations_url: str, repos_url: str, events_url: str, received_events_url: str, type: str, site_admin: bool}, private: bool, html_url: str, description: str, fork: bool, url: str, archive_url: str, assignees_url: str, blobs_url: str, branches_url: str, collaborators_url: str, comments_url: str, commits_url: str, compare_url: str, contents_url: str, contributors_url: str, deployments_url: str, downloads_url: str, events_url: str, forks_url: str, git_commits_url: str, git_refs_url: str, git_tags_url: str, git_url: str, issue_comment_url: str, issue_events_url: str, issues_url: str, keys_url: str, labels_url: str, languages_url: str, merges_url: str, milestones_url: str, notifications_url: str, pulls_url: str, releases_url: str, ssh_url: str, stargazers_url: str, statuses_url: str, subscribers_url: str, subscription_url: str, tags_url: str, teams_url: str, trees_url: str, clone_url: str, mirror_url: str, hooks_url: str, svn_url: str, homepage: str, language: str, forks_count: int, stargazers_count: int, watchers_count: int, size: int, default_branch: str, open_issues_count: int, is_template: bool, topics: [str], has_issues: bool, has_projects: bool, has_wiki: bool, has_pages: bool, has_downloads: bool, archived: bool, disabled: bool, visibility: str, pushed_at: str, created_at: str, updated_at: str, permissions: map{admin: bool, maintain: bool, push: bool, triage: bool, pull: bool}, allow_rebase_merge: bool, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, subscribers_count: int, network_count: int}, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, allow_merge_commit: bool, allow_forking: bool, subscribers_count: int, network_count: int, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool}
@errors {304, 400, 401, 403, 404, 422}

@endpoint GET /user/repository_invitations
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403, 404}

@endpoint PATCH /user/repository_invitations/{invitation_id}
@required {invitation_id: int}
@returns(204)
@errors {304, 403, 404, 409}

@endpoint DELETE /user/repository_invitations/{invitation_id}
@required {invitation_id: int}
@returns(204)
@errors {304, 403, 404, 409}

@endpoint GET /user/starred
@optional {sort: str(created/updated)=created, direction: str(asc/desc)=desc, per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403}

@endpoint GET /user/starred/{owner}/{repo}
@required {owner: str, repo: str}
@returns(204)
@errors {304, 401, 403, 404}

@endpoint PUT /user/starred/{owner}/{repo}
@required {owner: str, repo: str}
@returns(204)
@errors {304, 401, 403, 404}

@endpoint DELETE /user/starred/{owner}/{repo}
@required {owner: str, repo: str}
@returns(204)
@errors {304, 401, 403, 404}

@endpoint GET /user/subscriptions
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403}

@endpoint GET /user/teams
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 403, 404}

@endgroup

@group users
@endpoint GET /users
@optional {since: int, per_page: int=30}
@returns(200)
@errors {304}

@endpoint GET /users/{username}
@required {username: str}
@returns(200)
@errors {404}

@endpoint GET /users/{username}/events
@required {username: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /users/{username}/events/orgs/{org}
@required {username: str, org: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /users/{username}/events/public
@required {username: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /users/{username}/followers
@required {username: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /users/{username}/following
@required {username: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /users/{username}/following/{target_user}
@required {username: str, target_user: str}
@returns(204)
@errors {404}

@endpoint GET /users/{username}/gists
@required {username: str}
@optional {since: str(date-time), per_page: int=30, page: int=1}
@returns(200)
@errors {422}

@endpoint GET /users/{username}/gpg_keys
@required {username: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /users/{username}/hovercard
@required {username: str}
@optional {subject_type: str(organization/repository/issue/pull_request), subject_id: str}
@returns(200) {contexts: [map]}
@errors {404, 422}

@endpoint GET /users/{username}/installation
@required {username: str}
@returns(200) {id: int, account: any?, repository_selection: str, access_tokens_url: str(uri), repositories_url: str(uri), html_url: str(uri), app_id: int, target_id: int, target_type: str, permissions: map{actions: str, administration: str, checks: str, contents: str, deployments: str, environments: str, issues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_hooks: str, repository_projects: str, secret_scanning_alerts: str, secrets: str, security_events: str, single_file: str, statuses: str, vulnerability_alerts: str, workflows: str, members: str, organization_administration: str, organization_hooks: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, team_discussions: str, content_references: str}, events: [str], created_at: str(date-time), updated_at: str(date-time), single_file_name: str?, has_multiple_single_files: bool, single_file_paths: [str], app_slug: str, suspended_by: map?{name: str?, email: str?, login: str, id: int, node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str}, suspended_at: str(date-time)?, contact_email: str?}

@endpoint GET /users/{username}/keys
@required {username: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /users/{username}/orgs
@required {username: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /users/{username}/projects
@required {username: str}
@optional {state: str(open/closed/all)=open, per_page: int=30, page: int=1}
@returns(200)
@errors {422}

@endpoint GET /users/{username}/received_events
@required {username: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /users/{username}/received_events/public
@required {username: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /users/{username}/repos
@required {username: str}
@optional {type: str(all/owner/member)=owner, sort: str(created/updated/pushed/full_name)=full_name, direction: str(asc/desc), per_page: int=30, page: int=1}
@returns(200)

@endpoint PUT /users/{username}/site_admin
@required {username: str}
@returns(204)

@endpoint DELETE /users/{username}/site_admin
@required {username: str}
@returns(204)

@endpoint GET /users/{username}/starred
@required {username: str}
@optional {sort: str(created/updated)=created, direction: str(asc/desc)=desc, per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /users/{username}/subscriptions
@required {username: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint PUT /users/{username}/suspended
@required {username: str}
@optional {reason: str}
@returns(204)

@endpoint DELETE /users/{username}/suspended
@required {username: str}
@optional {reason: str}
@returns(204)

@endgroup

@group zen
@endpoint GET /zen
@returns(200)

@endgroup

@end
