@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api GitHub v3 REST API
@base https://api.github.com
@version 1.1.4
@auth ApiKey filter in query
@endpoints 1112
@hint download_for_search
@toc root(1), advisories(2), agents(5), app(13), app-manifests(1), applications(5), apps(1), assignments(3), classrooms(3), codes_of_conduct(2), credentials(1), emojis(1), enterprises(38), events(1), feeds(1), gists(19), gitignore(2), installation(2), issues(1), licenses(2), markdown(2), marketplace_listing(6), meta(1), networks(1), notifications(8), octocat(1), organizations(15), orgs(329), rate_limit(1), repos(471), repositories(4), search(7), teams(16), user(94), users(50), versions(1), 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 advisories
@endpoint GET /advisories
@optional {ghsa_id: str, type: str(reviewed/malware/unreviewed)=reviewed, cve_id: str, ecosystem: str, severity: str(unknown/low/medium/high/critical), cwes: any, is_withdrawn: bool, affects: any, published: str, updated: str, modified: str, epss_percentage: str, epss_percentile: str, before: str, after: str, direction: str(asc/desc)=desc, per_page: int=30, sort: str(updated/published/epss_percentage/epss_percentile)=published}
@returns(200)
@errors {422, 429}

@endpoint GET /advisories/{ghsa_id}
@required {ghsa_id: str}
@returns(200) {ghsa_id: str, cve_id: str?, url: str, html_url: str(uri), repository_advisory_url: str(uri)?, summary: str, description: str?, type: str, severity: str, source_code_location: str(uri)?, identifiers: [map]?, references: [str]?, published_at: str(date-time), updated_at: str(date-time), github_reviewed_at: str(date-time)?, nvd_published_at: str(date-time)?, withdrawn_at: str(date-time)?, vulnerabilities: [map]?, cvss: map?{vector_string: str?, score: num?}, cvss_severities: map?{cvss_v3: map?{vector_string: str?, score: num?}, cvss_v4: map?{vector_string: str?, score: num?}}, epss: map?{percentage: num, percentile: num}, cwes: [map]?, credits: [map]?}
@errors {404}

@endgroup

@group agents
@endpoint GET /agents/repos/{owner}/{repo}/tasks
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1, sort: str(updated_at/created_at)=updated_at, direction: str(asc/desc)=desc, state: str, is_archived: bool=false, since: str(date-time), creator_id: int}
@returns(200) {tasks: [map], total_active_count: int(int32), total_archived_count: int(int32)}
@errors {400, 401, 403, 404, 422}

@endpoint POST /agents/repos/{owner}/{repo}/tasks
@required {owner: str, repo: str, event_content: str}
@optional {agent_id: int(int64), problem_statement: str, model: str, custom_agent: str, create_pull_request: bool, base_ref: str}
@returns(201) {id: str, url: str, html_url: str, name: str, creator: any, creator_type: str, user_collaborators: [map], owner: map{id: int(int64)}, repository: map{id: int(int64)}, state: str, session_count: int(int32), artifacts: [map], archived_at: str(date-time)?, updated_at: str(date-time), created_at: str(date-time)}
@errors {400, 401, 403, 422}

@endpoint GET /agents/repos/{owner}/{repo}/tasks/{task_id}
@required {owner: str, repo: str, task_id: str}
@returns(200)
@errors {400, 401, 403, 404, 422}

@endpoint GET /agents/tasks
@optional {per_page: int=30, page: int=1, sort: str(updated_at/created_at)=updated_at, direction: str(asc/desc)=desc, state: str, is_archived: bool=false, since: str(date-time)}
@returns(200) {tasks: [map], total_active_count: int(int32), total_archived_count: int(int32)}
@errors {400, 401, 403, 422}

@endpoint GET /agents/tasks/{task_id}
@required {task_id: str}
@returns(200)
@errors {400, 401, 403, 404, 422}

@endgroup

@group app
@endpoint GET /app
@returns(200) {id: int, slug: str, node_id: str, client_id: str, owner: any, 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}

@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, status: str(success/failure)}
@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?, throttled_at: str(date-time)?, 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/installation-requests
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401}

@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, client_id: str, target_id: int, target_type: str, permissions: map{actions: str, administration: str, artifact_metadata: str, attestations: str, checks: str, codespaces: str, contents: str, dependabot_secrets: str, deployments: str, discussions: str, environments: str, issues: str, merge_queues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_custom_properties: 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, custom_properties_for_organizations: str, members: str, organization_administration: str, organization_custom_roles: str, organization_custom_org_roles: str, organization_custom_properties: str, organization_copilot_seat_management: str, organization_copilot_agent_settings: str, organization_announcement_banners: str, organization_events: str, organization_hooks: str, organization_personal_access_tokens: str, organization_personal_access_token_requests: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, email_addresses: str, followers: str, git_ssh_keys: str, gpg_keys: str, interaction_limits: str, profile: str, starring: str, enterprise_custom_properties_for_organizations: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, artifact_metadata: str, attestations: str, checks: str, codespaces: str, contents: str, dependabot_secrets: str, deployments: str, discussions: str, environments: str, issues: str, merge_queues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_custom_properties: 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, custom_properties_for_organizations: str, members: str, organization_administration: str, organization_custom_roles: str, organization_custom_org_roles: str, organization_custom_properties: str, organization_copilot_seat_management: str, organization_copilot_agent_settings: str, organization_announcement_banners: str, organization_events: str, organization_hooks: str, organization_personal_access_tokens: str, organization_personal_access_token_requests: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, email_addresses: str, followers: str, git_ssh_keys: str, gpg_keys: str, interaction_limits: str, profile: str, starring: str, enterprise_custom_properties_for_organizations: str}}
@returns(201) {token: str, expires_at: str, permissions: map{actions: str, administration: str, artifact_metadata: str, attestations: str, checks: str, codespaces: str, contents: str, dependabot_secrets: str, deployments: str, discussions: str, environments: str, issues: str, merge_queues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_custom_properties: 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, custom_properties_for_organizations: str, members: str, organization_administration: str, organization_custom_roles: str, organization_custom_org_roles: str, organization_custom_properties: str, organization_copilot_seat_management: str, organization_copilot_agent_settings: str, organization_announcement_banners: str, organization_events: str, organization_hooks: str, organization_personal_access_tokens: str, organization_personal_access_token_requests: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, email_addresses: str, followers: str, git_ssh_keys: str, gpg_keys: str, interaction_limits: str, profile: str, starring: str, enterprise_custom_properties_for_organizations: 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 DELETE /applications/{client_id}/grant
@required {client_id: str, access_token: str}
@returns(204)
@errors {422}

@endpoint POST /applications/{client_id}/token
@required {client_id: str, access_token: str}
@returns(200) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, installation: map?{permissions: map{actions: str, administration: str, artifact_metadata: str, attestations: str, checks: str, codespaces: str, contents: str, dependabot_secrets: str, deployments: str, discussions: str, environments: str, issues: str, merge_queues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_custom_properties: 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, custom_properties_for_organizations: str, members: str, organization_administration: str, organization_custom_roles: str, organization_custom_org_roles: str, organization_custom_properties: str, organization_copilot_seat_management: str, organization_copilot_agent_settings: str, organization_announcement_banners: str, organization_events: str, organization_hooks: str, organization_personal_access_tokens: str, organization_personal_access_token_requests: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, email_addresses: str, followers: str, git_ssh_keys: str, gpg_keys: str, interaction_limits: str, profile: str, starring: str, enterprise_custom_properties_for_organizations: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, installation: map?{permissions: map{actions: str, administration: str, artifact_metadata: str, attestations: str, checks: str, codespaces: str, contents: str, dependabot_secrets: str, deployments: str, discussions: str, environments: str, issues: str, merge_queues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_custom_properties: 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, custom_properties_for_organizations: str, members: str, organization_administration: str, organization_custom_roles: str, organization_custom_org_roles: str, organization_custom_properties: str, organization_copilot_seat_management: str, organization_copilot_agent_settings: str, organization_announcement_banners: str, organization_events: str, organization_hooks: str, organization_personal_access_tokens: str, organization_personal_access_token_requests: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, email_addresses: str, followers: str, git_ssh_keys: str, gpg_keys: str, interaction_limits: str, profile: str, starring: str, enterprise_custom_properties_for_organizations: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, artifact_metadata: str, attestations: str, checks: str, codespaces: str, contents: str, dependabot_secrets: str, deployments: str, discussions: str, environments: str, issues: str, merge_queues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_custom_properties: 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, custom_properties_for_organizations: str, members: str, organization_administration: str, organization_custom_roles: str, organization_custom_org_roles: str, organization_custom_properties: str, organization_copilot_seat_management: str, organization_copilot_agent_settings: str, organization_announcement_banners: str, organization_events: str, organization_hooks: str, organization_personal_access_tokens: str, organization_personal_access_token_requests: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, email_addresses: str, followers: str, git_ssh_keys: str, gpg_keys: str, interaction_limits: str, profile: str, starring: str, enterprise_custom_properties_for_organizations: str}}
@returns(200) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, installation: map?{permissions: map{actions: str, administration: str, artifact_metadata: str, attestations: str, checks: str, codespaces: str, contents: str, dependabot_secrets: str, deployments: str, discussions: str, environments: str, issues: str, merge_queues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_custom_properties: 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, custom_properties_for_organizations: str, members: str, organization_administration: str, organization_custom_roles: str, organization_custom_org_roles: str, organization_custom_properties: str, organization_copilot_seat_management: str, organization_copilot_agent_settings: str, organization_announcement_banners: str, organization_events: str, organization_hooks: str, organization_personal_access_tokens: str, organization_personal_access_token_requests: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, email_addresses: str, followers: str, git_ssh_keys: str, gpg_keys: str, interaction_limits: str, profile: str, starring: str, enterprise_custom_properties_for_organizations: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}, expires_at: str(date-time)?}
@errors {401, 403, 404, 422}

@endgroup

@group apps
@endpoint GET /apps/{app_slug}
@required {app_slug: str}
@returns(200) {id: int, slug: str, node_id: str, client_id: str, owner: any, 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}
@errors {403, 404}

@endgroup

@group assignments
@endpoint GET /assignments/{assignment_id}
@required {assignment_id: int}
@returns(200) {id: int, public_repo: bool, title: str, type: str, invite_link: str, invitations_enabled: bool, slug: str, students_are_repo_admins: bool, feedback_pull_requests_enabled: bool, max_teams: int?, max_members: int?, editor: str, accepted: int, submitted: int, passing: int, language: str, deadline: str(date-time)?, starter_code_repository: map{id: int, full_name: str, html_url: str(uri), node_id: str, private: bool, default_branch: str}, classroom: map{id: int, name: str, archived: bool, organization: map{id: int, login: str, node_id: str, html_url: str(uri), name: str?, avatar_url: str}, url: str}}
@errors {404}

@endpoint GET /assignments/{assignment_id}/accepted_assignments
@required {assignment_id: int}
@optional {page: int=1, per_page: int=30}
@returns(200)

@endpoint GET /assignments/{assignment_id}/grades
@required {assignment_id: int}
@returns(200)
@errors {404}

@endgroup

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

@endpoint GET /classrooms/{classroom_id}
@required {classroom_id: int}
@returns(200) {id: int, name: str, archived: bool, organization: map{id: int, login: str, node_id: str, html_url: str(uri), name: str?, avatar_url: str}, url: str}
@errors {404}

@endpoint GET /classrooms/{classroom_id}/assignments
@required {classroom_id: int}
@optional {page: int=1, per_page: int=30}
@returns(200)

@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 credentials
@endpoint POST /credentials/revoke
@required {credentials: [str]}
@returns(202)
@errors {422, 500}

@endgroup

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

@endgroup

@group enterprises
@endpoint GET /enterprises/{enterprise}/actions/cache/retention-limit
@required {enterprise: str}
@returns(200) {max_cache_retention_days: int}
@errors {403, 404}

@endpoint PUT /enterprises/{enterprise}/actions/cache/retention-limit
@required {enterprise: str}
@optional {max_cache_retention_days: int}
@returns(204)
@errors {400, 403, 404}

@endpoint GET /enterprises/{enterprise}/actions/cache/storage-limit
@required {enterprise: str}
@returns(200) {max_cache_size_gb: int}
@errors {403, 404}

@endpoint PUT /enterprises/{enterprise}/actions/cache/storage-limit
@required {enterprise: str}
@optional {max_cache_size_gb: int}
@returns(204)
@errors {400, 403, 404}

@endpoint GET /enterprises/{enterprise}/actions/oidc/customization/properties/repo
@required {enterprise: str}
@returns(200)
@errors {403, 404}

@endpoint POST /enterprises/{enterprise}/actions/oidc/customization/properties/repo
@required {enterprise: str, custom_property_name: str}
@returns(201) {custom_property_name: str, inclusion_source: str}
@errors {400, 403, 422}

@endpoint DELETE /enterprises/{enterprise}/actions/oidc/customization/properties/repo/{custom_property_name}
@required {enterprise: str, custom_property_name: str}
@returns(204)
@errors {400, 403, 404}

@endpoint GET /enterprises/{enterprise}/code-security/configurations
@required {enterprise: str}
@optional {per_page: int=30, before: str, after: str}
@returns(200)
@errors {403, 404}

@endpoint POST /enterprises/{enterprise}/code-security/configurations
@required {enterprise: str, name: str, description: str}
@optional {advanced_security: str(enabled/disabled/code_security/secret_protection)=disabled, code_security: str(enabled/disabled/not_set), dependency_graph: str(enabled/disabled/not_set)=enabled, dependency_graph_autosubmit_action: str(enabled/disabled/not_set)=disabled, dependency_graph_autosubmit_action_options: map{labeled_runners: bool}, dependabot_alerts: str(enabled/disabled/not_set)=disabled, dependabot_security_updates: str(enabled/disabled/not_set)=disabled, code_scanning_options: map{allow_advanced: bool}, code_scanning_default_setup: str(enabled/disabled/not_set)=disabled, code_scanning_default_setup_options: map{runner_type: str, runner_label: str}, code_scanning_delegated_alert_dismissal: str(enabled/disabled/not_set)=disabled, secret_protection: str(enabled/disabled/not_set), secret_scanning: str(enabled/disabled/not_set)=disabled, secret_scanning_push_protection: str(enabled/disabled/not_set)=disabled, secret_scanning_validity_checks: str(enabled/disabled/not_set)=disabled, secret_scanning_non_provider_patterns: str(enabled/disabled/not_set)=disabled, secret_scanning_generic_secrets: str(enabled/disabled/not_set)=disabled, secret_scanning_delegated_alert_dismissal: str(enabled/disabled/not_set)=disabled, secret_scanning_extended_metadata: str(enabled/disabled/not_set)=disabled, private_vulnerability_reporting: str(enabled/disabled/not_set)=disabled, enforcement: str(enforced/unenforced)=enforced}
@returns(201) {id: int, name: str, target_type: str, description: str, advanced_security: str, dependency_graph: str, dependency_graph_autosubmit_action: str, dependency_graph_autosubmit_action_options: map{labeled_runners: bool}, dependabot_alerts: str, dependabot_security_updates: str, dependabot_delegated_alert_dismissal: str?, code_scanning_options: map?{allow_advanced: bool?}, code_scanning_default_setup: str, code_scanning_default_setup_options: map?{runner_type: str?, runner_label: str?}, code_scanning_delegated_alert_dismissal: str, secret_scanning: str, secret_scanning_push_protection: str, secret_scanning_delegated_bypass: str, secret_scanning_delegated_bypass_options: map{reviewers: [map]}, secret_scanning_validity_checks: str, secret_scanning_non_provider_patterns: str, secret_scanning_generic_secrets: str, secret_scanning_delegated_alert_dismissal: str, secret_scanning_extended_metadata: str, private_vulnerability_reporting: str, enforcement: str, url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time)}
@errors {400, 403, 404}

@endpoint GET /enterprises/{enterprise}/code-security/configurations/defaults
@required {enterprise: str}
@returns(200)

@endpoint GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}
@required {enterprise: str, configuration_id: int}
@returns(200) {id: int, name: str, target_type: str, description: str, advanced_security: str, dependency_graph: str, dependency_graph_autosubmit_action: str, dependency_graph_autosubmit_action_options: map{labeled_runners: bool}, dependabot_alerts: str, dependabot_security_updates: str, dependabot_delegated_alert_dismissal: str?, code_scanning_options: map?{allow_advanced: bool?}, code_scanning_default_setup: str, code_scanning_default_setup_options: map?{runner_type: str?, runner_label: str?}, code_scanning_delegated_alert_dismissal: str, secret_scanning: str, secret_scanning_push_protection: str, secret_scanning_delegated_bypass: str, secret_scanning_delegated_bypass_options: map{reviewers: [map]}, secret_scanning_validity_checks: str, secret_scanning_non_provider_patterns: str, secret_scanning_generic_secrets: str, secret_scanning_delegated_alert_dismissal: str, secret_scanning_extended_metadata: str, private_vulnerability_reporting: str, enforcement: str, url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time)}
@errors {304, 403, 404}

@endpoint PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}
@required {enterprise: str, configuration_id: int}
@optional {name: str, description: str, advanced_security: str(enabled/disabled/code_security/secret_protection), code_security: str(enabled/disabled/not_set), dependency_graph: str(enabled/disabled/not_set), dependency_graph_autosubmit_action: str(enabled/disabled/not_set), dependency_graph_autosubmit_action_options: map{labeled_runners: bool}, dependabot_alerts: str(enabled/disabled/not_set), dependabot_security_updates: str(enabled/disabled/not_set), code_scanning_default_setup: str(enabled/disabled/not_set), code_scanning_default_setup_options: map{runner_type: str, runner_label: str}, code_scanning_options: map{allow_advanced: bool}, code_scanning_delegated_alert_dismissal: str(enabled/disabled/not_set)=disabled, secret_protection: str(enabled/disabled/not_set), secret_scanning: str(enabled/disabled/not_set), secret_scanning_push_protection: str(enabled/disabled/not_set), secret_scanning_validity_checks: str(enabled/disabled/not_set), secret_scanning_non_provider_patterns: str(enabled/disabled/not_set), secret_scanning_generic_secrets: str(enabled/disabled/not_set)=disabled, secret_scanning_delegated_alert_dismissal: str(enabled/disabled/not_set)=disabled, secret_scanning_extended_metadata: str(enabled/disabled/not_set)=disabled, private_vulnerability_reporting: str(enabled/disabled/not_set), enforcement: str(enforced/unenforced)}
@returns(200) {id: int, name: str, target_type: str, description: str, advanced_security: str, dependency_graph: str, dependency_graph_autosubmit_action: str, dependency_graph_autosubmit_action_options: map{labeled_runners: bool}, dependabot_alerts: str, dependabot_security_updates: str, dependabot_delegated_alert_dismissal: str?, code_scanning_options: map?{allow_advanced: bool?}, code_scanning_default_setup: str, code_scanning_default_setup_options: map?{runner_type: str?, runner_label: str?}, code_scanning_delegated_alert_dismissal: str, secret_scanning: str, secret_scanning_push_protection: str, secret_scanning_delegated_bypass: str, secret_scanning_delegated_bypass_options: map{reviewers: [map]}, secret_scanning_validity_checks: str, secret_scanning_non_provider_patterns: str, secret_scanning_generic_secrets: str, secret_scanning_delegated_alert_dismissal: str, secret_scanning_extended_metadata: str, private_vulnerability_reporting: str, enforcement: str, url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time)}
@errors {304, 403, 404, 409}

@endpoint DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}
@required {enterprise: str, configuration_id: int}
@returns(204)
@errors {400, 403, 404, 409}

@endpoint POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach
@required {enterprise: str, configuration_id: int, scope: str(all/all_without_configurations)}
@returns(202)
@errors {403, 404, 409}

@endpoint PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults
@required {enterprise: str, configuration_id: int}
@optional {default_for_new_repos: str(all/none/private_and_internal/public)}
@returns(200) {default_for_new_repos: str, configuration: map{id: int, name: str, target_type: str, description: str, advanced_security: str, dependency_graph: str, dependency_graph_autosubmit_action: str, dependency_graph_autosubmit_action_options: map{labeled_runners: bool}, dependabot_alerts: str, dependabot_security_updates: str, dependabot_delegated_alert_dismissal: str?, code_scanning_options: map?{allow_advanced: bool?}, code_scanning_default_setup: str, code_scanning_default_setup_options: map?{runner_type: str?, runner_label: str?}, code_scanning_delegated_alert_dismissal: str, secret_scanning: str, secret_scanning_push_protection: str, secret_scanning_delegated_bypass: str, secret_scanning_delegated_bypass_options: map{reviewers: [map]}, secret_scanning_validity_checks: str, secret_scanning_non_provider_patterns: str, secret_scanning_generic_secrets: str, secret_scanning_delegated_alert_dismissal: str, secret_scanning_extended_metadata: str, private_vulnerability_reporting: str, enforcement: str, url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time)}}
@errors {403, 404}

@endpoint GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories
@required {enterprise: str, configuration_id: int}
@optional {per_page: int=30, before: str, after: str, status: str=all}
@returns(200)
@errors {403, 404}

@endpoint GET /enterprises/{enterprise}/copilot/metrics/reports/enterprise-1-day
@required {enterprise: str, day: str(date)}
@returns(200) {download_links: [str(uri)], report_day: str(date)}
@errors {403, 404, 500}

@endpoint GET /enterprises/{enterprise}/copilot/metrics/reports/enterprise-28-day/latest
@required {enterprise: str}
@returns(200) {download_links: [str(uri)], report_start_day: str(date), report_end_day: str(date)}
@errors {403, 404, 500}

@endpoint GET /enterprises/{enterprise}/copilot/metrics/reports/users-1-day
@required {enterprise: str, day: str(date)}
@returns(200) {download_links: [str(uri)], report_day: str(date)}
@errors {403, 404, 500}

@endpoint GET /enterprises/{enterprise}/copilot/metrics/reports/users-28-day/latest
@required {enterprise: str}
@returns(200) {download_links: [str(uri)], report_start_day: str(date), report_end_day: str(date)}
@errors {403, 404, 500}

@endpoint GET /enterprises/{enterprise}/dependabot/alerts
@required {enterprise: str}
@optional {classification: str, state: str, severity: str, ecosystem: str, package: str, epss_percentage: str, has: any, assignee: str, scope: str(development/runtime), sort: str(created/updated/epss_percentage)=created, direction: str(asc/desc)=desc, before: str, after: str, per_page: int=30}
@returns(200)
@errors {304, 403, 404, 422}

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

@endpoint POST /enterprises/{enterprise}/teams
@required {enterprise: str, name: str}
@optional {description: str, sync_to_organizations: str(all/disabled)=disabled, organization_selection_type: str(disabled/selected/all)=disabled, group_id: str}
@returns(201) {id: int(int64), name: str, description: str, slug: str, url: str(uri), sync_to_organizations: str, organization_selection_type: str, group_id: str?, group_name: str?, html_url: str(uri), members_url: str, created_at: str(date-time), updated_at: str(date-time)}

@endpoint GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships
@required {enterprise: str, enterprise-team: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/add
@required {enterprise: str, enterprise-team: str, usernames: [str]}
@returns(200)

@endpoint POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove
@required {enterprise: str, enterprise-team: str, usernames: [str]}
@returns(200)

@endpoint GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}
@required {enterprise: str, enterprise-team: str, username: str}
@returns(200) {name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}

@endpoint PUT /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}
@required {enterprise: str, enterprise-team: str, username: str}
@returns(201) {name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}

@endpoint DELETE /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}
@required {enterprise: str, enterprise-team: str, username: str}
@returns(204)
@errors {403}

@endpoint GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations
@required {enterprise: str, enterprise-team: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add
@required {enterprise: str, enterprise-team: str, organization_slugs: [str]}
@returns(200)

@endpoint POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove
@required {enterprise: str, enterprise-team: str, organization_slugs: [str]}
@returns(204)

@endpoint GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}
@required {enterprise: str, enterprise-team: str, 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?}
@errors {404}

@endpoint PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}
@required {enterprise: str, enterprise-team: str, org: 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 DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}
@required {enterprise: str, enterprise-team: str, org: str}
@returns(204)

@endpoint GET /enterprises/{enterprise}/teams/{team_slug}
@required {enterprise: str, team_slug: str}
@returns(200) {id: int(int64), name: str, description: str, slug: str, url: str(uri), sync_to_organizations: str, organization_selection_type: str, group_id: str?, group_name: str?, html_url: str(uri), members_url: str, created_at: str(date-time), updated_at: str(date-time)}
@errors {403}

@endpoint PATCH /enterprises/{enterprise}/teams/{team_slug}
@required {enterprise: str, team_slug: str}
@optional {name: str, description: str, sync_to_organizations: str(all/disabled)=disabled, organization_selection_type: str(disabled/selected/all)=disabled, group_id: str}
@returns(200) {id: int(int64), name: str, description: str, slug: str, url: str(uri), sync_to_organizations: str, organization_selection_type: str, group_id: str?, group_name: str?, html_url: str(uri), members_url: str, created_at: str(date-time), updated_at: str(date-time)}
@errors {403}

@endpoint DELETE /enterprises/{enterprise}/teams/{team_slug}
@required {enterprise: str, team_slug: str}
@returns(204)
@errors {403}

@endgroup

@group events
@endpoint GET /events
@optional {per_page: int=15, 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}}}

