/
gitverse
/
rest-api-description
Обзор
Документация
Войти
/
gitverse
/
rest-api-description
Код
Запросы
0
Задачи
0
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
v1/openapi-1.0.json
7 998 строк
281 KB
Alexey Shibanov Alexey Shibanov Alexey Shibanov Alexey Shibanov Alexey Shibanov Alexey Shibanov Alex
update v1/openapi-1.0.json update schemes to https and host
23 окт 2025, 13:59
4eeb8c7
О чём код?
{ "schemes": ["https"], "swagger": "2.0", "info": { "description": "Documentation for the GitVerse public API", "title": "GitVerse Public API", "contact": {}, "version": "1.0.0" }, "host": "api.gitverse.ru", "basePath": "", "paths": { "/orgs/{org}/actions/runners": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieves a list of self-hosted runners configured for the specified organization. Supports pagination. Only users with read access to the organization can view the runners.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Runners" ], "summary": "Returns a list of self-hosted runners for an organization", "parameters": [ { "type": "string", "description": "The organization name", "name": "org", "in": "path", "required": true }, { "type": "integer", "default": 1, "description": "Page number (starting from 1)", "name": "page", "in": "query" }, { "type": "integer", "default": 30, "description": "Number of results per page (maximum 50)", "name": "per_page", "in": "query" } ], "responses": { "200": { "description": "List of organization runners successfully retrieved", "schema": { "$ref": "#/definitions/response.ActionRunners" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Organization not found" }, "500": { "description": "Internal Server Error" } } } }, "/orgs/{org}/actions/runners/registration-token": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Generates a temporary token that can be used to register a new self-hosted runner for the organization. Only users with admin privileges to the organization can create a token.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Runners" ], "summary": "Creates a registration token for an organization runner", "parameters": [ { "type": "string", "description": "The organization name", "name": "org", "in": "path", "required": true } ], "responses": { "201": { "description": "Registration token successfully created", "schema": { "$ref": "#/definitions/response.RegistrationToken" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Organization not found" }, "500": { "description": "Internal Server Error" } } } }, "/orgs/{org}/actions/runners/{runner_id}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieves detailed information about a self-hosted runner configured for the organization by its ID. Only users with read access to the organization can view runner details.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Runners" ], "summary": "Gets a specific self-hosted runner for an organization", "parameters": [ { "type": "string", "description": "The organization name", "name": "org", "in": "path", "required": true }, { "type": "integer", "description": "Unique identifier of the runner", "name": "runner_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Runner details successfully retrieved", "schema": { "$ref": "#/definitions/response.ActionRunner" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Organization or runner not found" }, "500": { "description": "Internal Server Error" } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Removes a self-hosted runner from the organization by its ID. The runner will no longer be available for job assignments. Only users with admin privileges to the organization can delete a runner.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Runners" ], "summary": "Deletes a specific self-hosted runner from the organization", "parameters": [ { "type": "string", "description": "The organization name", "name": "org", "in": "path", "required": true }, { "type": "integer", "description": "Unique identifier of the runner", "name": "runner_id", "in": "path", "required": true } ], "responses": { "204": { "description": "No Content\" \"Runner successfully deleted" }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Organization or runner not found" }, "500": { "description": "Internal Server Error" } } } }, "/orgs/{org}/actions/secrets": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Gets a list of organization secrets", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Organization" ], "summary": "Gets a list of organization secrets", "parameters": [ { "type": "string", "description": "Organization name", "name": "org", "in": "path", "required": true }, { "type": "string", "default": "30", "description": "Secrets per page", "name": "per_page", "in": "query" }, { "type": "string", "default": "1", "description": "Page number", "name": "page", "in": "query" } ], "responses": { "200": { "description": "Ok", "schema": { "$ref": "#/definitions/response.SecretList" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } } }, "/orgs/{org}/actions/secrets/{secretname}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Gets the metadata of a secret (without value) in an organization", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Organization" ], "summary": "Gets the metadata of a secret (without value) in an organization", "parameters": [ { "type": "string", "description": "Organization name", "name": "org", "in": "path", "required": true }, { "type": "string", "description": "Secret name", "name": "secretname", "in": "path", "required": true } ], "responses": { "200": { "description": "Ok", "schema": { "$ref": "#/definitions/response.Secret" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Creates or updates a secret in the organization, without encryption", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Organization" ], "summary": "Creates or updates a secret in the organization, without encryption", "parameters": [ { "type": "string", "description": "Organization name", "name": "org", "in": "path", "required": true }, { "type": "string", "description": "Secret name", "name": "secretname", "in": "path", "required": true }, { "type": "string", "description": "Encrypted secret value", "name": "encrypted_value", "in": "query", "required": true } ], "responses": { "201": { "description": "Ok", "schema": { "$ref": "#/definitions/response.Secret" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Removes a secret from an organization", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Organization" ], "summary": "Removes a secret from an organization", "parameters": [ { "type": "string", "description": "Organization name", "name": "org", "in": "path", "required": true }, { "type": "string", "description": "Secret name", "name": "secretname", "in": "path", "required": true } ], "responses": { "204": { "description": "No content" }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } } }, "/orgs/{org}/actions/variables": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Lists all organization variables.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Actions", "Organization" ], "summary": "List organization variables", "parameters": [ { "type": "string", "description": "The organization name", "name": "org", "in": "path", "required": true }, { "type": "integer", "description": "The number of results per page", "name": "per_page", "in": "query" }, { "type": "integer", "description": "The page number of the results to fetch", "name": "page", "in": "query" } ], "responses": { "200": { "description": "Ok", "schema": { "$ref": "#/definitions/response.VariableList" } }, "500": { "description": "Internal server error" } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Creates a variable in an organization.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Actions", "Organization" ], "summary": "Create an organization variable", "parameters": [ { "type": "string", "description": "The organization name", "name": "org", "in": "path", "required": true }, { "description": "The request body", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.CreateVariable" } } ], "responses": { "201": { "description": "Created" }, "400": { "description": "Bad request" }, "409": { "description": "Conflict" }, "500": { "description": "Internal server error" } } } }, "/orgs/{org}/actions/variables/{name}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Gets a specific variable in an organization.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Actions", "Organization" ], "summary": "Get an organization variable", "parameters": [ { "type": "string", "description": "The organization name", "name": "org", "in": "path", "required": true }, { "type": "string", "description": "The name of the variable", "name": "name", "in": "path", "required": true } ], "responses": { "200": { "description": "Ok", "schema": { "$ref": "#/definitions/response.Variable" } }, "500": { "description": "Internal server error" } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Deletes an organization variable using the variable name.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Actions", "Organization" ], "summary": "Delete an organization variable", "parameters": [ { "type": "string", "description": "The organization name", "name": "org", "in": "path", "required": true }, { "type": "string", "description": "The name of the variable", "name": "name", "in": "path", "required": true } ], "responses": { "204": { "description": "No content" }, "400": { "description": "Bad request" }, "404": { "description": "Not Found" }, "500": { "description": "Internal server error" } } }, "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "Updates an organization variable", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Actions", "Organization" ], "summary": "Update an organization variable", "parameters": [ { "type": "string", "description": "The organization name", "name": "org", "in": "path", "required": true }, { "type": "string", "description": "The name of the variable", "name": "name", "in": "path", "required": true }, { "description": "The request body", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.CreateVariable" } } ], "responses": { "204": { "description": "No content" }, "400": { "description": "Bad request" }, "409": { "description": "Conflict" }, "500": { "description": "Internal server error" } } } }, "/orgs/{org}/members/{username}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Check if a user is, publicly or privately, a member of the organization.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Organization" ], "summary": "Check organization membership for a user", "parameters": [ { "type": "string", "description": "The organization name.", "name": "org", "in": "path", "required": true }, { "type": "string", "description": "Username of the member to check.", "name": "username", "in": "path", "required": true } ], "responses": { "204": { "description": "User is an organization member" }, "302": { "description": "User is not an organization member" }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "404": { "description": "Not Found" } } } }, "/orgs/{org}/teams": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Lists all teams in an organization that are visible to the authenticated user.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Teams" ], "summary": "Lists teams", "parameters": [ { "type": "string", "description": "The organization name.", "name": "org", "in": "path", "required": true }, { "type": "integer", "description": "The page number of the results to fetch.", "name": "page", "in": "query" }, { "type": "integer", "description": "The number of results per page.", "name": "per_page", "in": "query" } ], "responses": { "200": { "description": "Ok", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.Team" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/orgs/{org}/teams/{team}/invitations": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "List pending team invitations.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Teams" ], "summary": "List pending team invitations", "parameters": [ { "type": "string", "description": "The organization name.", "name": "org", "in": "path", "required": true }, { "type": "string", "description": "The slug of the team name.", "name": "team", "in": "path", "required": true }, { "type": "integer", "description": "The page number of the results to fetch.", "name": "page", "in": "query" }, { "type": "integer", "description": "The number of results per page.", "name": "per_page", "in": "query" } ], "responses": { "200": { "description": "Ok", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.TeamInvite" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/orgs/{org}/teams/{team}/members": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Team members will include the members of child teams.\nTo list members in a team, the team must be visible to the authenticated user.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Teams" ], "summary": "Lists team members", "parameters": [ { "type": "string", "description": "The organization name.", "name": "org", "in": "path", "required": true }, { "type": "string", "description": "The slug of the team name.", "name": "team", "in": "path", "required": true }, { "type": "integer", "description": "The page number of the results to fetch.", "name": "page", "in": "query" }, { "type": "integer", "description": "The number of results per page.", "name": "per_page", "in": "query" } ], "responses": { "200": { "description": "Ok", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.User" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/orgs/{org}/teams/{team}/repos/{owner}/{repo}": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Add or update team repository permissions.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Teams" ], "summary": "Add or update team repository permissions", "parameters": [ { "type": "string", "description": "The organization name.", "name": "org", "in": "path", "required": true }, { "type": "string", "description": "The slug of the team name.", "name": "team", "in": "path", "required": true }, { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "description": "New repository permissions", "name": "permission", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.TeamRepoPermissions" } } ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/repos/{owner}/{repo}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Get repository details via Public API.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Get repository details", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true } ], "responses": { "200": { "description": "Repository details", "schema": { "$ref": "#/definitions/response.Repository" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Delete repository via Public API.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Delete repository", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true } ], "responses": { "204": { "description": "Repository deleted successfully" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "409": { "description": "Conflict" }, "500": { "description": "Request error" } } }, "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "Update repository settings via Public API.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Update repository", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "description": "New repository settings", "name": "updateDTO", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.RepositoryUpdateDTO" } } ], "responses": { "200": { "description": "Repository details", "schema": { "$ref": "#/definitions/response.Repository" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" } } } }, "/repos/{owner}/{repo}/actions/artifacts": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Returns a list of artifacts (e.g. build outputs, packages, or deployment files) for the specified repository. Supports pagination. Only users with read access to the repository can view the artifacts.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Artifacts" ], "summary": "Returns a list of artifacts in the repository", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "integer", "default": 1, "description": "Page number (starting from 1)", "name": "page", "in": "query" }, { "type": "integer", "description": "Number of results per page (maximum 50)", "name": "per_page", "in": "query" }, { "type": "string", "description": "The name field of an artifact. When specified, only artifacts with this name will be returned.", "name": "name", "in": "query" } ], "responses": { "200": { "description": "List of artifacts successfully retrieved", "schema": { "$ref": "#/definitions/response.ActionArtifactList" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieves detailed information about a specific artifact by its ID. Only users with read access to the repository can view the artifact.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Artifacts" ], "summary": "Returns a specific artifact from the repository", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Identifier of the artifact", "name": "artifact_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Artifact successfully retrieved", "schema": { "$ref": "#/definitions/response.ActionArtifact" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Deletes an artifact by its ID. Only users with write access to the repository can delete artifacts.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Artifacts" ], "summary": "Deletes a specific artifact", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Identifier of the artifact", "name": "artifact_id", "in": "path", "required": true } ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/zip": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Redirects to a pre-signed URL where the artifact (as a ZIP archive) can be downloaded. Only users with read access to the repository can download artifacts.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Artifacts" ], "summary": "Downloads a specific artifact as a ZIP archive", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Identifier of the artifact", "name": "artifact_id", "in": "path", "required": true } ], "responses": { "302": { "description": "HTML body with link to download URL (for GET)", "schema": { "type": "string" }, "headers": { "Content-Type": { "type": "string", "description": "text/html; charset=utf-8" }, "Location": { "type": "string", "description": "Pre-signed URL to download the ZIP archive" } } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Artifact or repository not found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/actions/artifacts/{artifact_id}/zip/raw": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Returns the artifact as a ZIP archive in the response body. This endpoint serves the raw binary content and can be used for direct downloads. Only users with read access to the repository can download the artifact.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Artifacts" ], "summary": "Downloads the artifact ZIP archive directly", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Identifier of the artifact", "name": "artifact_id", "in": "path", "required": true } ], "responses": { "200": { "description": "ZIP archive of the artifact", "schema": { "type": "string" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Artifact or repository not found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/actions/runners": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieves a list of self-hosted runners configured for the specified repository. Supports pagination. Only users with read access to the repository can view the runners.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Runners" ], "summary": "Returns a list of runners for the repository", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "integer", "default": 1, "description": "Page number (starting from 1)", "name": "page", "in": "query" }, { "type": "integer", "default": 30, "description": "Number of results per page (maximum 50)", "name": "per_page", "in": "query" } ], "responses": { "200": { "description": "List of runners successfully retrieved", "schema": { "$ref": "#/definitions/response.ActionRunners" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Repository not found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/actions/runners/registration-token": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Generates a temporary token that can be used to register a new self-hosted runner for the repository. Only users with admin privileges to the repository can create a token.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Runners" ], "summary": "Creates a registration token for a repository runner", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true } ], "responses": { "201": { "description": "Registration token successfully created", "schema": { "$ref": "#/definitions/response.RegistrationToken" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Repository not found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/actions/runners/{runner_id}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieves detailed information about a self-hosted runner configured for the repository by its ID. Only users with read access to the repository can view runner details.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Runners" ], "summary": "Gets a specific runner for a repository", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "integer", "description": "Unique identifier of the runner", "name": "runner_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Runner details successfully retrieved", "schema": { "$ref": "#/definitions/response.ActionRunner" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Runner not found or repository access denied" }, "500": { "description": "Internal Server Error" } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Removes a self-hosted runner from the repository by its ID. The runner will no longer be available for job assignments. Only users with admin privileges to the repository can delete a runner.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Runners" ], "summary": "Deletes a specific self-hosted runner from the repository", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "integer", "description": "Unique identifier of the runner", "name": "runner_id", "in": "path", "required": true } ], "responses": { "204": { "description": "No Content\" \"Runner successfully deleted" }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Runner not found or repository access denied" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/actions/secrets": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Gets a list of repository secrets", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Gets a list of repository secrets", "parameters": [ { "type": "string", "description": "Owner name", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "string", "default": "30", "description": "Secrets per page", "name": "per_page", "in": "query" }, { "type": "string", "default": "1", "description": "Page number", "name": "page", "in": "query" } ], "responses": { "200": { "description": "Ok", "schema": { "$ref": "#/definitions/response.SecretList" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/actions/secrets/{secretname}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Gets secrets metadata (without values) in repositories.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Gets secrets metadata (without values) in repositories.", "parameters": [ { "type": "string", "description": "Owner name", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Secret name", "name": "secretname", "in": "path", "required": true } ], "responses": { "200": { "description": "Ok", "schema": { "$ref": "#/definitions/response.Secret" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Creates or updates a secret in the repository, without encryption", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Creates or updates a secret in the repository, without encryption", "parameters": [ { "type": "string", "description": "Owner name", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Secret name", "name": "secretname", "in": "path", "required": true }, { "type": "string", "description": "Encrypted secret value", "name": "encrypted_value", "in": "query", "required": true } ], "responses": { "201": { "description": "Ok", "schema": { "$ref": "#/definitions/response.Secret" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Removes a secret from the repository", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Removes a secret from the repository", "parameters": [ { "type": "string", "description": "Owner name", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Secret name", "name": "secretname", "in": "path", "required": true } ], "responses": { "204": { "description": "No content" }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/actions/variables": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Lists all repository variables.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Actions", "Repositories" ], "summary": "List repository variables", "parameters": [ { "type": "string", "description": "The account owner of the repository", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "The name of the repository", "name": "repo", "in": "path", "required": true }, { "type": "integer", "description": "The number of results per page", "name": "per_page", "in": "query" }, { "type": "integer", "description": "The page number of the results to fetch", "name": "page", "in": "query" } ], "responses": { "200": { "description": "Ok", "schema": { "$ref": "#/definitions/response.VariableList" } }, "500": { "description": "Internal server error" } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Creates a repository variable", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Actions", "Repositories" ], "summary": "Create a repository variable", "parameters": [ { "type": "string", "description": "The account owner of the repository", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "The name of the repository", "name": "repo", "in": "path", "required": true }, { "description": "The request body", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.CreateVariable" } } ], "responses": { "201": { "description": "Created" }, "400": { "description": "Bad request" }, "409": { "description": "Conflict" }, "500": { "description": "Internal server error" } } } }, "/repos/{owner}/{repo}/actions/variables/{name}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Gets a specific variable in a repository.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Actions", "Repositories" ], "summary": "Get a repository variable", "parameters": [ { "type": "string", "description": "The account owner of the repository", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "The name of the repository", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "The name of the variable", "name": "name", "in": "path", "required": true } ], "responses": { "200": { "description": "Ok", "schema": { "$ref": "#/definitions/response.Variable" } }, "500": { "description": "Internal server error" } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Deletes a repository variable using the variable name.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Actions", "Repositories" ], "summary": "Delete a repository variable", "parameters": [ { "type": "string", "description": "The account owner of the repository", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "The name of the repository", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "The name of the variable", "name": "name", "in": "path", "required": true } ], "responses": { "204": { "description": "No content" }, "400": { "description": "Bad request" }, "404": { "description": "Not Found" }, "500": { "description": "Internal server error" } } }, "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "Updates a repository variable", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Actions", "Repositories" ], "summary": "Update a repository variable", "parameters": [ { "type": "string", "description": "The account owner of the repository", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "The name of the repository", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "The name of the variable", "name": "name", "in": "path", "required": true }, { "description": "The request body", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.CreateVariable" } } ], "responses": { "204": { "description": "No content" }, "400": { "description": "Bad request" }, "409": { "description": "Conflict" }, "500": { "description": "Internal server error" } } } }, "/repos/{owner}/{repo}/actions/workflows/{workflow}/dispatches": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Returns the list of input parameters required to trigger workflow_dispatch for the specified workflow", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Actions", "Repositories" ], "summary": "Get workflow_dispatch parameters", "parameters": [ { "type": "string", "description": "Repository owner owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Workflow name filter", "name": "workflow", "in": "path", "required": true }, { "type": "string", "description": "Branch name", "name": "branch", "in": "query" }, { "type": "string", "description": "Tag name", "name": "tag", "in": "query" } ], "responses": { "200": { "description": "Ok", "schema": { "$ref": "#/definitions/response.WorkflowDispatchInputList" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "406": { "description": "Not Acceptable" }, "500": { "description": "Internal server error" } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Triggers a workflow via workflow_dispatch event with specified parameters", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Actions", "Repositories" ], "summary": "Trigger workflow_dispatch", "parameters": [ { "type": "string", "description": "Repository owner owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Workflow filename", "name": "workflow", "in": "path", "required": true }, { "type": "string", "description": "Branch name", "name": "branch", "in": "query" }, { "type": "string", "description": "Tag name", "name": "tag", "in": "query" }, { "description": "Output parameters for workflow dispatch. Key - input parameter name, Value - input parameter value", "name": "inputs", "in": "body", "required": true, "schema": { "$ref": "#/definitions/v1.workflowDispatchInputs" } } ], "responses": { "204": { "description": "No content" }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "406": { "description": "Not acceptable" }, "500": { "description": "Internal server error" } } } }, "/repos/{owner}/{repo}/branches": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieve paginated list of branches for the specified repository, with optional name filtering", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "List repository branches", "parameters": [ { "type": "string", "description": "Owner of the repository (username or organization)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without .git extension", "name": "repo", "in": "path", "required": true }, { "type": "integer", "description": "The page number of the results to fetch", "name": "page", "in": "query" }, { "type": "integer", "description": "The number of results per page", "name": "per_page", "in": "query" }, { "type": "string", "description": "Filter branches by name containing this string", "name": "q", "in": "query" } ], "responses": { "200": { "description": "List of repository branches", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.Branch" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/collaborators": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "List repository collaborators via Public API.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "List repository collaborators", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "string", "default": "all", "description": "Filter collaborators returned by their affiliation.", "name": "affiliation", "in": "query" }, { "type": "string", "description": "Filter collaborators by the permissions they have on the repository.", "name": "permission", "in": "query" }, { "type": "integer", "description": "The page number of the results to fetch.", "name": "page", "in": "query" }, { "type": "integer", "description": "The number of results per page.", "name": "per_page", "in": "query" } ], "responses": { "200": { "description": "Repository details", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.Collaborator" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/repos/{owner}/{repo}/collaborators/{collaborator}": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Add a new collaborator to the repository or update their permission level", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Add or update repository collaborator", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Username of the collaborator to add or update", "name": "collaborator", "in": "path", "required": true }, { "description": "Collaborator permission settings", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.AddCollaboratorOption" } } ], "responses": { "201": { "description": "Invitation created or updated successfully", "schema": { "$ref": "#/definitions/response.CollaboratorInvitation" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/commits": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Returns a list of commits with the ability to filter by various parameters.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Retrieve a list of repository commits", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "integer", "default": 1, "description": "Page number (starting from 1)", "name": "page", "in": "query" }, { "type": "integer", "description": "Number of results per page (maximum 50)", "name": "per_page", "in": "query" }, { "type": "string", "description": "Commit hash or branch/tag name for searching", "name": "sha", "in": "query" }, { "type": "string", "description": "Filter by path in the repository", "name": "path", "in": "query" }, { "type": "string", "description": "Exclude commits containing the specified pattern", "name": "not", "in": "query" }, { "type": "string", "description": "Filter by commit author", "name": "author", "in": "query" }, { "type": "string", "description": "Filter by committer", "name": "committer", "in": "query" }, { "type": "string", "description": "Filter commits after the specified date (ISO 8601 format in UTC)", "name": "since", "in": "query" }, { "type": "string", "description": "Filter commits before the specified date (ISO 8601 format in UTC)", "name": "until", "in": "query" } ], "responses": { "200": { "description": "Ok", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.CommitResponse" } } }, "400": { "description": "Bad Request" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/commits/{sha}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Returns complete information about a commit, including change statistics and a list of files.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Retrieve commit information", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Commit hash", "name": "sha", "in": "path", "required": true } ], "responses": { "200": { "description": "Ok", "schema": { "$ref": "#/definitions/response.CommitResponse" } }, "400": { "description": "Bad Request" }, "404": { "description": "Not Found" }, "409": { "description": "Conflict" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/compare/{basehead}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Returns the difference between two references (branches, tags, or commits) in the same or different repositories.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Compare two branches/tags/commits", "parameters": [ { "type": "string", "description": "Owner of the repository (username or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "References to compare in BASE...HEAD format (e.g., main...feature)", "name": "basehead", "in": "path", "required": true }, { "type": "integer", "description": "Page number (starting from 1)", "name": "page", "in": "query" }, { "type": "integer", "description": "Number of results per page (maximum 50)", "name": "per_page", "in": "query" } ], "responses": { "200": { "description": "Ok", "schema": { "$ref": "#/definitions/response.CompareResponse" } }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/contents/{filepath}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieve metadata for a file or list contents of a directory. Supports full or fast commit info and tag refs.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Get file or directory contents", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Path to file or directory in the repository", "name": "filepath", "in": "path", "required": true }, { "type": "string", "description": "The name of the commit/branch/tag. Defaults to repository default branch", "name": "ref", "in": "query" }, { "type": "string", "default": "fast", "description": "Level of commit info to return", "name": "scope", "in": "query" } ], "responses": { "200": { "description": "Full file/directory contents with complete commit info", "schema": { "type": "object" } }, "206": { "description": "Partial file/directory", "schema": { "type": "object" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "500": { "description": "Internal Server Error" } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Create a new file or update an existing file in the specified repository branch", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Create or update file in repository", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Path to the file in the repository", "name": "filepath", "in": "path", "required": true }, { "description": "File creation or update options, including base64 content, branch, message, etc.", "name": "options", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.CreateOrUpdateFileOptions" } } ], "responses": { "200": { "description": "File created or updated successfully", "schema": { "$ref": "#/definitions/response.CreateOrUpdateResponse" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Delete a file from the specified branch (or default branch if none provided) in the repository", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Delete file in repository", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Path to the file in the repository", "name": "filepath", "in": "path", "required": true }, { "description": "File deletion options, including SHA, branch, commit message, etc.", "name": "options", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.DeleteFileOptions" } } ], "responses": { "200": { "description": "File deleted successfully", "schema": { "$ref": "#/definitions/response.DeleteResponse" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/forks": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Create a fork of the specified repository under the authenticated user or an organization", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Fork a repository", "parameters": [ { "type": "string", "description": "Owner of the base repository", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the base repository", "name": "repo", "in": "path", "required": true }, { "description": "Fork options, including target name and organization", "name": "options", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.ForkRepo" } } ], "responses": { "202": { "description": "Fork creation accepted", "schema": { "$ref": "#/definitions/response.Repository" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/git/commits": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Creates a new Git commit object with the specified tree, message, and parentage. The commit becomes part of the repository's history.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Create a Git commit", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "description": "Parameters for creating the commit", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.CreateCommitOptions" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/response.CommitResponse" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/git/refs": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Creates a new branch (refs/heads/), tag (refs/tags/), or custom reference (refs/*/). Integrates with the task tracker for branches.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Create a Git reference", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "description": "Parameters for creating the reference", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.CreateReferenceOptions" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/response.Reference" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "409": { "description": "Conflict" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/git/trees": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Creates new Git tree using base tree and provided changes. Commit is not created.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Creates new Git tree", "parameters": [ { "type": "string", "description": "owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "repo", "name": "repo", "in": "path", "required": true }, { "description": "Параметры создания дерева", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.CreateRepoTreeOptions" } } ], "responses": { "201": { "description": "Created", "schema": { "$ref": "#/definitions/response.RepoTree" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/git/trees/{sha}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieve a paginated tree (file and directory structure) for a given commit SHA, with optional recursive listing", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Get repository tree by SHA", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Commit SHA to list tree for", "name": "sha", "in": "path", "required": true }, { "type": "integer", "description": "The page number of the results to fetch", "name": "page", "in": "query" }, { "type": "integer", "description": "The number of results per page", "name": "per_page", "in": "query" }, { "type": "boolean", "description": "Whether to recursively list subdirectories", "name": "recursive", "in": "query" } ], "responses": { "200": { "description": "Repository tree structure", "schema": { "$ref": "#/definitions/response.GitTreeResponse" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "409": { "description": "Conflict" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/issues": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieve filtered list of issues and pull requests for a repository with pagination and filtering options", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Issues" ], "summary": "List issues and pull requests", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "string", "default": "open", "description": "Filter by state", "name": "state", "in": "query" }, { "type": "string", "description": "Keyword to search in title and content", "name": "q", "in": "query" }, { "type": "string", "description": "Comma-separated label names to include or exclude (prefix with '-' to exclude)", "name": "labels", "in": "query" }, { "type": "string", "description": "Comma-separated milestone names or IDs to include", "name": "milestones", "in": "query" }, { "type": "string", "description": "Filter by creator user name", "name": "created_by", "in": "query" }, { "type": "string", "description": "Filter by assignee user name", "name": "assigned_by", "in": "query" }, { "type": "string", "description": "Filter by user mentioned in the issue or PR", "name": "mentioned_by", "in": "query" }, { "type": "string", "default": "issues", "description": "Filter by type", "name": "type", "in": "query" }, { "type": "string", "description": "Only fetch items updated after this time (RFC3339)", "name": "since", "in": "query" }, { "type": "string", "description": "Only fetch items updated before this time (RFC3339)", "name": "before", "in": "query" }, { "type": "integer", "description": "The page number of the results to fetch", "name": "page", "in": "query" }, { "type": "integer", "description": "The number of results per page", "name": "per_page", "in": "query" } ], "responses": { "200": { "description": "List of issues and pull requests", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.Issue" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/issues/comments/{id}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieve a single comment by its ID for a specific issue or pull request", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Issues" ], "summary": "Get a specific issue comment", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "integer", "description": "Comment ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Comment details", "schema": { "$ref": "#/definitions/response.Comment" } }, "204": { "description": "No Content" }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/issues/{index}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieve details of a specific issue or pull request by index", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Issues" ], "summary": "Get issue or pull request", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "integer", "description": "Issue or pull request index in the repository", "name": "index", "in": "path", "required": true } ], "responses": { "200": { "description": "Issue or pull request details", "schema": { "$ref": "#/definitions/response.Issue" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/issues/{index}/comments": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieve comments for a specific issue or pull request with pagination support", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Issues" ], "summary": "List issue comments", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "integer", "description": "Issue or pull request index in the repository", "name": "index", "in": "path", "required": true }, { "type": "string", "description": "Only fetch comments after this time (RFC3339)", "name": "since", "in": "query" }, { "type": "string", "description": "Only fetch comments before this time (RFC3339)", "name": "before", "in": "query" } ], "responses": { "200": { "description": "List of issue comments", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.Comment" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/issues/{index}/labels": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieve labels for a specific issue in the repository", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Issues" ], "summary": "List issue labels", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "integer", "description": "Issue index in the repository", "name": "index", "in": "path", "required": true } ], "responses": { "200": { "description": "List of issue labels", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.Label" } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/issues/{index}/timeline": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieve comments and timeline events for a specific issue in the repository, with pagination support", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Issues" ], "summary": "List issue comments and timeline events", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "integer", "description": "Issue index in the repository", "name": "index", "in": "path", "required": true }, { "type": "integer", "description": "The page number of the results to fetch", "name": "page", "in": "query" }, { "type": "integer", "description": "The number of results per page", "name": "per_page", "in": "query" }, { "type": "string", "description": "Only fetch events after this time (RFC3339)", "name": "since", "in": "query" }, { "type": "string", "description": "Only fetch events before this time (RFC3339)", "name": "before", "in": "query" } ], "responses": { "200": { "description": "List of issue comments and timeline events", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.TimelineComment" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/languages": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieve programming languages used in the repository with their byte sizes", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Get repository languages", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true } ], "responses": { "200": { "description": "Map of language names to their byte sizes", "schema": { "type": "object", "additionalProperties": { "type": "integer" } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/pulls": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Lists pull requests in a specified repository.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories", "PullRequests" ], "summary": "List pull requests", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "string", "default": "open", "description": "Either open, closed, or all to filter by state.", "name": "state", "in": "query" }, { "type": "string", "description": "Filter pulls by head user or head organization and branch name in the format of 'branch-name' or 'owner:branch-name' or 'owner:repo:branch-name'.", "name": "head", "in": "query" }, { "type": "string", "description": "Filter pulls by base branch name.", "name": "base", "in": "query" }, { "type": "string", "default": "created", "description": "The property to sort the results by.", "name": "sort", "in": "query" }, { "type": "string", "default": "desc", "description": "The direction to sort the results by.", "name": "direction", "in": "query" }, { "type": "integer", "description": "The page number of the results to fetch. ", "name": "page", "in": "query" }, { "type": "integer", "description": "The number of results per page.", "name": "per_page", "in": "query" } ], "responses": { "200": { "description": "Pull Request information", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.PullRequest" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Create a new pull request in the specified repository", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "PullRequests" ], "summary": "Create a pull request", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "description": "Pull request creation parameters", "name": "pull", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.CreatePullRequestAPI" } } ], "responses": { "201": { "description": "Pull request created successfully", "schema": { "$ref": "#/definitions/response.PullRequest" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/pulls/{pull_number}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Lists details of a pull request by providing its number.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories", "PullRequests" ], "summary": "Pull request details.", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "integer", "description": "The number that identifies the pull request..", "name": "pull_number", "in": "path", "required": true } ], "responses": { "200": { "description": "Pull Request information", "schema": { "$ref": "#/definitions/response.PullRequest" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } }, "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "Update a pull request.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories", "PullRequests" ], "summary": "Update a pull request.", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "integer", "description": "The number that identifies the pull request.", "name": "pull_number", "in": "path", "required": true }, { "description": "Pull request update parameters", "name": "pull", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.UpdatePullRequestAPI" } } ], "responses": { "200": { "description": "Pull request updated successfully", "schema": { "$ref": "#/definitions/response.PullRequest" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/pulls/{pull_number}/commits": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Lists the commits in a specified pull request with pagination support", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "PullRequests" ], "summary": "List pull request commits", "parameters": [ { "type": "string", "description": "Owner of the repository (username or organization)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without .git extension", "name": "repo", "in": "path", "required": true }, { "type": "integer", "description": "The number that identifies the pull request", "name": "pull_number", "in": "path", "required": true }, { "type": "integer", "default": 1, "description": "The page number of the results to fetch", "name": "page", "in": "query" }, { "type": "integer", "default": 30, "description": "The number of results per page (max 100)", "name": "per_page", "in": "query" } ], "responses": { "200": { "description": "List of commits in the pull request", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.CommitResponse" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/pulls/{pull_number}/files": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Lists the files in a specified pull request with pagination support", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "PullRequests" ], "summary": "List pull request files", "parameters": [ { "type": "string", "description": "Owner of the repository (username or organization)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without .git extension", "name": "repo", "in": "path", "required": true }, { "type": "integer", "description": "The number that identifies the pull request", "name": "pull_number", "in": "path", "required": true }, { "type": "integer", "default": 1, "description": "The page number of the results to fetch", "name": "page", "in": "query" }, { "type": "integer", "default": 30, "description": "The number of results per page (max 100)", "name": "per_page", "in": "query" } ], "responses": { "200": { "description": "List of files in the pull request", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.CommitFiles" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/pulls/{pull_number}/update-branch": { "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Updates the pull request branch with the latest upstream changes by merging HEAD from the base branch into the pull request branch.", "consumes": [ "application/json" ], "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "PullRequests" ], "summary": "Update a pull request branch", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true }, { "type": "integer", "description": "The number that identifies the pull request", "name": "pull_number", "in": "path", "required": true }, { "description": "Expected head SHA", "name": "updateRequest", "in": "body", "schema": { "$ref": "#/definitions/request.UpdateBranchRequest" } } ], "responses": { "202": { "description": "Accepted for processing", "schema": { "$ref": "#/definitions/response.UpdateBranchResponse" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "409": { "description": "Conflict" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/releases": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Returns a list of releases with support for pagination and filtering by status (drafts, pre-releases). Only users with read and write access to the repository will receive lists of draft releases.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Releases" ], "summary": "Returns a list of releases", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "integer", "default": 1, "description": "Page number (starting from 1)", "name": "page", "in": "query" }, { "type": "integer", "description": "Number of results per page (maximum 50)", "name": "per_page", "in": "query" }, { "type": "boolean", "default": false, "description": "Filter for draft releases", "name": "draft", "in": "query" }, { "type": "boolean", "default": false, "description": "Filter for pre-release versions", "name": "pre_release", "in": "query" } ], "responses": { "200": { "description": "List of releases successfully retrieved", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.Release" } } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Creates a new release based on a tag. Only users with a token for read and write access to the repository will be able to create releases.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Releases" ], "summary": "Create a release", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "description": "Parameters for creating the release", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.CreateReleaseOption" } } ], "responses": { "201": { "description": "Release successfully created", "schema": { "$ref": "#/definitions/response.Release" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "409": { "description": "Conflict" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/releases/tags/{tag}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieves information about a specific release using its Git tag. Only users with read access to the repository can view the release. If the tag does not exist or does not have an associated release, a 404 is returned.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Releases" ], "summary": "Gets a release by its tag name", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Tag name of the release to retrieve (e.g., 'v1.0.0')", "name": "tag", "in": "path", "required": true } ], "responses": { "200": { "description": "Release details successfully retrieved", "schema": { "$ref": "#/definitions/response.Release" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Release or tag not found" }, "500": { "description": "Internal Server Error" } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Deletes a release associated with the specified Git tag. This operation does not delete the Git tag itself, only the release metadata and assets. Only users with write access to the repository can delete a release.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Releases" ], "summary": "Deletes a release by its tag name", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Tag name of the release to delete (e.g., 'v1.0.0')", "name": "tag", "in": "path", "required": true } ], "responses": { "204": { "description": "No Content\" \"Release successfully deleted" }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Release or tag not found" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/releases/{release_id}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Returns information about a release by its identifier.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Releases" ], "summary": "Return a release", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Identifier of the release", "name": "release_id", "in": "path", "required": true } ], "responses": { "200": { "description": "Release successfully retrieved", "schema": { "$ref": "#/definitions/response.Release" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Deletes a release by its identifier. Only users with a token for read and write access to the repository will be able to delete a release.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Releases" ], "summary": "Delete a release", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Identifier of the release", "name": "release_id", "in": "path", "required": true } ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } }, "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "Edits information about a release by its identifier. Only users with a token for read and write access to the repository will be able to edit releases.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Releases" ], "summary": "Edit a release", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Identifier of the release", "name": "release_id", "in": "path", "required": true }, { "description": "Parameters for editing the release", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.EditReleaseOption" } } ], "responses": { "200": { "description": "Release successfully edited", "schema": { "$ref": "#/definitions/response.Release" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/releases/{release_id}/assets": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieves a list of assets (uploaded files) associated with a specific release. Supports pagination. Only users with read access to the repository can view the assets.", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Releases" ], "summary": "Returns a list of assets (files) for a release", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "integer", "default": 1, "description": "Page number (starting from 1)", "name": "page", "in": "query" }, { "type": "integer", "description": "Number of results per page (maximum 50)", "name": "per_page", "in": "query" }, { "type": "string", "description": "Identifier of the release", "name": "release_id", "in": "path", "required": true } ], "responses": { "200": { "description": "List of assets successfully retrieved", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.Attachment" } } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Release not found or access denied" }, "500": { "description": "Internal Server Error" } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Upload asset to release", "consumes": [ "multipart/form-data" ], "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Releases" ], "summary": "Upload asset to release", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Identifier of the release", "name": "release_id", "in": "path", "required": true }, { "type": "string", "description": "Asset name (1–255 chars, letters, digits, underscores, hyphens, dots; must include file extension; no '/' or '\\').", "name": "name", "in": "query", "required": true }, { "type": "file", "description": "Attachment file", "name": "attachment", "in": "formData", "required": true } ], "responses": { "201": { "description": "Asset successfully created", "schema": { "$ref": "#/definitions/response.Attachment" } }, "400": { "description": "Bad Request" }, "403": { "description": "Forbidden" }, "404": { "description": "Not found" }, "500": { "description": "Internal Server Error" } } } }, "/repos/{owner}/{repo}/releases/{release_id}/assets/{asset_id}": { "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Delete asset from release", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Releases" ], "summary": "Delete asset from release", "parameters": [ { "type": "string", "description": "Owner of the repository (owner or organization name)", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Name of the repository without the .git extension", "name": "repo", "in": "path", "required": true }, { "type": "string", "description": "Identifier of the release", "name": "release_id", "in": "path", "required": true }, { "type": "string", "description": "Identifier of the asset", "name": "asset_id", "in": "path", "required": true } ], "responses": { "204": { "description": "No content" }, "400": { "description": "Bad Request" }, "403": { "description": "Access denied" }, "404": { "description": "Asset not found" }, "500": { "description": "Internal Server Error" } } } }, "/user": { "get": { "security": [ { "ApiKeyAuth": [] } ], "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Users" ], "summary": "Get authenticated user information", "responses": { "200": { "description": "User information", "schema": { "$ref": "#/definitions/response.User" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } } } }, "/user/emails": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Get list of email addresses for the authenticated user with pagination support", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Emails" ], "summary": "Get user email addresses", "parameters": [ { "type": "integer", "description": "The page number of the results to fetch", "name": "page", "in": "query" }, { "type": "integer", "description": "The number of results per page", "name": "per_page", "in": "query" } ], "responses": { "200": { "description": "List of user email addresses", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.EmailResponse" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "500": { "description": "Internal Server Error" } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Add new email addresses to the authenticated user's account", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Emails" ], "summary": "Add email addresses", "parameters": [ { "description": "Email addresses to add", "name": "emails", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.CreateEmailOption" } } ], "responses": { "201": { "description": "Email addresses added successfully", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.EmailResponse" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Remove email addresses from the authenticated user's account", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Emails" ], "summary": "Delete email addresses", "parameters": [ { "description": "Email addresses to delete", "name": "emails", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.DeleteEmailOption" } } ], "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" }, "422": { "description": "Unprocessable Entity" }, "500": { "description": "Internal Server Error" } } } }, "/user/repos": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Retrieve list of repositories owned by the authenticated user, including private ones", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Get authenticated user repositories", "parameters": [ { "type": "integer", "description": "The page number of the results to fetch", "name": "page", "in": "query" }, { "type": "integer", "description": "The number of results per page", "name": "per_page", "in": "query" } ], "responses": { "200": { "description": "List of user repositories", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.Repository" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "500": { "description": "Internal Server Error" } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "Create a new repository for the authenticated user", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Repositories" ], "summary": "Create repository", "parameters": [ { "description": "Repository creation options", "name": "repo", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.CreateRepo" } } ], "responses": { "201": { "description": "Repository created successfully", "schema": { "$ref": "#/definitions/response.Repository" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "500": { "description": "Internal Server Error" } } } }, "/user/starred": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Get list of favorites repositories of authenticated user", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Favorites" ], "summary": "Get list of favorites repositories of authenticated user", "parameters": [ { "type": "integer", "description": "The page number of the results to fetch. ", "name": "page", "in": "query" }, { "type": "integer", "description": "The number of results per page.", "name": "per_page", "in": "query" }, { "type": "string", "default": "created", "description": "The property to sort the results by.", "name": "sort", "in": "query" }, { "type": "string", "default": "desc", "description": "The direction to sort the results by.", "name": "direction", "in": "query" } ], "responses": { "200": { "description": "List of favorites repositories", "schema": { "type": "array", "items": { "$ref": "#/definitions/response.Repository" } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } } } }, "/user/starred/{owner}/{repo}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Check if repository is in favorites", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Favorites" ], "summary": "Check if repository is in favorites", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true } ], "responses": { "204": { "description": "Repository is in favorites" }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Add repository to favorites", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Favorites" ], "summary": "Add repository to favorites", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true } ], "responses": { "204": { "description": "Repository is added to favorites" }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Remove repository from favorites", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Favorites" ], "summary": "Remove repository from favorites", "parameters": [ { "type": "string", "description": "Repository owner", "name": "owner", "in": "path", "required": true }, { "type": "string", "description": "Repository name", "name": "repo", "in": "path", "required": true } ], "responses": { "204": { "description": "Repository is removed from favorites" }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/users/{username}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Get user information by username", "produces": [ "application/vnd.gitverse.object+json;version=latest" ], "tags": [ "Users" ], "summary": "Get user information by username", "parameters": [ { "type": "string", "description": "User name", "name": "username", "in": "path", "required": true } ], "responses": { "200": { "description": "User information", "schema": { "$ref": "#/definitions/response.User" } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } } } } }, "definitions": { "request.AddCollaboratorOption": { "type": "object", "properties": { "permission": { "description": "enum: read,write,admin", "type": "string" } } }, "request.CommitUser": { "type": "object", "required": [ "email", "name" ], "properties": { "date": { "type": "string" }, "email": { "type": "string" }, "name": { "type": "string" } } }, "request.CreateCommitOptions": { "type": "object", "required": [ "message", "tree" ], "properties": { "author": { "$ref": "#/definitions/request.CommitUser" }, "committer": { "$ref": "#/definitions/request.CommitUser" }, "message": { "type": "string" }, "parents": { "type": "array", "items": { "type": "string" } }, "tree": { "type": "string" } } }, "request.CreateEmailOption": { "type": "object", "properties": { "emails": { "type": "array", "items": { "type": "string" } } } }, "request.CreateOrUpdateFileOptions": { "type": "object", "properties": { "branch": { "description": "ветка на которой будет базировать коммит, если пустая то будет использована ветка по умолчанию", "type": "string" }, "content": { "description": "content must be base64 encoded", "type": "string" }, "from_path": { "description": "SHA string `json:\"sha\" binding:\"Required\"`\nfrom_path (optional) is the path of the original file which will be moved/renamed to the path in the URL", "type": "string" }, "message": { "description": "Сообщение для описания коммита, если пустое то будет использовано сообщение по умолчанию", "type": "string" }, "new_branch": { "description": "новая ветка которая будет отведена от указанной выше ветки и вней будет создан новый коммит", "type": "string" }, "sha": { "description": "sha is the SHA for the file that already exists", "type": "string" }, "signoff": { "description": "Подписывать ли коммит", "type": "boolean" } } }, "request.CreatePullRequestAPI": { "type": "object", "properties": { "assignees": { "description": "список ответственных", "type": "array", "items": { "type": "string" } }, "base": { "description": "ветка в которую происходит слияние", "type": "string" }, "body": { "description": "тело запроса", "type": "string" }, "draft": { "description": "черновик", "type": "boolean" }, "due_date": { "description": "Deadline", "type": "string" }, "head": { "description": "ветка из которой происходит слияние", "type": "string" }, "head_repo": { "description": "ветка из которой происходит слияние", "type": "string" }, "labels": { "description": "Метки", "type": "array", "items": { "type": "integer" } }, "maintainer_can_modify": { "description": "могут ли мэйнтейнеры изменять PR", "type": "boolean" }, "milestone": { "description": "идентификатор \"этапа\"", "type": "integer" }, "title": { "description": "заголовок запроса", "type": "string" } } }, "request.CreateReferenceOptions": { "type": "object", "properties": { "ref": { "type": "string" }, "sha": { "type": "string" } } }, "request.CreateReleaseOption": { "type": "object", "properties": { "body": { "type": "string" }, "draft": { "type": "boolean" }, "name": { "type": "string" }, "prerelease": { "type": "boolean" }, "tag_name": { "type": "string" }, "target_commitish": { "type": "string" } } }, "request.CreateRepo": { "type": "object", "properties": { "auto_init": { "type": "boolean" }, "description": { "type": "string" }, "gitignores": { "type": "array", "items": { "type": "string" } }, "is_template": { "type": "boolean" }, "name": { "type": "string" }, "private": { "type": "boolean" } } }, "request.CreateRepoTreeOptions": { "type": "object", "properties": { "base_tree": { "type": "string" }, "tree": { "type": "array", "items": { "$ref": "#/definitions/request.TreeItem" } } } }, "request.CreateVariable": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } } }, "request.DeleteEmailOption": { "type": "object", "properties": { "emails": { "type": "array", "items": { "type": "string" } } } }, "request.DeleteFileOptions": { "type": "object", "properties": { "branch": { "description": "ветка на которой будет базировать коммит, если пустая то будет использована ветка по умолчанию", "type": "string" }, "message": { "description": "Сообщение для описания коммита, если пустое то будет использовано сообщение по умолчанию", "type": "string" }, "new_branch": { "description": "новая ветка которая будет отведена от указанной выше ветки и вней будет создан новый коммит", "type": "string" }, "sha": { "description": "sha is the SHA for the file that already exists", "type": "string" }, "signoff": { "description": "Подписывать ли коммит", "type": "boolean" } } }, "request.EditReleaseOption": { "type": "object", "properties": { "body": { "type": "string" }, "draft": { "type": "boolean" }, "name": { "type": "string" }, "prerelease": { "type": "boolean" }, "tag_name": { "type": "string" }, "target_commitish": { "type": "string" } } }, "request.ForkRepo": { "type": "object", "properties": { "description": { "description": "Описание", "type": "string" }, "name": { "description": "Имя форкнутого репозитория", "type": "string" }, "organization": { "description": "Название организации, если форкаем в организацию", "type": "string" } } }, "request.RepositoryUpdateDTO": { "type": "object", "properties": { "allow_auto_merge": { "type": "boolean" }, "allow_merge": { "type": "boolean" }, "allow_rebase": { "type": "boolean" }, "allow_rebase_merge": { "type": "boolean" }, "allow_squash": { "type": "boolean" }, "allow_update_branch": { "type": "boolean" }, "archived": { "type": "boolean" }, "autodetect_manual_merge": { "type": "boolean" }, "default_allow_maintainer_edit": { "type": "boolean" }, "default_branch": { "type": "string" }, "default_merge_style": { "type": "string" }, "delete_branch_on_merge": { "type": "boolean" }, "description": { "type": "string" }, "homepage": { "type": "string" }, "ignore_whitespace": { "type": "boolean" }, "is_template": { "type": "boolean" }, "name": { "description": "обработаны", "type": "string" }, "private": { "type": "boolean" } } }, "request.TeamRepoPermissions": { "type": "object", "properties": { "permission": { "type": "string" } } }, "request.TreeItem": { "type": "object", "properties": { "content": { "type": "string" }, "mode": { "type": "string" }, "path": { "type": "string" }, "sha": { "type": "string" }, "type": { "type": "string" } } }, "request.UpdateBranchRequest": { "type": "object", "properties": { "expected_head_sha": { "type": "string" } } }, "request.UpdatePullRequestAPI": { "type": "object", "properties": { "base": { "description": "ветка в которую происходит слияние", "type": "string" }, "body": { "description": "тело запроса", "type": "string" }, "maintainer_can_modify": { "description": "могут ли мэйнтейнеры изменять PR", "type": "boolean" }, "state": { "description": "статус запроса", "type": "string" }, "title": { "description": "заголовок запроса", "type": "string" } } }, "response.ActionArtifact": { "type": "object", "properties": { "archive_download_url": { "type": "string" }, "created_at": { "type": "string" }, "expired": { "type": "boolean" }, "expires_at": { "type": "string" }, "id": { "type": "integer" }, "name": { "type": "string" }, "size_in_bytes": { "type": "integer" }, "updated_at": { "type": "string" }, "url": { "type": "string" }, "workflow_run": { "$ref": "#/definitions/response.ActionWorkflowRun" } } }, "response.ActionArtifactList": { "type": "object", "properties": { "artifacts": { "type": "array", "items": { "$ref": "#/definitions/response.ActionArtifact" } }, "total_count": { "type": "integer" } } }, "response.ActionRunner": { "type": "object", "properties": { "busy": { "type": "boolean" }, "id": { "type": "integer" }, "labels": { "type": "array", "items": { "$ref": "#/definitions/response.ActionRunnerLabel" } }, "name": { "type": "string" }, "status": { "type": "string" } } }, "response.ActionRunnerLabel": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string" }, "type": { "type": "string" } } }, "response.ActionRunners": { "type": "object", "properties": { "runners": { "type": "array", "items": { "$ref": "#/definitions/response.ActionRunner" } }, "total_count": { "type": "integer" } } }, "response.ActionWorkflowRun": { "type": "object", "properties": { "head_sha": { "type": "string" }, "id": { "type": "integer" }, "repository_id": { "type": "integer" } } }, "response.Attachment": { "type": "object", "properties": { "browser_download_url": { "type": "string" }, "created_at": { "type": "string" }, "download_count": { "type": "integer" }, "id": { "type": "integer" }, "name": { "type": "string" }, "size": { "type": "integer" }, "uuid": { "type": "string" } } }, "response.Branch": { "type": "object", "properties": { "commit": { "$ref": "#/definitions/response.CommitMeta" }, "name": { "type": "string" }, "protected": { "type": "boolean" } } }, "response.Collaborator": { "type": "object", "properties": { "avatar_url": { "description": "Адрес аватарки", "type": "string" }, "bio": { "description": "О себе", "type": "string" }, "email": { "description": "Почта", "type": "string" }, "followers_url": { "description": "Url для получения подписчиков пользователя", "type": "string" }, "following_url": { "description": "Url для получения подписок пользователя", "type": "string" }, "full_name": { "description": "Полное имя", "type": "string" }, "html_url": { "description": "Адрес страницы пользователя", "type": "string" }, "id": { "description": "Идентификатор", "type": "integer" }, "login": { "description": "Логин пользователя", "type": "string" }, "name": { "description": "Имя пользователя", "type": "string" }, "organizations_url": { "description": "Url для получения организаций пользователя", "type": "string" }, "permissions": { "description": "Полномочия", "$ref": "#/definitions/response.Permissions" }, "repos_url": { "description": "Url для получения репозиториев пользователя", "type": "string" }, "site_admin": { "description": "Есть ли права админа", "type": "boolean" }, "starred_url": { "description": "Url для получения репозиториев пользователя, которые были добавлены в избранное", "type": "string" }, "subscriptions_url": { "description": "Url для получения подписок пользователя", "type": "string" }, "type": { "description": "Тип пользователя", "type": "string" }, "url": { "description": "Url для получения пользователя", "type": "string" }, "website": { "description": "Вебсайт", "type": "string" } } }, "response.CollaboratorInvitation": { "type": "object", "properties": { "created_at": { "type": "string" }, "id": { "type": "integer" }, "invitee": { "$ref": "#/definitions/response.UserPublicInfo" }, "inviter": { "$ref": "#/definitions/response.UserPublicInfo" }, "permissions": { "type": "string" }, "repository": { "$ref": "#/definitions/response.RepoPublicInfo" } } }, "response.Comment": { "type": "object", "properties": { "author_association": { "type": "string" }, "body": { "type": "string" }, "created_at": { "type": "string" }, "html_url": { "description": "Адрес страницы с комметарием", "type": "string" }, "id": { "type": "integer" }, "issue_url": { "description": "Url для получения issue/PR", "type": "string" }, "updated_at": { "type": "string" }, "url": { "description": "Url для получения пользователя", "type": "string" }, "user": { "$ref": "#/definitions/response.UserPublicInfo" } } }, "response.CommitFiles": { "type": "object", "properties": { "additions": { "type": "integer" }, "blob_url": { "type": "string" }, "changes": { "type": "integer" }, "contents_url": { "type": "string" }, "deletions": { "type": "integer" }, "filename": { "type": "string" }, "patch": { "type": "string" }, "raw_url": { "type": "string" }, "sha": { "type": "string" }, "status": { "type": "string" } } }, "response.CommitMeta": { "type": "object", "properties": { "created": { "type": "string" }, "html_url": { "type": "string" }, "sha": { "type": "string" }, "url": { "type": "string" } } }, "response.CommitResponse": { "type": "object", "properties": { "author": { "$ref": "#/definitions/response.UserPublicInfo" }, "branch": { "type": "string" }, "commit": { "$ref": "#/definitions/response.RepoCommit" }, "committer": { "$ref": "#/definitions/response.UserPublicInfo" }, "created": { "type": "string" }, "files": { "type": "array", "items": { "$ref": "#/definitions/response.CommitFiles" } }, "html_url": { "type": "string" }, "parents": { "type": "array", "items": { "$ref": "#/definitions/response.CommitMeta" } }, "sha": { "type": "string" }, "stats": { "$ref": "#/definitions/response.CommitStats" }, "url": { "type": "string" } } }, "response.CommitStats": { "type": "object", "properties": { "additions": { "type": "integer" }, "deletions": { "type": "integer" }, "total": { "type": "integer" } } }, "response.CommitUser": { "type": "object", "properties": { "date": { "type": "string" }, "email": { "type": "string" }, "name": { "type": "string" } } }, "response.CommitVerification": { "type": "object", "properties": { "payload": { "type": "string" }, "reason": { "type": "string" }, "signature": { "type": "string" }, "verified": { "type": "boolean" }, "verifiedAt": { "type": "string" } } }, "response.CompareResponse": { "type": "object", "properties": { "ahead_by": { "type": "integer" }, "base_commit": { "$ref": "#/definitions/response.CommitResponse" }, "behind_by": { "type": "integer" }, "commits": { "type": "array", "items": { "$ref": "#/definitions/response.CommitResponse" } }, "files": { "type": "array", "items": { "$ref": "#/definitions/response.CommitFiles" } }, "html_url": { "type": "string" }, "merge_base_commit": { "$ref": "#/definitions/response.CommitResponse" }, "status": { "type": "string" }, "total_commits": { "type": "integer" }, "url": { "type": "string" } } }, "response.ContentsResponse": { "type": "object", "properties": { "_links": { "description": "Ссылки", "$ref": "#/definitions/response.FileLinksResponse" }, "content": { "description": "`content` is populated when `type` is `file`, otherwise null", "type": "string" }, "download_url": { "description": "DownloadURL ссылка на скачивание файла", "type": "string" }, "encoding": { "description": "`encoding` is populated when `type` is `file`, otherwise null", "type": "string" }, "git_url": { "description": "GitURL ссылка на получение файла", "type": "string" }, "html_url": { "description": "HtmlURL ссылка на страницу с содержимым файла", "type": "string" }, "language": { "description": "Язык программирования используемый в файле (если тип файл)", "type": "string" }, "name": { "type": "string" }, "path": { "type": "string" }, "sha": { "type": "string" }, "size": { "type": "integer" }, "submodule_git_url": { "description": "`submodule_git_url` is populated when `type` is `submodule`, otherwise null", "type": "string" }, "target": { "description": "`target` is populated when `type` is `symlink`, otherwise null", "type": "string" }, "type": { "description": "`type` will be `file`, `dir`, `symlink`, or `submodule`", "type": "string" }, "url": { "description": "Url возвращает ссылку на получение такого же JSON", "type": "string" } } }, "response.CreateOrUpdateResponse": { "type": "object", "properties": { "commit": { "$ref": "#/definitions/response.FileCommitResponse" }, "content": { "$ref": "#/definitions/response.ContentsResponse" } } }, "response.DeleteResponse": { "type": "object", "properties": { "commit": { "$ref": "#/definitions/response.FileCommitResponse" }, "content": {} } }, "response.EmailResponse": { "type": "object", "properties": { "email": { "type": "string" }, "primary": { "type": "boolean" }, "verified": { "type": "boolean" }, "visibility": { "type": "string" } } }, "response.FileCommitResponse": { "type": "object", "properties": { "author": { "$ref": "#/definitions/response.CommitUser" }, "committer": { "$ref": "#/definitions/response.CommitUser" }, "created": { "type": "string" }, "html_url": { "type": "string" }, "message": { "type": "string" }, "parents": { "type": "array", "items": { "$ref": "#/definitions/response.CommitMeta" } }, "sha": { "type": "string" }, "tree": { "$ref": "#/definitions/response.CommitMeta" }, "url": { "type": "string" }, "verification": { "$ref": "#/definitions/response.CommitVerification" } } }, "response.FileLinksResponse": { "type": "object", "properties": { "git": { "type": "string" }, "html": { "type": "string" }, "self": { "type": "string" } } }, "response.GitEntry": { "type": "object", "properties": { "mode": { "type": "string" }, "path": { "type": "string" }, "sha": { "type": "string" }, "size": { "type": "integer" }, "type": { "type": "string" }, "url": { "type": "string" } } }, "response.GitObject": { "type": "object", "properties": { "sha": { "type": "string" }, "type": { "type": "string" }, "url": { "type": "string" } } }, "response.GitTreeResponse": { "type": "object", "properties": { "page": { "type": "integer" }, "sha": { "type": "string" }, "total_count": { "type": "integer" }, "tree": { "type": "array", "items": { "$ref": "#/definitions/response.GitEntry" } }, "truncated": { "type": "boolean" }, "url": { "type": "string" } } }, "response.Issue": { "type": "object", "properties": { "assets": { "type": "array", "items": { "$ref": "#/definitions/response.Attachment" } }, "assignee": { "$ref": "#/definitions/response.User" }, "assignees": { "type": "array", "items": { "$ref": "#/definitions/response.User" } }, "body": { "type": "string" }, "closed_at": { "type": "string" }, "comments": { "type": "integer" }, "created_at": { "type": "string" }, "due_date": { "type": "string" }, "html_url": { "type": "string" }, "id": { "type": "integer" }, "is_locked": { "type": "boolean" }, "labels": { "type": "array", "items": { "$ref": "#/definitions/response.Label" } }, "milestone": { "$ref": "#/definitions/response.Milestone" }, "number": { "type": "integer" }, "original_author": { "type": "string" }, "original_author_id": { "type": "integer" }, "pull_request": { "$ref": "#/definitions/response.PullRequestMeta" }, "ref": { "type": "string" }, "repository": { "$ref": "#/definitions/response.RepositoryMeta" }, "state": { "type": "string" }, "title": { "type": "string" }, "updated_at": { "type": "string" }, "url": { "type": "string" }, "user": { "$ref": "#/definitions/response.User" } } }, "response.Label": { "type": "object", "properties": { "color": { "description": "example: 00aabb", "type": "string" }, "description": { "type": "string" }, "exclusive": { "description": "example: false", "type": "boolean" }, "id": { "type": "integer" }, "is_archived": { "description": "example: false", "type": "boolean" }, "name": { "type": "string" }, "url": { "type": "string" } } }, "response.Milestone": { "type": "object", "properties": { "closed_at": { "type": "string" }, "closed_issues": { "type": "integer" }, "created_at": { "type": "string" }, "description": { "type": "string" }, "due_on": { "type": "string" }, "id": { "type": "integer" }, "open_issues": { "type": "integer" }, "state": { "type": "string" }, "title": { "type": "string" }, "updated_at": { "type": "string" } } }, "response.PRBranchInfo": { "type": "object", "properties": { "label": { "type": "string" }, "ref": { "type": "string" }, "repo": { "$ref": "#/definitions/response.Repository" }, "repo_id": { "type": "integer" }, "sha": { "type": "string" } } }, "response.Permissions": { "type": "object", "properties": { "admin": { "type": "boolean" }, "pull": { "type": "boolean" }, "push": { "type": "boolean" } } }, "response.PullRequest": { "type": "object", "properties": { "assignee": { "$ref": "#/definitions/response.User" }, "assignees": { "type": "array", "items": { "$ref": "#/definitions/response.User" } }, "base": { "$ref": "#/definitions/response.PRBranchInfo" }, "body": { "type": "string" }, "closed_at": { "type": "string" }, "comments": { "type": "integer" }, "created_at": { "type": "string" }, "diff_url": { "type": "string" }, "head": { "$ref": "#/definitions/response.PRBranchInfo" }, "html_url": { "type": "string" }, "id": { "type": "integer" }, "is_draft": { "type": "boolean" }, "labels": { "type": "array", "items": { "$ref": "#/definitions/response.Label" } }, "locked": { "type": "boolean" }, "maintainer_can_modify": { "type": "boolean" }, "merge_commit_sha": { "type": "string" }, "mergeable": { "type": "boolean" }, "merged": { "type": "boolean" }, "merged_at": { "type": "string" }, "merged_by": { "$ref": "#/definitions/response.User" }, "milestone": { "$ref": "#/definitions/response.Milestone" }, "number": { "type": "integer" }, "patch_url": { "type": "string" }, "requested_reviewers": { "type": "array", "items": { "$ref": "#/definitions/response.User" } }, "requested_teams": { "type": "array", "items": { "$ref": "#/definitions/response.Team" } }, "state": { "type": "string" }, "title": { "type": "string" }, "updated_at": { "type": "string" }, "url": { "type": "string" }, "user": { "$ref": "#/definitions/response.User" } } }, "response.PullRequestMeta": { "type": "object", "properties": { "draft": { "type": "boolean" }, "html_url": { "type": "string" }, "merged": { "type": "boolean" }, "merged_at": { "type": "string" } } }, "response.Reference": { "type": "object", "properties": { "object": { "$ref": "#/definitions/response.GitObject" }, "ref": { "type": "string" }, "url": { "type": "string" } } }, "response.RegistrationToken": { "type": "object", "properties": { "token": { "type": "string" } } }, "response.Release": { "type": "object", "properties": { "assets": { "type": "array", "items": { "$ref": "#/definitions/response.Attachment" } }, "author": { "$ref": "#/definitions/response.User" }, "body": { "type": "string" }, "created_at": { "type": "string" }, "draft": { "type": "boolean" }, "html_url": { "type": "string" }, "id": { "type": "integer" }, "name": { "type": "string" }, "prerelease": { "type": "boolean" }, "published_at": { "type": "string" }, "tag_name": { "type": "string" }, "tarball_url": { "type": "string" }, "target_commitish": { "type": "string" }, "upload_url": { "type": "string" }, "url": { "type": "string" }, "zipball_url": { "type": "string" } } }, "response.RepoCommit": { "type": "object", "properties": { "author": { "$ref": "#/definitions/response.CommitUser" }, "committer": { "$ref": "#/definitions/response.CommitUser" }, "message": { "type": "string" }, "tree": { "$ref": "#/definitions/response.TreeMeta" }, "url": { "type": "string" } } }, "response.RepoPublicInfo": { "type": "object", "properties": { "contents_url": { "type": "string" }, "description": { "type": "string" }, "fork": { "type": "boolean" }, "forks_url": { "type": "string" }, "full_name": { "type": "string" }, "html_url": { "type": "string" }, "id": { "type": "integer" }, "issue_comment_url": { "type": "string" }, "issues_url": { "type": "string" }, "languages_url": { "type": "string" }, "name": { "type": "string" }, "owner": { "$ref": "#/definitions/response.UserPublicInfo" }, "private": { "type": "boolean" }, "pulls_url": { "type": "string" }, "url": { "type": "string" } } }, "response.RepoTree": { "type": "object", "properties": { "sha": { "type": "string" }, "tree": { "type": "array", "items": { "$ref": "#/definitions/response.TreeEntry" } }, "truncated": { "type": "boolean" }, "url": { "type": "string" } } }, "response.Repository": { "type": "object", "properties": { "allow_merge_commit": { "type": "boolean" }, "allow_rebase_merge": { "type": "boolean" }, "allow_squash_merge": { "type": "boolean" }, "archived": { "type": "boolean" }, "clone_url": { "type": "string" }, "contents_url": { "type": "string" }, "created_at": { "type": "string" }, "default_branch": { "type": "string" }, "delete_branch_on_merge": { "type": "boolean" }, "description": { "type": "string" }, "disabled": { "type": "boolean" }, "fork": { "type": "boolean" }, "forks": { "type": "integer" }, "forks_count": { "type": "integer" }, "forks_url": { "type": "string" }, "full_name": { "type": "string" }, "has_issues": { "type": "boolean" }, "has_wiki": { "type": "boolean" }, "id": { "type": "integer" }, "is_template": { "type": "boolean" }, "issue_comment_url": { "type": "string" }, "issues_url": { "type": "string" }, "language": { "type": "string" }, "languages_url": { "type": "string" }, "mirror_url": { "type": "string" }, "name": { "type": "string" }, "open_issues": { "type": "integer" }, "open_issues_count": { "type": "integer" }, "owner": { "$ref": "#/definitions/response.UserPublicInfo" }, "parent": { "$ref": "#/definitions/response.Repository" }, "permissions": { "$ref": "#/definitions/response.Permissions" }, "private": { "type": "boolean" }, "pulls_url": { "type": "string" }, "pushed_at": { "type": "string" }, "size": { "type": "integer" }, "ssh_url": { "type": "string" }, "stargazers_count": { "type": "integer" }, "template_repository": { "$ref": "#/definitions/response.Repository" }, "topics": { "type": "array", "items": { "type": "string" } }, "updated_at": { "type": "string" }, "url": { "type": "string" }, "visibility": { "type": "string" }, "watchers": { "type": "integer" }, "watchers_count": { "type": "integer" } } }, "response.RepositoryMeta": { "type": "object", "properties": { "full_name": { "type": "string" }, "id": { "type": "integer" }, "name": { "type": "string" }, "owner": { "type": "string" } } }, "response.Secret": { "type": "object", "properties": { "created_at": { "type": "string" }, "name": { "type": "string" } } }, "response.SecretList": { "type": "object", "properties": { "secrets": { "type": "array", "items": { "$ref": "#/definitions/response.Secret" } }, "total_count": { "type": "integer" } } }, "response.Team": { "type": "object", "properties": { "canCreateOrgRepo": { "description": "Полномочия на создание репозиториев", "type": "boolean" }, "description": { "description": "Описание команды", "type": "string" }, "id": { "description": "Идентификатор", "type": "integer" }, "includesAllRepositories": { "description": "Включает все репозитории", "type": "boolean" }, "name": { "description": "Название команды", "type": "string" }, "numMembers": { "description": "Количество участников", "type": "integer" }, "numRepos": { "description": "Количество репозиториев", "type": "integer" }, "permission": { "description": "Полномочия", "type": "string" }, "permissionActions": { "description": "Полномочие на действия с ветками", "type": "string" }, "permissionCode": { "description": "Код полномочия", "type": "string" }, "permissionPackages": { "description": "Полномочие на пакеты", "type": "string" }, "permissionPulls": { "description": "Полномочие на отправку пулл-реквестов", "type": "string" }, "permissionReleases": { "description": "Полномочие на релизы", "type": "string" } } }, "response.TeamInvite": { "type": "object", "properties": { "created_at": { "description": "Дата/время создания приглашения", "type": "string" }, "email": { "description": "Email приглашенного", "type": "string" }, "id": { "description": "Идентификатор", "type": "integer" } } }, "response.TimelineComment": { "type": "object", "properties": { "assignee": { "$ref": "#/definitions/response.User" }, "assignee_team": { "$ref": "#/definitions/response.Team" }, "body": { "type": "string" }, "created_at": { "description": "swagger:strfmt date-time", "type": "string" }, "dependent_issue": { "$ref": "#/definitions/response.Issue" }, "html_url": { "type": "string" }, "id": { "type": "integer" }, "issue_url": { "type": "string" }, "label": { "$ref": "#/definitions/response.Label" }, "milestone": { "$ref": "#/definitions/response.Milestone" }, "new_ref": { "type": "string" }, "new_title": { "type": "string" }, "old_milestone": { "$ref": "#/definitions/response.Milestone" }, "old_project_id": { "type": "integer" }, "old_ref": { "type": "string" }, "old_title": { "type": "string" }, "project_id": { "type": "integer" }, "pull_request_url": { "type": "string" }, "ref_action": { "type": "string" }, "ref_comment": { "$ref": "#/definitions/response.Comment" }, "ref_commit_sha": { "description": "commit SHA where issue/PR was referenced", "type": "string" }, "ref_issue": { "$ref": "#/definitions/response.Issue" }, "removed_assignee": { "description": "whether the assignees were removed or added", "type": "boolean" }, "resolve_doer": { "$ref": "#/definitions/response.User" }, "review_id": { "type": "integer" }, "tracked_time": { "$ref": "#/definitions/response.TrackedTime" }, "type": { "type": "string" }, "updated_at": { "description": "swagger:strfmt date-time", "type": "string" }, "user": { "$ref": "#/definitions/response.User" } } }, "response.TrackedTime": { "type": "object", "properties": { "created": { "description": "swagger:strfmt date-time", "type": "string" }, "id": { "type": "integer" }, "issue": { "$ref": "#/definitions/response.Issue" }, "issue_id": { "description": "deprecated (only for backwards compatibility)", "type": "integer" }, "time": { "description": "Time in seconds", "type": "integer" }, "user_id": { "description": "deprecated (only for backwards compatibility)", "type": "integer" }, "user_name": { "type": "string" } } }, "response.TreeEntry": { "type": "object", "properties": { "mode": { "type": "string" }, "path": { "type": "string" }, "sha": { "type": "string" }, "size": { "type": "integer" }, "type": { "description": "\"blob\", \"tree\", \"commit\"", "type": "string" } } }, "response.TreeMeta": { "type": "object", "properties": { "created": { "type": "string" }, "sha": { "type": "string" }, "url": { "type": "string" } } }, "response.UpdateBranchResponse": { "type": "object", "properties": { "message": { "type": "string" }, "url": { "type": "string" } } }, "response.User": { "type": "object", "properties": { "avatar_url": { "description": "Адрес аватарки", "type": "string" }, "bio": { "description": "О себе", "type": "string" }, "created_at": { "description": "Дата создания учетной записи", "type": "string" }, "email": { "description": "Почта", "type": "string" }, "followers": { "description": "Счетчики", "type": "integer" }, "followers_url": { "description": "Url для получения подписчиков пользователя", "type": "string" }, "following": { "type": "integer" }, "following_url": { "description": "Url для получения подписок пользователя", "type": "string" }, "full_name": { "description": "Полное имя", "type": "string" }, "html_url": { "description": "Адрес страницы пользователя", "type": "string" }, "id": { "description": "Идентификатор", "type": "integer" }, "is_verified": { "description": "Верифицирован?", "type": "boolean" }, "location": { "description": "Местоположение", "type": "string" }, "login": { "description": "Логин пользователя", "type": "string" }, "name": { "description": "Имя пользователя", "type": "string" }, "organizations_url": { "description": "Url для получения организаций пользователя", "type": "string" }, "public_repos": { "description": "Публичные репозитории", "type": "integer" }, "repos_url": { "description": "Url для получения репозиториев пользователя", "type": "string" }, "site_admin": { "description": "Есть ли права админа", "type": "boolean" }, "starred_url": { "description": "Url для получения репозиториев пользователя, которые были добавлены в избранное", "type": "string" }, "stars_count": { "description": "Количество репозиториев в избранном", "type": "integer" }, "subscriptions_url": { "description": "Url для получения подписок пользователя", "type": "string" }, "type": { "description": "Тип пользователя", "type": "string" }, "updated_at": { "description": "Дата изменения учетной записи", "type": "string" }, "url": { "description": "Url для получения пользователя", "type": "string" }, "website": { "description": "Вебсайт", "type": "string" } } }, "response.UserPublicInfo": { "type": "object", "properties": { "avatar_url": { "type": "string" }, "followers_url": { "type": "string" }, "following_url": { "type": "string" }, "html_url": { "type": "string" }, "id": { "type": "integer" }, "login": { "type": "string" }, "organizations_url": { "type": "string" }, "repos_url": { "type": "string" }, "site_admin": { "type": "boolean" }, "type": { "type": "string" }, "url": { "type": "string" } } }, "response.Variable": { "type": "object", "properties": { "created_at": { "type": "string" }, "name": { "type": "string" }, "updated_at": { "type": "string" }, "value": { "type": "string" } } }, "response.VariableList": { "type": "object", "properties": { "total_count": { "type": "integer" }, "variables": { "type": "array", "items": { "$ref": "#/definitions/response.Variable" } } } }, "response.WorkflowDispatchInput": { "type": "object", "properties": { "default": { "type": "string" }, "description": { "type": "string" }, "name": { "type": "string" }, "options": { "type": "array", "items": { "type": "string" } }, "required": { "type": "boolean" }, "type": { "type": "string" } } }, "response.WorkflowDispatchInputList": { "type": "object", "properties": { "inputs": { "type": "array", "items": { "$ref": "#/definitions/response.WorkflowDispatchInput" } } } }, "v1.workflowDispatchInputs": { "type": "object", "additionalProperties": { "type": "string" } } }, "securityDefinitions": { "ApiKeyAuth": { "type": "apiKey", "name": "Authorization", "in": "header" } } }