@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, comments_enabled: bool, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, comments_url: str(uri), owner: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, comments_enabled: bool, user: str?, comments_url: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, comments_enabled: bool, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, comments_url: str(uri), owner: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, comments_enabled: bool, user: str?, comments_url: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, comments_enabled: bool, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, comments_url: str(uri), owner: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, comments_enabled: bool, user: str?, comments_url: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64)}
@returns(200) {id: int, node_id: str, url: str(uri), body: str, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), body: str}
@returns(200) {id: int, node_id: str, url: str(uri), body: str, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64)}
@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, comments_enabled: bool, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, comments_url: str(uri), owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, comments_enabled: bool, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, comments_url: str(uri), owner: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, comments_enabled: bool, user: str?, comments_url: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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: [any], 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 marketplace_listing
@endpoint GET /marketplace_listing/accounts/{account_id}
@required {account_id: int}
@returns(200) {url: str, type: str, id: int, login: str, organization_billing_email: str, email: str?, marketplace_pending_change: map?{is_installed: bool, effective_date: str, unit_count: int?, id: int, plan: map{url: str(uri), accounts_url: str(uri), id: int, number: int, name: str, description: str, monthly_price_in_cents: int, yearly_price_in_cents: int, price_model: str, has_free_trial: bool, unit_name: str?, state: str, bullets: [str]}}, marketplace_purchase: map{billing_cycle: str, next_billing_date: str?, is_installed: bool, unit_count: int?, on_free_trial: bool, free_trial_ends_on: str?, updated_at: str, plan: map{url: str(uri), accounts_url: str(uri), id: int, number: int, name: str, description: str, monthly_price_in_cents: int, yearly_price_in_cents: int, price_model: str, has_free_trial: bool, unit_name: str?, state: str, bullets: [str]}}}
@errors {401, 404}

@endpoint GET /marketplace_listing/plans
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {401, 404}

@endpoint GET /marketplace_listing/plans/{plan_id}/accounts
@required {plan_id: int}
@optional {sort: str(created/updated)=created, direction: str(asc/desc), per_page: int=30, page: int=1}
@returns(200)
@errors {401, 404, 422}

@endpoint GET /marketplace_listing/stubbed/accounts/{account_id}
@required {account_id: int}
@returns(200) {url: str, type: str, id: int, login: str, organization_billing_email: str, email: str?, marketplace_pending_change: map?{is_installed: bool, effective_date: str, unit_count: int?, id: int, plan: map{url: str(uri), accounts_url: str(uri), id: int, number: int, name: str, description: str, monthly_price_in_cents: int, yearly_price_in_cents: int, price_model: str, has_free_trial: bool, unit_name: str?, state: str, bullets: [str]}}, marketplace_purchase: map{billing_cycle: str, next_billing_date: str?, is_installed: bool, unit_count: int?, on_free_trial: bool, free_trial_ends_on: str?, updated_at: str, plan: map{url: str(uri), accounts_url: str(uri), id: int, number: int, name: str, description: str, monthly_price_in_cents: int, yearly_price_in_cents: int, price_model: str, has_free_trial: bool, unit_name: str?, state: str, bullets: [str]}}}
@errors {401, 404}

@endpoint GET /marketplace_listing/stubbed/plans
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {401}

@endpoint GET /marketplace_listing/stubbed/plans/{plan_id}/accounts
@required {plan_id: int}
@optional {sort: str(created/updated)=created, direction: str(asc/desc), per_page: int=30, page: int=1}
@returns(200)
@errors {401}

@endgroup

@group meta
@endpoint GET /meta
@returns(200) {verifiable_password_authentication: bool, ssh_key_fingerprints: map{SHA256_RSA: str, SHA256_DSA: str, SHA256_ECDSA: str, SHA256_ED25519: str}, ssh_keys: [str], hooks: [str], github_enterprise_importer: [str], web: [str], api: [str], git: [str], packages: [str], pages: [str], importer: [str], actions: [str], actions_macos: [str], codespaces: [str], dependabot: [str], copilot: [str], domains: map{website: [str], codespaces: [str], copilot: [str], packages: [str], actions: [str], actions_inbound: map{full_domains: [str], wildcard_domains: [str]}, artifact_attestations: map{trust_domain: str, services: [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(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, 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 DELETE /notifications/threads/{thread_id}
@required {thread_id: int}
@returns(204)

@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}

@endpoint GET /organizations/{org}/actions/cache/retention-limit
@required {org: str}
@returns(200) {max_cache_retention_days: int}
@errors {403, 404}

@endpoint PUT /organizations/{org}/actions/cache/retention-limit
@required {org: str}
@optional {max_cache_retention_days: int}
@returns(204)
@errors {400, 403, 404}

@endpoint GET /organizations/{org}/actions/cache/storage-limit
@required {org: str}
@returns(200) {max_cache_size_gb: int}
@errors {403, 404}

@endpoint PUT /organizations/{org}/actions/cache/storage-limit
@required {org: str}
@optional {max_cache_size_gb: int}
@returns(204)
@errors {400, 403, 404}

@endpoint GET /organizations/{org}/dependabot/repository-access
@required {org: str}
@optional {page: int=1, per_page: int=30}
@returns(200) {default_level: str?, accessible_repositories: [map]}
@errors {403, 404}

@endpoint PATCH /organizations/{org}/dependabot/repository-access
@required {org: str}
@optional {repository_ids_to_add: [int], repository_ids_to_remove: [int]}
@returns(204)
@errors {403, 404}

@endpoint PUT /organizations/{org}/dependabot/repository-access/default-level
@required {org: str, default_level: str(public/internal)}
@returns(204)
@errors {403, 404}

@endpoint GET /organizations/{org}/settings/billing/budgets
@required {org: str}
@optional {page: int=1, per_page: int=10, scope: str(enterprise/organization/repository/cost_center)}
@returns(200) {budgets: [map], has_next_page: bool, total_count: int}
@errors {403, 404, 500}

@endpoint GET /organizations/{org}/settings/billing/budgets/{budget_id}
@required {org: str, budget_id: str}
@returns(200) {id: str, budget_scope: str, budget_entity_name: str, budget_amount: int, prevent_further_usage: bool, budget_product_sku: str, budget_type: any, budget_alerting: map{will_alert: bool, alert_recipients: [str]}}
@errors {400, 403, 404, 500, 503}

@endpoint PATCH /organizations/{org}/settings/billing/budgets/{budget_id}
@required {org: str, budget_id: str}
@optional {budget_amount: int, prevent_further_usage: bool, budget_alerting: map{will_alert: bool, alert_recipients: [str]}, budget_scope: str(enterprise/organization/repository/cost_center), budget_entity_name: str, budget_type: any, budget_product_sku: str}
@returns(200) {message: str, budget: map{id: str, budget_amount: num(float), prevent_further_usage: bool, budget_alerting: map{will_alert: bool, alert_recipients: [str]}, budget_scope: str, budget_entity_name: str, budget_type: any, budget_product_sku: str}}
@errors {400, 401, 403, 404, 422, 500}

@endpoint DELETE /organizations/{org}/settings/billing/budgets/{budget_id}
@required {org: str, budget_id: str}
@returns(200) {message: str, id: str}
@errors {400, 403, 404, 500, 503}

@endpoint GET /organizations/{org}/settings/billing/premium_request/usage
@required {org: str}
@optional {year: int, month: int, day: int, user: str, model: str, product: str}
@returns(200) {timePeriod: map{year: int, month: int, day: int}, organization: str, user: str, product: str, model: str, usageItems: [map]}
@errors {400, 403, 404, 500, 503}

@endpoint GET /organizations/{org}/settings/billing/usage
@required {org: str}
@optional {year: int, month: int, day: int}
@returns(200) {usageItems: [map]}
@errors {400, 403, 500, 503}

@endpoint GET /organizations/{org}/settings/billing/usage/summary
@required {org: str}
@optional {year: int, month: int, day: int, repository: str, product: str, sku: str}
@returns(200) {timePeriod: map{year: int, month: int, day: int}, organization: str, repository: str, product: str, sku: str, usageItems: [map]}
@errors {400, 403, 500, 503}

@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), 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?, default_repository_branch: 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, members_can_delete_repositories: bool, members_can_change_repo_visibility: bool, members_can_invite_outside_collaborators: bool, members_can_delete_issues: bool, display_commenter_full_name_setting_enabled: bool, readers_can_create_discussions: bool, members_can_create_teams: bool, members_can_view_dependency_insights: bool, members_can_fork_private_repositories: bool?, web_commit_signoff_required: bool, advanced_security_enabled_for_new_repositories: bool, dependabot_alerts_enabled_for_new_repositories: bool, dependabot_security_updates_enabled_for_new_repositories: bool, dependency_graph_enabled_for_new_repositories: bool, secret_scanning_enabled_for_new_repositories: bool, secret_scanning_push_protection_enabled_for_new_repositories: bool, secret_scanning_push_protection_custom_link_enabled: bool, secret_scanning_push_protection_custom_link: str?, created_at: str(date-time), updated_at: str(date-time), archived_at: str(date-time)?, deploy_keys_enabled_for_repositories: bool}
@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, members_can_create_public_pages: bool=true, members_can_create_private_pages: bool=true, members_can_fork_private_repositories: bool=false, web_commit_signoff_required: bool=false, blog: str, advanced_security_enabled_for_new_repositories: bool, dependabot_alerts_enabled_for_new_repositories: bool, dependabot_security_updates_enabled_for_new_repositories: bool, dependency_graph_enabled_for_new_repositories: bool, secret_scanning_enabled_for_new_repositories: bool, secret_scanning_push_protection_enabled_for_new_repositories: bool, secret_scanning_push_protection_custom_link_enabled: bool, secret_scanning_push_protection_custom_link: str, deploy_keys_enabled_for_repositories: bool}
@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), 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?, default_repository_branch: 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, members_can_delete_repositories: bool, members_can_change_repo_visibility: bool, members_can_invite_outside_collaborators: bool, members_can_delete_issues: bool, display_commenter_full_name_setting_enabled: bool, readers_can_create_discussions: bool, members_can_create_teams: bool, members_can_view_dependency_insights: bool, members_can_fork_private_repositories: bool?, web_commit_signoff_required: bool, advanced_security_enabled_for_new_repositories: bool, dependabot_alerts_enabled_for_new_repositories: bool, dependabot_security_updates_enabled_for_new_repositories: bool, dependency_graph_enabled_for_new_repositories: bool, secret_scanning_enabled_for_new_repositories: bool, secret_scanning_push_protection_enabled_for_new_repositories: bool, secret_scanning_push_protection_custom_link_enabled: bool, secret_scanning_push_protection_custom_link: str?, created_at: str(date-time), updated_at: str(date-time), archived_at: str(date-time)?, deploy_keys_enabled_for_repositories: bool}
@errors {409, 422}

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

@endpoint GET /orgs/{org}/actions/cache/usage
@required {org: str}
@returns(200) {total_active_caches_count: int, total_active_caches_size_in_bytes: int}

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

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

@endpoint POST /orgs/{org}/actions/hosted-runners
@required {org: str, name: str, image: map{id: str, source: str, version: str}, size: str, runner_group_id: int}
@optional {maximum_runners: int, enable_static_ip: bool, image_gen: bool=false}
@returns(201) {id: int, name: str, runner_group_id: int, image_details: map?{id: str, size_gb: int, display_name: str, source: str, version: str}, machine_size_details: map{id: str, cpu_cores: int, memory_gb: int, storage_gb: int}, status: str, platform: str, maximum_runners: int, public_ip_enabled: bool, public_ips: [map], last_active_on: str(date-time)?, image_gen: bool}

@endpoint GET /orgs/{org}/actions/hosted-runners/images/custom
@required {org: str}
@returns(200) {total_count: int, images: [map]}

@endpoint GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}
@required {org: str, image_definition_id: int}
@returns(200) {id: int, platform: str, total_versions_size: int, name: str, source: str, versions_count: int, latest_version: str, state: str}

@endpoint DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}
@required {org: str, image_definition_id: int}
@returns(204)

@endpoint GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions
@required {image_definition_id: int, org: str}
@returns(200) {total_count: int, image_versions: [map]}

@endpoint GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}
@required {org: str, image_definition_id: int, version: str}
@returns(200) {version: str, state: str, size_gb: int, created_on: str, state_details: str}

@endpoint DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}
@required {org: str, image_definition_id: int, version: str}
@returns(204)

@endpoint GET /orgs/{org}/actions/hosted-runners/images/github-owned
@required {org: str}
@returns(200) {total_count: int, images: [map]}

@endpoint GET /orgs/{org}/actions/hosted-runners/images/partner
@required {org: str}
@returns(200) {total_count: int, images: [map]}

@endpoint GET /orgs/{org}/actions/hosted-runners/limits
@required {org: str}
@returns(200) {public_ips: map{maximum: int, current_usage: int}}

@endpoint GET /orgs/{org}/actions/hosted-runners/machine-sizes
@required {org: str}
@returns(200) {total_count: int, machine_specs: [map]}

@endpoint GET /orgs/{org}/actions/hosted-runners/platforms
@required {org: str}
@returns(200) {total_count: int, platforms: [str]}

@endpoint GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}
@required {org: str, hosted_runner_id: int}
@returns(200) {id: int, name: str, runner_group_id: int, image_details: map?{id: str, size_gb: int, display_name: str, source: str, version: str}, machine_size_details: map{id: str, cpu_cores: int, memory_gb: int, storage_gb: int}, status: str, platform: str, maximum_runners: int, public_ip_enabled: bool, public_ips: [map], last_active_on: str(date-time)?, image_gen: bool}

@endpoint PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}
@required {org: str, hosted_runner_id: int}
@optional {name: str, runner_group_id: int, maximum_runners: int, enable_static_ip: bool, size: str, image_id: str, image_version: str}
@returns(200) {id: int, name: str, runner_group_id: int, image_details: map?{id: str, size_gb: int, display_name: str, source: str, version: str}, machine_size_details: map{id: str, cpu_cores: int, memory_gb: int, storage_gb: int}, status: str, platform: str, maximum_runners: int, public_ip_enabled: bool, public_ips: [map], last_active_on: str(date-time)?, image_gen: bool}

@endpoint DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}
@required {org: str, hosted_runner_id: int}
@returns(202) {id: int, name: str, runner_group_id: int, image_details: map?{id: str, size_gb: int, display_name: str, source: str, version: str}, machine_size_details: map{id: str, cpu_cores: int, memory_gb: int, storage_gb: int}, status: str, platform: str, maximum_runners: int, public_ip_enabled: bool, public_ips: [map], last_active_on: str(date-time)?, image_gen: bool}

@endpoint GET /orgs/{org}/actions/oidc/customization/properties/repo
@required {org: str}
@returns(200)
@errors {403, 404}

@endpoint POST /orgs/{org}/actions/oidc/customization/properties/repo
@required {org: str, custom_property_name: str}
@returns(201) {custom_property_name: str, inclusion_source: str}
@errors {400, 403, 422}

@endpoint DELETE /orgs/{org}/actions/oidc/customization/properties/repo/{custom_property_name}
@required {org: str, custom_property_name: str}
@returns(204)
@errors {400, 403, 404}

@endpoint GET /orgs/{org}/actions/oidc/customization/sub
@required {org: str}
@returns(200) {include_claim_keys: [str]}

@endpoint PUT /orgs/{org}/actions/oidc/customization/sub
@required {org: str}
@optional {include_claim_keys: [str]}
@returns(201)
@errors {403, 404}

@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, sha_pinning_required: bool}

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

@endpoint GET /orgs/{org}/actions/permissions/artifact-and-log-retention
@required {org: str}
@returns(200) {days: int, maximum_allowed_days: int}
@errors {403, 404}

@endpoint PUT /orgs/{org}/actions/permissions/artifact-and-log-retention
@required {org: str, days: int}
@returns(204)
@errors {403, 404, 409, 422}

@endpoint GET /orgs/{org}/actions/permissions/fork-pr-contributor-approval
@required {org: str}
@returns(200) {approval_policy: str}
@errors {404}

@endpoint PUT /orgs/{org}/actions/permissions/fork-pr-contributor-approval
@required {org: str, approval_policy: str(first_time_contributors_new_to_github/first_time_contributors/all_external_contributors)}
@returns(204)
@errors {404, 422}

@endpoint GET /orgs/{org}/actions/permissions/fork-pr-workflows-private-repos
@required {org: str}
@returns(200) {run_workflows_from_fork_pull_requests: bool, send_write_tokens_to_workflows: bool, send_secrets_and_variables: bool, require_approval_for_fork_pr_workflows: bool}
@errors {403, 404}

@endpoint PUT /orgs/{org}/actions/permissions/fork-pr-workflows-private-repos
@required {org: str, run_workflows_from_fork_pull_requests: bool}
@optional {send_write_tokens_to_workflows: bool, send_secrets_and_variables: bool, require_approval_for_fork_pr_workflows: bool}
@returns(204)
@errors {403, 404, 422}

@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, verified_allowed: bool, patterns_allowed: [str]}

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

@endpoint GET /orgs/{org}/actions/permissions/self-hosted-runners
@required {org: str}
@returns(200) {enabled_repositories: str, selected_repositories_url: str}
@errors {403, 404}

@endpoint PUT /orgs/{org}/actions/permissions/self-hosted-runners
@required {org: str, enabled_repositories: str(all/selected/none)}
@returns(204)
@errors {403, 404, 409, 422}

@endpoint GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories
@required {org: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, repositories: [map]}
@errors {403, 404}

@endpoint PUT /orgs/{org}/actions/permissions/self-hosted-runners/repositories
@required {org: str, selected_repository_ids: [int]}
@returns(204)
@errors {403, 404, 422}

@endpoint PUT /orgs/{org}/actions/permissions/self-hosted-runners/repositories/{repository_id}
@required {org: str, repository_id: int}
@returns(204)
@errors {403, 404, 409, 422}

@endpoint DELETE /orgs/{org}/actions/permissions/self-hosted-runners/repositories/{repository_id}
@required {org: str, repository_id: int}
@returns(204)
@errors {403, 404, 409, 422}

@endpoint GET /orgs/{org}/actions/permissions/workflow
@required {org: str}
@returns(200) {default_workflow_permissions: str, can_approve_pull_request_reviews: bool}

@endpoint PUT /orgs/{org}/actions/permissions/workflow
@required {org: str}
@optional {default_workflow_permissions: str(read/write), can_approve_pull_request_reviews: bool}
@returns(204)

@endpoint GET /orgs/{org}/actions/runner-groups
@required {org: str}
@optional {per_page: int=30, page: int=1, visible_to_repository: str}
@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, restricted_to_workflows: bool=false, selected_workflows: [str], network_configuration_id: str}
@returns(201) {id: num, name: str, visibility: str, default: bool, selected_repositories_url: str, runners_url: str, hosted_runners_url: str, network_configuration_id: str, inherited: bool, inherited_allows_public_repositories: bool, allows_public_repositories: bool, workflow_restrictions_read_only: bool, restricted_to_workflows: bool, selected_workflows: [str]}

@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, hosted_runners_url: str, network_configuration_id: str, inherited: bool, inherited_allows_public_repositories: bool, allows_public_repositories: bool, workflow_restrictions_read_only: bool, restricted_to_workflows: bool, selected_workflows: [str]}

@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, restricted_to_workflows: bool=false, selected_workflows: [str], network_configuration_id: str}
@returns(200) {id: num, name: str, visibility: str, default: bool, selected_repositories_url: str, runners_url: str, hosted_runners_url: str, network_configuration_id: str, inherited: bool, inherited_allows_public_repositories: bool, allows_public_repositories: bool, workflow_restrictions_read_only: bool, restricted_to_workflows: bool, selected_workflows: [str]}

@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}/hosted-runners
@required {org: str, runner_group_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: num, runners: [map]}

@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 {name: str, 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/generate-jitconfig
@required {org: str, name: str, runner_group_id: int, labels: [str]}
@optional {work_folder: str=_work}
@returns(201) {runner: map{id: int, runner_group_id: int, name: str, os: str, status: str, busy: bool, labels: [map], ephemeral: bool}, encoded_jit_config: str}
@errors {404, 409, 422}

@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, runner_group_id: int, name: str, os: str, status: str, busy: bool, labels: [map], ephemeral: bool}

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

@endpoint GET /orgs/{org}/actions/runners/{runner_id}/labels
@required {org: str, runner_id: int}
@returns(200) {total_count: int, labels: [map]}
@errors {404}

@endpoint POST /orgs/{org}/actions/runners/{runner_id}/labels
@required {org: str, runner_id: int, labels: [str]}
@returns(200) {total_count: int, labels: [map]}
@errors {404, 422}

@endpoint PUT /orgs/{org}/actions/runners/{runner_id}/labels
@required {org: str, runner_id: int, labels: [str]}
@returns(200) {total_count: int, labels: [map]}
@errors {404, 422}

@endpoint DELETE /orgs/{org}/actions/runners/{runner_id}/labels
@required {org: str, runner_id: int}
@returns(200) {total_count: int, labels: [map]}
@errors {404}

@endpoint DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}
@required {org: str, runner_id: int, name: str}
@returns(200) {total_count: int, labels: [map]}
@errors {404, 422}

@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, encrypted_value: str, key_id: str, visibility: str(all/private/selected)}
@optional {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}/actions/variables
@required {org: str}
@optional {per_page: int=10, page: int=1}
@returns(200) {total_count: int, variables: [map]}

@endpoint POST /orgs/{org}/actions/variables
@required {org: str, name: str, value: str, visibility: str(all/private/selected)}
@optional {selected_repository_ids: [int]}
@returns(201)

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

@endpoint PATCH /orgs/{org}/actions/variables/{name}
@required {org: str, name: str}
@optional {name: str, value: str, visibility: str(all/private/selected), selected_repository_ids: [int]}
@returns(204)

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

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

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

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

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

@endpoint POST /orgs/{org}/artifacts/metadata/deployment-record
@required {org: str, name: str, digest: str, status: str(deployed/decommissioned), logical_environment: str, deployment_name: str}
@optional {version: str, physical_environment: str, cluster: str, tags: map, runtime_risks: [str], github_repository: str, return_records: bool=true}
@returns(200) {total_count: int, deployment_records: [map]}
@errors {403, 404}

@endpoint POST /orgs/{org}/artifacts/metadata/deployment-record/cluster/{cluster}
@required {org: str, cluster: str, logical_environment: str, deployments: [map{name!: str, digest!: str, version: str, status: str, deployment_name!: str, github_repository: str, tags: map, runtime_risks: [str]}]}
@optional {physical_environment: str, return_records: bool=true}
@returns(200) {total_count: int, deployment_records: [map]}
@errors {403, 404}

@endpoint POST /orgs/{org}/artifacts/metadata/storage-record
@required {org: str, name: str, digest: str, registry_url: str(uri)}
@optional {version: str, artifact_url: str(uri), path: str(uri), repository: str, status: str(active/eol/deleted)=active, github_repository: str, return_records: bool=true}
@returns(200) {total_count: int, storage_records: [map]}
@errors {403, 404}

@endpoint GET /orgs/{org}/artifacts/{subject_digest}/metadata/deployment-records
@required {org: str, subject_digest: str}
@returns(200) {total_count: int, deployment_records: [map]}

@endpoint GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records
@required {org: str, subject_digest: str}
@returns(200) {total_count: int, storage_records: [map]}

@endpoint POST /orgs/{org}/attestations/bulk-list
@required {org: str, subject_digests: [str]}
@optional {per_page: int=30, before: str, after: str, predicate_type: str}
@returns(200) {attestations_subject_digests: map, page_info: map{has_next: bool, has_previous: bool, next: str, previous: str}}

@endpoint POST /orgs/{org}/attestations/delete-request
@required {org: str}
@returns(200)
@errors {404}

@endpoint DELETE /orgs/{org}/attestations/digest/{subject_digest}
@required {org: str, subject_digest: str}
@returns(200)
@returns(204)
@errors {404}

@endpoint GET /orgs/{org}/attestations/repositories
@required {org: str}
@optional {per_page: int=30, before: str, after: str, predicate_type: str}
@returns(200)

@endpoint DELETE /orgs/{org}/attestations/{attestation_id}
@required {org: str, attestation_id: int}
@returns(200)
@returns(204)
@errors {403, 404}

@endpoint GET /orgs/{org}/attestations/{subject_digest}
@required {org: str, subject_digest: str}
@optional {per_page: int=30, before: str, after: str, predicate_type: str}
@returns(200) {attestations: [map]}

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

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

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

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

@endpoint GET /orgs/{org}/campaigns
@required {org: str}
@optional {page: int=1, per_page: int=30, direction: str(asc/desc)=desc, state: str, sort: str(created/updated/ends_at/published)=created}
@returns(200)
@errors {404, 503}

@endpoint POST /orgs/{org}/campaigns
@required {org: str, name: str, description: str, ends_at: str(date-time)}
@optional {managers: [str], team_managers: [str], contact_link: str(uri), code_scanning_alerts: [map{repository_id!: int, alert_numbers!: [int]}], generate_issues: bool=false}
@returns(200) {number: int, created_at: str(date-time), updated_at: str(date-time), name: str, description: str, managers: [map], team_managers: [map], published_at: str(date-time), ends_at: str(date-time), closed_at: str(date-time)?, state: str, contact_link: str(uri)?, alert_stats: map{open_count: int, closed_count: int, in_progress_count: int}}
@errors {400, 404, 422, 429, 503}

@endpoint GET /orgs/{org}/campaigns/{campaign_number}
@required {org: str, campaign_number: int}
@returns(200) {number: int, created_at: str(date-time), updated_at: str(date-time), name: str, description: str, managers: [map], team_managers: [map], published_at: str(date-time), ends_at: str(date-time), closed_at: str(date-time)?, state: str, contact_link: str(uri)?, alert_stats: map{open_count: int, closed_count: int, in_progress_count: int}}
@errors {404, 422, 503}

@endpoint PATCH /orgs/{org}/campaigns/{campaign_number}
@required {org: str, campaign_number: int}
@optional {name: str, description: str, managers: [str], team_managers: [str], ends_at: str(date-time), contact_link: str(uri), state: str(open/closed)}
@returns(200) {number: int, created_at: str(date-time), updated_at: str(date-time), name: str, description: str, managers: [map], team_managers: [map], published_at: str(date-time), ends_at: str(date-time), closed_at: str(date-time)?, state: str, contact_link: str(uri)?, alert_stats: map{open_count: int, closed_count: int, in_progress_count: int}}
@errors {400, 404, 422, 503}

@endpoint DELETE /orgs/{org}/campaigns/{campaign_number}
@required {org: str, campaign_number: int}
@returns(204)
@errors {404, 503}

@endpoint GET /orgs/{org}/code-scanning/alerts
@required {org: str}
@optional {tool_name: str, tool_guid: str, before: str, after: str, page: int=1, per_page: int=30, direction: str(asc/desc)=desc, state: str, sort: str(created/updated)=created, severity: str, assignees: str}
@returns(200)
@errors {404, 503}

@endpoint GET /orgs/{org}/code-security/configurations
@required {org: str}
@optional {target_type: str(global/all)=all, per_page: int=30, before: str, after: str}
@returns(200)
@errors {403, 404}

@endpoint POST /orgs/{org}/code-security/configurations
@required {org: str, name: str, description: str}
@optional {advanced_security: str(enabled/disabled/code_security/secret_protection)=disabled, code_security: str(enabled/disabled/not_set), dependency_graph: str(enabled/disabled/not_set)=enabled, dependency_graph_autosubmit_action: str(enabled/disabled/not_set)=disabled, dependency_graph_autosubmit_action_options: map{labeled_runners: bool}, dependabot_alerts: str(enabled/disabled/not_set)=disabled, dependabot_security_updates: str(enabled/disabled/not_set)=disabled, dependabot_delegated_alert_dismissal: str(enabled/disabled/not_set)=disabled, code_scanning_options: map{allow_advanced: bool}, code_scanning_default_setup: str(enabled/disabled/not_set)=disabled, code_scanning_default_setup_options: map{runner_type: str, runner_label: str}, code_scanning_delegated_alert_dismissal: str(enabled/disabled/not_set)=not_set, secret_protection: str(enabled/disabled/not_set), secret_scanning: str(enabled/disabled/not_set)=disabled, secret_scanning_push_protection: str(enabled/disabled/not_set)=disabled, secret_scanning_delegated_bypass: str(enabled/disabled/not_set)=disabled, secret_scanning_delegated_bypass_options: map{reviewers: [map]}, secret_scanning_validity_checks: str(enabled/disabled/not_set)=disabled, secret_scanning_non_provider_patterns: str(enabled/disabled/not_set)=disabled, secret_scanning_generic_secrets: str(enabled/disabled/not_set)=disabled, secret_scanning_delegated_alert_dismissal: str(enabled/disabled/not_set), secret_scanning_extended_metadata: str(enabled/disabled/not_set), private_vulnerability_reporting: str(enabled/disabled/not_set)=disabled, enforcement: str(enforced/unenforced)=enforced}
@returns(201) {id: int, name: str, target_type: str, description: str, advanced_security: str, dependency_graph: str, dependency_graph_autosubmit_action: str, dependency_graph_autosubmit_action_options: map{labeled_runners: bool}, dependabot_alerts: str, dependabot_security_updates: str, dependabot_delegated_alert_dismissal: str?, code_scanning_options: map?{allow_advanced: bool?}, code_scanning_default_setup: str, code_scanning_default_setup_options: map?{runner_type: str?, runner_label: str?}, code_scanning_delegated_alert_dismissal: str, secret_scanning: str, secret_scanning_push_protection: str, secret_scanning_delegated_bypass: str, secret_scanning_delegated_bypass_options: map{reviewers: [map]}, secret_scanning_validity_checks: str, secret_scanning_non_provider_patterns: str, secret_scanning_generic_secrets: str, secret_scanning_delegated_alert_dismissal: str, secret_scanning_extended_metadata: str, private_vulnerability_reporting: str, enforcement: str, url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time)}

@endpoint GET /orgs/{org}/code-security/configurations/defaults
@required {org: str}
@returns(200)
@errors {304, 403, 404}

@endpoint DELETE /orgs/{org}/code-security/configurations/detach
@required {org: str}
@optional {selected_repository_ids: [int]}
@returns(204)
@errors {400, 403, 404, 409}

@endpoint GET /orgs/{org}/code-security/configurations/{configuration_id}
@required {org: str, configuration_id: int}
@returns(200) {id: int, name: str, target_type: str, description: str, advanced_security: str, dependency_graph: str, dependency_graph_autosubmit_action: str, dependency_graph_autosubmit_action_options: map{labeled_runners: bool}, dependabot_alerts: str, dependabot_security_updates: str, dependabot_delegated_alert_dismissal: str?, code_scanning_options: map?{allow_advanced: bool?}, code_scanning_default_setup: str, code_scanning_default_setup_options: map?{runner_type: str?, runner_label: str?}, code_scanning_delegated_alert_dismissal: str, secret_scanning: str, secret_scanning_push_protection: str, secret_scanning_delegated_bypass: str, secret_scanning_delegated_bypass_options: map{reviewers: [map]}, secret_scanning_validity_checks: str, secret_scanning_non_provider_patterns: str, secret_scanning_generic_secrets: str, secret_scanning_delegated_alert_dismissal: str, secret_scanning_extended_metadata: str, private_vulnerability_reporting: str, enforcement: str, url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time)}
@errors {304, 403, 404}

@endpoint PATCH /orgs/{org}/code-security/configurations/{configuration_id}
@required {org: str, configuration_id: int}
@optional {name: str, description: str, advanced_security: str(enabled/disabled/code_security/secret_protection), code_security: str(enabled/disabled/not_set), dependency_graph: str(enabled/disabled/not_set), dependency_graph_autosubmit_action: str(enabled/disabled/not_set), dependency_graph_autosubmit_action_options: map{labeled_runners: bool}, dependabot_alerts: str(enabled/disabled/not_set), dependabot_security_updates: str(enabled/disabled/not_set), dependabot_delegated_alert_dismissal: str(enabled/disabled/not_set), code_scanning_default_setup: str(enabled/disabled/not_set), code_scanning_default_setup_options: map{runner_type: str, runner_label: str}, code_scanning_options: map{allow_advanced: bool}, code_scanning_delegated_alert_dismissal: str(enabled/disabled/not_set)=disabled, secret_protection: str(enabled/disabled/not_set), secret_scanning: str(enabled/disabled/not_set), secret_scanning_push_protection: str(enabled/disabled/not_set), secret_scanning_delegated_bypass: str(enabled/disabled/not_set), secret_scanning_delegated_bypass_options: map{reviewers: [map]}, secret_scanning_validity_checks: str(enabled/disabled/not_set), secret_scanning_non_provider_patterns: str(enabled/disabled/not_set), secret_scanning_generic_secrets: str(enabled/disabled/not_set), secret_scanning_delegated_alert_dismissal: str(enabled/disabled/not_set), secret_scanning_extended_metadata: str(enabled/disabled/not_set), private_vulnerability_reporting: str(enabled/disabled/not_set), enforcement: str(enforced/unenforced)}
@returns(200) {id: int, name: str, target_type: str, description: str, advanced_security: str, dependency_graph: str, dependency_graph_autosubmit_action: str, dependency_graph_autosubmit_action_options: map{labeled_runners: bool}, dependabot_alerts: str, dependabot_security_updates: str, dependabot_delegated_alert_dismissal: str?, code_scanning_options: map?{allow_advanced: bool?}, code_scanning_default_setup: str, code_scanning_default_setup_options: map?{runner_type: str?, runner_label: str?}, code_scanning_delegated_alert_dismissal: str, secret_scanning: str, secret_scanning_push_protection: str, secret_scanning_delegated_bypass: str, secret_scanning_delegated_bypass_options: map{reviewers: [map]}, secret_scanning_validity_checks: str, secret_scanning_non_provider_patterns: str, secret_scanning_generic_secrets: str, secret_scanning_delegated_alert_dismissal: str, secret_scanning_extended_metadata: str, private_vulnerability_reporting: str, enforcement: str, url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time)}
@returns(204)

@endpoint DELETE /orgs/{org}/code-security/configurations/{configuration_id}
@required {org: str, configuration_id: int}
@returns(204)
@errors {400, 403, 404, 409}

@endpoint POST /orgs/{org}/code-security/configurations/{configuration_id}/attach
@required {org: str, configuration_id: int, scope: str(all/all_without_configurations/public/private_or_internal/selected)}
@optional {selected_repository_ids: [int]}
@returns(202)

@endpoint PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults
@required {org: str, configuration_id: int}
@optional {default_for_new_repos: str(all/none/private_and_internal/public)}
@returns(200) {default_for_new_repos: str, configuration: map{id: int, name: str, target_type: str, description: str, advanced_security: str, dependency_graph: str, dependency_graph_autosubmit_action: str, dependency_graph_autosubmit_action_options: map{labeled_runners: bool}, dependabot_alerts: str, dependabot_security_updates: str, dependabot_delegated_alert_dismissal: str?, code_scanning_options: map?{allow_advanced: bool?}, code_scanning_default_setup: str, code_scanning_default_setup_options: map?{runner_type: str?, runner_label: str?}, code_scanning_delegated_alert_dismissal: str, secret_scanning: str, secret_scanning_push_protection: str, secret_scanning_delegated_bypass: str, secret_scanning_delegated_bypass_options: map{reviewers: [map]}, secret_scanning_validity_checks: str, secret_scanning_non_provider_patterns: str, secret_scanning_generic_secrets: str, secret_scanning_delegated_alert_dismissal: str, secret_scanning_extended_metadata: str, private_vulnerability_reporting: str, enforcement: str, url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time)}}
@errors {403, 404}

@endpoint GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories
@required {org: str, configuration_id: int}
@optional {per_page: int=30, before: str, after: str, status: str=all}
@returns(200)
@errors {403, 404}

@endpoint GET /orgs/{org}/codespaces
@required {org: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, codespaces: [map]}
@errors {304, 401, 403, 404, 500}

@endpoint PUT /orgs/{org}/codespaces/access
@required {org: str, visibility: str(disabled/selected_members/all_members/all_members_and_outside_collaborators)}
@optional {selected_usernames: [str]}
@returns(204)
@errors {304, 400, 404, 422, 500}

@endpoint POST /orgs/{org}/codespaces/access/selected_users
@required {org: str, selected_usernames: [str]}
@returns(204)
@errors {304, 400, 404, 422, 500}

@endpoint DELETE /orgs/{org}/codespaces/access/selected_users
@required {org: str, selected_usernames: [str]}
@returns(204)
@errors {304, 400, 404, 422, 500}

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

@endpoint GET /orgs/{org}/codespaces/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}/codespaces/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}/codespaces/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)
@errors {404, 422}

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

@endpoint GET /orgs/{org}/codespaces/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]}
@errors {404}

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

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

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

@endpoint GET /orgs/{org}/copilot/billing
@required {org: str}
@returns(200) {seat_breakdown: map{total: int, added_this_cycle: int, pending_cancellation: int, pending_invitation: int, active_this_cycle: int, inactive_this_cycle: int}, public_code_suggestions: str, ide_chat: str, platform_chat: str, cli: str, seat_management_setting: str, plan_type: str}
@errors {401, 403, 404, 422, 500}

@endpoint GET /orgs/{org}/copilot/billing/seats
@required {org: str}
@optional {page: int=1, per_page: int=50}
@returns(200) {total_seats: int, seats: [map]}
@errors {401, 403, 404, 500}

@endpoint POST /orgs/{org}/copilot/billing/selected_teams
@required {org: str, selected_teams: [str]}
@returns(201) {seats_created: int}
@errors {401, 403, 404, 422, 500}

@endpoint DELETE /orgs/{org}/copilot/billing/selected_teams
@required {org: str, selected_teams: [str]}
@returns(200) {seats_cancelled: int}
@errors {401, 403, 404, 422, 500}

@endpoint POST /orgs/{org}/copilot/billing/selected_users
@required {org: str, selected_usernames: [str]}
@returns(201) {seats_created: int}
@errors {401, 403, 404, 422, 500}

@endpoint DELETE /orgs/{org}/copilot/billing/selected_users
@required {org: str, selected_usernames: [str]}
@returns(200) {seats_cancelled: int}
@errors {401, 403, 404, 422, 500}

@endpoint GET /orgs/{org}/copilot/coding-agent/permissions
@required {org: str}
@returns(200) {enabled_repositories: str, selected_repositories_url: str}
@errors {401, 403, 404, 500}

@endpoint PUT /orgs/{org}/copilot/coding-agent/permissions
@required {org: str, enabled_repositories: str(all/selected/none)}
@returns(204)
@errors {401, 403, 404, 422, 500}

@endpoint GET /orgs/{org}/copilot/coding-agent/permissions/repositories
@required {org: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, repositories: [map]}
@errors {401, 403, 404, 409, 500}

@endpoint PUT /orgs/{org}/copilot/coding-agent/permissions/repositories
@required {org: str, selected_repository_ids: [int]}
@returns(204)
@errors {401, 403, 404, 409, 422, 500}

@endpoint PUT /orgs/{org}/copilot/coding-agent/permissions/repositories/{repository_id}
@required {org: str, repository_id: int}
@returns(204)
@errors {401, 403, 404, 409, 422, 500}

@endpoint DELETE /orgs/{org}/copilot/coding-agent/permissions/repositories/{repository_id}
@required {org: str, repository_id: int}
@returns(204)
@errors {401, 403, 404, 409, 500}

@endpoint GET /orgs/{org}/copilot/content_exclusion
@required {org: str}
@returns(200)
@errors {401, 403, 404, 500}

@endpoint PUT /orgs/{org}/copilot/content_exclusion
@required {org: str}
@returns(200) {message: str}
@errors {401, 403, 404, 413, 422, 500}

@endpoint GET /orgs/{org}/copilot/metrics
@required {org: str}
@optional {since: str, until: str, page: int=1, per_page: int=100}
@returns(200)
@errors {403, 404, 422, 500}

@endpoint GET /orgs/{org}/copilot/metrics/reports/organization-1-day
@required {org: str, day: str(date)}
@returns(200) {download_links: [str(uri)], report_day: str(date)}
@returns(204)
@errors {403, 404, 500}

@endpoint GET /orgs/{org}/copilot/metrics/reports/organization-28-day/latest
@required {org: str}
@returns(200) {download_links: [str(uri)], report_start_day: str(date), report_end_day: str(date)}
@errors {403, 404, 500}

@endpoint GET /orgs/{org}/copilot/metrics/reports/users-1-day
@required {org: str, day: str(date)}
@returns(200) {download_links: [str(uri)], report_day: str(date)}
@returns(204)
@errors {403, 404, 500}

@endpoint GET /orgs/{org}/copilot/metrics/reports/users-28-day/latest
@required {org: str}
@returns(200) {download_links: [str(uri)], report_start_day: str(date), report_end_day: str(date)}
@errors {403, 404, 500}

@endpoint GET /orgs/{org}/dependabot/alerts
@required {org: str}
@optional {classification: str, state: str, severity: str, ecosystem: str, package: str, epss_percentage: str, artifact_registry_url: str, artifact_registry: str, has: any, assignee: str, runtime_risk: str, scope: str(development/runtime), sort: str(created/updated/epss_percentage)=created, direction: str(asc/desc)=desc, before: str, after: str, per_page: int=30}
@returns(200)
@errors {304, 400, 403, 404, 422}

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

@endpoint GET /orgs/{org}/dependabot/secrets/public-key
@required {org: str}
@returns(200) {key_id: str, key: str}

@endpoint GET /orgs/{org}/dependabot/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}/dependabot/secrets/{secret_name}
@required {org: str, secret_name: str, visibility: str(all/private/selected)}
@optional {encrypted_value: str, key_id: str, selected_repository_ids: [any]}
@returns(201)
@returns(204)

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

@endpoint GET /orgs/{org}/dependabot/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}/dependabot/secrets/{secret_name}/repositories
@required {org: str, secret_name: str, selected_repository_ids: [int]}
@returns(204)

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

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

@endpoint GET /orgs/{org}/docker/conflicts
@required {org: str}
@returns(200)
@errors {401, 403}

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

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

@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, status: str(success/failure)}
@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?, throttled_at: str(date-time)?, 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}/insights/api/route-stats/{actor_type}/{actor_id}
@required {org: str, actor_type: str(installation/classic_pat/fine_grained_pat/oauth_app/github_app_user_to_server), actor_id: int, min_timestamp: str}
@optional {max_timestamp: str, page: int=1, per_page: int=30, direction: str(asc/desc)=desc, sort: [str], api_route_substring: str}
@returns(200)

@endpoint GET /orgs/{org}/insights/api/subject-stats
@required {org: str, min_timestamp: str}
@optional {max_timestamp: str, page: int=1, per_page: int=30, direction: str(asc/desc)=desc, sort: [str], subject_name_substring: str}
@returns(200)

@endpoint GET /orgs/{org}/insights/api/summary-stats
@required {org: str, min_timestamp: str}
@optional {max_timestamp: str}
@returns(200) {total_request_count: int(int64), rate_limited_request_count: int(int64)}

@endpoint GET /orgs/{org}/insights/api/summary-stats/users/{user_id}
@required {org: str, user_id: str, min_timestamp: str}
@optional {max_timestamp: str}
@returns(200) {total_request_count: int(int64), rate_limited_request_count: int(int64)}

@endpoint GET /orgs/{org}/insights/api/summary-stats/{actor_type}/{actor_id}
@required {org: str, min_timestamp: str, actor_type: str(installation/classic_pat/fine_grained_pat/oauth_app/github_app_user_to_server), actor_id: int}
@optional {max_timestamp: str}
@returns(200) {total_request_count: int(int64), rate_limited_request_count: int(int64)}

@endpoint GET /orgs/{org}/insights/api/time-stats
@required {org: str, min_timestamp: str, timestamp_increment: str}
@optional {max_timestamp: str}
@returns(200)

@endpoint GET /orgs/{org}/insights/api/time-stats/users/{user_id}
@required {org: str, user_id: str, min_timestamp: str, timestamp_increment: str}
@optional {max_timestamp: str}
@returns(200)

@endpoint GET /orgs/{org}/insights/api/time-stats/{actor_type}/{actor_id}
@required {org: str, actor_type: str(installation/classic_pat/fine_grained_pat/oauth_app/github_app_user_to_server), actor_id: int, min_timestamp: str, timestamp_increment: str}
@optional {max_timestamp: str}
@returns(200)

@endpoint GET /orgs/{org}/insights/api/user-stats/{user_id}
@required {org: str, user_id: str, min_timestamp: str}
@optional {max_timestamp: str, page: int=1, per_page: int=30, direction: str(asc/desc)=desc, sort: [str], actor_name_substring: str}
@returns(200)

@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, client_id: str, target_id: int, target_type: str, permissions: map{actions: str, administration: str, artifact_metadata: str, attestations: str, checks: str, codespaces: str, contents: str, dependabot_secrets: str, deployments: str, discussions: str, environments: str, issues: str, merge_queues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_custom_properties: 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, custom_properties_for_organizations: str, members: str, organization_administration: str, organization_custom_roles: str, organization_custom_org_roles: str, organization_custom_properties: str, organization_copilot_seat_management: str, organization_copilot_agent_settings: str, organization_announcement_banners: str, organization_events: str, organization_hooks: str, organization_personal_access_tokens: str, organization_personal_access_token_requests: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, email_addresses: str, followers: str, git_ssh_keys: str, gpg_keys: str, interaction_limits: str, profile: str, starring: str, enterprise_custom_properties_for_organizations: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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}/interaction-limits
@required {org: str}
@returns(200)

@endpoint PUT /orgs/{org}/interaction-limits
@required {org: str, limit: str(existing_users/contributors_only/collaborators_only)}
@optional {expiry: str(one_day/three_days/one_week/one_month/six_months)}
@returns(200) {limit: str, origin: str, expires_at: str(date-time)}
@errors {422}

@endpoint DELETE /orgs/{org}/interaction-limits
@required {org: str}
@returns(204)

@endpoint GET /orgs/{org}/invitations
@required {org: str}
@optional {per_page: int=30, page: int=1, role: str(all/admin/direct_member/billing_manager/hiring_manager)=all, invitation_source: str(all/member/scim)=all}
@returns(200)
@errors {404}

@endpoint POST /orgs/{org}/invitations
@required {org: str}
@optional {invitee_id: int, email: str, role: str(admin/direct_member/billing_manager/reinstate)=direct_member, team_ids: [int]}
@returns(201) {id: int(int64), login: str?, email: str?, role: str, created_at: str, failed_at: str?, failed_reason: str?, inviter: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, team_count: int, node_id: str, invitation_teams_url: str, invitation_source: str}
@errors {404, 422}

@endpoint DELETE /orgs/{org}/invitations/{invitation_id}
@required {org: str, invitation_id: int}
@returns(204)
@errors {404, 422}

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

@endpoint GET /orgs/{org}/issue-fields
@required {org: str}
@returns(200)
@errors {404}

@endpoint POST /orgs/{org}/issue-fields
@required {org: str, name: str, data_type: str(text/date/single_select/number)}
@optional {description: str, visibility: str(organization_members_only/all), options: [map{name!: str, description: str, color!: str, priority!: int}]}
@returns(200) {id: int, node_id: str, name: str, description: str?, data_type: str, visibility: str, options: [map]?, created_at: str(date-time), updated_at: str(date-time)}
@errors {404, 422}

@endpoint PATCH /orgs/{org}/issue-fields/{issue_field_id}
@required {org: str, issue_field_id: int}
@optional {name: str, description: str, visibility: str(organization_members_only/all), options: [map{name!: str, description: str, color!: str, priority!: int}]}
@returns(200) {id: int, node_id: str, name: str, description: str?, data_type: str, visibility: str, options: [map]?, created_at: str(date-time), updated_at: str(date-time)}
@errors {404, 422}

@endpoint DELETE /orgs/{org}/issue-fields/{issue_field_id}
@required {org: str, issue_field_id: int}
@returns(204)
@errors {404, 422}

@endpoint GET /orgs/{org}/issue-types
@required {org: str}
@returns(200)
@errors {404}

@endpoint POST /orgs/{org}/issue-types
@required {org: str, name: str, is_enabled: bool}
@optional {description: str, color: str(gray/blue/green/yellow/orange/red/pink/purple)}
@returns(200) {id: int, node_id: str, name: str, description: str?, color: str?, created_at: str(date-time), updated_at: str(date-time), is_enabled: bool}
@errors {404, 422}

@endpoint PUT /orgs/{org}/issue-types/{issue_type_id}
@required {org: str, issue_type_id: int, name: str, is_enabled: bool}
@optional {description: str, color: str(gray/blue/green/yellow/orange/red/pink/purple)}
@returns(200) {id: int, node_id: str, name: str, description: str?, color: str?, created_at: str(date-time), updated_at: str(date-time), is_enabled: bool}
@errors {404, 422}

@endpoint DELETE /orgs/{org}/issue-types/{issue_type_id}
@required {org: str, issue_type_id: int}
@returns(204)
@errors {404, 422}

@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, type: 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/2fa_insecure/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}/members/{username}/codespaces
@required {org: str, username: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, codespaces: [map]}
@errors {304, 401, 403, 404, 500}

@endpoint DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}
@required {org: str, username: str, codespace_name: str}
@returns(202)
@errors {304, 401, 403, 404, 500}

@endpoint POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop
@required {org: str, username: str, codespace_name: str}
@returns(200) {id: int(int64), name: str, display_name: str?, environment_id: str?, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, billable_owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, machine: map?{name: str, display_name: str, operating_system: str, storage_in_bytes: int, memory_in_bytes: int, cpus: int, prebuild_availability: str?}, devcontainer_path: str?, prebuild: bool?, created_at: str(date-time), updated_at: str(date-time), last_used_at: str(date-time), state: str, url: str(uri), git_status: map{ahead: int, behind: int, has_unpushed_changes: bool, has_uncommitted_changes: bool, ref: str}, location: str, idle_timeout_minutes: int?, web_url: str(uri), machines_url: str(uri), start_url: str(uri), stop_url: str(uri), publish_url: str(uri)?, pulls_url: str(uri)?, recent_folders: [str], runtime_constraints: map{allowed_port_privacy_settings: [str]?}, pending_operation: bool?, pending_operation_disabled_reason: str?, idle_timeout_notice: str?, retention_period_minutes: int?, retention_expires_at: str(date-time)?, last_known_stop_notice: str?}
@errors {304, 401, 403, 404, 500}

@endpoint GET /orgs/{org}/members/{username}/copilot
@required {org: str, username: str}
@returns(200) {assignee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, 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?}, assigning_team: any?, pending_cancellation_date: str(date)?, last_activity_at: str(date-time)?, last_activity_editor: str?, last_authenticated_at: str(date-time)?, created_at: str(date-time), updated_at: str(date-time), plan_type: str}
@errors {401, 403, 404, 422, 500}

@endpoint GET /orgs/{org}/memberships/{username}
@required {org: str, username: str}
@returns(200) {url: str(uri), state: str, role: str, direct_membership: bool, enterprise_teams_providing_indirect_membership: [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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, direct_membership: bool, enterprise_teams_providing_indirect_membership: [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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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}/migrations
@required {org: str}
@optional {per_page: int=30, page: int=1, exclude: [str]}
@returns(200)

@endpoint POST /orgs/{org}/migrations
@required {org: str, repositories: [str]}
@optional {lock_repositories: bool=false, exclude_metadata: bool=false, exclude_git_data: bool=false, exclude_attachments: bool=false, exclude_releases: bool=false, exclude_owner_projects: bool=false, org_metadata_only: bool=false, exclude: [str]}
@returns(201) {id: int(int64), owner: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, guid: str, state: str, lock_repositories: bool, exclude_metadata: bool, exclude_git_data: bool, exclude_attachments: bool, exclude_releases: bool, exclude_owner_projects: bool, org_metadata_only: bool, repositories: [map], url: str(uri), created_at: str(date-time), updated_at: str(date-time), node_id: str, archive_url: str(uri), exclude: [str]}
@errors {404, 422}

@endpoint GET /orgs/{org}/migrations/{migration_id}
@required {org: str, migration_id: int}
@optional {exclude: [str]}
@returns(200) {id: int(int64), owner: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, guid: str, state: str, lock_repositories: bool, exclude_metadata: bool, exclude_git_data: bool, exclude_attachments: bool, exclude_releases: bool, exclude_owner_projects: bool, org_metadata_only: bool, repositories: [map], url: str(uri), created_at: str(date-time), updated_at: str(date-time), node_id: str, archive_url: str(uri), exclude: [str]}
@errors {404}

@endpoint GET /orgs/{org}/migrations/{migration_id}/archive
@required {org: str, migration_id: int}
@errors {302, 404}

@endpoint DELETE /orgs/{org}/migrations/{migration_id}/archive
@required {org: str, migration_id: int}
@returns(204)
@errors {404}

@endpoint DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock
@required {org: str, migration_id: int, repo_name: str}
@returns(204)
@errors {404}

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

@endpoint GET /orgs/{org}/organization-roles
@required {org: str}
@returns(200) {total_count: int, roles: [map]}
@errors {404, 422}

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

@endpoint PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}
@required {org: str, team_slug: str, role_id: int}
@returns(204)
@errors {404, 422}

@endpoint DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}
@required {org: str, team_slug: str, role_id: int}
@returns(204)

@endpoint DELETE /orgs/{org}/organization-roles/users/{username}
@required {org: str, username: str}
@returns(204)

@endpoint PUT /orgs/{org}/organization-roles/users/{username}/{role_id}
@required {org: str, username: str, role_id: int}
@returns(204)
@errors {404, 422}

@endpoint DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}
@required {org: str, username: str, role_id: int}
@returns(204)

@endpoint GET /orgs/{org}/organization-roles/{role_id}
@required {org: str, role_id: int}
@returns(200) {id: int(int64), name: str, description: str?, base_role: str?, source: str?, permissions: [str], organization: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, created_at: str(date-time), updated_at: str(date-time)}
@errors {404, 422}

@endpoint GET /orgs/{org}/organization-roles/{role_id}/teams
@required {org: str, role_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {404, 422}

@endpoint GET /orgs/{org}/organization-roles/{role_id}/users
@required {org: str, role_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {404, 422}

@endpoint GET /orgs/{org}/outside_collaborators
@required {org: str}
@optional {filter: str(2fa_disabled/2fa_insecure/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}/packages
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), org: str}
@optional {visibility: str(public/private/internal), page: int=1, per_page: int=30}
@returns(200)
@errors {400, 401, 403}

@endpoint GET /orgs/{org}/packages/{package_type}/{package_name}
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, org: str}
@returns(200) {id: int, name: str, package_type: str, url: str, html_url: str, version_count: int, visibility: str, owner: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map?{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, created_at: str(date-time), updated_at: str(date-time)}

@endpoint DELETE /orgs/{org}/packages/{package_type}/{package_name}
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, org: str}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /orgs/{org}/packages/{package_type}/{package_name}/restore
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, org: str}
@optional {token: str}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /orgs/{org}/packages/{package_type}/{package_name}/versions
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, org: str}
@optional {page: int=1, per_page: int=30, state: str(active/deleted)=active}
@returns(200)
@errors {401, 403, 404}

@endpoint GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, org: str, package_version_id: int}
@returns(200) {id: int, name: str, url: str, package_html_url: str, html_url: str, license: str, description: str, created_at: str(date-time), updated_at: str(date-time), deleted_at: str(date-time), metadata: map{package_type: str, container: map{tags: [str]}, docker: map{tag: [str]}}}

@endpoint DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, org: str, package_version_id: int}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, org: str, package_version_id: int}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /orgs/{org}/personal-access-token-requests
@required {org: str}
@optional {per_page: int=30, page: int=1, sort: str=created_at, direction: str(asc/desc)=desc, owner: [str], repository: str, permission: str, last_used_before: str(date-time), last_used_after: str(date-time), token_id: [str]}
@returns(200)
@errors {403, 404, 422, 500}

@endpoint POST /orgs/{org}/personal-access-token-requests
@required {org: str, action: str(approve/deny)}
@optional {pat_request_ids: [int], reason: str}
@returns(202)
@errors {403, 404, 422, 500}

@endpoint POST /orgs/{org}/personal-access-token-requests/{pat_request_id}
@required {org: str, pat_request_id: int, action: str(approve/deny)}
@optional {reason: str}
@returns(204)
@errors {403, 404, 422, 500}

@endpoint GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories
@required {org: str, pat_request_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {403, 404, 500}

@endpoint GET /orgs/{org}/personal-access-tokens
@required {org: str}
@optional {per_page: int=30, page: int=1, sort: str=created_at, direction: str(asc/desc)=desc, owner: [str], repository: str, permission: str, last_used_before: str(date-time), last_used_after: str(date-time), token_id: [str]}
@returns(200)
@errors {403, 404, 422, 500}

@endpoint POST /orgs/{org}/personal-access-tokens
@required {org: str, action: str, pat_ids: [int]}
@returns(202)
@errors {403, 404, 422, 500}

@endpoint POST /orgs/{org}/personal-access-tokens/{pat_id}
@required {org: str, pat_id: int, action: str}
@returns(204)
@errors {403, 404, 422, 500}

@endpoint GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories
@required {org: str, pat_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {403, 404, 500}

@endpoint GET /orgs/{org}/private-registries
@required {org: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, configurations: [map]}
@errors {400, 404}

@endpoint POST /orgs/{org}/private-registries
@required {org: str, registry_type: str(maven_repository/nuget_feed/goproxy_server/npm_registry/rubygems_server/cargo_registry/composer_repository/docker_registry/git_source/helm_registry/hex_organization/hex_repository/pub_repository/python_index/terraform_registry), url: str(uri), visibility: str(all/private/selected)}
@optional {username: str, replaces_base: bool=false, encrypted_value: str, key_id: str, selected_repository_ids: [int], auth_type: str(token/username_password/oidc_azure/oidc_aws/oidc_jfrog), tenant_id: str, client_id: str, aws_region: str, account_id: str, role_name: str, domain: str, domain_owner: str, jfrog_oidc_provider_name: str, audience: str, identity_mapping_name: str}
@returns(201) {name: str, registry_type: str, auth_type: str, url: str(uri), username: str, replaces_base: bool, visibility: str, selected_repository_ids: [int], tenant_id: str, client_id: str, aws_region: str, account_id: str, role_name: str, domain: str, domain_owner: str, jfrog_oidc_provider_name: str, audience: str, identity_mapping_name: str, created_at: str(date-time), updated_at: str(date-time)}
@errors {404, 422}

@endpoint GET /orgs/{org}/private-registries/public-key
@required {org: str}
@returns(200) {key_id: str, key: str}
@errors {404}

@endpoint GET /orgs/{org}/private-registries/{secret_name}
@required {org: str, secret_name: str}
@returns(200) {name: str, registry_type: str, auth_type: str, url: str(uri), username: str?, replaces_base: bool, visibility: str, tenant_id: str, client_id: str, aws_region: str, account_id: str, role_name: str, domain: str, domain_owner: str, jfrog_oidc_provider_name: str, audience: str, identity_mapping_name: str, created_at: str(date-time), updated_at: str(date-time)}
@errors {404}

@endpoint PATCH /orgs/{org}/private-registries/{secret_name}
@required {org: str, secret_name: str}
@optional {registry_type: str(maven_repository/nuget_feed/goproxy_server/npm_registry/rubygems_server/cargo_registry/composer_repository/docker_registry/git_source/helm_registry/hex_organization/hex_repository/pub_repository/python_index/terraform_registry), url: str(uri), username: str, replaces_base: bool=false, encrypted_value: str, key_id: str, visibility: str(all/private/selected), selected_repository_ids: [int], auth_type: str(token/username_password/oidc_azure/oidc_aws/oidc_jfrog), tenant_id: str, client_id: str, aws_region: str, account_id: str, role_name: str, domain: str, domain_owner: str, jfrog_oidc_provider_name: str, audience: str, identity_mapping_name: str}
@returns(204)
@errors {404, 422}

@endpoint DELETE /orgs/{org}/private-registries/{secret_name}
@required {org: str, secret_name: str}
@returns(204)
@errors {400, 404}

@endpoint GET /orgs/{org}/projectsV2
@required {org: str}
@optional {q: str, before: str, after: str, per_page: int=30}
@returns(200)
@errors {304, 401, 403}

@endpoint GET /orgs/{org}/projectsV2/{project_number}
@required {project_number: int, org: str}
@returns(200) {id: num, node_id: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, creator: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, title: str, description: str?, public: bool, closed_at: str(date-time)?, created_at: str(date-time), updated_at: str(date-time), number: int, short_description: str?, deleted_at: str(date-time)?, deleted_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, state: str, latest_status_update: map?{id: num, node_id: str, project_node_id: str, creator: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, created_at: str(date-time), updated_at: str(date-time), status: str?, start_date: str(date), target_date: str(date), body: str?}, is_template: bool}
@errors {304, 401, 403}

@endpoint POST /orgs/{org}/projectsV2/{project_number}/drafts
@required {org: str, project_number: int, title: str}
@optional {body: str}
@returns(201) {id: num, node_id: str, content: any, content_type: str, creator: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, created_at: str(date-time), updated_at: str(date-time), archived_at: str(date-time)?, project_url: str(uri), item_url: str(uri)}
@errors {304, 401, 403}

@endpoint GET /orgs/{org}/projectsV2/{project_number}/fields
@required {project_number: int, org: str}
@optional {per_page: int=30, before: str, after: str}
@returns(200)
@errors {304, 401, 403}

@endpoint POST /orgs/{org}/projectsV2/{project_number}/fields
@required {project_number: int, org: str}
@returns(201) {id: int, issue_field_id: int, node_id: str, project_url: str, name: str, data_type: str, options: [map], configuration: map{start_day: int, duration: int, iterations: [map]}, created_at: str(date-time), updated_at: str(date-time)}
@errors {304, 401, 403, 422}

@endpoint GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}
@required {project_number: int, field_id: int, org: str}
@returns(200) {id: int, issue_field_id: int, node_id: str, project_url: str, name: str, data_type: str, options: [map], configuration: map{start_day: int, duration: int, iterations: [map]}, created_at: str(date-time), updated_at: str(date-time)}
@errors {304, 401, 403}

@endpoint GET /orgs/{org}/projectsV2/{project_number}/items
@required {project_number: int, org: str}
@optional {q: str, fields: any, before: str, after: str, per_page: int=30}
@returns(200)
@errors {304, 401, 403}

@endpoint POST /orgs/{org}/projectsV2/{project_number}/items
@required {org: str, project_number: int, type: str(Issue/PullRequest)}
@optional {id: int, owner: str, repo: str, number: int}
@returns(201) {id: num, node_id: str, content: any, content_type: str, creator: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, created_at: str(date-time), updated_at: str(date-time), archived_at: str(date-time)?, project_url: str(uri), item_url: str(uri)}
@errors {304, 401, 403}

@endpoint GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}
@required {project_number: int, org: str, item_id: int}
@optional {fields: any}
@returns(200) {id: num, node_id: str, project_url: str(uri), content_type: str, content: map?, creator: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, created_at: str(date-time), updated_at: str(date-time), archived_at: str(date-time)?, item_url: str(uri)?, fields: [map]}
@errors {304, 401, 403}

@endpoint PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}
@required {project_number: int, org: str, item_id: int, fields: [map{id!: int, value!: any}]}
@returns(200) {id: num, node_id: str, project_url: str(uri), content_type: str, content: map?, creator: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, created_at: str(date-time), updated_at: str(date-time), archived_at: str(date-time)?, item_url: str(uri)?, fields: [map]}
@errors {401, 403, 404, 422}

@endpoint DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}
@required {project_number: int, org: str, item_id: int}
@returns(204)
@errors {401, 403}

@endpoint POST /orgs/{org}/projectsV2/{project_number}/views
@required {org: str, project_number: int, name: str, layout: str(table/board/roadmap)}
@optional {filter: str, visible_fields: [int]}
@returns(201) {id: int, number: int, name: str, layout: str, node_id: str, project_url: str, html_url: str(uri), creator: any, created_at: str(date-time), updated_at: str(date-time), filter: str?, visible_fields: [int], sort_by: [[any]], group_by: [int], vertical_group_by: [int]}
@errors {304, 401, 403, 404, 422, 503}

@endpoint GET /orgs/{org}/projectsV2/{project_number}/views/{view_number}/items
@required {project_number: int, org: str, view_number: int}
@optional {fields: any, before: str, after: str, per_page: int=30}
@returns(200)
@errors {304, 401, 403, 404}

@endpoint GET /orgs/{org}/properties/schema
@required {org: str}
@returns(200)
@errors {403, 404}

@endpoint PATCH /orgs/{org}/properties/schema
@required {org: str, properties: [map{property_name!: str, url: str(uri), source_type: str, value_type!: str, required: bool, default_value: any, description: str, allowed_values: [str], values_editable_by: str, require_explicit_values: bool}]}
@returns(200)
@errors {403, 404}

@endpoint GET /orgs/{org}/properties/schema/{custom_property_name}
@required {org: str, custom_property_name: str}
@returns(200) {property_name: str, url: str(uri), source_type: str, value_type: str, required: bool, default_value: any?, description: str?, allowed_values: [str]?, values_editable_by: str?, require_explicit_values: bool}
@errors {403, 404}

@endpoint PUT /orgs/{org}/properties/schema/{custom_property_name}
@required {org: str, custom_property_name: str, value_type: str(string/single_select/multi_select/true_false/url)}
@optional {required: bool, default_value: any, description: str, allowed_values: [str], values_editable_by: str(org_actors/org_and_repo_actors), require_explicit_values: bool}
@returns(200) {property_name: str, url: str(uri), source_type: str, value_type: str, required: bool, default_value: any?, description: str?, allowed_values: [str]?, values_editable_by: str?, require_explicit_values: bool}
@errors {403, 404}

@endpoint DELETE /orgs/{org}/properties/schema/{custom_property_name}
@required {org: str, custom_property_name: str}
@returns(204)
@errors {403, 404}

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

@endpoint PATCH /orgs/{org}/properties/values
@required {org: str, repository_names: [str], properties: [map{property_name!: str, value!: any}]}
@returns(204)
@errors {403, 404, 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)=all, 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), 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), custom_properties: map}
@returns(201) {id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_forking: bool, web_commit_signoff_required: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, parent: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, source: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}
@errors {403, 422}

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

@endpoint POST /orgs/{org}/rulesets
@required {org: str, name: str, enforcement: str(disabled/active/evaluate)}
@optional {target: str(branch/tag/push/repository)=branch, bypass_actors: [map{actor_id: int, actor_type!: str, bypass_mode: str}], conditions: map, rules: [map]}
@returns(201) {id: int, name: str, target: str, source_type: str, source: str, enforcement: str, bypass_actors: [map], current_user_can_bypass: str, node_id: str, _links: map{self: map{href: str}, html: map?{href: str}}, conditions: any?, rules: [map], created_at: str(date-time), updated_at: str(date-time)}
@errors {404, 422, 500}

@endpoint GET /orgs/{org}/rulesets/rule-suites
@required {org: str}
@optional {ref: str, repository_name: str, time_period: str(hour/day/week/month)=day, actor_name: str, rule_suite_result: str(pass/fail/bypass/all)=all, per_page: int=30, page: int=1}
@returns(200)
@errors {404, 500}

@endpoint GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}
@required {org: str, rule_suite_id: int}
@returns(200) {id: int, actor_id: int?, actor_name: str?, before_sha: str, after_sha: str, ref: str, repository_id: int, repository_name: str, pushed_at: str(date-time), result: str, evaluation_result: str?, rule_evaluations: [map]}
@errors {404, 500}

@endpoint GET /orgs/{org}/rulesets/{ruleset_id}
@required {org: str, ruleset_id: int}
@returns(200) {id: int, name: str, target: str, source_type: str, source: str, enforcement: str, bypass_actors: [map], current_user_can_bypass: str, node_id: str, _links: map{self: map{href: str}, html: map?{href: str}}, conditions: any?, rules: [map], created_at: str(date-time), updated_at: str(date-time)}
@errors {404, 500}

@endpoint PUT /orgs/{org}/rulesets/{ruleset_id}
@required {org: str, ruleset_id: int}
@optional {name: str, target: str(branch/tag/push/repository), enforcement: str(disabled/active/evaluate), bypass_actors: [map{actor_id: int, actor_type!: str, bypass_mode: str}], conditions: map, rules: [map]}
@returns(200) {id: int, name: str, target: str, source_type: str, source: str, enforcement: str, bypass_actors: [map], current_user_can_bypass: str, node_id: str, _links: map{self: map{href: str}, html: map?{href: str}}, conditions: any?, rules: [map], created_at: str(date-time), updated_at: str(date-time)}
@errors {404, 422, 500}

@endpoint DELETE /orgs/{org}/rulesets/{ruleset_id}
@required {org: str, ruleset_id: int}
@returns(204)
@errors {404, 500}

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

@endpoint GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}
@required {org: str, ruleset_id: int, version_id: int}
@returns(200)
@errors {404, 500}

@endpoint GET /orgs/{org}/secret-scanning/alerts
@required {org: str}
@optional {state: str(open/resolved), secret_type: str, resolution: str, assignee: str, sort: str(created/updated)=created, direction: str(asc/desc)=desc, page: int=1, per_page: int=30, before: str, after: str, validity: str, is_publicly_leaked: bool=false, is_multi_repo: bool=false, hide_secret: bool=false}
@returns(200)
@errors {404, 503}

@endpoint GET /orgs/{org}/secret-scanning/pattern-configurations
@required {org: str}
@returns(200) {pattern_config_version: str?, provider_pattern_overrides: [map], custom_pattern_overrides: [map]}
@errors {403, 404}

@endpoint PATCH /orgs/{org}/secret-scanning/pattern-configurations
@required {org: str}
@optional {pattern_config_version: str, provider_pattern_settings: [map{token_type: str, push_protection_setting: str}], custom_pattern_settings: [map{token_type: str, custom_pattern_version: str, push_protection_setting: str}]}
@returns(200) {pattern_config_version: str}
@errors {400, 403, 404, 409, 422}

@endpoint GET /orgs/{org}/security-advisories
@required {org: str}
@optional {direction: str(asc/desc)=desc, sort: str(created/updated/published)=created, before: str, after: str, per_page: int=30, state: str(triage/draft/published/closed)}
@returns(200)
@errors {400, 404}

@endpoint GET /orgs/{org}/security-managers
@required {org: str}
@returns(200)

@endpoint PUT /orgs/{org}/security-managers/teams/{team_slug}
@required {org: str, team_slug: str}
@returns(204)

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

@endpoint GET /orgs/{org}/settings/immutable-releases
@required {org: str}
@returns(200) {enforced_repositories: str, selected_repositories_url: str}

@endpoint PUT /orgs/{org}/settings/immutable-releases
@required {org: str, enforced_repositories: str(all/none/selected)}
@optional {selected_repository_ids: [int]}
@returns(204)

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

@endpoint PUT /orgs/{org}/settings/immutable-releases/repositories
@required {org: str, selected_repository_ids: [int]}
@returns(204)

@endpoint PUT /orgs/{org}/settings/immutable-releases/repositories/{repository_id}
@required {org: str, repository_id: int}
@returns(204)

@endpoint DELETE /orgs/{org}/settings/immutable-releases/repositories/{repository_id}
@required {org: str, repository_id: int}
@returns(204)

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

@endpoint POST /orgs/{org}/settings/network-configurations
@required {org: str, name: str, network_settings_ids: [str]}
@optional {compute_service: str(none/actions), failover_network_settings_ids: [str], failover_network_enabled: bool}
@returns(201) {id: str, name: str, compute_service: str, network_settings_ids: [str], failover_network_settings_ids: [str], failover_network_enabled: bool, created_on: str(date-time)?}

@endpoint GET /orgs/{org}/settings/network-configurations/{network_configuration_id}
@required {org: str, network_configuration_id: str}
@returns(200) {id: str, name: str, compute_service: str, network_settings_ids: [str], failover_network_settings_ids: [str], failover_network_enabled: bool, created_on: str(date-time)?}

@endpoint PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}
@required {org: str, network_configuration_id: str}
@optional {name: str, compute_service: str(none/actions), network_settings_ids: [str], failover_network_settings_ids: [str], failover_network_enabled: bool}
@returns(200) {id: str, name: str, compute_service: str, network_settings_ids: [str], failover_network_settings_ids: [str], failover_network_enabled: bool, created_on: str(date-time)?}

@endpoint DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}
@required {org: str, network_configuration_id: str}
@returns(204)

@endpoint GET /orgs/{org}/settings/network-settings/{network_settings_id}
@required {org: str, network_settings_id: str}
@returns(200) {id: str, network_configuration_id: str, name: str, subnet_id: str, region: str}

@endpoint GET /orgs/{org}/team/{team_slug}/copilot/metrics
@required {org: str, team_slug: str}
@optional {since: str, until: str, page: int=1, per_page: int=100}
@returns(200)
@errors {403, 404, 422, 500}

@endpoint GET /orgs/{org}/teams
@required {org: str}
@optional {per_page: int=30, page: int=1, team_type: str(all/enterprise/organization)=all}
@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), notification_setting: str(notifications_enabled/notifications_disabled), permission: str(pull/push)=pull, parent_team_id: int}
@returns(201) {id: int, node_id: str, url: str(uri), html_url: str(uri), name: str, slug: str, description: str?, privacy: str, notification_setting: 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, notification_setting: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}, 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, members_can_fork_private_repositories: bool?, web_commit_signoff_required: bool, updated_at: str(date-time), archived_at: str(date-time)?}, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}
@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, notification_setting: 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, notification_setting: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}, 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, members_can_fork_private_repositories: bool?, web_commit_signoff_required: bool, updated_at: str(date-time), archived_at: str(date-time)?}, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}
@errors {404}

@endpoint PATCH /orgs/{org}/teams/{team_slug}
@required {org: str, team_slug: str}
@optional {name: str, description: str, privacy: str(secret/closed), notification_setting: str(notifications_enabled/notifications_disabled), 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, notification_setting: 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, notification_setting: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}, 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, members_can_fork_private_repositories: bool?, web_commit_signoff_required: bool, updated_at: str(date-time), archived_at: str(date-time)?}, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}
@returns(201) {id: int, node_id: str, url: str(uri), html_url: str(uri), name: str, slug: str, description: str?, privacy: str, notification_setting: 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, notification_setting: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}, 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, members_can_fork_private_repositories: bool?, web_commit_signoff_required: bool, updated_at: str(date-time), archived_at: str(date-time)?}, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}
@errors {403, 404, 422}

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

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

@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}/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}, role_name: str, owner: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: 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}
@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)

@endpoint POST /orgs/{org}/{security_product}/{enablement}
@required {org: str, security_product: str(dependency_graph/dependabot_alerts/dependabot_security_updates/advanced_security/code_scanning_default_setup/secret_scanning/secret_scanning_push_protection), enablement: str(enable_all/disable_all)}
@optional {query_suite: str(default/extended)}
@returns(204)
@errors {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}, code_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}, dependency_snapshots: map{limit: int, remaining: int, reset: int, used: int}, dependency_sbom: map{limit: int, remaining: int, reset: int, used: int}, code_scanning_autofix: map{limit: int, remaining: int, reset: int, used: int}}, rate: map{limit: int, remaining: int, reset: int, used: int}}
@errors {304, 404}

@endgroup

@group repos
@endpoint GET /repos/{owner}/{repo}
@required {owner: str, repo: str}
@returns(200) {id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_forking: bool, web_commit_signoff_required: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, parent: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, source: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}
@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), security_and_analysis: map{advanced_security: map, code_security: map, secret_scanning: map, secret_scanning_push_protection: map, secret_scanning_ai_detection: map, secret_scanning_non_provider_patterns: map, secret_scanning_delegated_alert_dismissal: map, secret_scanning_delegated_bypass: map, secret_scanning_delegated_bypass_options: map}, 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, allow_auto_merge: bool=false, 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, web_commit_signoff_required: bool=false}
@returns(200) {id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_forking: bool, web_commit_signoff_required: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, parent: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, source: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}
@errors {307, 403, 404, 422}

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

@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)?, digest: str?, 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/cache/retention-limit
@required {owner: str, repo: str}
@returns(200) {max_cache_retention_days: int}
@errors {403, 404}

@endpoint PUT /repos/{owner}/{repo}/actions/cache/retention-limit
@required {owner: str, repo: str}
@optional {max_cache_retention_days: int}
@returns(204)
@errors {400, 403, 404}

@endpoint GET /repos/{owner}/{repo}/actions/cache/storage-limit
@required {owner: str, repo: str}
@returns(200) {max_cache_size_gb: int}
@errors {403, 404}

@endpoint PUT /repos/{owner}/{repo}/actions/cache/storage-limit
@required {owner: str, repo: str}
@optional {max_cache_size_gb: int}
@returns(204)
@errors {400, 403, 404}

@endpoint GET /repos/{owner}/{repo}/actions/cache/usage
@required {owner: str, repo: str}
@returns(200) {full_name: str, active_caches_size_in_bytes: int, active_caches_count: int}

@endpoint GET /repos/{owner}/{repo}/actions/caches
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1, ref: str, key: str, sort: str(created_at/last_accessed_at/size_in_bytes)=last_accessed_at, direction: str(asc/desc)=desc}
@returns(200) {total_count: int, actions_caches: [map]}

@endpoint DELETE /repos/{owner}/{repo}/actions/caches
@required {owner: str, repo: str, key: str}
@optional {ref: str}
@returns(200) {total_count: int, actions_caches: [map]}

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

@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?, created_at: str(date-time), 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?, workflow_name: str?, head_branch: str?}

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

@endpoint POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun
@required {owner: str, repo: str, job_id: int}
@optional {enable_debug_logging: bool=false}
@returns(201)
@errors {403}

@endpoint GET /repos/{owner}/{repo}/actions/oidc/customization/sub
@required {owner: str, repo: str}
@returns(200) {use_default: bool, include_claim_keys: [str]}
@errors {400, 404}

@endpoint PUT /repos/{owner}/{repo}/actions/oidc/customization/sub
@required {owner: str, repo: str, use_default: bool}
@optional {include_claim_keys: [str]}
@returns(201)
@errors {400, 404, 422}

@endpoint GET /repos/{owner}/{repo}/actions/organization-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/organization-variables
@required {owner: str, repo: str}
@optional {per_page: int=10, page: int=1}
@returns(200) {total_count: int, variables: [map]}

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

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

@endpoint GET /repos/{owner}/{repo}/actions/permissions/access
@required {owner: str, repo: str}
@returns(200) {access_level: str}

@endpoint PUT /repos/{owner}/{repo}/actions/permissions/access
@required {owner: str, repo: str, access_level: str(none/user/organization)}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/actions/permissions/artifact-and-log-retention
@required {owner: str, repo: str}
@returns(200) {days: int, maximum_allowed_days: int}
@errors {404}

@endpoint PUT /repos/{owner}/{repo}/actions/permissions/artifact-and-log-retention
@required {owner: str, repo: str, days: int}
@returns(204)
@errors {404, 422}

@endpoint GET /repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval
@required {owner: str, repo: str}
@returns(200) {approval_policy: str}
@errors {404}

@endpoint PUT /repos/{owner}/{repo}/actions/permissions/fork-pr-contributor-approval
@required {owner: str, repo: str, approval_policy: str(first_time_contributors_new_to_github/first_time_contributors/all_external_contributors)}
@returns(204)
@errors {404, 422}

@endpoint GET /repos/{owner}/{repo}/actions/permissions/fork-pr-workflows-private-repos
@required {owner: str, repo: str}
@returns(200) {run_workflows_from_fork_pull_requests: bool, send_write_tokens_to_workflows: bool, send_secrets_and_variables: bool, require_approval_for_fork_pr_workflows: bool}
@errors {403, 404}

@endpoint PUT /repos/{owner}/{repo}/actions/permissions/fork-pr-workflows-private-repos
@required {owner: str, repo: str, run_workflows_from_fork_pull_requests: bool}
@optional {send_write_tokens_to_workflows: bool, send_secrets_and_variables: bool, require_approval_for_fork_pr_workflows: bool}
@returns(204)
@errors {404, 422}

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

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

@endpoint GET /repos/{owner}/{repo}/actions/permissions/workflow
@required {owner: str, repo: str}
@returns(200) {default_workflow_permissions: str, can_approve_pull_request_reviews: bool}

@endpoint PUT /repos/{owner}/{repo}/actions/permissions/workflow
@required {owner: str, repo: str}
@optional {default_workflow_permissions: str(read/write), can_approve_pull_request_reviews: bool}
@returns(204)
@errors {409}

@endpoint GET /repos/{owner}/{repo}/actions/runners
@required {owner: str, repo: str}
@optional {name: str, 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/generate-jitconfig
@required {owner: str, repo: str, name: str, runner_group_id: int, labels: [str]}
@optional {work_folder: str=_work}
@returns(201) {runner: map{id: int, runner_group_id: int, name: str, os: str, status: str, busy: bool, labels: [map], ephemeral: bool}, encoded_jit_config: str}
@errors {404, 409, 422}

@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, runner_group_id: int, name: str, os: str, status: str, busy: bool, labels: [map], ephemeral: bool}

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

@endpoint GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels
@required {owner: str, repo: str, runner_id: int}
@returns(200) {total_count: int, labels: [map]}
@errors {404}

@endpoint POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels
@required {owner: str, repo: str, runner_id: int, labels: [str]}
@returns(200) {total_count: int, labels: [map]}
@errors {404, 422}

@endpoint PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels
@required {owner: str, repo: str, runner_id: int, labels: [str]}
@returns(200) {total_count: int, labels: [map]}
@errors {404, 422}

@endpoint DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels
@required {owner: str, repo: str, runner_id: int}
@returns(200) {total_count: int, labels: [map]}
@errors {404}

@endpoint DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}
@required {owner: str, repo: str, runner_id: int, name: str}
@returns(200) {total_count: int, labels: [map]}
@errors {404, 422}

@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, check_suite_id: int, head_sha: str}
@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, path: str, run_number: int, run_attempt: int, referenced_workflows: [map]?, 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), actor: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, triggering_actor: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, run_started_at: str(date-time), jobs_url: str, logs_url: str, check_suite_url: str, artifacts_url: str, cancel_url: str, rerun_url: str, previous_attempt_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(email)}, committer: map?{name: str, email: str(email)}}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, head_repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, head_repository_id: int, display_title: str}

@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 POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve
@required {owner: str, repo: str, run_id: int}
@returns(201)
@errors {403, 404}

@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, name: str, direction: str(asc/desc)=desc}
@returns(200) {total_count: int, artifacts: [map]}

@endpoint GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}
@required {owner: str, repo: str, run_id: int, attempt_number: 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, path: str, run_number: int, run_attempt: int, referenced_workflows: [map]?, 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), actor: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, triggering_actor: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, run_started_at: str(date-time), jobs_url: str, logs_url: str, check_suite_url: str, artifacts_url: str, cancel_url: str, rerun_url: str, previous_attempt_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(email)}, committer: map?{name: str, email: str(email)}}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, head_repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, head_repository_id: int, display_title: str}

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

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

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

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

@endpoint POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-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}
@optional {enable_debug_logging: bool=false}
@returns(201)

@endpoint POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs
@required {owner: str, repo: str, run_id: int}
@optional {enable_debug_logging: bool=false}
@returns(201)

@endpoint GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing
@required {owner: str, repo: str, run_id: int}
@returns(200) {billable: map{UBUNTU: map{total_ms: int, jobs: int, job_runs: [map]}, MACOS: map{total_ms: int, jobs: int, job_runs: [map]}, WINDOWS: map{total_ms: int, jobs: int, job_runs: [map]}}, run_duration_ms: int}

@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, 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/variables
@required {owner: str, repo: str}
@optional {per_page: int=10, page: int=1}
@returns(200) {total_count: int, variables: [map]}

@endpoint POST /repos/{owner}/{repo}/actions/variables
@required {owner: str, repo: str, name: str, value: str}
@returns(201)

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

@endpoint PATCH /repos/{owner}/{repo}/actions/variables/{name}
@required {owner: str, repo: str, name: str}
@optional {name: str, value: str}
@returns(204)

@endpoint DELETE /repos/{owner}/{repo}/actions/variables/{name}
@required {owner: str, repo: str, 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, return_run_details: bool}
@returns(200) {workflow_run_id: int(int64), run_url: str(uri), html_url: str(uri)}
@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, check_suite_id: int, head_sha: str}
@returns(200) {total_count: int, workflow_runs: [map]}

@endpoint GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing
@required {owner: str, repo: str, workflow_id: any}
@returns(200) {billable: map{UBUNTU: map{total_ms: int}, MACOS: map{total_ms: int}, WINDOWS: map{total_ms: int}}}

@endpoint GET /repos/{owner}/{repo}/activity
@required {owner: str, repo: str}
@optional {direction: str(asc/desc)=desc, per_page: int=30, before: str, after: str, ref: str, actor: str, time_period: str(day/week/month/quarter/year), activity_type: str(push/force_push/branch_creation/branch_deletion/pr_merge/merge_queue_merge)}
@returns(200)
@errors {422}

@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 POST /repos/{owner}/{repo}/attestations
@required {owner: str, repo: str, bundle: map{mediaType: str, verificationMaterial: map, dsseEnvelope: map}}
@returns(201) {id: int}
@errors {403, 422}

@endpoint GET /repos/{owner}/{repo}/attestations/{subject_digest}
@required {owner: str, repo: str, subject_digest: str}
@optional {per_page: int=30, before: str, after: str, predicate_type: str}
@returns(200) {attestations: [map]}

@endpoint GET /repos/{owner}/{repo}/autolinks
@required {owner: str, repo: str}
@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, is_alphanumeric: bool, updated_at: str(date-time)?}
@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, is_alphanumeric: bool, updated_at: str(date-time)?}
@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}/automated-security-fixes
@required {owner: str, repo: str}
@returns(200) {enabled: bool, paused: bool}
@errors {404}

@endpoint PUT /repos/{owner}/{repo}/automated-security-fixes
@required {owner: str, repo: str}
@returns(204)

@endpoint DELETE /repos/{owner}/{repo}/automated-security-fixes
@required {owner: str, repo: str}
@returns(204)

@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(date-time)}, committer: map?{name: str, email: str, date: str(date-time)}, message: str, comment_count: int, tree: map{sha: str, url: str(uri)}, verification: map{verified: bool, reason: str, payload: str?, signature: str?, verified_at: str?}}, author: any?, committer: any?, 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], checks: [map], 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}, bypass_pull_request_allowances: map{users: [map], teams: [map], apps: [map]}, dismiss_stale_reviews: bool, require_code_owner_reviews: bool, required_approving_review_count: int, require_last_push_approval: 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_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}, lock_branch: map{enabled: bool}, allow_fork_syncing: map{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], checks: [map], 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}, bypass_pull_request_allowances: map{users: [map], teams: [map], apps: [map]}, dismiss_stale_reviews: bool, require_code_owner_reviews: bool, required_approving_review_count: int, require_last_push_approval: 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_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}, lock_branch: map{enabled: bool}, allow_fork_syncing: map{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, require_last_push_approval: bool, bypass_pull_request_allowances: map}, 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, lock_branch: bool=false, allow_fork_syncing: bool=false}
@returns(200) {url: str(uri), required_status_checks: map{url: str(uri), strict: bool, contexts: [str], checks: [map], 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, require_last_push_approval: bool, dismissal_restrictions: map{url: str(uri), users_url: str(uri), teams_url: str(uri), users: [map], teams: [map], apps: [map]}, bypass_pull_request_allowances: map{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}, lock_branch: map{enabled: bool}, allow_fork_syncing: 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}, bypass_pull_request_allowances: map{users: [map], teams: [map], apps: [map]}, dismiss_stale_reviews: bool, require_code_owner_reviews: bool, required_approving_review_count: int, require_last_push_approval: bool}

@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, require_last_push_approval: bool=false, bypass_pull_request_allowances: map{users: [str], teams: [str], apps: [str]}}
@returns(200) {url: str(uri), dismissal_restrictions: map{users: [map], teams: [map], apps: [map], url: str, users_url: str, teams_url: str}, bypass_pull_request_allowances: map{users: [map], teams: [map], apps: [map]}, dismiss_stale_reviews: bool, require_code_owner_reviews: bool, required_approving_review_count: int, require_last_push_approval: bool}
@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], checks: [map], 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], checks: [map{context!: str, app_id: int}]}
@returns(200) {url: str(uri), strict: bool, contexts: [str], checks: [map], 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, apps: [str]}
@returns(200)
@errors {422}

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

@endpoint DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps
@required {owner: str, repo: str, branch: str, apps: [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, users: [str]}
@returns(200)
@errors {422}

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

@endpoint DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users
@required {owner: str, repo: str, branch: str, users: [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(date-time)}, committer: map?{name: str, email: str, date: str(date-time)}, message: str, comment_count: int, tree: map{sha: str, url: str(uri)}, verification: map{verified: bool, reason: str, payload: str?, signature: str?, verified_at: str?}}, author: any?, committer: any?, 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], checks: [map], 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}, bypass_pull_request_allowances: map{users: [map], teams: [map], apps: [map]}, dismiss_stale_reviews: bool, require_code_owner_reviews: bool, required_approving_review_count: int, require_last_push_approval: 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_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}, lock_branch: map{enabled: bool}, allow_fork_syncing: map{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/waiting/requested/pending)=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(int64), 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, client_id: str, owner: any, 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}, 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, client_id: str, owner: any, 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}}}

@endpoint GET /repos/{owner}/{repo}/check-runs/{check_run_id}
@required {owner: str, repo: str, check_run_id: int}
@returns(200) {id: int(int64), 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, client_id: str, owner: any, 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}, 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, client_id: str, owner: any, 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}}}

@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/waiting/requested/pending), 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(int64), 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, client_id: str, owner: any, 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}, 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, client_id: str, owner: any, 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}}}

@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(int64), 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, client_id: str, owner: any, 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}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, 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(email)}, committer: map?{name: str, email: str(email)}}, latest_check_runs_count: int, check_runs_url: str, rerequestable: bool, runs_rerequestable: bool}
@returns(201) {id: int(int64), 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, client_id: str, owner: any, 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}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, 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(email)}, committer: map?{name: str, email: str(email)}}, 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(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}}

@endpoint GET /repos/{owner}/{repo}/check-suites/{check_suite_id}
@required {owner: str, repo: str, check_suite_id: int}
@returns(200) {id: int(int64), 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, client_id: str, owner: any, 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}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, 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(email)}, committer: map?{name: str, email: str(email)}}, 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, pr: int, direction: str(asc/desc)=desc, before: str, after: str, sort: str(created/updated)=created, state: str, severity: str, assignees: str}
@returns(200)
@errors {304, 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), updated_at: str(date-time), url: str(uri), html_url: str(uri), instances_url: str(uri), state: str?, fixed_at: str(date-time)?, dismissed_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, dismissed_at: str(date-time)?, dismissed_reason: str?, dismissed_comment: 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, markdown: str}, location: map{path: str, start_line: int, end_line: int, start_column: int, end_column: int}, html_url: str, classifications: [str]}, dismissal_approved_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, assignees: [map]}
@errors {304, 403, 404, 503}

@endpoint PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}
@required {owner: str, repo: str, alert_number: int}
@optional {state: str(open/dismissed), dismissed_reason: str(false positive/won't fix/used in tests), dismissed_comment: str, create_request: bool, assignees: [str]}
@returns(200) {number: int, created_at: str(date-time), updated_at: str(date-time), url: str(uri), html_url: str(uri), instances_url: str(uri), state: str?, fixed_at: str(date-time)?, dismissed_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, dismissed_at: str(date-time)?, dismissed_reason: str?, dismissed_comment: 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, markdown: str}, location: map{path: str, start_line: int, end_line: int, start_column: int, end_column: int}, html_url: str, classifications: [str]}, dismissal_approved_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, assignees: [map]}
@errors {400, 403, 404, 503}

@endpoint GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix
@required {owner: str, repo: str, alert_number: int}
@returns(200) {status: str, description: str?, started_at: str(date-time)}
@errors {400, 403, 404, 503}

@endpoint POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix
@required {owner: str, repo: str, alert_number: int}
@returns(200) {status: str, description: str?, started_at: str(date-time)}
@returns(202) {status: str, description: str?, started_at: str(date-time)}
@errors {400, 403, 404, 422, 503}

@endpoint POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits
@required {owner: str, repo: str, alert_number: int}
@optional {target_ref: str, message: str}
@returns(201) {target_ref: str, sha: str}
@errors {400, 403, 404, 422, 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, pr: int}
@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, pr: int, ref: str, sarif_id: str, direction: str(asc/desc)=desc, sort: str=created}
@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, 422, 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 GET /repos/{owner}/{repo}/code-scanning/codeql/databases
@required {owner: str, repo: str}
@returns(200)
@errors {403, 404, 503}

@endpoint GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}
@required {owner: str, repo: str, language: str}
@returns(200) {id: int, name: str, language: str, uploader: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, content_type: str, size: int, created_at: str(date-time), updated_at: str(date-time), url: str(uri), commit_oid: str?}
@errors {302, 403, 404, 503}

@endpoint DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}
@required {owner: str, repo: str, language: str}
@returns(204)
@errors {403, 404, 503}

@endpoint POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses
@required {owner: str, repo: str, language: str(actions/cpp/csharp/go/java/javascript/python/ruby/rust/swift), query_pack: str}
@optional {repositories: [str], repository_lists: [str], repository_owners: [str]}
@returns(201) {id: int, controller_repo: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, 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, 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, hooks_url: str(uri)}, actor: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, query_language: str, query_pack_url: str, created_at: str(date-time), updated_at: str(date-time), completed_at: str(date-time)?, status: str, actions_workflow_run_id: int, failure_reason: str, scanned_repositories: [map], skipped_repositories: map{access_mismatch_repos: map{repository_count: int, repositories: [map]}, not_found_repos: map{repository_count: int, repository_full_names: [str]}, no_codeql_db_repos: map{repository_count: int, repositories: [map]}, over_limit_repos: map{repository_count: int, repositories: [map]}}}
@errors {404, 422, 503}

@endpoint GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}
@required {owner: str, repo: str, codeql_variant_analysis_id: int}
@returns(200) {id: int, controller_repo: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, 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, 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, hooks_url: str(uri)}, actor: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, query_language: str, query_pack_url: str, created_at: str(date-time), updated_at: str(date-time), completed_at: str(date-time)?, status: str, actions_workflow_run_id: int, failure_reason: str, scanned_repositories: [map], skipped_repositories: map{access_mismatch_repos: map{repository_count: int, repositories: [map]}, not_found_repos: map{repository_count: int, repository_full_names: [str]}, no_codeql_db_repos: map{repository_count: int, repositories: [map]}, over_limit_repos: map{repository_count: int, repositories: [map]}}}
@errors {404, 503}

@endpoint GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}
@required {owner: str, repo: str, codeql_variant_analysis_id: int, repo_owner: str, repo_name: str}
@returns(200) {repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, 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, 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, hooks_url: str(uri)}, analysis_status: str, artifact_size_in_bytes: int, result_count: int, failure_message: str, database_commit_sha: str, source_location_prefix: str, artifact_url: str}
@errors {404, 503}

@endpoint GET /repos/{owner}/{repo}/code-scanning/default-setup
@required {owner: str, repo: str}
@returns(200) {state: str, languages: [str], runner_type: str?, runner_label: str?, query_suite: str, threat_model: str, updated_at: str(date-time)?, schedule: str?}
@errors {403, 404, 503}

@endpoint PATCH /repos/{owner}/{repo}/code-scanning/default-setup
@required {owner: str, repo: str}
@optional {state: str(configured/not-configured), runner_type: str(standard/labeled), runner_label: str, query_suite: str(default/extended), threat_model: str(remote/remote_and_local), languages: [str]}
@returns(200)
@returns(202) {run_id: int, run_url: str}
@errors {403, 404, 409, 422, 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, validate: bool}
@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: [str]?}
@errors {403, 404, 503}

@endpoint GET /repos/{owner}/{repo}/code-security-configuration
@required {owner: str, repo: str}
@returns(200) {status: str, configuration: map{id: int, name: str, target_type: str, description: str, advanced_security: str, dependency_graph: str, dependency_graph_autosubmit_action: str, dependency_graph_autosubmit_action_options: map{labeled_runners: bool}, dependabot_alerts: str, dependabot_security_updates: str, dependabot_delegated_alert_dismissal: str?, code_scanning_options: map?{allow_advanced: bool?}, code_scanning_default_setup: str, code_scanning_default_setup_options: map?{runner_type: str?, runner_label: str?}, code_scanning_delegated_alert_dismissal: str, secret_scanning: str, secret_scanning_push_protection: str, secret_scanning_delegated_bypass: str, secret_scanning_delegated_bypass_options: map{reviewers: [map]}, secret_scanning_validity_checks: str, secret_scanning_non_provider_patterns: str, secret_scanning_generic_secrets: str, secret_scanning_delegated_alert_dismissal: str, secret_scanning_extended_metadata: str, private_vulnerability_reporting: str, enforcement: str, url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time)}}
@returns(204)
@errors {304, 403, 404}

@endpoint GET /repos/{owner}/{repo}/codeowners/errors
@required {owner: str, repo: str}
@optional {ref: str}
@returns(200) {errors: [map]}
@errors {404}

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

@endpoint POST /repos/{owner}/{repo}/codespaces
@required {owner: str, repo: str}
@optional {ref: str, location: str, geo: str(EuropeWest/SoutheastAsia/UsEast/UsWest), client_ip: str, machine: str, devcontainer_path: str, multi_repo_permissions_opt_out: bool, working_directory: str, idle_timeout_minutes: int, display_name: str, retention_period_minutes: int}
@returns(201) {id: int(int64), name: str, display_name: str?, environment_id: str?, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, billable_owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, machine: map?{name: str, display_name: str, operating_system: str, storage_in_bytes: int, memory_in_bytes: int, cpus: int, prebuild_availability: str?}, devcontainer_path: str?, prebuild: bool?, created_at: str(date-time), updated_at: str(date-time), last_used_at: str(date-time), state: str, url: str(uri), git_status: map{ahead: int, behind: int, has_unpushed_changes: bool, has_uncommitted_changes: bool, ref: str}, location: str, idle_timeout_minutes: int?, web_url: str(uri), machines_url: str(uri), start_url: str(uri), stop_url: str(uri), publish_url: str(uri)?, pulls_url: str(uri)?, recent_folders: [str], runtime_constraints: map{allowed_port_privacy_settings: [str]?}, pending_operation: bool?, pending_operation_disabled_reason: str?, idle_timeout_notice: str?, retention_period_minutes: int?, retention_expires_at: str(date-time)?, last_known_stop_notice: str?}
@returns(202) {id: int(int64), name: str, display_name: str?, environment_id: str?, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, billable_owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, machine: map?{name: str, display_name: str, operating_system: str, storage_in_bytes: int, memory_in_bytes: int, cpus: int, prebuild_availability: str?}, devcontainer_path: str?, prebuild: bool?, created_at: str(date-time), updated_at: str(date-time), last_used_at: str(date-time), state: str, url: str(uri), git_status: map{ahead: int, behind: int, has_unpushed_changes: bool, has_uncommitted_changes: bool, ref: str}, location: str, idle_timeout_minutes: int?, web_url: str(uri), machines_url: str(uri), start_url: str(uri), stop_url: str(uri), publish_url: str(uri)?, pulls_url: str(uri)?, recent_folders: [str], runtime_constraints: map{allowed_port_privacy_settings: [str]?}, pending_operation: bool?, pending_operation_disabled_reason: str?, idle_timeout_notice: str?, retention_period_minutes: int?, retention_expires_at: str(date-time)?, last_known_stop_notice: str?}
@errors {400, 401, 403, 404, 503}

@endpoint GET /repos/{owner}/{repo}/codespaces/devcontainers
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, devcontainers: [map]}
@errors {400, 401, 403, 404, 500}

@endpoint GET /repos/{owner}/{repo}/codespaces/machines
@required {owner: str, repo: str}
@optional {location: str, client_ip: str, ref: str}
@returns(200) {total_count: int, machines: [map]}
@errors {304, 401, 403, 404, 500}

@endpoint GET /repos/{owner}/{repo}/codespaces/new
@required {owner: str, repo: str}
@optional {ref: str, client_ip: str}
@returns(200) {billable_owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, defaults: map{location: str, devcontainer_path: str?}}
@errors {401, 403, 404}

@endpoint GET /repos/{owner}/{repo}/codespaces/permissions_check
@required {owner: str, repo: str, ref: str, devcontainer_path: str}
@returns(200) {accepted: bool}
@errors {401, 403, 404, 422, 503}

@endpoint GET /repos/{owner}/{repo}/codespaces/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}/codespaces/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}/codespaces/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}/codespaces/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}/codespaces/secrets/{secret_name}
@required {owner: str, repo: str, secret_name: str}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/collaborators
@required {owner: str, repo: str}
@optional {affiliation: str(outside/direct/all)=all, permission: str(pull/triage/push/maintain/admin), 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(int64), repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, invitee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, inviter: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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)
@errors {403, 422}

@endpoint GET /repos/{owner}/{repo}/collaborators/{username}/permission
@required {owner: str, repo: str, username: str}
@returns(200) {permission: str, role_name: str, user: map?{login: str, id: int(int64), 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}, role_name: str, user_view_type: str}}
@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(int64)}
@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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64)}
@returns(204)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/comments/{comment_id}/reactions
@required {owner: str, repo: str, comment_id: int(int64)}
@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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), reaction_id: int}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/commits
@required {owner: str, repo: str}
@optional {sha: str, path: str, author: str, committer: 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 {409, 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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)
@errors {409}

@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(date-time)}, committer: map?{name: str, email: str, date: str(date-time)}, message: str, comment_count: int, tree: map{sha: str, url: str(uri)}, verification: map{verified: bool, reason: str, payload: str?, signature: str?, verified_at: str?}}, author: any?, committer: any?, parents: [map], stats: map{additions: int, deletions: int, total: int}, files: [map]}
@errors {404, 409, 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(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, 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}/community/profile
@required {owner: str, repo: str}
@returns(200) {health_percentage: int, description: str?, documentation: str?, files: map{code_of_conduct: map?{url: str(uri), key: str, name: str, html_url: str(uri)?}, code_of_conduct_file: map?{url: str(uri), html_url: str(uri)}, license: map?{key: str, name: str, url: str(uri)?, spdx_id: str?, node_id: str, html_url: str(uri)}, contributing: map?{url: str(uri), html_url: str(uri)}, readme: map?{url: str(uri), html_url: str(uri)}, issue_template: map?{url: str(uri), html_url: str(uri)}, pull_request_template: map?{url: str(uri), html_url: str(uri)}}, updated_at: str(date-time)?, content_reports_enabled: bool}

@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(date-time)}, committer: map?{name: str, email: str, date: str(date-time)}, message: str, comment_count: int, tree: map{sha: str, url: str(uri)}, verification: map{verified: bool, reason: str, payload: str?, signature: str?, verified_at: str?}}, author: any?, committer: any?, 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(date-time)}, committer: map?{name: str, email: str, date: str(date-time)}, message: str, comment_count: int, tree: map{sha: str, url: str(uri)}, verification: map{verified: bool, reason: str, payload: str?, signature: str?, verified_at: str?}}, author: any?, committer: any?, 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 GET /repos/{owner}/{repo}/contents/{path}
@required {owner: str, repo: str, path: str}
@optional {ref: str}
@returns(200)
@errors {302, 304, 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?, verified_at: 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?, verified_at: 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?, verified_at: 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}/dependabot/alerts
@required {owner: str, repo: str}
@optional {classification: str, state: str, severity: str, ecosystem: str, package: str, manifest: str, epss_percentage: str, has: any, assignee: str, scope: str(development/runtime), sort: str(created/updated/epss_percentage)=created, direction: str(asc/desc)=desc, before: str, after: str, per_page: int=30}
@returns(200)
@errors {304, 400, 403, 404, 422}

@endpoint GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}
@required {owner: str, repo: str, alert_number: int}
@returns(200) {number: int, state: str, dependency: map{package: map{ecosystem: str, name: str}, manifest_path: str, scope: str?, relationship: str?}, security_advisory: map{ghsa_id: str, cve_id: str?, summary: str, description: str, vulnerabilities: [map], severity: str, classification: str, cvss: map{score: num, vector_string: str?}, cvss_severities: map?{cvss_v3: map?{vector_string: str?, score: num?}, cvss_v4: map?{vector_string: str?, score: num?}}, epss: map?{percentage: num, percentile: num}, cwes: [map], identifiers: [map], references: [map], published_at: str(date-time), updated_at: str(date-time), withdrawn_at: str(date-time)?}, security_vulnerability: map{package: map{ecosystem: str, name: str}, severity: str, vulnerable_version_range: str, first_patched_version: map?{identifier: str}}, url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), dismissed_at: str(date-time)?, dismissed_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, dismissed_reason: str?, dismissed_comment: str?, fixed_at: str(date-time)?, auto_dismissed_at: str(date-time)?, dismissal_request: map?{id: int, status: str, requester: map{id: int, login: str}, created_at: str(date-time), url: str(uri)}, assignees: [map]}
@errors {304, 403, 404}

@endpoint PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}
@required {owner: str, repo: str, alert_number: int}
@optional {state: str(dismissed/open), dismissed_reason: str(fix_started/inaccurate/no_bandwidth/not_used/tolerable_risk), dismissed_comment: str, assignees: [str]}
@returns(200) {number: int, state: str, dependency: map{package: map{ecosystem: str, name: str}, manifest_path: str, scope: str?, relationship: str?}, security_advisory: map{ghsa_id: str, cve_id: str?, summary: str, description: str, vulnerabilities: [map], severity: str, classification: str, cvss: map{score: num, vector_string: str?}, cvss_severities: map?{cvss_v3: map?{vector_string: str?, score: num?}, cvss_v4: map?{vector_string: str?, score: num?}}, epss: map?{percentage: num, percentile: num}, cwes: [map], identifiers: [map], references: [map], published_at: str(date-time), updated_at: str(date-time), withdrawn_at: str(date-time)?}, security_vulnerability: map{package: map{ecosystem: str, name: str}, severity: str, vulnerable_version_range: str, first_patched_version: map?{identifier: str}}, url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), dismissed_at: str(date-time)?, dismissed_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, dismissed_reason: str?, dismissed_comment: str?, fixed_at: str(date-time)?, auto_dismissed_at: str(date-time)?, dismissal_request: map?{id: int, status: str, requester: map{id: int, login: str}, created_at: str(date-time), url: str(uri)}, assignees: [map]}
@errors {400, 403, 404, 409, 422}

@endpoint GET /repos/{owner}/{repo}/dependabot/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}/dependabot/secrets/public-key
@required {owner: str, repo: str}
@returns(200) {key_id: str, key: str}

@endpoint GET /repos/{owner}/{repo}/dependabot/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}/dependabot/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}/dependabot/secrets/{secret_name}
@required {owner: str, repo: str, secret_name: str}
@returns(204)

@endpoint GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}
@required {owner: str, repo: str, basehead: str}
@optional {name: str}
@returns(200)
@errors {403, 404}

@endpoint GET /repos/{owner}/{repo}/dependency-graph/sbom
@required {owner: str, repo: str}
@returns(200) {sbom: map{SPDXID: str, spdxVersion: str, comment: str, creationInfo: map{created: str, creators: [str]}, name: str, dataLicense: str, documentNamespace: str, packages: [map], relationships: [map]}}
@errors {403, 404}

@endpoint POST /repos/{owner}/{repo}/dependency-graph/snapshots
@required {owner: str, repo: str, version: int, job: map{id!: str, correlator!: str, html_url: str}, sha: str, ref: str, detector: map{name!: str, version!: str, url!: str}, scanned: str(date-time)}
@optional {metadata: map, manifests: map}
@returns(201) {id: int, created_at: str, result: str, message: str}

@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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}}
@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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}}
@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, environment_url: str=, auto_inactive: bool}
@returns(201) {url: str(uri), id: int(int64), node_id: str, state: str, creator: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}}
@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(int64), node_id: str, state: str, creator: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}}
@errors {404}

@endpoint POST /repos/{owner}/{repo}/dispatches
@required {owner: str, repo: str, event_type: str}
@optional {client_payload: map}
@returns(204)
@errors {404, 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(int64), 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, prevent_self_review: bool, reviewers: [map{type: str, id: int}], deployment_branch_policy: map{protected_branches!: bool, custom_branch_policies!: bool}}
@returns(200) {id: int(int64), 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}
@optional {type: str(branch/tag)}
@returns(200) {id: int, node_id: str, name: str, type: 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, type: 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, type: 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}/environments/{environment_name}/deployment_protection_rules
@required {environment_name: str, repo: str, owner: str}
@returns(200) {total_count: int, custom_deployment_protection_rules: [map]}

@endpoint POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules
@required {environment_name: str, repo: str, owner: str}
@optional {integration_id: int}
@returns(201) {id: int, node_id: str, enabled: bool, app: map{id: int, slug: str, integration_url: str, node_id: str}}

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

@endpoint GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}
@required {owner: str, repo: str, environment_name: str, protection_rule_id: int}
@returns(200) {id: int, node_id: str, enabled: bool, app: map{id: int, slug: str, integration_url: str, node_id: str}}

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

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

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

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

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

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

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

@endpoint POST /repos/{owner}/{repo}/environments/{environment_name}/variables
@required {owner: str, repo: str, environment_name: str, name: str, value: str}
@returns(201)

@endpoint GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}
@required {owner: str, repo: str, environment_name: str, name: str}
@returns(200) {name: str, value: str, created_at: str(date-time), updated_at: str(date-time)}

@endpoint PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}
@required {owner: str, repo: str, name: str, environment_name: str}
@optional {name: str, value: str}
@returns(204)

@endpoint DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}
@required {owner: str, repo: str, name: str, environment_name: str}
@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, name: str, default_branch_only: bool}
@returns(202) {id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_forking: bool, web_commit_signoff_required: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, parent: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, source: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}
@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, 409, 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?, verified_at: str?}, html_url: str(uri)}
@errors {404, 409, 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?, verified_at: str?}, html_url: str(uri)}
@errors {404, 409}

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

@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, 409}

@endpoint POST /repos/{owner}/{repo}/git/refs
@required {owner: str, repo: str, ref: str, sha: str}
@returns(201) {ref: str, node_id: str, url: str(uri), object: map{type: str, sha: str, url: str(uri)}}
@errors {409, 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 {409, 422}

@endpoint DELETE /repos/{owner}/{repo}/git/refs/{ref}
@required {owner: str, repo: str, ref: str}
@returns(204)
@errors {409, 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?, verified_at: str?}}
@errors {409, 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?, verified_at: str?}}
@errors {404, 409}

@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, 409, 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, 409, 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}, events: [str]=push, active: bool=true}
@returns(201) {type: str, id: int, name: str, active: bool, events: [str], config: map{url: str(uri), content_type: str, secret: str, insecure_ssl: any}, 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{url: str(uri), content_type: str, secret: str, insecure_ssl: any}, 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}, 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{url: str(uri), content_type: str, secret: str, insecure_ssl: any}, 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, status: str(success/failure)}
@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?, throttled_at: str(date-time)?, 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}/immutable-releases
@required {owner: str, repo: str}
@returns(200) {enabled: bool, enforced_by_owner: bool}
@errors {404}

@endpoint PUT /repos/{owner}/{repo}/immutable-releases
@required {owner: str, repo: str}
@returns(204)
@errors {409}

@endpoint DELETE /repos/{owner}/{repo}/immutable-releases
@required {owner: str, repo: str}
@returns(204)
@errors {409}

@endpoint GET /repos/{owner}/{repo}/import
@required {owner: str, repo: str}
@returns(200) {vcs: str?, use_lfs: bool, vcs_url: str, svc_root: str, tfvc_project: str, status: str, status_text: str?, failed_step: str?, error_message: str?, import_percent: int?, commit_count: int?, push_percent: int?, has_large_files: bool, large_files_size: int, large_files_count: int, project_choices: [map], message: str, authors_count: int?, url: str(uri), html_url: str(uri), authors_url: str(uri), repository_url: str(uri), svn_root: str}
@errors {404, 503}

@endpoint PUT /repos/{owner}/{repo}/import
@required {owner: str, repo: str, vcs_url: str}
@optional {vcs: str(subversion/git/mercurial/tfvc), vcs_username: str, vcs_password: str, tfvc_project: str}
@returns(201) {vcs: str?, use_lfs: bool, vcs_url: str, svc_root: str, tfvc_project: str, status: str, status_text: str?, failed_step: str?, error_message: str?, import_percent: int?, commit_count: int?, push_percent: int?, has_large_files: bool, large_files_size: int, large_files_count: int, project_choices: [map], message: str, authors_count: int?, url: str(uri), html_url: str(uri), authors_url: str(uri), repository_url: str(uri), svn_root: str}
@errors {404, 422, 503}

@endpoint PATCH /repos/{owner}/{repo}/import
@required {owner: str, repo: str}
@optional {vcs_username: str, vcs_password: str, vcs: str(subversion/tfvc/git/mercurial), tfvc_project: str}
@returns(200) {vcs: str?, use_lfs: bool, vcs_url: str, svc_root: str, tfvc_project: str, status: str, status_text: str?, failed_step: str?, error_message: str?, import_percent: int?, commit_count: int?, push_percent: int?, has_large_files: bool, large_files_size: int, large_files_count: int, project_choices: [map], message: str, authors_count: int?, url: str(uri), html_url: str(uri), authors_url: str(uri), repository_url: str(uri), svn_root: str}
@errors {503}

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

@endpoint GET /repos/{owner}/{repo}/import/authors
@required {owner: str, repo: str}
@optional {since: int}
@returns(200)
@errors {404, 503}

@endpoint PATCH /repos/{owner}/{repo}/import/authors/{author_id}
@required {owner: str, repo: str, author_id: int}
@optional {email: str, name: str}
@returns(200) {id: int, remote_id: str, remote_name: str, email: str, name: str, url: str(uri), import_url: str(uri)}
@errors {404, 422, 503}

@endpoint GET /repos/{owner}/{repo}/import/large_files
@required {owner: str, repo: str}
@returns(200)
@errors {503}

@endpoint PATCH /repos/{owner}/{repo}/import/lfs
@required {owner: str, repo: str, use_lfs: str(opt_in/opt_out)}
@returns(200) {vcs: str?, use_lfs: bool, vcs_url: str, svc_root: str, tfvc_project: str, status: str, status_text: str?, failed_step: str?, error_message: str?, import_percent: int?, commit_count: int?, push_percent: int?, has_large_files: bool, large_files_size: int, large_files_count: int, project_choices: [map], message: str, authors_count: int?, url: str(uri), html_url: str(uri), authors_url: str(uri), repository_url: str(uri), svn_root: str}
@errors {422, 503}

@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, client_id: str, target_id: int, target_type: str, permissions: map{actions: str, administration: str, artifact_metadata: str, attestations: str, checks: str, codespaces: str, contents: str, dependabot_secrets: str, deployments: str, discussions: str, environments: str, issues: str, merge_queues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_custom_properties: 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, custom_properties_for_organizations: str, members: str, organization_administration: str, organization_custom_roles: str, organization_custom_org_roles: str, organization_custom_properties: str, organization_copilot_seat_management: str, organization_copilot_agent_settings: str, organization_announcement_banners: str, organization_events: str, organization_hooks: str, organization_personal_access_tokens: str, organization_personal_access_token_requests: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, email_addresses: str, followers: str, git_ssh_keys: str, gpg_keys: str, interaction_limits: str, profile: str, starring: str, enterprise_custom_properties_for_organizations: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, suspended_at: str(date-time)?, contact_email: str?}
@errors {301, 404}

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

@endpoint PUT /repos/{owner}/{repo}/interaction-limits
@required {owner: str, repo: str, limit: str(existing_users/contributors_only/collaborators_only)}
@optional {expiry: str(one_day/three_days/one_week/one_month/six_months)}
@returns(200) {limit: str, origin: str, expires_at: str(date-time)}
@errors {409}

@endpoint DELETE /repos/{owner}/{repo}/interaction-limits
@required {owner: str, repo: str}
@returns(204)
@errors {409}

@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(int64), repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, invitee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, inviter: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, type: 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], type: str}
@returns(201) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, body_html: str, body_text: str, timeline_url: str(uri), type: map?{id: int, node_id: str, name: str, description: str?, color: str?, created_at: str(date-time), updated_at: str(date-time), is_enabled: bool}, repository: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, performed_via_github_app: map?{id: int, slug: str, node_id: str, client_id: str, owner: any, 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}, 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}, sub_issues_summary: map{total: int, completed: int, percent_completed: int}, parent_issue_url: str(uri)?, pinned_comment: map?{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}, issue_dependencies_summary: map{blocked_by: int, blocking: int, total_blocked_by: int, total_blocking: int}, issue_field_values: [map]}
@errors {400, 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(int64)}
@returns(200) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}
@errors {404}

@endpoint PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}
@required {owner: str, repo: str, comment_id: int(int64), body: str}
@returns(200) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}
@errors {422}

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

@endpoint PUT /repos/{owner}/{repo}/issues/comments/{comment_id}/pin
@required {owner: str, repo: str, comment_id: int(int64)}
@returns(200) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}
@errors {401, 403, 404, 410, 422}

@endpoint DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/pin
@required {owner: str, repo: str, comment_id: int(int64)}
@returns(204)
@errors {401, 403, 404, 410, 503}

@endpoint GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions
@required {owner: str, repo: str, comment_id: int(int64)}
@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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), 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(int64), node_id: str, url: str(uri), actor: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, event: str, commit_id: str?, commit_url: str?, created_at: str(date-time), issue: map?{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, body_html: str, body_text: str, timeline_url: str(uri), type: map?{id: int, node_id: str, name: str, description: str?, color: str?, created_at: str(date-time), updated_at: str(date-time), is_enabled: bool}, repository: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, performed_via_github_app: map?{id: int, slug: str, node_id: str, client_id: str, owner: any, 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}, 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}, sub_issues_summary: map{total: int, completed: int, percent_completed: int}, parent_issue_url: str(uri)?, pinned_comment: map?{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, name: str, description: str?, external_url: str(uri), html_url: str(uri), created_at: str(date-time), updated_at: str(date-time), permissions: map, events: [str], installations_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}, pin: map?{pinned_at: str(date-time), pinned_by: map?}}, issue_dependencies_summary: map{blocked_by: int, blocking: int, total_blocked_by: int, total_blocking: int}, issue_field_values: [map]}, label: map{name: str?, color: str?}, assignee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, assigner: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, review_requester: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, requested_reviewer: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, requested_team: map{id: int, node_id: str, name: str, slug: str, description: str?, privacy: str, notification_setting: 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), type: str, organization_id: int, enterprise_id: int, parent: map?{id: int, node_id: str, url: str(uri), members_url: str, name: str, description: str?, permission: str, privacy: str, notification_setting: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}}, 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, client_id: str, owner: any, 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}}
@errors {403, 404, 410}

@endpoint GET /repos/{owner}/{repo}/issues/{issue_number}
@required {owner: str, repo: str, issue_number: int}
@returns(200) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, body_html: str, body_text: str, timeline_url: str(uri), type: map?{id: int, node_id: str, name: str, description: str?, color: str?, created_at: str(date-time), updated_at: str(date-time), is_enabled: bool}, repository: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, performed_via_github_app: map?{id: int, slug: str, node_id: str, client_id: str, owner: any, 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}, 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}, sub_issues_summary: map{total: int, completed: int, percent_completed: int}, parent_issue_url: str(uri)?, pinned_comment: map?{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}, issue_dependencies_summary: map{blocked_by: int, blocking: int, total_blocked_by: int, total_blocking: int}, issue_field_values: [map]}
@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/duplicate/reopened), milestone: any, labels: [any], assignees: [str], issue_field_values: [map{field_id!: int, value!: any}], type: str}
@returns(200) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, body_html: str, body_text: str, timeline_url: str(uri), type: map?{id: int, node_id: str, name: str, description: str?, color: str?, created_at: str(date-time), updated_at: str(date-time), is_enabled: bool}, repository: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, performed_via_github_app: map?{id: int, slug: str, node_id: str, client_id: str, owner: any, 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}, 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}, sub_issues_summary: map{total: int, completed: int, percent_completed: int}, parent_issue_url: str(uri)?, pinned_comment: map?{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}, issue_dependencies_summary: map{blocked_by: int, blocking: int, total_blocked_by: int, total_blocking: int}, issue_field_values: [map]}
@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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, body_html: str, body_text: str, timeline_url: str(uri), type: map?{id: int, node_id: str, name: str, description: str?, color: str?, created_at: str(date-time), updated_at: str(date-time), is_enabled: bool}, repository: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, performed_via_github_app: map?{id: int, slug: str, node_id: str, client_id: str, owner: any, 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}, 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}, sub_issues_summary: map{total: int, completed: int, percent_completed: int}, parent_issue_url: str(uri)?, pinned_comment: map?{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}, issue_dependencies_summary: map{blocked_by: int, blocking: int, total_blocked_by: int, total_blocking: int}, issue_field_values: [map]}

@endpoint DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees
@required {owner: str, repo: str, issue_number: int}
@optional {assignees: [str]}
@returns(200) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, body_html: str, body_text: str, timeline_url: str(uri), type: map?{id: int, node_id: str, name: str, description: str?, color: str?, created_at: str(date-time), updated_at: str(date-time), is_enabled: bool}, repository: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, performed_via_github_app: map?{id: int, slug: str, node_id: str, client_id: str, owner: any, 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}, 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}, sub_issues_summary: map{total: int, completed: int, percent_completed: int}, parent_issue_url: str(uri)?, pinned_comment: map?{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}, issue_dependencies_summary: map{blocked_by: int, blocking: int, total_blocked_by: int, total_blocking: int}, issue_field_values: [map]}

@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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}
@errors {403, 404, 410, 422}

@endpoint GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by
@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}/dependencies/blocked_by
@required {owner: str, repo: str, issue_number: int, issue_id: int}
@returns(201) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, body_html: str, body_text: str, timeline_url: str(uri), type: map?{id: int, node_id: str, name: str, description: str?, color: str?, created_at: str(date-time), updated_at: str(date-time), is_enabled: bool}, repository: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, performed_via_github_app: map?{id: int, slug: str, node_id: str, client_id: str, owner: any, 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}, 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}, sub_issues_summary: map{total: int, completed: int, percent_completed: int}, parent_issue_url: str(uri)?, pinned_comment: map?{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}, issue_dependencies_summary: map{blocked_by: int, blocking: int, total_blocked_by: int, total_blocking: int}, issue_field_values: [map]}
@errors {301, 403, 404, 410, 422}

@endpoint DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}
@required {owner: str, repo: str, issue_number: int, issue_id: int}
@returns(200) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, body_html: str, body_text: str, timeline_url: str(uri), type: map?{id: int, node_id: str, name: str, description: str?, color: str?, created_at: str(date-time), updated_at: str(date-time), is_enabled: bool}, repository: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, performed_via_github_app: map?{id: int, slug: str, node_id: str, client_id: str, owner: any, 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}, 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}, sub_issues_summary: map{total: int, completed: int, percent_completed: int}, parent_issue_url: str(uri)?, pinned_comment: map?{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}, issue_dependencies_summary: map{blocked_by: int, blocking: int, total_blocked_by: int, total_blocking: int}, issue_field_values: [map]}
@errors {301, 400, 401, 403, 404, 410}

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

@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}/issue-field-values
@required {owner: str, repo: str, issue_number: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {301, 404, 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}/parent
@required {owner: str, repo: str, issue_number: int}
@returns(200) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, body_html: str, body_text: str, timeline_url: str(uri), type: map?{id: int, node_id: str, name: str, description: str?, color: str?, created_at: str(date-time), updated_at: str(date-time), is_enabled: bool}, repository: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, performed_via_github_app: map?{id: int, slug: str, node_id: str, client_id: str, owner: any, 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}, 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}, sub_issues_summary: map{total: int, completed: int, percent_completed: int}, parent_issue_url: str(uri)?, pinned_comment: map?{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}, issue_dependencies_summary: map{blocked_by: int, blocking: int, total_blocked_by: int, total_blocking: int}, issue_field_values: [map]}
@errors {301, 404, 410}

@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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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 DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue
@required {owner: str, repo: str, issue_number: int, sub_issue_id: int}
@returns(200) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, body_html: str, body_text: str, timeline_url: str(uri), type: map?{id: int, node_id: str, name: str, description: str?, color: str?, created_at: str(date-time), updated_at: str(date-time), is_enabled: bool}, repository: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, performed_via_github_app: map?{id: int, slug: str, node_id: str, client_id: str, owner: any, 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}, 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}, sub_issues_summary: map{total: int, completed: int, percent_completed: int}, parent_issue_url: str(uri)?, pinned_comment: map?{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}, issue_dependencies_summary: map{blocked_by: int, blocking: int, total_blocked_by: int, total_blocking: int}, issue_field_values: [map]}
@errors {400, 404}

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

@endpoint POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues
@required {owner: str, repo: str, issue_number: int, sub_issue_id: int}
@optional {replace_parent: bool}
@returns(201) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, body_html: str, body_text: str, timeline_url: str(uri), type: map?{id: int, node_id: str, name: str, description: str?, color: str?, created_at: str(date-time), updated_at: str(date-time), is_enabled: bool}, repository: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, performed_via_github_app: map?{id: int, slug: str, node_id: str, client_id: str, owner: any, 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}, 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}, sub_issues_summary: map{total: int, completed: int, percent_completed: int}, parent_issue_url: str(uri)?, pinned_comment: map?{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}, issue_dependencies_summary: map{blocked_by: int, blocking: int, total_blocked_by: int, total_blocking: int}, issue_field_values: [map]}
@errors {403, 404, 410, 422}

@endpoint PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority
@required {owner: str, repo: str, issue_number: int, sub_issue_id: int}
@optional {after_id: int, before_id: int}
@returns(200) {id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, labels: [any], assignee: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, body_html: str, body_text: str, timeline_url: str(uri), type: map?{id: int, node_id: str, name: str, description: str?, color: str?, created_at: str(date-time), updated_at: str(date-time), is_enabled: bool}, repository: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, performed_via_github_app: map?{id: int, slug: str, node_id: str, client_id: str, owner: any, 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}, 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}, sub_issues_summary: map{total: int, completed: int, percent_completed: int}, parent_issue_url: str(uri)?, pinned_comment: map?{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, client_id: str, owner: any, 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}, reactions: map{url: str(uri), total_count: int, +1: int, -1: int, laugh: int, confused: int, heart: int, hooray: int, eyes: int, rocket: int}, pin: map?{pinned_at: str(date-time), pinned_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}}, issue_dependencies_summary: map{blocked_by: int, blocking: int, total_blocked_by: int, total_blocking: int}, issue_field_values: [map]}
@errors {403, 404, 422, 503}

@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, added_by: str?, last_used: str(date-time)?, enabled: 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, added_by: str?, last_used: str(date-time)?, enabled: 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 GET /repos/{owner}/{repo}/license
@required {owner: str, repo: str}
@optional {ref: 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)}}
@errors {404}

@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(date-time)}, committer: map?{name: str, email: str, date: str(date-time)}, message: str, comment_count: int, tree: map{sha: str, url: str(uri)}, verification: map{verified: bool, reason: str, payload: str?, signature: str?, verified_at: str?}}, author: any?, committer: any?, 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, commit: str, duration: int, created_at: str(date-time), updated_at: str(date-time)}

@endpoint POST /repos/{owner}/{repo}/pages/deployments
@required {owner: str, repo: str, pages_build_version: str=GITHUB_SHA, oidc_token: str}
@optional {artifact_id: num, artifact_url: str, environment: str=github-pages}
@returns(200) {id: any, status_url: str(uri), page_url: str(uri), preview_url: str(uri)}
@errors {400, 404, 422}

@endpoint GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}
@required {owner: str, repo: str, pages_deployment_id: any}
@returns(200) {status: str}
@errors {404}

@endpoint POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel
@required {owner: str, repo: str, pages_deployment_id: any}
@returns(204)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/pages/health
@required {owner: str, repo: str}
@returns(200) {domain: map{host: str, uri: str, nameservers: str, dns_resolves: bool, is_proxied: bool?, is_cloudflare_ip: bool?, is_fastly_ip: bool?, is_old_ip_address: bool?, is_a_record: bool?, has_cname_record: bool?, has_mx_records_present: bool?, is_valid_domain: bool, is_apex_domain: bool, should_be_a_record: bool?, is_cname_to_github_user_domain: bool?, is_cname_to_pages_dot_github_dot_com: bool?, is_cname_to_fastly: bool?, is_pointed_to_github_pages_ip: bool?, is_non_github_pages_ip_present: bool?, is_pages_domain: bool, is_served_by_pages: bool?, is_valid: bool, reason: str?, responds_to_https: bool, enforces_https: bool, https_error: str?, is_https_eligible: bool?, caa_error: str?}, alt_domain: map?{host: str, uri: str, nameservers: str, dns_resolves: bool, is_proxied: bool?, is_cloudflare_ip: bool?, is_fastly_ip: bool?, is_old_ip_address: bool?, is_a_record: bool?, has_cname_record: bool?, has_mx_records_present: bool?, is_valid_domain: bool, is_apex_domain: bool, should_be_a_record: bool?, is_cname_to_github_user_domain: bool?, is_cname_to_pages_dot_github_dot_com: bool?, is_cname_to_fastly: bool?, is_pointed_to_github_pages_ip: bool?, is_non_github_pages_ip_present: bool?, is_pages_domain: bool, is_served_by_pages: bool?, is_valid: bool, reason: str?, responds_to_https: bool, enforces_https: bool, https_error: str?, is_https_eligible: bool?, caa_error: str?}}
@returns(202)
@errors {400, 404, 422}

@endpoint GET /repos/{owner}/{repo}/private-vulnerability-reporting
@required {owner: str, repo: str}
@returns(200) {enabled: bool}
@errors {422}

@endpoint PUT /repos/{owner}/{repo}/private-vulnerability-reporting
@required {owner: str, repo: str}
@returns(204)
@errors {422}

@endpoint DELETE /repos/{owner}/{repo}/private-vulnerability-reporting
@required {owner: str, repo: str}
@returns(204)
@errors {422}

@endpoint GET /repos/{owner}/{repo}/properties/values
@required {owner: str, repo: str}
@returns(200)
@errors {403, 404}

@endpoint PATCH /repos/{owner}/{repo}/properties/values
@required {owner: str, repo: str, properties: [map{property_name!: str, value!: any}]}
@returns(204)
@errors {403, 404, 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, head_repo: str(repo.nwo), body: str, maintainer_can_modify: bool, draft: bool, issue: int(int64)}
@returns(201) {url: str(uri), id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, assignees: [map], requested_reviewers: [map], requested_teams: [map], head: map{label: str, ref: str, repo: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, sha: str, user: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}, base: map{label: str, ref: str, repo: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, sha: str, user: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64)}
@returns(200) {url: str, pull_request_review_id: int(int64)?, id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, subject_type: 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(int64), body: str}
@returns(200) {url: str, pull_request_review_id: int(int64)?, id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, subject_type: 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(int64)}
@returns(204)
@errors {404}

@endpoint GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions
@required {owner: str, repo: str, comment_id: int(int64)}
@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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), 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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, assignees: [map], requested_reviewers: [map], requested_teams: [map], head: map{label: str, ref: str, repo: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, sha: str, user: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}, base: map{label: str, ref: str, repo: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, sha: str, user: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, comments: int, review_comments: int, maintainer_can_modify: bool, commits: int, additions: int, deletions: int, changed_files: int}
@errors {304, 404, 406, 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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, assignees: [map], requested_reviewers: [map], requested_teams: [map], head: map{label: str, ref: str, repo: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, sha: str, user: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}, base: map{label: str, ref: str, repo: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, sha: str, user: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, comments: int, review_comments: int, maintainer_can_modify: bool, commits: int, additions: int, deletions: int, changed_files: int}
@errors {403, 422}

@endpoint POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces
@required {owner: str, repo: str, pull_number: int}
@optional {location: str, geo: str(EuropeWest/SoutheastAsia/UsEast/UsWest), client_ip: str, machine: str, devcontainer_path: str, multi_repo_permissions_opt_out: bool, working_directory: str, idle_timeout_minutes: int, display_name: str, retention_period_minutes: int}
@returns(201) {id: int(int64), name: str, display_name: str?, environment_id: str?, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, billable_owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, machine: map?{name: str, display_name: str, operating_system: str, storage_in_bytes: int, memory_in_bytes: int, cpus: int, prebuild_availability: str?}, devcontainer_path: str?, prebuild: bool?, created_at: str(date-time), updated_at: str(date-time), last_used_at: str(date-time), state: str, url: str(uri), git_status: map{ahead: int, behind: int, has_unpushed_changes: bool, has_uncommitted_changes: bool, ref: str}, location: str, idle_timeout_minutes: int?, web_url: str(uri), machines_url: str(uri), start_url: str(uri), stop_url: str(uri), publish_url: str(uri)?, pulls_url: str(uri)?, recent_folders: [str], runtime_constraints: map{allowed_port_privacy_settings: [str]?}, pending_operation: bool?, pending_operation_disabled_reason: str?, idle_timeout_notice: str?, retention_period_minutes: int?, retention_expires_at: str(date-time)?, last_known_stop_notice: str?}
@returns(202) {id: int(int64), name: str, display_name: str?, environment_id: str?, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, billable_owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, machine: map?{name: str, display_name: str, operating_system: str, storage_in_bytes: int, memory_in_bytes: int, cpus: int, prebuild_availability: str?}, devcontainer_path: str?, prebuild: bool?, created_at: str(date-time), updated_at: str(date-time), last_used_at: str(date-time), state: str, url: str(uri), git_status: map{ahead: int, behind: int, has_unpushed_changes: bool, has_uncommitted_changes: bool, ref: str}, location: str, idle_timeout_minutes: int?, web_url: str(uri), machines_url: str(uri), start_url: str(uri), stop_url: str(uri), publish_url: str(uri)?, pulls_url: str(uri)?, recent_folders: [str], runtime_constraints: map{allowed_port_privacy_settings: [str]?}, pending_operation: bool?, pending_operation_disabled_reason: str?, idle_timeout_notice: str?, retention_period_minutes: int?, retention_expires_at: str(date-time)?, last_known_stop_notice: str?}
@errors {401, 403, 404, 503}

@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}
@optional {position: int, side: str(LEFT/RIGHT), line: int, start_line: int, start_side: str(LEFT/RIGHT/side), in_reply_to: int, subject_type: str(line/file)}
@returns(201) {url: str, pull_request_review_id: int(int64)?, id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, subject_type: 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(int64), body: str}
@returns(201) {url: str, pull_request_review_id: int(int64)?, id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, subject_type: 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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, assignees: [map], requested_reviewers: [map], requested_teams: [map], head: map{label: str, ref: str, repo: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, sha: str, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}, base: map{label: str, ref: str, repo: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, sha: str, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, assignees: [map], requested_reviewers: [map], requested_teams: [map], head: map{label: str, ref: str, repo: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, sha: str, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}, base: map{label: str, ref: str, repo: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, sha: str, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, user: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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 {304, 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, discussion_category_name: str, generate_release_notes: bool=false, make_latest: str(true/false/legacy)=true}
@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, immutable: bool, created_at: str(date-time), published_at: str(date-time)?, updated_at: str(date-time)?, author: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, assets: [map], body_html: str, body_text: str, mentions_count: int, discussion_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}}
@errors {404, 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, digest: str?, download_count: int, created_at: str(date-time), updated_at: str(date-time), uploader: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, digest: str?, download_count: int, created_at: str(date-time), updated_at: str(date-time), uploader: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}

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

@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, immutable: bool, created_at: str(date-time), published_at: str(date-time)?, updated_at: str(date-time)?, author: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, assets: [map], body_html: str, body_text: str, mentions_count: int, discussion_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}}
@errors {404}

@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, immutable: bool, created_at: str(date-time), published_at: str(date-time)?, updated_at: str(date-time)?, author: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, assets: [map], body_html: str, body_text: str, mentions_count: int, discussion_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}}
@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, immutable: bool, created_at: str(date-time), published_at: str(date-time)?, updated_at: str(date-time)?, author: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, assets: [map], body_html: str, body_text: str, mentions_count: int, discussion_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}}
@errors {401}

@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, make_latest: str(true/false/legacy)=true, discussion_category_name: 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, immutable: bool, created_at: str(date-time), published_at: str(date-time)?, updated_at: str(date-time)?, author: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, assets: [map], body_html: str, body_text: str, mentions_count: int, discussion_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}}
@errors {404}

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

@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, digest: str?, download_count: int, created_at: str(date-time), updated_at: str(date-time), uploader: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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}/rules/branches/{branch}
@required {owner: str, repo: str, branch: str}
@optional {per_page: int=30, page: int=1}
@returns(200)

@endpoint GET /repos/{owner}/{repo}/rulesets
@required {owner: str, repo: str}
@optional {per_page: int=30, page: int=1, includes_parents: bool=true, targets: str}
@returns(200)
@errors {404, 500}

@endpoint POST /repos/{owner}/{repo}/rulesets
@required {owner: str, repo: str, name: str, enforcement: str(disabled/active/evaluate)}
@optional {target: str(branch/tag/push)=branch, bypass_actors: [map{actor_id: int, actor_type!: str, bypass_mode: str}], conditions: map{ref_name: map}, rules: [map]}
@returns(201) {id: int, name: str, target: str, source_type: str, source: str, enforcement: str, bypass_actors: [map], current_user_can_bypass: str, node_id: str, _links: map{self: map{href: str}, html: map?{href: str}}, conditions: any?, rules: [map], created_at: str(date-time), updated_at: str(date-time)}
@errors {404, 422, 500}

@endpoint GET /repos/{owner}/{repo}/rulesets/rule-suites
@required {owner: str, repo: str}
@optional {ref: str, time_period: str(hour/day/week/month)=day, actor_name: str, rule_suite_result: str(pass/fail/bypass/all)=all, per_page: int=30, page: int=1}
@returns(200)
@errors {404, 500}

@endpoint GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}
@required {owner: str, repo: str, rule_suite_id: int}
@returns(200) {id: int, actor_id: int?, actor_name: str?, before_sha: str, after_sha: str, ref: str, repository_id: int, repository_name: str, pushed_at: str(date-time), result: str, evaluation_result: str?, rule_evaluations: [map]}
@errors {404, 500}

@endpoint GET /repos/{owner}/{repo}/rulesets/{ruleset_id}
@required {owner: str, repo: str, ruleset_id: int}
@optional {includes_parents: bool=true}
@returns(200) {id: int, name: str, target: str, source_type: str, source: str, enforcement: str, bypass_actors: [map], current_user_can_bypass: str, node_id: str, _links: map{self: map{href: str}, html: map?{href: str}}, conditions: any?, rules: [map], created_at: str(date-time), updated_at: str(date-time)}
@errors {404, 500}

@endpoint PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}
@required {owner: str, repo: str, ruleset_id: int}
@optional {name: str, target: str(branch/tag/push), enforcement: str(disabled/active/evaluate), bypass_actors: [map{actor_id: int, actor_type!: str, bypass_mode: str}], conditions: map{ref_name: map}, rules: [map]}
@returns(200) {id: int, name: str, target: str, source_type: str, source: str, enforcement: str, bypass_actors: [map], current_user_can_bypass: str, node_id: str, _links: map{self: map{href: str}, html: map?{href: str}}, conditions: any?, rules: [map], created_at: str(date-time), updated_at: str(date-time)}
@errors {404, 422, 500}

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

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

@endpoint GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}
@required {owner: str, repo: str, ruleset_id: int, version_id: int}
@returns(200)
@errors {404, 500}

@endpoint GET /repos/{owner}/{repo}/secret-scanning/alerts
@required {owner: str, repo: str}
@optional {state: str(open/resolved), secret_type: str, resolution: str, assignee: str, sort: str(created/updated)=created, direction: str(asc/desc)=desc, page: int=1, per_page: int=30, before: str, after: str, validity: str, is_publicly_leaked: bool=false, is_multi_repo: bool=false, hide_secret: bool=false}
@returns(200)
@errors {404, 503}

@endpoint GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}
@required {owner: str, repo: str, alert_number: int}
@optional {hide_secret: bool=false}
@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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, resolution_comment: str?, secret_type: str, secret_type_display_name: str, secret: str, push_protection_bypassed: bool?, push_protection_bypassed_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, push_protection_bypassed_at: str(date-time)?, push_protection_bypass_request_reviewer: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, push_protection_bypass_request_reviewer_comment: str?, push_protection_bypass_request_comment: str?, push_protection_bypass_request_html_url: str(uri)?, validity: str, publicly_leaked: bool?, multi_repo: bool?, is_base64_encoded: bool?, first_location_detected: any?, has_more_locations: bool, assigned_to: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, closure_request_comment: str?, closure_request_reviewer_comment: str?, closure_request_reviewer: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}
@errors {304, 404, 503}

@endpoint PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}
@required {owner: str, repo: str, alert_number: int}
@optional {state: str(open/resolved), resolution: str(false_positive/wont_fix/revoked/used_in_tests), resolution_comment: str, assignee: str}
@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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, resolution_comment: str?, secret_type: str, secret_type_display_name: str, secret: str, push_protection_bypassed: bool?, push_protection_bypassed_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, push_protection_bypassed_at: str(date-time)?, push_protection_bypass_request_reviewer: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, push_protection_bypass_request_reviewer_comment: str?, push_protection_bypass_request_comment: str?, push_protection_bypass_request_html_url: str(uri)?, validity: str, publicly_leaked: bool?, multi_repo: bool?, is_base64_encoded: bool?, first_location_detected: any?, has_more_locations: bool, assigned_to: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, closure_request_comment: str?, closure_request_reviewer_comment: str?, closure_request_reviewer: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}}
@errors {400, 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 POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses
@required {owner: str, repo: str, reason: str(false_positive/used_in_tests/will_fix_later), placeholder_id: str}
@returns(200) {reason: str, expire_at: str(date-time)?, token_type: str}
@errors {403, 404, 422, 503}

@endpoint GET /repos/{owner}/{repo}/secret-scanning/scan-history
@required {owner: str, repo: str}
@returns(200) {incremental_scans: [map], pattern_update_scans: [map], backfill_scans: [map], custom_pattern_backfill_scans: [any]}
@errors {404, 503}

@endpoint GET /repos/{owner}/{repo}/security-advisories
@required {owner: str, repo: str}
@optional {direction: str(asc/desc)=desc, sort: str(created/updated/published)=created, before: str, after: str, per_page: int=30, state: str(triage/draft/published/closed)}
@returns(200)
@errors {400, 404}

@endpoint POST /repos/{owner}/{repo}/security-advisories
@required {owner: str, repo: str, summary: str, description: str, vulnerabilities: [map{package!: map, vulnerable_version_range: str, patched_versions: str, vulnerable_functions: [str]}]}
@optional {cve_id: str, cwe_ids: [str], credits: [map{login!: str, type!: str}], severity: str(critical/high/medium/low), cvss_vector_string: str, start_private_fork: bool=false}
@returns(201) {ghsa_id: str, cve_id: str?, url: str(uri), html_url: str(uri), summary: str, description: str?, severity: str?, author: any?, publisher: any?, identifiers: [map], state: str, created_at: str(date-time)?, updated_at: str(date-time)?, published_at: str(date-time)?, closed_at: str(date-time)?, withdrawn_at: str(date-time)?, submission: map?{accepted: bool}, vulnerabilities: [map]?, cvss: map?{vector_string: str?, score: num?}, cvss_severities: map?{cvss_v3: map?{vector_string: str?, score: num?}, cvss_v4: map?{vector_string: str?, score: num?}}, cwes: [map]?, cwe_ids: [str]?, credits: [map]?, credits_detailed: [map]?, collaborating_users: [map]?, collaborating_teams: [map]?, private_fork: any?}
@errors {403, 404, 422}

@endpoint POST /repos/{owner}/{repo}/security-advisories/reports
@required {owner: str, repo: str, summary: str, description: str}
@optional {vulnerabilities: [map{package!: map, vulnerable_version_range: str, patched_versions: str, vulnerable_functions: [str]}], cwe_ids: [str], severity: str(critical/high/medium/low), cvss_vector_string: str, start_private_fork: bool=false}
@returns(201) {ghsa_id: str, cve_id: str?, url: str(uri), html_url: str(uri), summary: str, description: str?, severity: str?, author: any?, publisher: any?, identifiers: [map], state: str, created_at: str(date-time)?, updated_at: str(date-time)?, published_at: str(date-time)?, closed_at: str(date-time)?, withdrawn_at: str(date-time)?, submission: map?{accepted: bool}, vulnerabilities: [map]?, cvss: map?{vector_string: str?, score: num?}, cvss_severities: map?{cvss_v3: map?{vector_string: str?, score: num?}, cvss_v4: map?{vector_string: str?, score: num?}}, cwes: [map]?, cwe_ids: [str]?, credits: [map]?, credits_detailed: [map]?, collaborating_users: [map]?, collaborating_teams: [map]?, private_fork: any?}
@errors {403, 404, 422}

@endpoint GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}
@required {owner: str, repo: str, ghsa_id: str}
@returns(200) {ghsa_id: str, cve_id: str?, url: str(uri), html_url: str(uri), summary: str, description: str?, severity: str?, author: any?, publisher: any?, identifiers: [map], state: str, created_at: str(date-time)?, updated_at: str(date-time)?, published_at: str(date-time)?, closed_at: str(date-time)?, withdrawn_at: str(date-time)?, submission: map?{accepted: bool}, vulnerabilities: [map]?, cvss: map?{vector_string: str?, score: num?}, cvss_severities: map?{cvss_v3: map?{vector_string: str?, score: num?}, cvss_v4: map?{vector_string: str?, score: num?}}, cwes: [map]?, cwe_ids: [str]?, credits: [map]?, credits_detailed: [map]?, collaborating_users: [map]?, collaborating_teams: [map]?, private_fork: any?}
@errors {403, 404}

@endpoint PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}
@required {owner: str, repo: str, ghsa_id: str}
@optional {summary: str, description: str, cve_id: str, vulnerabilities: [map{package!: map, vulnerable_version_range: str, patched_versions: str, vulnerable_functions: [str]}], cwe_ids: [str], credits: [map{login!: str, type!: str}], severity: str(critical/high/medium/low), cvss_vector_string: str, state: str(published/closed/draft), collaborating_users: [str], collaborating_teams: [str]}
@returns(200) {ghsa_id: str, cve_id: str?, url: str(uri), html_url: str(uri), summary: str, description: str?, severity: str?, author: any?, publisher: any?, identifiers: [map], state: str, created_at: str(date-time)?, updated_at: str(date-time)?, published_at: str(date-time)?, closed_at: str(date-time)?, withdrawn_at: str(date-time)?, submission: map?{accepted: bool}, vulnerabilities: [map]?, cvss: map?{vector_string: str?, score: num?}, cvss_severities: map?{cvss_v3: map?{vector_string: str?, score: num?}, cvss_v4: map?{vector_string: str?, score: num?}}, cwes: [map]?, cwe_ids: [str]?, credits: [map]?, credits_detailed: [map]?, collaborating_users: [map]?, collaborating_teams: [map]?, private_fork: any?}
@errors {403, 404, 422}

@endpoint POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve
@required {owner: str, repo: str, ghsa_id: str}
@returns(202)
@errors {400, 403, 404, 422}

@endpoint POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks
@required {owner: str, repo: str, ghsa_id: str}
@returns(202) {id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_forking: bool, web_commit_signoff_required: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, parent: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, source: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}
@errors {400, 403, 404, 422}

@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)
@errors {422}

@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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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)
@errors {404}

@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 GET /repos/{owner}/{repo}/traffic/clones
@required {owner: str, repo: str}
@optional {per: str(day/week)=day}
@returns(200) {count: int, uniques: int, clones: [map]}
@errors {403}

@endpoint GET /repos/{owner}/{repo}/traffic/popular/paths
@required {owner: str, repo: str}
@returns(200)
@errors {403}

@endpoint GET /repos/{owner}/{repo}/traffic/popular/referrers
@required {owner: str, repo: str}
@returns(200)
@errors {403}

@endpoint GET /repos/{owner}/{repo}/traffic/views
@required {owner: str, repo: str}
@optional {per: str(day/week)=day}
@returns(200) {count: int, uniques: int, views: [map]}
@errors {403}

@endpoint POST /repos/{owner}/{repo}/transfer
@required {owner: str, repo: str, new_owner: str}
@optional {new_name: str, team_ids: [int]}
@returns(202) {id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}

@endpoint GET /repos/{owner}/{repo}/vulnerability-alerts
@required {owner: str, repo: str}
@returns(204)
@errors {404}

@endpoint PUT /repos/{owner}/{repo}/vulnerability-alerts
@required {owner: str, repo: str}
@returns(204)

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

@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(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_forking: bool, web_commit_signoff_required: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, parent: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, source: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}

@endgroup

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

@endpoint POST /repositories/{repository_id}/issues/{issue_number}/issue-field-values
@required {repository_id: int, issue_number: int}
@optional {issue_field_values: [map{field_id!: int, value!: any}]}
@returns(200)
@errors {400, 403, 404, 422, 503}

@endpoint PUT /repositories/{repository_id}/issues/{issue_number}/issue-field-values
@required {repository_id: int, issue_number: int}
@optional {issue_field_values: [map{field_id!: int, value!: any}]}
@returns(200)
@errors {400, 403, 404, 422, 503}

@endpoint DELETE /repositories/{repository_id}/issues/{issue_number}/issue-field-values/{issue_field_id}
@required {repository_id: int, issue_number: int, issue_field_id: int}
@returns(204)
@errors {403, 404, 422, 503}

@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, advanced_search: str, search_type: str(semantic/hybrid)}
@returns(200) {total_count: int, incomplete_results: bool, items: [map], search_type: str, lexical_fallback_reason: [str]}
@errors {304, 401, 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 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, notification_setting: 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, notification_setting: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}, 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, members_can_fork_private_repositories: bool?, web_commit_signoff_required: bool, updated_at: str(date-time), archived_at: str(date-time)?}, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}
@errors {404}

@endpoint PATCH /teams/{team_id}
@required {team_id: int, name: str}
@optional {description: str, privacy: str(secret/closed), notification_setting: str(notifications_enabled/notifications_disabled), 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, notification_setting: 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, notification_setting: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}, 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, members_can_fork_private_repositories: bool?, web_commit_signoff_required: bool, updated_at: str(date-time), archived_at: str(date-time)?}, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}
@returns(201) {id: int, node_id: str, url: str(uri), html_url: str(uri), name: str, slug: str, description: str?, privacy: str, notification_setting: 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, notification_setting: str, html_url: str(uri), repositories_url: str(uri), slug: str, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}, 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, members_can_fork_private_repositories: bool?, web_commit_signoff_required: bool, updated_at: str(date-time), archived_at: str(date-time)?}, ldap_dn: str, type: str, organization_id: int, enterprise_id: int}
@errors {403, 404, 422}

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

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

@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}/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}, role_name: str, owner: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: 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(int64), user_view_type: 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, name: str?, company: str?, blog: str?, location: str?, email: str(email)?, notification_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}, business_plus: bool, ldap_dn: str}
@errors {304, 401, 403, 404, 422}

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

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

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

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

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

@endpoint POST /user/codespaces
@returns(201) {id: int(int64), name: str, display_name: str?, environment_id: str?, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, billable_owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, machine: map?{name: str, display_name: str, operating_system: str, storage_in_bytes: int, memory_in_bytes: int, cpus: int, prebuild_availability: str?}, devcontainer_path: str?, prebuild: bool?, created_at: str(date-time), updated_at: str(date-time), last_used_at: str(date-time), state: str, url: str(uri), git_status: map{ahead: int, behind: int, has_unpushed_changes: bool, has_uncommitted_changes: bool, ref: str}, location: str, idle_timeout_minutes: int?, web_url: str(uri), machines_url: str(uri), start_url: str(uri), stop_url: str(uri), publish_url: str(uri)?, pulls_url: str(uri)?, recent_folders: [str], runtime_constraints: map{allowed_port_privacy_settings: [str]?}, pending_operation: bool?, pending_operation_disabled_reason: str?, idle_timeout_notice: str?, retention_period_minutes: int?, retention_expires_at: str(date-time)?, last_known_stop_notice: str?}
@returns(202) {id: int(int64), name: str, display_name: str?, environment_id: str?, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, billable_owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, machine: map?{name: str, display_name: str, operating_system: str, storage_in_bytes: int, memory_in_bytes: int, cpus: int, prebuild_availability: str?}, devcontainer_path: str?, prebuild: bool?, created_at: str(date-time), updated_at: str(date-time), last_used_at: str(date-time), state: str, url: str(uri), git_status: map{ahead: int, behind: int, has_unpushed_changes: bool, has_uncommitted_changes: bool, ref: str}, location: str, idle_timeout_minutes: int?, web_url: str(uri), machines_url: str(uri), start_url: str(uri), stop_url: str(uri), publish_url: str(uri)?, pulls_url: str(uri)?, recent_folders: [str], runtime_constraints: map{allowed_port_privacy_settings: [str]?}, pending_operation: bool?, pending_operation_disabled_reason: str?, idle_timeout_notice: str?, retention_period_minutes: int?, retention_expires_at: str(date-time)?, last_known_stop_notice: str?}
@errors {401, 403, 404, 503}

@endpoint GET /user/codespaces/secrets
@optional {per_page: int=30, page: int=1}
@returns(200) {total_count: int, secrets: [map]}

@endpoint GET /user/codespaces/secrets/public-key
@returns(200) {key_id: str, key: str}

@endpoint GET /user/codespaces/secrets/{secret_name}
@required {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 /user/codespaces/secrets/{secret_name}
@required {secret_name: str, key_id: str}
@optional {encrypted_value: str, selected_repository_ids: [any]}
@returns(201)
@returns(204)
@errors {404, 422}

@endpoint DELETE /user/codespaces/secrets/{secret_name}
@required {secret_name: str}
@returns(204)

@endpoint GET /user/codespaces/secrets/{secret_name}/repositories
@required {secret_name: str}
@returns(200) {total_count: int, repositories: [map]}
@errors {401, 403, 404, 500}

@endpoint PUT /user/codespaces/secrets/{secret_name}/repositories
@required {secret_name: str, selected_repository_ids: [int]}
@returns(204)
@errors {401, 403, 404, 500}

@endpoint PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}
@required {secret_name: str, repository_id: int}
@returns(204)
@errors {401, 403, 404, 500}

@endpoint DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}
@required {secret_name: str, repository_id: int}
@returns(204)
@errors {401, 403, 404, 500}

@endpoint GET /user/codespaces/{codespace_name}
@required {codespace_name: str}
@returns(200) {id: int(int64), name: str, display_name: str?, environment_id: str?, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, billable_owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, machine: map?{name: str, display_name: str, operating_system: str, storage_in_bytes: int, memory_in_bytes: int, cpus: int, prebuild_availability: str?}, devcontainer_path: str?, prebuild: bool?, created_at: str(date-time), updated_at: str(date-time), last_used_at: str(date-time), state: str, url: str(uri), git_status: map{ahead: int, behind: int, has_unpushed_changes: bool, has_uncommitted_changes: bool, ref: str}, location: str, idle_timeout_minutes: int?, web_url: str(uri), machines_url: str(uri), start_url: str(uri), stop_url: str(uri), publish_url: str(uri)?, pulls_url: str(uri)?, recent_folders: [str], runtime_constraints: map{allowed_port_privacy_settings: [str]?}, pending_operation: bool?, pending_operation_disabled_reason: str?, idle_timeout_notice: str?, retention_period_minutes: int?, retention_expires_at: str(date-time)?, last_known_stop_notice: str?}
@errors {304, 401, 403, 404, 500}

@endpoint PATCH /user/codespaces/{codespace_name}
@required {codespace_name: str}
@optional {machine: str, display_name: str, recent_folders: [str]}
@returns(200) {id: int(int64), name: str, display_name: str?, environment_id: str?, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, billable_owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, machine: map?{name: str, display_name: str, operating_system: str, storage_in_bytes: int, memory_in_bytes: int, cpus: int, prebuild_availability: str?}, devcontainer_path: str?, prebuild: bool?, created_at: str(date-time), updated_at: str(date-time), last_used_at: str(date-time), state: str, url: str(uri), git_status: map{ahead: int, behind: int, has_unpushed_changes: bool, has_uncommitted_changes: bool, ref: str}, location: str, idle_timeout_minutes: int?, web_url: str(uri), machines_url: str(uri), start_url: str(uri), stop_url: str(uri), publish_url: str(uri)?, pulls_url: str(uri)?, recent_folders: [str], runtime_constraints: map{allowed_port_privacy_settings: [str]?}, pending_operation: bool?, pending_operation_disabled_reason: str?, idle_timeout_notice: str?, retention_period_minutes: int?, retention_expires_at: str(date-time)?, last_known_stop_notice: str?}
@errors {401, 403, 404}

@endpoint DELETE /user/codespaces/{codespace_name}
@required {codespace_name: str}
@returns(202)
@errors {304, 401, 403, 404, 500}

@endpoint POST /user/codespaces/{codespace_name}/exports
@required {codespace_name: str}
@returns(202) {state: str?, completed_at: str(date-time)?, branch: str?, sha: str?, id: str, export_url: str, html_url: str?}
@errors {401, 403, 404, 422, 500}

@endpoint GET /user/codespaces/{codespace_name}/exports/{export_id}
@required {codespace_name: str, export_id: str}
@returns(200) {state: str?, completed_at: str(date-time)?, branch: str?, sha: str?, id: str, export_url: str, html_url: str?}
@errors {404}

@endpoint GET /user/codespaces/{codespace_name}/machines
@required {codespace_name: str}
@returns(200) {total_count: int, machines: [map]}
@errors {304, 401, 403, 404, 500}

@endpoint POST /user/codespaces/{codespace_name}/publish
@required {codespace_name: str}
@optional {name: str, private: bool=false}
@returns(201) {id: int(int64), name: str, display_name: str?, environment_id: str?, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, billable_owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_forking: bool, web_commit_signoff_required: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, parent: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, source: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, machine: map?{name: str, display_name: str, operating_system: str, storage_in_bytes: int, memory_in_bytes: int, cpus: int, prebuild_availability: str?}, devcontainer_path: str?, prebuild: bool?, created_at: str(date-time), updated_at: str(date-time), last_used_at: str(date-time), state: str, url: str(uri), git_status: map{ahead: int, behind: int, has_unpushed_changes: bool, has_uncommitted_changes: bool, ref: str}, location: str, idle_timeout_minutes: int?, web_url: str(uri), machines_url: str(uri), start_url: str(uri), stop_url: str(uri), publish_url: str(uri)?, pulls_url: str(uri)?, recent_folders: [str], runtime_constraints: map{allowed_port_privacy_settings: [str]?}, pending_operation: bool?, pending_operation_disabled_reason: str?, idle_timeout_notice: str?, retention_period_minutes: int?, retention_expires_at: str(date-time)?}
@errors {401, 403, 404, 422}

@endpoint POST /user/codespaces/{codespace_name}/start
@required {codespace_name: str}
@returns(200) {id: int(int64), name: str, display_name: str?, environment_id: str?, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, billable_owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, machine: map?{name: str, display_name: str, operating_system: str, storage_in_bytes: int, memory_in_bytes: int, cpus: int, prebuild_availability: str?}, devcontainer_path: str?, prebuild: bool?, created_at: str(date-time), updated_at: str(date-time), last_used_at: str(date-time), state: str, url: str(uri), git_status: map{ahead: int, behind: int, has_unpushed_changes: bool, has_uncommitted_changes: bool, ref: str}, location: str, idle_timeout_minutes: int?, web_url: str(uri), machines_url: str(uri), start_url: str(uri), stop_url: str(uri), publish_url: str(uri)?, pulls_url: str(uri)?, recent_folders: [str], runtime_constraints: map{allowed_port_privacy_settings: [str]?}, pending_operation: bool?, pending_operation_disabled_reason: str?, idle_timeout_notice: str?, retention_period_minutes: int?, retention_expires_at: str(date-time)?, last_known_stop_notice: str?}
@errors {304, 400, 401, 402, 403, 404, 409, 500}

@endpoint POST /user/codespaces/{codespace_name}/stop
@required {codespace_name: str}
@returns(200) {id: int(int64), name: str, display_name: str?, environment_id: str?, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, billable_owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, machine: map?{name: str, display_name: str, operating_system: str, storage_in_bytes: int, memory_in_bytes: int, cpus: int, prebuild_availability: str?}, devcontainer_path: str?, prebuild: bool?, created_at: str(date-time), updated_at: str(date-time), last_used_at: str(date-time), state: str, url: str(uri), git_status: map{ahead: int, behind: int, has_unpushed_changes: bool, has_uncommitted_changes: bool, ref: str}, location: str, idle_timeout_minutes: int?, web_url: str(uri), machines_url: str(uri), start_url: str(uri), stop_url: str(uri), publish_url: str(uri)?, pulls_url: str(uri)?, recent_folders: [str], runtime_constraints: map{allowed_port_privacy_settings: [str]?}, pending_operation: bool?, pending_operation_disabled_reason: str?, idle_timeout_notice: str?, retention_period_minutes: int?, retention_expires_at: str(date-time)?, last_known_stop_notice: str?}
@errors {401, 403, 404, 500}

@endpoint GET /user/docker/conflicts
@returns(200)

@endpoint PATCH /user/email/visibility
@required {visibility: str(public/private)}
@returns(200)
@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, 422}

@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}
@optional {name: str}
@returns(201) {id: int(int64), name: str?, 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)?, revoked: bool, 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(int64), name: str?, 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)?, revoked: bool, 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: [any]}
@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, 422}

@endpoint GET /user/interaction-limits
@returns(200)
@returns(204)

@endpoint PUT /user/interaction-limits
@required {limit: str(existing_users/contributors_only/collaborators_only)}
@optional {expiry: str(one_day/three_days/one_week/one_month/six_months)}
@returns(200) {limit: str, origin: str, expires_at: str(date-time)}
@errors {422}

@endpoint DELETE /user/interaction-limits
@returns(204)

@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(int64), url: str, title: str, created_at: str(date-time), verified: bool, read_only: bool, last_used: str(date-time)?}
@errors {304, 401, 403, 404, 422}

@endpoint GET /user/keys/{key_id}
@required {key_id: int}
@returns(200) {key: str, id: int(int64), url: str, title: str, created_at: str(date-time), verified: bool, read_only: bool, last_used: str(date-time)?}
@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/marketplace_purchases
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 404}

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

@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, direct_membership: bool, enterprise_teams_providing_indirect_membership: [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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, direct_membership: bool, enterprise_teams_providing_indirect_membership: [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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, permissions: map{can_create_repository: bool}}
@errors {403, 404, 422}

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

@endpoint POST /user/migrations
@required {repositories: [str]}
@optional {lock_repositories: bool, exclude_metadata: bool, exclude_git_data: bool, exclude_attachments: bool, exclude_releases: bool, exclude_owner_projects: bool, org_metadata_only: bool=false, exclude: [str]}
@returns(201) {id: int(int64), owner: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, guid: str, state: str, lock_repositories: bool, exclude_metadata: bool, exclude_git_data: bool, exclude_attachments: bool, exclude_releases: bool, exclude_owner_projects: bool, org_metadata_only: bool, repositories: [map], url: str(uri), created_at: str(date-time), updated_at: str(date-time), node_id: str, archive_url: str(uri), exclude: [str]}
@errors {304, 401, 403, 422}

@endpoint GET /user/migrations/{migration_id}
@required {migration_id: int}
@optional {exclude: [str]}
@returns(200) {id: int(int64), owner: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, guid: str, state: str, lock_repositories: bool, exclude_metadata: bool, exclude_git_data: bool, exclude_attachments: bool, exclude_releases: bool, exclude_owner_projects: bool, org_metadata_only: bool, repositories: [map], url: str(uri), created_at: str(date-time), updated_at: str(date-time), node_id: str, archive_url: str(uri), exclude: [str]}
@errors {304, 401, 403, 404}

@endpoint GET /user/migrations/{migration_id}/archive
@required {migration_id: int}
@errors {302, 304, 401, 403}

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

@endpoint DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock
@required {migration_id: int, repo_name: str}
@returns(204)
@errors {304, 401, 403, 404}

@endpoint GET /user/migrations/{migration_id}/repositories
@required {migration_id: int}
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {404}

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

@endpoint GET /user/packages
@required {package_type: str(npm/maven/rubygems/docker/nuget/container)}
@optional {visibility: str(public/private/internal), page: int=1, per_page: int=30}
@returns(200)
@errors {400}

@endpoint GET /user/packages/{package_type}/{package_name}
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str}
@returns(200) {id: int, name: str, package_type: str, url: str, html_url: str, version_count: int, visibility: str, owner: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map?{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, created_at: str(date-time), updated_at: str(date-time)}

@endpoint DELETE /user/packages/{package_type}/{package_name}
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /user/packages/{package_type}/{package_name}/restore
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str}
@optional {token: str}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /user/packages/{package_type}/{package_name}/versions
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str}
@optional {page: int=1, per_page: int=30, state: str(active/deleted)=active}
@returns(200)
@errors {401, 403, 404}

@endpoint GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, package_version_id: int}
@returns(200) {id: int, name: str, url: str, package_html_url: str, html_url: str, license: str, description: str, created_at: str(date-time), updated_at: str(date-time), deleted_at: str(date-time), metadata: map{package_type: str, container: map{tags: [str]}, docker: map{tag: [str]}}}

@endpoint DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, package_version_id: int}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, package_version_id: int}
@returns(204)
@errors {401, 403, 404}

@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(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_forking: bool, web_commit_signoff_required: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, parent: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, source: map{id: int(int64), 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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, temp_clone_token: str, allow_squash_merge: bool, allow_auto_merge: bool, delete_branch_on_merge: bool, allow_update_branch: bool, use_squash_pr_title_as_default: bool, squash_merge_commit_title: str, squash_merge_commit_message: str, merge_commit_title: str, merge_commit_message: str, allow_merge_commit: bool, allow_forking: bool, web_commit_signoff_required: bool, open_issues: int, watchers: int, master_branch: str, starred_at: str, anonymous_access_enabled: bool, code_search_index_status: map{lexical_search_ok: bool, lexical_commit_sha: str}}, 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}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}
@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/social_accounts
@optional {per_page: int=30, page: int=1}
@returns(200)
@errors {304, 401, 403, 404}

@endpoint POST /user/social_accounts
@required {account_urls: [str]}
@returns(201)
@errors {304, 401, 403, 404, 422}

@endpoint DELETE /user/social_accounts
@required {account_urls: [str]}
@returns(204)
@errors {304, 401, 403, 404, 422}

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

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

@endpoint GET /user/ssh_signing_keys/{ssh_signing_key_id}
@required {ssh_signing_key_id: int}
@returns(200) {key: str, id: int, title: str, created_at: str(date-time)}
@errors {304, 401, 403, 404}

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

@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}

@endpoint GET /user/{account_id}
@required {account_id: int}
@returns(200)
@errors {404}

@endpoint POST /user/{user_id}/projectsV2/{project_number}/drafts
@required {user_id: str, project_number: int, title: str}
@optional {body: str}
@returns(201) {id: num, node_id: str, content: any, content_type: str, creator: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, created_at: str(date-time), updated_at: str(date-time), archived_at: str(date-time)?, project_url: str(uri), item_url: str(uri)}
@errors {304, 401, 403}

@endgroup

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

@endpoint POST /users/{user_id}/projectsV2/{project_number}/views
@required {user_id: str, project_number: int, name: str, layout: str(table/board/roadmap)}
@optional {filter: str, visible_fields: [int]}
@returns(201) {id: int, number: int, name: str, layout: str, node_id: str, project_url: str, html_url: str(uri), creator: any, created_at: str(date-time), updated_at: str(date-time), filter: str?, visible_fields: [int], sort_by: [[any]], group_by: [int], vertical_group_by: [int]}
@errors {304, 401, 403, 404, 422, 503}

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

@endpoint POST /users/{username}/attestations/bulk-list
@required {username: str, subject_digests: [str]}
@optional {per_page: int=30, before: str, after: str, predicate_type: str}
@returns(200) {attestations_subject_digests: map, page_info: map{has_next: bool, has_previous: bool, next: str, previous: str}}

@endpoint POST /users/{username}/attestations/delete-request
@required {username: str}
@returns(200)
@errors {404}

@endpoint DELETE /users/{username}/attestations/digest/{subject_digest}
@required {username: str, subject_digest: str}
@returns(200)
@returns(204)
@errors {404}

@endpoint DELETE /users/{username}/attestations/{attestation_id}
@required {username: str, attestation_id: int}
@returns(200)
@returns(204)
@errors {403, 404}

@endpoint GET /users/{username}/attestations/{subject_digest}
@required {username: str, subject_digest: str}
@optional {per_page: int=30, before: str, after: str, predicate_type: str}
@returns(200) {attestations: [map]}
@returns(201)
@returns(204)
@errors {404}

@endpoint GET /users/{username}/docker/conflicts
@required {username: str}
@returns(200)
@errors {401, 403}

@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, client_id: str, target_id: int, target_type: str, permissions: map{actions: str, administration: str, artifact_metadata: str, attestations: str, checks: str, codespaces: str, contents: str, dependabot_secrets: str, deployments: str, discussions: str, environments: str, issues: str, merge_queues: str, metadata: str, packages: str, pages: str, pull_requests: str, repository_custom_properties: 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, custom_properties_for_organizations: str, members: str, organization_administration: str, organization_custom_roles: str, organization_custom_org_roles: str, organization_custom_properties: str, organization_copilot_seat_management: str, organization_copilot_agent_settings: str, organization_announcement_banners: str, organization_events: str, organization_hooks: str, organization_personal_access_tokens: str, organization_personal_access_token_requests: str, organization_plan: str, organization_projects: str, organization_packages: str, organization_secrets: str, organization_self_hosted_runners: str, organization_user_blocking: str, email_addresses: str, followers: str, git_ssh_keys: str, gpg_keys: str, interaction_limits: str, profile: str, starring: str, enterprise_custom_properties_for_organizations: 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(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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}/packages
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), username: str}
@optional {visibility: str(public/private/internal), page: int=1, per_page: int=30}
@returns(200)
@errors {400, 401, 403}

@endpoint GET /users/{username}/packages/{package_type}/{package_name}
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, username: str}
@returns(200) {id: int, name: str, package_type: str, url: str, html_url: str, version_count: int, visibility: str, owner: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, repository: map?{id: int(int64), node_id: str, name: str, full_name: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: 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, has_discussions: bool, has_pull_requests: bool, pull_request_creation_policy: str, 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}, role_name: str, 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, web_commit_signoff_required: bool, security_and_analysis: map?{advanced_security: map{status: str}, code_security: map{status: str}, dependabot_security_updates: map{status: str}, secret_scanning: map{status: str}, secret_scanning_push_protection: map{status: str}, secret_scanning_non_provider_patterns: map{status: str}, secret_scanning_ai_detection: map{status: str}, secret_scanning_delegated_alert_dismissal: map{status: str}, secret_scanning_delegated_bypass: map{status: str}, secret_scanning_delegated_bypass_options: map{reviewers: [map]}}, custom_properties: map}, created_at: str(date-time), updated_at: str(date-time)}

@endpoint DELETE /users/{username}/packages/{package_type}/{package_name}
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, username: str}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /users/{username}/packages/{package_type}/{package_name}/restore
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, username: str}
@optional {token: str}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /users/{username}/packages/{package_type}/{package_name}/versions
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, username: str}
@returns(200)
@errors {401, 403, 404}

@endpoint GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, package_version_id: int, username: str}
@returns(200) {id: int, name: str, url: str, package_html_url: str, html_url: str, license: str, description: str, created_at: str(date-time), updated_at: str(date-time), deleted_at: str(date-time), metadata: map{package_type: str, container: map{tags: [str]}, docker: map{tag: [str]}}}

@endpoint DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, username: str, package_version_id: int}
@returns(204)
@errors {401, 403, 404}

@endpoint POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore
@required {package_type: str(npm/maven/rubygems/docker/nuget/container), package_name: str, username: str, package_version_id: int}
@returns(204)
@errors {401, 403, 404}

@endpoint GET /users/{username}/projectsV2
@required {username: str}
@optional {q: str, before: str, after: str, per_page: int=30}
@returns(200)
@errors {304, 401, 403}

@endpoint GET /users/{username}/projectsV2/{project_number}
@required {project_number: int, username: str}
@returns(200) {id: num, node_id: str, owner: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, creator: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, title: str, description: str?, public: bool, closed_at: str(date-time)?, created_at: str(date-time), updated_at: str(date-time), number: int, short_description: str?, deleted_at: str(date-time)?, deleted_by: map?{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, state: str, latest_status_update: map?{id: num, node_id: str, project_node_id: str, creator: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, created_at: str(date-time), updated_at: str(date-time), status: str?, start_date: str(date), target_date: str(date), body: str?}, is_template: bool}
@errors {304, 401, 403}

@endpoint GET /users/{username}/projectsV2/{project_number}/fields
@required {project_number: int, username: str}
@optional {per_page: int=30, before: str, after: str}
@returns(200)
@errors {304, 401, 403}

@endpoint POST /users/{username}/projectsV2/{project_number}/fields
@required {username: str, project_number: int}
@returns(201) {id: int, issue_field_id: int, node_id: str, project_url: str, name: str, data_type: str, options: [map], configuration: map{start_day: int, duration: int, iterations: [map]}, created_at: str(date-time), updated_at: str(date-time)}
@errors {304, 401, 403, 422}

@endpoint GET /users/{username}/projectsV2/{project_number}/fields/{field_id}
@required {project_number: int, field_id: int, username: str}
@returns(200) {id: int, issue_field_id: int, node_id: str, project_url: str, name: str, data_type: str, options: [map], configuration: map{start_day: int, duration: int, iterations: [map]}, created_at: str(date-time), updated_at: str(date-time)}
@errors {304, 401, 403}

@endpoint GET /users/{username}/projectsV2/{project_number}/items
@required {project_number: int, username: str}
@optional {before: str, after: str, per_page: int=30, q: str, fields: any}
@returns(200)
@errors {304, 401, 403}

@endpoint POST /users/{username}/projectsV2/{project_number}/items
@required {username: str, project_number: int, type: str(Issue/PullRequest)}
@optional {id: int, owner: str, repo: str, number: int}
@returns(201) {id: num, node_id: str, content: any, content_type: str, creator: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, created_at: str(date-time), updated_at: str(date-time), archived_at: str(date-time)?, project_url: str(uri), item_url: str(uri)}
@errors {304, 401, 403}

@endpoint GET /users/{username}/projectsV2/{project_number}/items/{item_id}
@required {project_number: int, username: str, item_id: int}
@optional {fields: any}
@returns(200) {id: num, node_id: str, project_url: str(uri), content_type: str, content: map?, creator: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, created_at: str(date-time), updated_at: str(date-time), archived_at: str(date-time)?, item_url: str(uri)?, fields: [map]}
@errors {304, 401, 403}

@endpoint PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}
@required {project_number: int, username: str, item_id: int, fields: [map{id!: int, value!: any}]}
@returns(200) {id: num, node_id: str, project_url: str(uri), content_type: str, content: map?, creator: map{name: str?, email: str?, login: str, id: int(int64), node_id: str, avatar_url: str(uri), gravatar_id: str?, url: str(uri), html_url: str(uri), followers_url: str(uri), following_url: str, gists_url: str, starred_url: str, subscriptions_url: str(uri), organizations_url: str(uri), repos_url: str(uri), events_url: str, received_events_url: str(uri), type: str, site_admin: bool, starred_at: str, user_view_type: str}, created_at: str(date-time), updated_at: str(date-time), archived_at: str(date-time)?, item_url: str(uri)?, fields: [map]}
@errors {401, 403, 404, 422}

@endpoint DELETE /users/{username}/projectsV2/{project_number}/items/{item_id}
@required {project_number: int, username: str, item_id: int}
@returns(204)
@errors {401, 403}

@endpoint GET /users/{username}/projectsV2/{project_number}/views/{view_number}/items
@required {project_number: int, username: str, view_number: int}
@optional {fields: any, before: str, after: str, per_page: int=30}
@returns(200)
@errors {304, 401, 403, 404}

@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 GET /users/{username}/settings/billing/premium_request/usage
@required {username: str}
@optional {year: int, month: int, day: int, model: str, product: str}
@returns(200) {timePeriod: map{year: int, month: int, day: int}, user: str, product: str, model: str, usageItems: [map]}
@errors {400, 403, 404, 500, 503}

@endpoint GET /users/{username}/settings/billing/usage
@required {username: str}
@optional {year: int, month: int, day: int}
@returns(200) {usageItems: [map]}
@errors {400, 403, 500, 503}

@endpoint GET /users/{username}/settings/billing/usage/summary
@required {username: str}
@optional {year: int, month: int, day: int, repository: str, product: str, sku: str}
@returns(200) {timePeriod: map{year: int, month: int, day: int}, user: str, repository: str, product: str, sku: str, usageItems: [map]}
@errors {400, 403, 404, 500, 503}

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

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

@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)

@endgroup

@group versions
@endpoint GET /versions
@returns(200)
@errors {404}

@endgroup

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

@endgroup

@end
