Client API Reference

This reference is organized by the chained SDK entrypoints users call at runtime, such as GitCode.branches.list() and AsyncGitCode.pulls.list().

GitCode and AsyncGitCode are context managers: use with GitCode(...) and async with AsyncGitCode(...) so the underlying httpx client is closed when the block ends. The same applies to SyncAPIClient and AsyncAPIClient; see Quickstart for examples. Closing the SDK client also closes a supplied http_client instance.

Synchronous client

class GitCode(*, api_key: str | None = None, owner: str | None = None, repo: str | None = None, base_url: str = 'https://api.gitcode.com/api/v5', timeout: float | None = None, http_client: Client | None = None, decrypt: Callable | None = None)

Bases: SyncAPIClient

Synchronous GitCode API client.

Parameters:
  • api_key – Personal access token used for GitCode API requests.

  • owner – Default repository owner used by repository-scoped helpers.

  • repo – Default repository name used by repository-scoped helpers.

  • base_url – Base URL for the GitCode REST API.

  • timeout – Request timeout in seconds.

  • http_client – Optional pre-configured httpx.Client instance.

  • decrypt – Optional decryption function for encrypted access token.

Create a synchronous client and attach resource groups.

repos: ReposResource

Repository endpoints exposed as client.repos.

contents: RepoContentsResource

Repository content endpoints exposed as client.contents.

branches: BranchesResource

Repository branch endpoints exposed as client.branches.

commits: CommitsResource

Repository commit endpoints exposed as client.commits.

close() None

Close the underlying HTTP client.

request(method: str, path: str, *, params: Dict[str, Any] | None = None, json: Any = None, data: Dict[str, Any] | None = None, headers: Dict[str, str] | None = None, raw: bool = False) Any

Send an HTTP request to the GitCode API and parse the response.

Parameters:
  • method – HTTP method such as "GET" or "POST".

  • path – Relative API path or absolute URL.

  • params – Optional query parameters.

  • json – Optional JSON request body.

  • data – Optional form payload.

  • headers – Optional extra HTTP headers.

  • raw – When True, return response bytes instead of parsed JSON.

Returns:

Parsed JSON payload, raw bytes, text, or None.

issues: IssuesResource

Issue endpoints exposed as client.issues.

pulls: PullsResource

Pull request endpoints exposed as client.pulls.

labels: LabelsResource

Label endpoints exposed as client.labels.

milestones: MilestonesResource

Milestone endpoints exposed as client.milestones.

members: MembersResource

Repository member endpoints exposed as client.members.

releases: ReleasesResource

Release endpoints exposed as client.releases.

tags: TagsResource

Tag endpoints exposed as client.tags.

webhooks: WebhooksResource

Webhook endpoints exposed as client.webhooks.

users: UsersResource

User endpoints exposed as client.users.

orgs: OrgsResource

Organization endpoints exposed as client.orgs.

search: SearchResource

Search endpoints exposed as client.search.

oauth: OAuthResource

OAuth helper endpoints exposed as client.oauth.

Repository resources

GitCode.repos

GitCode.repos: ReposResource

Repository endpoints exposed as client.repos.

ReposResource.get(*, owner: str | None = None, repo: str | None = None) Repository

Get a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Repository metadata.

ReposResource.list_user(*, visibility: str | None = None, affiliation: str | None = None, type: str | None = None, sort: str | None = None, direction: str | None = None, q: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List repositories visible to the authenticated user.

Parameters:
  • visibility – Visibility filter such as public, private, or all.

  • affiliation – Ownership filter accepted by the REST API.

  • type – Repository type filter.

  • sort – Sort field such as created or full_name.

  • direction – Sort direction.

  • q – Optional keyword filter.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching repositories.

ReposResource.list_for_owner(*, owner: str, type: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List public repositories for a user or owner path.

Parameters:
  • owner – Repository owner path or username.

  • type – Repository type filter.

  • sort – Sort field.

  • direction – Sort direction.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching repositories.

ReposResource.create_personal(*, name: str, description: str | None = None, path: str | None = None, private: bool | None = None, auto_init: bool | None = None, has_issues: bool | None = None, has_wiki: bool | None = None, default_branch: str | None = None, gitignore_template: str | None = None, license_template: str | None = None) Repository

Create a repository for the authenticated user.

Parameters:
  • name – Repository name.

  • description – Repository description.

  • path – Optional repository path.

  • private – Whether the repository should be private.

  • auto_init – Whether to initialize the repository with a README.

  • has_issues – Whether issues are enabled.

  • has_wiki – Whether wiki support is enabled.

  • default_branch – Default branch name when initializing.

  • gitignore_template – Optional gitignore template.

  • license_template – Optional license template.

Returns:

Created repository metadata.

ReposResource.create_for_org(*, org: str, name: str, description: str | None = None, homepage: str | None = None, path: str | None = None, private: bool | None = None, public: int | None = None, auto_init: bool | None = None, has_issues: bool | None = None, has_wiki: bool | None = None, can_comment: bool | None = None, default_branch: str | None = None, gitignore_template: str | None = None, license_template: str | None = None) Repository

Create a repository under an organization.

Parameters:
  • org – Organization path or login.

  • name – Repository name.

  • description – Repository description.

  • homepage – Repository homepage URL.

  • path – Optional repository path.

  • private – Whether the repository should be private.

  • public – Visibility mode used by the GitCode API.

  • auto_init – Whether to initialize the repository with a README.

  • has_issues – Whether issues are enabled.

  • has_wiki – Whether wiki support is enabled.

  • can_comment – Whether comments are enabled.

  • default_branch – Default branch name when initializing.

  • gitignore_template – Optional gitignore template.

  • license_template – Optional license template.

Returns:

Created repository metadata.

ReposResource.update(*, owner: str | None = None, repo: str | None = None, **changes) Repository

Update repository metadata.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • changes – Repository fields accepted by the update endpoint.

Returns:

Updated repository metadata.

ReposResource.delete(*, owner: str | None = None, repo: str | None = None) None

Delete a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

ReposResource.fork(*, owner: str | None = None, repo: str | None = None, namespace: str | None = None, path: str | None = None, name: str | None = None) Repository

Fork a repository.

Parameters:
  • owner – Source repository owner path.

  • repo – Source repository name.

  • namespace – Optional destination namespace.

  • path – Optional destination repository path.

  • name – Optional destination repository name.

Returns:

Forked repository metadata.

ReposResource.list_forks(*, owner: str | None = None, repo: str | None = None, sort: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List forks of a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sort – Optional sort field.

  • page – Page number.

  • per_page – Page size.

Returns:

Fork repositories.

ReposResource.list_contributors(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[Contributor]

List repository contributors.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Contributors for the repository.

ReposResource.list_languages(*, owner: str | None = None, repo: str | None = None) Dict[str, int]

List language statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Mapping of language names to byte counts.

ReposResource.list_stargazers(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[UserSummary]

List users who starred a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Users who starred the repository.

ReposResource.list_subscribers(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[UserSummary]

List users watching a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Subscribers for the repository.

ReposResource.update_module_settings(*, owner: str | None = None, repo: str | None = None, **settings) ApiStatusResponse

Update repository module settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • settings – Module settings accepted by the GitCode API.

Returns:

API response payload.

ReposResource.update_reviewer_settings(*, owner: str | None = None, repo: str | None = None, **settings) RepositoryReviewerSettingsUpdate

Update repository reviewer settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • settings – Reviewer settings accepted by the GitCode API.

Returns:

API response payload.

ReposResource.set_org_repo_status(*, org: str, repo: str, **payload) ApiStatusResponse

Update organization repository status metadata.

Parameters:
  • org – Organization path.

  • repo – Repository path.

  • payload – Status fields accepted by the API.

Returns:

API response payload.

ReposResource.transfer_to_org(*, org: str, repo: str, **payload) ApiStatusResponse

Transfer a repository to an organization.

Parameters:
  • org – Destination organization path.

  • repo – Repository path.

  • payload – Transfer options accepted by the API.

Returns:

API response payload.

ReposResource.get_transition(*, owner: str | None = None, repo: str | None = None) RepositoryPermissionMode

Get repository transition settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Transition configuration.

ReposResource.update_transition(*, owner: str | None = None, repo: str | None = None, **payload) ApiStatusResponse

Update repository transition settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Transition settings accepted by the API.

Returns:

API response payload.

ReposResource.update_push_config(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryPushConfig

Update repository push configuration.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Push configuration values accepted by the API.

Returns:

API response payload.

ReposResource.get_push_config(*, owner: str | None = None, repo: str | None = None) RepositoryPushConfig

Get repository push configuration.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Push configuration payload.

ReposResource.upload_image(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryUploadResult

Upload an image asset for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Upload fields accepted by the API.

Returns:

Uploaded image metadata.

ReposResource.upload_file(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryUploadResult

Upload a file asset for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Upload fields accepted by the API.

Returns:

Uploaded file metadata.

ReposResource.update_repo_settings(*, owner: str | None = None, repo: str | None = None, **payload) RepositorySettings

Update repository settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Settings fields accepted by the API.

Returns:

API response payload.

ReposResource.get_repo_settings(*, owner: str | None = None, repo: str | None = None) RepositorySettings

Get repository settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Repository settings payload.

ReposResource.get_pull_request_settings(*, owner: str | None = None, repo: str | None = None) PullRequestSettings

Get pull request settings for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Pull request settings payload.

ReposResource.update_pull_request_settings(*, owner: str | None = None, repo: str | None = None, **payload) PullRequestSettings

Update pull request settings for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Pull request settings accepted by the API.

Returns:

API response payload.

ReposResource.set_member_role(*, username: str, owner: str | None = None, repo: str | None = None, permission: str | None = None) RepoMember

Set a repository member role.

Parameters:
  • username – Member username or login.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • permission – Permission or role name accepted by the API.

Returns:

API response payload.

ReposResource.transfer(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryTransferResult

Transfer a repository to another owner or namespace.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Transfer options accepted by the API.

Returns:

API response payload.

ReposResource.list_customized_roles(*, owner: str | None = None, repo: str | None = None) List[RepositoryCustomizedRole]

List customized roles for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Customized role definitions.

ReposResource.get_download_statistics(*, owner: str | None = None, repo: str | None = None, **params) RepositoryDownloadStatistics

Get download statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • params – Query parameters accepted by the statistics endpoint.

Returns:

Download statistics payload.

ReposResource.get_contributor_statistics(*, owner: str | None = None, repo: str | None = None) List[ContributorStatistics]

Get code contribution statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Contributor statistics payload.

ReposResource.list_events(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[APIObject]

List repository events.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Repository event payloads.

GitCode.contents

GitCode.contents: RepoContentsResource

Repository content endpoints exposed as client.contents.

RepoContentsResource.get(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) ContentObject

Get a file or directory entry from a repository.

Parameters:
  • path – Repository-relative file path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref – Optional branch, tag, or commit SHA.

Returns:

Content metadata and payload details.

RepoContentsResource.create(*, path: str, content: str, message: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Create a file in a repository.

Parameters:
  • path – Repository-relative file path.

  • content – File content, typically base64-encoded for this API.

  • message – Commit message.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

RepoContentsResource.update(*, path: str, content: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Update a file in a repository.

Parameters:
  • path – Repository-relative file path.

  • content – Updated file content, typically base64-encoded.

  • message – Commit message.

  • sha – Current blob SHA required by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

RepoContentsResource.delete(*, path: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Delete a file from a repository.

Parameters:
  • path – Repository-relative file path.

  • message – Commit message.

  • sha – Current blob SHA required by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

RepoContentsResource.list_paths(*, owner: str | None = None, repo: str | None = None, ref_name: str | None = None, file_name: str | None = None) List[str]

List repository paths known to GitCode.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref_name – Optional ref name to inspect.

  • file_name – Optional filename filter.

Returns:

Matching repository paths.

RepoContentsResource.get_tree(*, sha: str, owner: str | None = None, repo: str | None = None, recursive: int | None = None, page: int | None = None, per_page: int | None = None) Tree

Get a Git tree object.

Parameters:
  • sha – Tree SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • recursive – Pass 1 to fetch the tree recursively (query parameter per Repository API).

  • page – Page number for large trees.

  • per_page – Page size for large trees.

Returns:

Tree metadata and entries.

RepoContentsResource.get_blob(*, sha: str, owner: str | None = None, repo: str | None = None) Blob

Get a Git blob object by SHA.

Parameters:
  • sha – Blob SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Blob metadata and content.

RepoContentsResource.get_raw(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) bytes

Download raw file bytes from a repository.

Parameters:
  • path – Repository-relative file path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref – Optional branch, tag, or commit SHA.

Returns:

Raw file bytes.

GitCode.branches

GitCode.branches: BranchesResource

Repository branch endpoints exposed as client.branches.

BranchesResource.list(*, owner: str | None = None, repo: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Branch]

List branches in a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sort – Optional sort field such as name or updated.

  • direction – Sort direction, usually asc or desc.

  • page – Page number.

  • per_page – Page size.

Returns:

Repository branches.

BranchesResource.get(*, branch: str, owner: str | None = None, repo: str | None = None) BranchDetail

Get a single branch.

Parameters:
  • branch – Branch name.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Branch details.

BranchesResource.create(*, branch: str, ref: str, owner: str | None = None, repo: str | None = None) Branch

Create a branch from an existing ref.

Parameters:
  • branch – New branch name.

  • ref – Starting ref such as a branch, tag, or commit SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Created branch details.

BranchesResource.list_protected(*, owner: str | None = None, repo: str | None = None) List[ProtectedBranch]

List protected branch rules for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Protected branch rules.

GitCode.commits

GitCode.commits: CommitsResource

Repository commit endpoints exposed as client.commits.

CommitsResource.list(*, owner: str | None = None, repo: str | None = None, sha: str | None = None, path: str | None = None, page: int | None = None, per_page: int | None = None) List[CommitSummary]

List commits in a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sha – Optional starting SHA or ref.

  • path – Optional file path filter.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching commits.

CommitsResource.get(*, sha: str, owner: str | None = None, repo: str | None = None) Commit

Get a single commit.

Parameters:
  • sha – Commit SHA or branch name accepted by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit details.

CommitsResource.compare(*, base: str, head: str, owner: str | None = None, repo: str | None = None) CommitComparison

Compare two refs in a repository.

Parameters:
  • base – Base commit SHA, branch, or tag.

  • head – Head commit SHA, branch, or tag.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit comparison payload.

CommitsResource.list_comments(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[CommitComment]

List commit comments for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Commit comments.

CommitsResource.get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) CommitComment

Get a single commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit comment details.

CommitsResource.create_comment(*, sha: str, body: str, owner: str | None = None, repo: str | None = None, path: str | None = None, position: int | None = None) CommitComment

Create a comment on a commit.

Parameters:
  • sha – Commit SHA.

  • body – Comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • path – Optional file path associated with the comment.

  • position – Optional diff position.

Returns:

Created commit comment.

CommitsResource.update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) CommitComment

Update a commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • body – Updated comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Updated commit comment.

CommitsResource.delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None

Delete a commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Collaboration resources

GitCode.issues

GitCode.issues: IssuesResource

Issue endpoints exposed as client.issues.

IssuesResource.list(*, owner: str | None = None, repo: str | None = None, state: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Issue]

List issues for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • state – Issue state filter such as open or closed (see Issues API).

  • sort – Optional sort field.

  • direction – Optional sort direction.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching issues.

IssuesResource.get(*, number: int | str, owner: str | None = None, repo: str | None = None) Issue

Get a single issue by number.

Parameters:
  • number – Repository-local issue number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Issue details.

IssuesResource.create(*, owner: str, repo: str | None = None, title: str, body: str | None = None, assignee: str | None = None, labels: List[str] | None = None, milestone: int | str | None = None, security_hole: str | None = None) Issue

Create an issue for a repository.

Parameters:
  • owner – Repository owner path.

  • repo – Repository name. Uses the client default when omitted.

  • title – Issue title.

  • body – Optional issue description.

  • assignee – Optional assignee username.

  • labels – Optional label names.

  • milestone – Optional milestone identifier.

  • security_hole – Whether the issue is private; form field described in the Issues API (default public).

Returns:

Created issue details.

IssuesResource.update(*, number: int | str, owner: str, repo: str | None = None, title: str | None = None, body: str | None = None, state: str | None = None, assignee: str | None = None, labels: List[str] | None = None, milestone: int | str | None = None, security_hole: str | None = None) Issue

Update an existing issue.

Parameters:
  • number – Repository-local issue number.

  • owner – Repository owner path.

  • repo – Repository name. Uses the client default when omitted.

  • title – Updated issue title.

  • body – Updated issue description.

  • state – Updated state such as reopen or close.

  • assignee – Updated assignee username.

  • labels – Replacement label names.

  • milestone – Updated milestone identifier.

  • security_hole – Whether the issue is private; form field described in the Issues API.

Returns:

Updated issue details.

IssuesResource.list_comments(*, number: int | str, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[IssueComment]

List comments for an issue.

Parameters:
  • number – Repository-local issue number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path (name). Uses the client default when omitted.

  • page – Current page number (query).

  • per_page – Page size; maximum per REST API is typically 100.

Returns:

Issue comments.

IssuesResource.create_comment(*, number: int | str, body: str, owner: str | None = None, repo: str | None = None) IssueComment

Create a comment on an issue.

Parameters:
  • number – Repository-local issue number.

  • body – Comment body text.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Created comment.

IssuesResource.get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) IssueComment

Get a single issue comment by identifier.

Parameters:
  • comment_id – Comment id from the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Issue comment.

IssuesResource.update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) IssueComment

Update an issue comment.

Parameters:
  • comment_id – Comment id from the API.

  • body – Updated comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Updated comment.

IssuesResource.delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None

Delete an issue comment.

Parameters:
  • comment_id – Comment id from the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

IssuesResource.list_pull_requests(*, number: int | str, owner: str | None = None, repo: str | None = None) List[PullRequest]

List pull requests associated with an issue.

Parameters:
  • number – Repository-local issue number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Pull requests linked to the issue.

IssuesResource.add_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]

Add labels to an issue.

Parameters:
  • number – Repository-local issue number.

  • labels – Label names to add (request body is a JSON array per REST API).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Labels on the issue after the operation.

IssuesResource.remove_label(*, number: int | str, name: str, owner: str | None = None, repo: str | None = None) None

Remove one label from an issue (REST path includes the label name).

Parameters:
  • number – Repository-local issue number.

  • name – Label name to remove.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

IssuesResource.list_enterprise(*, enterprise: str, **params) List[Issue]

List enterprise issues visible to the caller.

Parameters:
  • enterprise – Enterprise path or login.

  • params – Additional query parameters accepted by GET .../enterprises/{enterprise}/issues.

Returns:

Enterprise-scoped issues.

IssuesResource.list_user(**params) List[Issue]

List issues for the authenticated user.

Parameters:

params – Query parameters for GET /user/issues (filters, pagination, etc.).

Returns:

Issues assigned to or authored by the user, per API rules.

IssuesResource.list_org(*, org: str, **params) List[Issue]

List organization issues visible to the current user.

Parameters:
  • org – Organization path or login.

  • params – Query parameters for GET .../orgs/{org}/issues.

Returns:

Organization-scoped issues.

IssuesResource.get_enterprise_issue(*, enterprise: str, number: int | str) Issue

Get a specific enterprise issue.

Parameters:
  • enterprise – Enterprise path or login.

  • number – Enterprise issue id or number as accepted by the API path.

Returns:

Issue payload.

IssuesResource.list_enterprise_comments(*, enterprise: str, number: int | str, **params) List[IssueComment]

List comments for an enterprise issue.

Parameters:
  • enterprise – Enterprise path or login.

  • number – Enterprise issue identifier in the path.

  • params – Optional pagination or filter query parameters.

Returns:

Comments on the enterprise issue.

IssuesResource.list_enterprise_labels(*, enterprise: str, issue_id: int | str) List[Label]

List labels attached to an enterprise issue.

Parameters:
  • enterprise – Enterprise path or login.

  • issue_id – Enterprise issue id in the path segment .../issues/{issue_id}/labels.

Returns:

Labels on the issue.

IssuesResource.list_operation_logs(*, owner: str, number: int | str, page: int | None = None, per_page: int | None = None) List[IssueOperationLog]

List operation (audit) logs for an issue.

Parameters:
  • owner – Repository owner path (path segment repos/{owner}/... for this endpoint).

  • number – Repository-local issue number.

  • page – Page number.

  • per_page – Page size.

Returns:

Operation log entries.

GitCode.pulls

GitCode.pulls: PullsResource

Pull request endpoints exposed as client.pulls.

PullsResource.list(*, owner: str | None = None, repo: str | None = None, state: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None, **params) List[PullRequest] | PullRequestCount

List pull requests for a repository.

When only_count is true in params (or passed via **params), the API returns a JSON object with counts per state instead of an array (see Pull Request API).

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path (name). Uses the client default when omitted.

  • state – PR state filter: all, open, closed, locked, merged (default all in API).

  • sort – Sort field, typically created or updated.

  • directionasc or desc (API default is usually desc).

  • page – Current page number.

  • per_page – Page size (max 100 per API documentation).

  • params – Extra query parameters from the Pull Request API, for example base, since, author, assignee, reviewer, milestone_number, labels (comma-separated), merged_after, merged_before, created_after, created_before, updated_after, updated_before, only_count (boolean), and ISO 8601 timestamps (URL-encoded when sent).

Returns:

A list of pull requests, or an APIObject when the response is a count object.

PullsResource.get(*, number: int | str, owner: str | None = None, repo: str | None = None) PullRequest

Get a single pull request.

Parameters:
  • number – Pull request number in the repository.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Pull request details.

PullsResource.create(*, title: str, head: str, base: str, owner: str | None = None, repo: str | None = None, body: str | None = None, draft: bool | None = None, assignees: List[str] | None = None, testers: List[str] | None = None, labels: List[str] | None = None, milestone_number: int | None = None, issue: str | None = None, prune_source_branch: bool | None = None, squash: bool | None = None, squash_commit_message: str | None = None, fork_path: str | None = None) PullRequest

Create a pull request.

Parameters:
  • title – Pull request title.

  • head – Source branch ref (head branch).

  • base – Target branch ref (base branch).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • body – Description body.

  • draft – Whether to create as draft.

  • assignees – Assignee logins; sent as a comma-separated string per API.

  • testers – Tester logins; comma-separated in the JSON body.

  • labels – Label names; comma-separated in the JSON body.

  • milestone_number – Target milestone number.

  • issue – Related issue reference when supported by the API.

  • prune_source_branch – Whether to delete the source branch after merge when applicable.

  • squash – Squash-merge preference where supported.

  • squash_commit_message – Custom squash commit message.

  • fork_path – Fork namespace/path when opening a PR from a fork.

Returns:

Created pull request.

PullsResource.update(*, number: int | str, owner: str | None = None, repo: str | None = None, title: str | None = None, body: str | None = None, state: str | None = None, base: str | None = None, labels: List[str] | None = None, draft: bool | None = None) PullRequest

Update a pull request.

Parameters:
  • number – Pull request number in the repository.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • title – New title.

  • body – New description.

  • state – New state as accepted by the API (for example close or reopen semantics).

  • base – New base branch name.

  • labels – Replacement labels; comma-separated in the JSON body.

  • draft – Draft flag.

Returns:

Updated pull request.

PullsResource.merge(*, number: int | str, owner: str | None = None, repo: str | None = None, merge_commit_message: str | None = None, squash: bool | None = None) MergeResult

Merge a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • merge_commit_message – Optional merge commit message.

  • squash – Whether to squash merge when supported.

Returns:

Merge result payload.

PullsResource.get_merge_status(*, number: int | str, owner: str | None = None, repo: str | None = None) MergeStatus

Get mergeability status for a pull request (GET on the merge resource).

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Merge status / mergeability information.

PullsResource.list_commits(*, number: int | str, owner: str | None = None, repo: str | None = None) List[APIObject]

List commits included in a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Commit objects (wrapped as APIObject).

PullsResource.list_files(*, number: int | str, owner: str | None = None, repo: str | None = None) List[PullRequestFile]

List files changed by a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

File change entries.

PullsResource.list_comments(*, number: int | str, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[PullRequestComment]

List comments on a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Pull request review comments.

PullsResource.create_comment(*, number: int | str, body: str, owner: str | None = None, repo: str | None = None, commit_id: str | None = None, path: str | None = None, position: int | None = None) PullRequestComment

Create a pull request (review) comment.

Parameters:
  • number – Pull request number.

  • body – Comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • commit_id – Commit SHA the comment applies to.

  • path – File path in the diff.

  • position – Line or diff position as defined by the API.

Returns:

Created comment.

PullsResource.get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) PullRequestComment

Get a single pull request comment by id (global comment endpoint).

Parameters:
  • comment_id – Comment id.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Pull request comment.

PullsResource.update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) PullRequestComment

Update a pull request comment.

Parameters:
  • comment_id – Comment id.

  • body – Updated body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Updated comment.

PullsResource.delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None

Delete a pull request comment.

Parameters:
  • comment_id – Comment id.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

PullsResource.list_labels(*, number: int | str, owner: str | None = None, repo: str | None = None) List[Label]

List labels attached to a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Labels on the pull request.

PullsResource.add_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]

Add labels to a pull request.

Parameters:
  • number – Pull request number.

  • labels – Label names (JSON array body per API).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Labels after the operation.

PullsResource.replace_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]

Replace all labels on a pull request.

Parameters:
  • number – Pull request number.

  • labels – Complete new label set (JSON array body).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Labels after replacement.

PullsResource.remove_label(*, number: int | str, label: str, owner: str | None = None, repo: str | None = None) None

Remove a label from a pull request.

Parameters:
  • number – Pull request number.

  • label – Label name to remove.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

PullsResource.request_review(*, number: int | str, owner: str | None = None, repo: str | None = None, event: str, body: str | None = None) None

Submit a pull request review event (approve, request changes, etc., per API).

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • event – Review event name as required by GitCode (for example APPROVE; see API docs).

  • body – Optional comment body accompanying the event.

Returns:

Review result object.

PullsResource.list_operation_logs(*, number: int | str, owner: str | None = None, repo: str | None = None, **params) List[PullRequestOperationLog]

List operation logs for a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • params – Additional query parameters accepted by the operate_logs endpoint.

Returns:

Log entries as generic API objects.

PullsResource.request_test(*, number: int | str, owner: str | None = None, repo: str | None = None, **payload) None

Request testing for a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • payload – JSON fields required by the test request endpoint.

Returns:

Test request result.

PullsResource.update_testers(*, number: int | str, testers: List[str], owner: str | None = None, repo: str | None = None) None

Replace pull request testers.

Parameters:
  • number – Pull request number.

  • testers – New tester list; serialized as a comma-separated testers field in JSON.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

API response payload.

PullsResource.add_testers(*, number: int | str, testers: List[str], owner: str | None = None, repo: str | None = None) List[UserSummary]

Add testers to a pull request.

Parameters:
  • number – Pull request number.

  • testers – Usernames to add; comma-separated in the JSON body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

API response payload.

PullsResource.update_assignees(*, number: int | str, assignees: List[str], owner: str | None = None, repo: str | None = None) None

Replace pull request assignees.

Parameters:
  • number – Pull request number.

  • assignees – New assignee list; comma-separated in the JSON body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

API response payload.

PullsResource.add_assignees(*, number: int | str, assignees: List[str], owner: str | None = None, repo: str | None = None) PullRequestAssigneeCount

Add assignees to a pull request.

Parameters:
  • number – Pull request number.

  • assignees – Usernames to add; comma-separated in the JSON body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

API response payload.

PullsResource.remove_assignees(*, number: int | str, assignees: List[str], owner: str | None = None, repo: str | None = None) None

Remove assignees from a pull request.

Parameters:
  • number – Pull request number.

  • assignees – Usernames to remove; comma-separated in the JSON body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

PullsResource.list_issues(*, number: int | str, owner: str | None = None, repo: str | None = None) List[Issue]

List issues linked to a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Linked issues.

PullsResource.list_enterprise(*, enterprise: str, **params) List[PullRequest]

List enterprise pull requests.

Parameters:
  • enterprise – Enterprise path or login.

  • params – Query parameters for the enterprise pull_requests listing.

Returns:

Pull requests in the enterprise scope.

PullsResource.list_org(*, org: str, **params) List[PullRequest]

List pull requests for an organization scope.

Parameters:
  • org – Organization path (GET .../org/{org}/pull_requests).

  • params – Query parameters accepted by that listing.

Returns:

Organization-scoped pull requests.

PullsResource.list_issue_pull_requests(*, enterprise: str, number: int | str) List[PullRequest]

List pull requests associated with an enterprise issue.

Parameters:
  • enterprise – Enterprise path or login.

  • number – Enterprise issue number or id in the path.

Returns:

Related pull requests.

GitCode.labels

GitCode.labels: LabelsResource

Label endpoints exposed as client.labels.

LabelsResource.list(*, owner: str | None = None, repo: str | None = None) List[Label]

List repository labels.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

All labels defined on the repository.

LabelsResource.create(*, name: str, color: str, owner: str | None = None, repo: str | None = None) Label

Create a repository label.

Parameters:
  • name – Label name.

  • color – Label color (typically a #RRGGBB hex string per API examples).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Created label.

LabelsResource.update(*, original_name: str, owner: str | None = None, repo: str | None = None, name: str | None = None, color: str | None = None) Label

Update a repository label.

Parameters:
  • original_name – Current label name in the URL path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • name – New label name, if renaming.

  • color – New color value.

Returns:

Updated label.

LabelsResource.delete(*, name: str, owner: str | None = None, repo: str | None = None) None

Delete a repository label.

Parameters:
  • name – Label name in the path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

LabelsResource.clear_issue_labels(*, number: int | str, owner: str | None = None, repo: str | None = None) None

Remove all labels from an issue.

Parameters:
  • number – Repository-local issue number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

LabelsResource.replace_issue_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]

Replace all labels on an issue.

Parameters:
  • number – Repository-local issue number.

  • labels – Complete new label set (JSON array body).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Labels after replacement.

LabelsResource.list_enterprise(*, enterprise: str, search: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None, api_version: str = 'v5') List[Label]

List labels for an enterprise, optionally using a different API version.

Parameters:
  • enterprise – Enterprise path or login.

  • search – Optional name search string.

  • direction – Sort direction for results.

  • page – Page number.

  • per_page – Page size.

  • api_versionv5 uses /api/v5/...; other values build /api/{version}/... on the same host.

Returns:

Enterprise label definitions.

GitCode.milestones

GitCode.milestones: MilestonesResource

Milestone endpoints exposed as client.milestones.

MilestonesResource.list(*, owner: str | None = None, repo: str | None = None, **params) List[Milestone]

List milestones for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • params – Query parameters accepted by the milestones listing (state, sort, pagination, etc.).

Returns:

Milestones.

MilestonesResource.get(*, number: int | str, owner: str | None = None, repo: str | None = None) Milestone

Get a single milestone.

Parameters:
  • number – Milestone number in the repository.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Milestone details.

MilestonesResource.create(*, title: str, due_on: str, owner: str | None = None, repo: str | None = None, description: str | None = None) Milestone

Create a milestone.

Parameters:
  • title – Milestone title.

  • due_on – Due date string in the format expected by the API (often ISO 8601).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • description – Optional description.

Returns:

Created milestone.

MilestonesResource.update(*, number: int | str, title: str, due_on: str, owner: str | None = None, repo: str | None = None, description: str | None = None, state: str | None = None) Milestone

Update a milestone.

Parameters:
  • number – Milestone number.

  • title – Updated title.

  • due_on – Updated due date.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • description – Updated description.

  • state – Milestone state such as open or closed per API.

Returns:

Updated milestone.

MilestonesResource.delete(*, number: int | str, owner: str | None = None, repo: str | None = None) None

Delete a milestone.

Parameters:
  • number – Milestone number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

GitCode.members

GitCode.members: MembersResource

Repository member endpoints exposed as client.members.

MembersResource.add_or_update(*, username: str, owner: str | None = None, repo: str | None = None, permission: str | None = None) RepoMember

Add or update repository member permissions.

Parameters:
  • username – Collaborator login.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • permission – Permission string (for example pull, push, admin per GitCode API).

Returns:

Collaborator record.

MembersResource.remove(*, username: str, owner: str | None = None, repo: str | None = None) None

Remove a repository member.

Parameters:
  • username – Collaborator login to remove.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

MembersResource.list(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[RepoCollaborator]

List repository members (collaborators).

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Collaborators with permission metadata.

MembersResource.get(*, username: str, owner: str | None = None, repo: str | None = None) RepositoryCollaboratorCheck

Check whether a user is a repository member.

MembersResource.get_permission(*, username: str, owner: str | None = None, repo: str | None = None) RepoMemberPermission

Get repository member permissions.

Parameters:
  • username – Collaborator login.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Effective permission for the user on the repository.

Account and discovery resources

GitCode.users

GitCode.users: UsersResource

User endpoints exposed as client.users.

UsersResource.get(*, username: str) User

Get a user profile.

Parameters:

username – GitCode username or login.

Returns:

User profile details.

UsersResource.me() User

Get the profile of the authenticated user.

Returns:

Authorized user profile.

UsersResource.list_emails() List[Email]

List email addresses for the authenticated user.

Returns:

Email records associated with the current account.

UsersResource.list_events(*, username: str, year: str | None = None, next: str | None = None) UserEventsResponse

List activity events for a user.

Parameters:
  • username – GitCode username or login (path segment, see User API).

  • year – Optional start year filter (query year, e.g. 2024 per documentation).

  • next – Optional end date / pagination cursor (query next; often an ISO timestamp from a prior page).

Returns:

Event payload grouped by date.

UsersResource.list_repos(*, username: str, **params) List[Repository]

List public repositories owned by a user.

Supported filters follow the user repository API documentation, such as type, sort, direction, page, and per_page.

Parameters:
  • username – GitCode username or login.

  • params – Query parameters accepted by the REST endpoint.

Returns:

Matching repositories.

UsersResource.create_key(*, key: str, title: str) PublicKey

Add a public SSH key for the authenticated user.

Parameters:
  • key – Public key material.

  • title – Human-readable key name.

Returns:

Created key metadata.

UsersResource.list_keys(*, page: int | None = None, per_page: int | None = None) List[APIObject]

List public SSH keys for the authenticated user.

Parameters:
  • page – Page number.

  • per_page – Page size.

Returns:

Public key records.

UsersResource.delete_key(*, key_id: int | str) None

Delete a public SSH key.

Parameters:

key_id – Public key identifier.

UsersResource.get_key(*, key_id: int | str) PublicKey

Get a single public SSH key.

Parameters:

key_id – Public key identifier.

Returns:

Public key metadata.

UsersResource.get_namespace(*, path: str) Namespace

Resolve namespace information for the authenticated user.

Parameters:

path – Namespace path to look up.

Returns:

Namespace details.

UsersResource.list_starred(*, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List repositories starred by the authenticated user.

Parameters:
  • sort – Sort field such as created or updated.

  • direction – Sort direction, usually asc or desc.

  • page – Page number.

  • per_page – Page size.

Returns:

Starred repositories.

GitCode.orgs

GitCode.orgs: OrgsResource

Organization endpoints exposed as client.orgs.

OrgsResource.list_for_user(*, username: str, page: int | None = None, per_page: int | None = None) List[OrganizationSummary]

List organizations for a user.

Parameters:
  • username – GitCode username or login.

  • page – Page number.

  • per_page – Page size.

Returns:

Organizations the user belongs to.

OrgsResource.list_authenticated(*, page: int | None = None, per_page: int | None = None, admin: bool | None = None) List[OrganizationSummary]

List organizations for the authenticated user.

Parameters:
  • page – Page number.

  • per_page – Page size.

  • admin – Optional admin-only filter.

Returns:

Organizations visible to the authorized user.

OrgsResource.get_member(*, org: str, username: str) OrganizationMembership

Get an organization member profile.

Parameters:
  • org – Organization path or login.

  • username – Member username or login.

Returns:

Organization membership details.

OrgsResource.get(*, org: str) Organization

Get an organization.

Parameters:

org – Organization path or login.

Returns:

Organization details.

OrgsResource.list_repos(*, org: str, type: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List repositories for an organization.

Parameters:
  • org – Organization path or login.

  • type – Repository type filter such as all, public, or private.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching repositories.

OrgsResource.create_repo(*, org: str, name: str, **payload) Repository

Create an organization repository.

Additional payload fields match the organization repository creation endpoint, such as description, homepage, private, public, auto_init, and default_branch.

Parameters:
  • org – Organization path or login.

  • name – Repository name.

  • payload – Additional repository creation fields.

Returns:

Created repository metadata.

OrgsResource.get_enterprise_member(*, enterprise: str, username: str) EnterpriseMember

Get a member profile for an enterprise.

Parameters:
  • enterprise – Enterprise path or login.

  • username – Member username or login.

Returns:

Enterprise membership details.

OrgsResource.get_membership(*, org: str) OrganizationMembership

Get the authenticated user’s membership in an organization.

Parameters:

org – Organization path or login.

Returns:

Membership details for the current user.

OrgsResource.list_members(*, org: str, page: int | None = None, per_page: int | None = None, role: str | None = None) List[User]

List members of an organization.

Parameters:
  • org – Organization path or login.

  • page – Page number.

  • per_page – Page size.

  • role – Optional role filter such as all, admin, or member.

Returns:

Organization members.

OrgsResource.list_enterprise_members(*, enterprise: str, page: int | None = None, per_page: int | None = None, role: str | None = None) List[EnterpriseMember]

List members of an enterprise.

Parameters:
  • enterprise – Enterprise path or login.

  • page – Page number.

  • per_page – Page size.

  • role – Optional role filter.

Returns:

Enterprise members.

OrgsResource.remove_member(*, org: str, username: str) EmptyResponse

Remove a member from an organization.

Parameters:
  • org – Organization path or login.

  • username – Member username or login.

Returns:

API response payload, if any.

OrgsResource.list_followers(*, owner: str, page: int | None = None, per_page: int | None = None) List[User]

List followers of an organization.

Parameters:
  • owner – Organization path.

  • page – Page number.

  • per_page – Page size.

Returns:

Followers of the organization.

OrgsResource.get_issue_extend_settings(*, org: str) List[APIObject]

Get extended issue type and status settings for an organization.

Parameters:

org – Organization path or login.

Returns:

Extended issue configuration entries.

OrgsResource.invite_member(*, org: str, username: str, permission: str | None = None, role_id: str | None = None) User

Invite a user to an organization.

Parameters:
  • org – Organization path or login.

  • username – Member username or login.

  • permission – Permission level such as pull, push, or admin.

  • role_id – Custom role identifier when using a customized permission.

Returns:

Invited user information with permissions.

OrgsResource.update_enterprise_member(*, enterprise: str, username: str, role: str) EnterpriseMember

Update the role of an enterprise member.

Parameters:
  • enterprise – Enterprise path or login.

  • username – Member username or login.

  • role – Enterprise role such as viewer, developer, or admin.

Returns:

Updated enterprise membership.

OrgsResource.update(*, org: str, **payload) Organization

Update organization metadata.

Parameters:
  • org – Organization path or login.

  • payload – Updatable fields such as name, email, or description.

Returns:

Updated organization details.

OrgsResource.leave(*, org: str) None

Leave an organization as the authenticated user.

Parameters:

org – Organization path or login.

GitCode.oauth

GitCode.oauth: OAuthResource

OAuth helper endpoints exposed as client.oauth.

OAuthResource.build_authorize_url(*, client_id: str, redirect_uri: str, scope: str | None = None, state: str | None = None, response_type: str = 'code') str

Build the GitCode OAuth authorization URL.

Parameters:
  • client_id – OAuth application client ID.

  • redirect_uri – Registered redirect URI.

  • scope – Optional OAuth scopes.

  • state – Optional CSRF protection value.

  • response_type – OAuth response type, defaults to "code".

Returns:

Browser URL for the authorization step.

OAuthResource.exchange_token(*, code: str, client_id: str, client_secret: str) OAuthToken

Exchange an authorization code for an OAuth token.

Parameters:
  • code – Authorization code returned by GitCode.

  • client_id – OAuth application client ID.

  • client_secret – OAuth application client secret.

Returns:

OAuth access token payload.

OAuthResource.refresh_token(*, refresh_token: str) OAuthToken

Refresh an OAuth token.

Parameters:

refresh_token – Refresh token previously issued by GitCode.

Returns:

Refreshed OAuth token payload.

Miscellaneous repository resources

GitCode.releases

GitCode.releases: ReleasesResource

Release endpoints exposed as client.releases.

ReleasesResource.update(*, release_id: int | str, tag_name: str, name: str, body: str, owner: str | None = None, repo: str | None = None) Release

Update a repository release.

Parameters:
  • release_id – Release identifier.

  • tag_name – Tag name for the release.

  • name – Release name.

  • body – Release description.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Updated release payload.

ReleasesResource.get_by_tag(*, tag: str, owner: str | None = None, repo: str | None = None) Release

Get a repository release by tag name.

Parameters:
  • tag – Git tag the release is attached to.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Release metadata for that tag.

ReleasesResource.list(*, owner: str | None = None, repo: str | None = None) List[Release]

List releases for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Releases ordered as returned by the API.

GitCode.tags

GitCode.tags: TagsResource

Tag endpoints exposed as client.tags.

TagsResource.list(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[Tag]

List tags for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Tags.

TagsResource.create(*, refs: str, tag_name: str, owner: str | None = None, repo: str | None = None, tag_message: str | None = None) Tag

Create a tag for a repository.

Parameters:
  • refs – Object SHA or ref the tag should point to.

  • tag_name – Name of the new tag.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • tag_message – Optional annotated tag message.

Returns:

Created tag.

TagsResource.list_protected(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[ProtectedTag]

List protected tags for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Protected tag rules.

TagsResource.delete_protected(*, tag_name: str, owner: str | None = None, repo: str | None = None) None

Delete a protected tag rule.

Parameters:
  • tag_name – Protected tag name in the URL path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

TagsResource.get_protected(*, tag_name: str, owner: str | None = None, repo: str | None = None) ProtectedTag

Get details for a protected tag rule.

Parameters:
  • tag_name – Tag name in the path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Protected tag configuration.

TagsResource.create_protected(*, name: str, owner: str | None = None, repo: str | None = None, create_access_level: int | None = None) ProtectedTag

Create a protected tag rule.

Parameters:
  • name – Tag name or pattern to protect.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • create_access_level – Minimum access level required to create matching tags (API-specific integer).

Returns:

Created rule.

TagsResource.update_protected(*, name: str, create_access_level: int, owner: str | None = None, repo: str | None = None) ProtectedTag

Update a protected tag rule.

GitCode.webhooks

GitCode.webhooks: WebhooksResource

Webhook endpoints exposed as client.webhooks.

WebhooksResource.list(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[Webhook]

List webhooks for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Hook configurations.

WebhooksResource.create(*, url: str, owner: str | None = None, repo: str | None = None, **payload) Webhook

Create a repository webhook.

Parameters:
  • url – Payload URL GitCode should POST events to.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • payload – Additional fields from the Webhooks API (events list, secret, content type, etc.).

Returns:

Created webhook.

WebhooksResource.get(*, hook_id: int | str, owner: str | None = None, repo: str | None = None) Webhook

Get a repository webhook by identifier.

Parameters:
  • hook_id – Webhook id from the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Webhook configuration.

WebhooksResource.update(*, hook_id: int | str, url: str, owner: str | None = None, repo: str | None = None, **payload) Webhook

Update a repository webhook.

Parameters:
  • hook_id – Webhook id.

  • url – New payload URL (merged into the JSON body).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • payload – Other mutable webhook fields accepted by the API.

Returns:

Updated webhook.

WebhooksResource.delete(*, hook_id: int | str, owner: str | None = None, repo: str | None = None) None

Delete a repository webhook.

Parameters:
  • hook_id – Webhook id.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

WebhooksResource.test(*, hook_id: int | str, owner: str | None = None, repo: str | None = None) None

Send a test delivery for a repository webhook.

Parameters:
  • hook_id – Webhook id.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Asynchronous client

class AsyncGitCode(*, api_key: str | None = None, owner: str | None = None, repo: str | None = None, base_url: str = 'https://api.gitcode.com/api/v5', timeout: float | None = None, http_client: AsyncClient | None = None, decrypt: Callable | None = None)

Bases: AsyncAPIClient

Asynchronous GitCode API client.

Parameters:
  • api_key – Personal access token used for GitCode API requests.

  • owner – Default repository owner used by repository-scoped helpers.

  • repo – Default repository name used by repository-scoped helpers.

  • base_url – Base URL for the GitCode REST API.

  • timeout – Request timeout in seconds.

  • http_client – Optional pre-configured httpx.AsyncClient instance.

  • decrypt – Optional decryption function for encrypted access token.

Create an asynchronous client and attach resource groups.

async close() None

Close the underlying async HTTP client.

async request(method: str, path: str, *, params: Dict[str, Any] | None = None, json: Any = None, data: Dict[str, Any] | None = None, headers: Dict[str, str] | None = None, raw: bool = False) Any

Send an asynchronous HTTP request to the GitCode API.

Parameters:
  • method – HTTP method such as "GET" or "POST".

  • path – Relative API path or absolute URL.

  • params – Optional query parameters.

  • json – Optional JSON request body.

  • data – Optional form payload.

  • headers – Optional extra HTTP headers.

  • raw – When True, return response bytes instead of parsed JSON.

Returns:

Parsed JSON payload, raw bytes, text, or None.

repos: AsyncReposResource

Repository endpoints exposed as client.repos.

contents: AsyncRepoContentsResource

Repository content endpoints exposed as client.contents.

branches: AsyncBranchesResource

Repository branch endpoints exposed as client.branches.

commits: AsyncCommitsResource

Repository commit endpoints exposed as client.commits.

issues: AsyncIssuesResource

Issue endpoints exposed as client.issues.

pulls: AsyncPullsResource

Pull request endpoints exposed as client.pulls.

labels: AsyncLabelsResource

Label endpoints exposed as client.labels.

milestones: AsyncMilestonesResource

Milestone endpoints exposed as client.milestones.

members: AsyncMembersResource

Repository member endpoints exposed as client.members.

releases: AsyncReleasesResource

Release endpoints exposed as client.releases.

tags: AsyncTagsResource

Tag endpoints exposed as client.tags.

webhooks: AsyncWebhooksResource

Webhook endpoints exposed as client.webhooks.

users: AsyncUsersResource

User endpoints exposed as client.users.

orgs: AsyncOrgsResource

Organization endpoints exposed as client.orgs.

search: AsyncSearchResource

Search endpoints exposed as client.search.

oauth: AsyncOAuthResource

OAuth helper endpoints exposed as client.oauth.

Repository resources

AsyncGitCode.repos

AsyncGitCode.repos: AsyncReposResource

Repository endpoints exposed as client.repos.

async AsyncReposResource.get(*, owner: str | None = None, repo: str | None = None) Repository

Get a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Repository metadata.

async AsyncReposResource.list_user(**params) List[Repository]

List repositories visible to the authenticated user.

Pass query parameters as keyword arguments (same names as ReposResource.list_user(), for example visibility, affiliation, type, sort, direction, q, page, per_page).

Parameters:

params – Query parameters for GET /user/repos.

Returns:

Matching repositories.

async AsyncReposResource.list_for_owner(*, owner: str, **params) List[Repository]

List public repositories for a user or owner path.

Parameters:
  • owner – Repository owner path or username.

  • params – Query parameters such as type, sort, direction, page, per_page.

Returns:

Matching repositories.

async AsyncReposResource.create_personal(*, name: str, **payload) Repository

Create a repository for the authenticated user.

Parameters:
Returns:

Created repository metadata.

async AsyncReposResource.create_for_org(*, org: str, name: str, **payload) Repository

Create a repository under an organization.

Parameters:
  • org – Organization path or login.

  • name – Repository name (also written into payload).

  • payload – Additional JSON fields; see ReposResource.create_for_org().

Returns:

Created repository metadata.

async AsyncReposResource.update(*, owner: str | None = None, repo: str | None = None, **changes) Repository

Update repository metadata.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • changes – Repository fields accepted by the update endpoint.

Returns:

Updated repository metadata.

async AsyncReposResource.delete(*, owner: str | None = None, repo: str | None = None) None

Delete a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

async AsyncReposResource.fork(*, owner: str | None = None, repo: str | None = None, **payload) Repository

Fork a repository.

Parameters:
  • owner – Source repository owner path. Uses the client default when omitted.

  • repo – Source repository name. Uses the client default when omitted.

  • payload – JSON body fields such as namespace, path, and name (see ReposResource.fork()).

Returns:

Forked repository metadata.

async AsyncReposResource.list_forks(*, owner: str | None = None, repo: str | None = None, **params) List[Repository]

List forks of a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • params – Query parameters such as sort, page, per_page.

Returns:

Fork repositories.

async AsyncReposResource.list_contributors(*, owner: str | None = None, repo: str | None = None, **params) List[Contributor]

List repository contributors.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • params – Query parameters such as page and per_page.

Returns:

Contributors for the repository.

async AsyncReposResource.list_languages(*, owner: str | None = None, repo: str | None = None) Dict[str, int]

List language statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Mapping of language names to byte counts.

async AsyncReposResource.list_stargazers(*, owner: str | None = None, repo: str | None = None, **params) List[UserSummary]

List users who starred a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • params – Query parameters such as page and per_page.

Returns:

Users who starred the repository.

async AsyncReposResource.list_subscribers(*, owner: str | None = None, repo: str | None = None, **params) List[UserSummary]

List users watching a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • params – Query parameters such as page and per_page.

Returns:

Subscribers for the repository.

async AsyncReposResource.update_module_settings(*, owner: str | None = None, repo: str | None = None, **settings) ApiStatusResponse

Update repository module settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • settings – Module settings accepted by the GitCode API.

Returns:

API response payload.

async AsyncReposResource.update_reviewer_settings(*, owner: str | None = None, repo: str | None = None, **settings) RepositoryReviewerSettingsUpdate

Update repository reviewer settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • settings – Reviewer settings accepted by the GitCode API.

Returns:

API response payload.

async AsyncReposResource.set_org_repo_status(*, org: str, repo: str, **payload) ApiStatusResponse

Update organization repository status metadata.

Parameters:
  • org – Organization path.

  • repo – Repository path.

  • payload – Status fields accepted by the API.

Returns:

API response payload.

async AsyncReposResource.transfer_to_org(*, org: str, repo: str, **payload) ApiStatusResponse

Transfer a repository to an organization.

Parameters:
  • org – Destination organization path.

  • repo – Repository path.

  • payload – Transfer options accepted by the API.

Returns:

API response payload.

async AsyncReposResource.get_transition(*, owner: str | None = None, repo: str | None = None) RepositoryPermissionMode

Get repository transition settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Transition configuration.

async AsyncReposResource.update_transition(*, owner: str | None = None, repo: str | None = None, **payload) ApiStatusResponse

Update repository transition settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Transition settings accepted by the API.

Returns:

API response payload.

async AsyncReposResource.update_push_config(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryPushConfig

Update repository push configuration.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Push configuration values accepted by the API.

Returns:

API response payload.

async AsyncReposResource.get_push_config(*, owner: str | None = None, repo: str | None = None) RepositoryPushConfig

Get repository push configuration.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Push configuration payload.

async AsyncReposResource.upload_image(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryUploadResult

Upload an image asset for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Upload fields accepted by the API.

Returns:

Uploaded image metadata.

async AsyncReposResource.upload_file(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryUploadResult

Upload a file asset for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Upload fields accepted by the API.

Returns:

Uploaded file metadata.

async AsyncReposResource.update_repo_settings(*, owner: str | None = None, repo: str | None = None, **payload) RepositorySettings

Update repository settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Settings fields accepted by the API.

Returns:

API response payload.

async AsyncReposResource.get_repo_settings(*, owner: str | None = None, repo: str | None = None) RepositorySettings

Get repository settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Repository settings payload.

async AsyncReposResource.get_pull_request_settings(*, owner: str | None = None, repo: str | None = None) PullRequestSettings

Get pull request settings for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Pull request settings payload.

async AsyncReposResource.update_pull_request_settings(*, owner: str | None = None, repo: str | None = None, **payload) PullRequestSettings

Update pull request settings for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Pull request settings accepted by the API.

Returns:

API response payload.

async AsyncReposResource.set_member_role(*, username: str, owner: str | None = None, repo: str | None = None, permission: str | None = None) RepoMember

Set a repository member role.

Parameters:
  • username – Member username or login.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • permission – Permission or role name accepted by the API.

Returns:

API response payload.

async AsyncReposResource.transfer(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryTransferResult

Transfer a repository to another owner or namespace.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Transfer options accepted by the API.

Returns:

API response payload.

async AsyncReposResource.list_customized_roles(*, owner: str | None = None, repo: str | None = None) List[RepositoryCustomizedRole]

List customized roles for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Customized role definitions.

async AsyncReposResource.get_download_statistics(*, owner: str | None = None, repo: str | None = None, **params) RepositoryDownloadStatistics

Get download statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • params – Query parameters accepted by the statistics endpoint.

Returns:

Download statistics payload.

async AsyncReposResource.get_contributor_statistics(*, owner: str | None = None, repo: str | None = None) List[ContributorStatistics]

Get code contribution statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Contributor statistics payload.

async AsyncReposResource.list_events(*, owner: str | None = None, repo: str | None = None, **params) List[APIObject]

List repository events.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • params – Query parameters such as page and per_page.

Returns:

Repository event payloads.

AsyncGitCode.contents

AsyncGitCode.contents: AsyncRepoContentsResource

Repository content endpoints exposed as client.contents.

async AsyncRepoContentsResource.get(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) ContentObject

Get a file or directory entry from a repository.

Parameters:
  • path – Repository-relative file path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref – Optional branch, tag, or commit SHA.

Returns:

Content metadata and payload details.

async AsyncRepoContentsResource.create(*, path: str, content: str, message: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Create a file in a repository.

Parameters:
  • path – Repository-relative file path.

  • content – File content, typically base64-encoded for this API.

  • message – Commit message.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

async AsyncRepoContentsResource.update(*, path: str, content: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Update a file in a repository.

Parameters:
  • path – Repository-relative file path.

  • content – Updated file content, typically base64-encoded.

  • message – Commit message.

  • sha – Current blob SHA required by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

async AsyncRepoContentsResource.delete(*, path: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Delete a file from a repository.

Parameters:
  • path – Repository-relative file path.

  • message – Commit message.

  • sha – Current blob SHA required by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

async AsyncRepoContentsResource.list_paths(*, owner: str | None = None, repo: str | None = None, ref_name: str | None = None, file_name: str | None = None) List[str]

List repository paths known to GitCode.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref_name – Optional ref name to inspect.

  • file_name – Optional filename filter.

Returns:

Matching repository paths.

async AsyncRepoContentsResource.get_tree(*, sha: str, owner: str | None = None, repo: str | None = None, recursive: int | None = None, page: int | None = None, per_page: int | None = None) Tree

Get a Git tree object.

Parameters:
  • sha – Tree SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • recursive – Pass 1 to fetch the tree recursively (query parameter per Repository API).

  • page – Page number for large trees.

  • per_page – Page size for large trees.

Returns:

Tree metadata and entries.

async AsyncRepoContentsResource.get_blob(*, sha: str, owner: str | None = None, repo: str | None = None) Blob

Get a Git blob object by SHA.

Parameters:
  • sha – Blob SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Blob metadata and content.

async AsyncRepoContentsResource.get_raw(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) bytes

Download raw file bytes from a repository.

Parameters:
  • path – Repository-relative file path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref – Optional branch, tag, or commit SHA.

Returns:

Raw file bytes.

AsyncGitCode.branches

AsyncGitCode.branches: AsyncBranchesResource

Repository branch endpoints exposed as client.branches.

async AsyncBranchesResource.list(*, owner: str | None = None, repo: str | None = None, **params) List[Branch]

List branches in a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • params – Query parameters such as sort, direction, page, per_page.

Returns:

Repository branches.

async AsyncBranchesResource.get(*, branch: str, owner: str | None = None, repo: str | None = None) BranchDetail

Get a single branch.

Parameters:
  • branch – Branch name.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Branch details.

async AsyncBranchesResource.create(*, branch: str, ref: str, owner: str | None = None, repo: str | None = None) Branch

Create a branch from an existing ref.

Parameters:
  • branch – New branch name.

  • ref – Starting ref such as a branch, tag, or commit SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Created branch details.

async AsyncBranchesResource.list_protected(*, owner: str | None = None, repo: str | None = None) List[ProtectedBranch]

List protected branch rules for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Protected branch rules.

AsyncGitCode.commits

AsyncGitCode.commits: AsyncCommitsResource

Repository commit endpoints exposed as client.commits.

async AsyncCommitsResource.list(*, owner: str | None = None, repo: str | None = None, **params) List[CommitSummary]

List commits in a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • params – Query parameters such as sha, path, page, per_page.

Returns:

Matching commits.

async AsyncCommitsResource.get(*, sha: str, owner: str | None = None, repo: str | None = None) Commit

Get a single commit.

Parameters:
  • sha – Commit SHA or branch name accepted by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit details.

async AsyncCommitsResource.compare(*, base: str, head: str, owner: str | None = None, repo: str | None = None) CommitComparison

Compare two refs in a repository.

Parameters:
  • base – Base commit SHA, branch, or tag.

  • head – Head commit SHA, branch, or tag.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit comparison payload.

async AsyncCommitsResource.list_comments(*, owner: str | None = None, repo: str | None = None, **params) List[CommitComment]

List commit comments for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • params – Query parameters such as page and per_page.

Returns:

Commit comments.

async AsyncCommitsResource.get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) CommitComment

Get a single commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit comment details.

async AsyncCommitsResource.create_comment(*, sha: str, body: str, owner: str | None = None, repo: str | None = None, path: str | None = None, position: int | None = None) CommitComment

Create a comment on a commit.

Parameters:
  • sha – Commit SHA.

  • body – Comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • path – Optional file path associated with the comment.

  • position – Optional diff position.

Returns:

Created commit comment.

async AsyncCommitsResource.update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) CommitComment

Update a commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • body – Updated comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Updated commit comment.

async AsyncCommitsResource.delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None

Delete a commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Collaboration resources

AsyncGitCode.issues

AsyncGitCode.issues: AsyncIssuesResource

Issue endpoints exposed as client.issues.

async AsyncIssuesResource.list(*, owner: str | None = None, repo: str | None = None, **params) List[Issue]

List issues for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • params – Query parameters such as state, sort, direction, page, per_page.

Returns:

Matching issues.

async AsyncIssuesResource.get(*, number: int | str, owner: str | None = None, repo: str | None = None) Issue

Get a single issue by number.

Parameters:
  • number – Repository-local issue number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Issue details.

async AsyncIssuesResource.create(*, owner: str, repo: str | None = None, title: str, body: str | None = None, assignee: str | None = None, labels: List[str] | None = None, milestone: int | str | None = None, security_hole: str | None = None) Issue

Create an issue for a repository.

Parameters:
  • owner – Repository owner path.

  • repo – Repository name. Uses the client default when omitted.

  • title – Issue title.

  • body – Optional issue description.

  • assignee – Optional assignee username.

  • labels – Optional label names (comma-separated in the JSON body).

  • milestone – Optional milestone identifier.

  • security_hole – Whether the issue is private; form field described in the Issues API.

Returns:

Created issue details.

async AsyncIssuesResource.update(*, number: int | str, owner: str, repo: str | None = None, title: str | None = None, body: str | None = None, state: str | None = None, assignee: str | None = None, labels: List[str] | None = None, milestone: int | str | None = None, security_hole: str | None = None) Issue

Update an existing issue.

Parameters:
  • number – Repository-local issue number.

  • owner – Repository owner path.

  • repo – Repository name. Uses the client default when omitted.

  • title – Updated issue title.

  • body – Updated issue description.

  • state – Updated state such as reopen or close.

  • assignee – Updated assignee username.

  • labels – Replacement label names (comma-separated in the JSON body).

  • milestone – Updated milestone identifier.

  • security_hole – Whether the issue is private; form field described in the Issues API.

Returns:

Updated issue details.

async AsyncIssuesResource.list_comments(*, number: int | str, owner: str | None = None, repo: str | None = None, **params) List[IssueComment]

List comments for an issue.

Parameters:
  • number – Repository-local issue number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path (name). Uses the client default when omitted.

  • params – Optional query parameters (for example page, per_page).

Returns:

Issue comments.

async AsyncIssuesResource.create_comment(*, number: int | str, body: str, owner: str | None = None, repo: str | None = None) IssueComment

Create a comment on an issue.

Parameters:
  • number – Repository-local issue number.

  • body – Comment body text.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Created comment.

async AsyncIssuesResource.get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) IssueComment

Get a single issue comment by identifier.

Parameters:
  • comment_id – Comment id from the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Issue comment.

async AsyncIssuesResource.update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) IssueComment

Update an issue comment.

Parameters:
  • comment_id – Comment id from the API.

  • body – Updated comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Updated comment.

async AsyncIssuesResource.delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None

Delete an issue comment.

Parameters:
  • comment_id – Comment id from the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

async AsyncIssuesResource.list_pull_requests(*, number: int | str, owner: str | None = None, repo: str | None = None) List[PullRequest]

List pull requests associated with an issue.

Parameters:
  • number – Repository-local issue number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Pull requests linked to the issue.

async AsyncIssuesResource.add_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]

Add labels to an issue.

Parameters:
  • number – Repository-local issue number.

  • labels – Label names to add (request body is a JSON array per REST API).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Labels on the issue after the operation.

async AsyncIssuesResource.remove_label(*, number: int | str, name: str, owner: str | None = None, repo: str | None = None) None

Remove one label from an issue (REST path includes the label name).

Parameters:
  • number – Repository-local issue number.

  • name – Label name to remove.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

async AsyncIssuesResource.list_enterprise(*, enterprise: str, **params) List[Issue]

List enterprise issues visible to the caller.

Parameters:
  • enterprise – Enterprise path or login.

  • params – Additional query parameters accepted by GET .../enterprises/{enterprise}/issues.

Returns:

Enterprise-scoped issues.

async AsyncIssuesResource.list_user(**params) List[Issue]

List issues for the authenticated user.

Parameters:

params – Query parameters for GET /user/issues (filters, pagination, etc.).

Returns:

Issues assigned to or authored by the user, per API rules.

async AsyncIssuesResource.list_org(*, org: str, **params) List[Issue]

List organization issues visible to the current user.

Parameters:
  • org – Organization path or login.

  • params – Query parameters for GET .../orgs/{org}/issues.

Returns:

Organization-scoped issues.

async AsyncIssuesResource.get_enterprise_issue(*, enterprise: str, number: int | str) Issue

Get a specific enterprise issue.

Parameters:
  • enterprise – Enterprise path or login.

  • number – Enterprise issue id or number as accepted by the API path.

Returns:

Issue payload.

async AsyncIssuesResource.list_enterprise_comments(*, enterprise: str, number: int | str, **params) List[IssueComment]

List comments for an enterprise issue.

Parameters:
  • enterprise – Enterprise path or login.

  • number – Enterprise issue identifier in the path.

  • params – Optional pagination or filter query parameters.

Returns:

Comments on the enterprise issue.

async AsyncIssuesResource.list_enterprise_labels(*, enterprise: str, issue_id: int | str) List[Label]

List labels attached to an enterprise issue.

Parameters:
  • enterprise – Enterprise path or login.

  • issue_id – Enterprise issue id in the path segment .../issues/{issue_id}/labels.

Returns:

Labels on the issue.

async AsyncIssuesResource.list_operation_logs(*, owner: str, number: int | str, **params) List[IssueOperationLog]

List operation (audit) logs for an issue.

Parameters:
  • owner – Repository owner path (path segment repos/{owner}/... for this endpoint).

  • number – Repository-local issue number.

  • params – Optional query parameters (for example page, per_page).

Returns:

Operation log entries.

AsyncGitCode.pulls

AsyncGitCode.pulls: AsyncPullsResource

Pull request endpoints exposed as client.pulls.

async AsyncPullsResource.list(*, owner: str | None = None, repo: str | None = None, **params) List[PullRequest] | PullRequestCount

List pull requests for a repository.

When only_count is true in params, the API returns a JSON object with counts per state instead of an array (see Pull Request API).

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path (name). Uses the client default when omitted.

  • params – Query parameters: state, sort, direction, page, per_page, base, since, author, assignee, reviewer, milestone_number, labels, time filters, only_count, and other fields documented under docs/rest_api.

Returns:

A list of pull requests, or an APIObject for count-only responses.

async AsyncPullsResource.get(*, number: int | str, owner: str | None = None, repo: str | None = None) PullRequest

Get a single pull request.

Parameters:
  • number – Pull request number in the repository.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Pull request details.

async AsyncPullsResource.create(*, title: str, head: str, base: str, owner: str | None = None, repo: str | None = None, body: str | None = None, draft: bool | None = None, assignees: List[str] | None = None, testers: List[str] | None = None, labels: List[str] | None = None, milestone_number: int | None = None, issue: str | None = None, prune_source_branch: bool | None = None, squash: bool | None = None, squash_commit_message: str | None = None, fork_path: str | None = None) PullRequest

Create a pull request.

Parameters:
  • title – Pull request title.

  • head – Source branch ref (head branch).

  • base – Target branch ref (base branch).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • body – Description body.

  • draft – Whether to create as draft.

  • assignees – Assignee logins; sent as a comma-separated string per API.

  • testers – Tester logins; comma-separated in the JSON body.

  • labels – Label names; comma-separated in the JSON body.

  • milestone_number – Target milestone number.

  • issue – Related issue reference when supported by the API.

  • prune_source_branch – Whether to delete the source branch after merge when applicable.

  • squash – Squash-merge preference where supported.

  • squash_commit_message – Custom squash commit message.

  • fork_path – Fork namespace/path when opening a PR from a fork.

Returns:

Created pull request.

async AsyncPullsResource.update(*, number: int | str, owner: str | None = None, repo: str | None = None, title: str | None = None, body: str | None = None, state: str | None = None, base: str | None = None, labels: List[str] | None = None, draft: bool | None = None) PullRequest

Update a pull request.

Parameters:
  • number – Pull request number in the repository.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • title – New title.

  • body – New description.

  • state – New state as accepted by the API.

  • base – New base branch name.

  • labels – Replacement labels; comma-separated in the JSON body.

  • draft – Draft flag.

Returns:

Updated pull request.

async AsyncPullsResource.merge(*, number: int | str, owner: str | None = None, repo: str | None = None, merge_commit_message: str | None = None, squash: bool | None = None) MergeResult

Merge a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • merge_commit_message – Optional merge commit message.

  • squash – Whether to squash merge when supported.

Returns:

Merge result payload.

async AsyncPullsResource.get_merge_status(*, number: int | str, owner: str | None = None, repo: str | None = None) MergeStatus

Get mergeability status for a pull request (GET on the merge resource).

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Merge status / mergeability information.

async AsyncPullsResource.list_commits(*, number: int | str, owner: str | None = None, repo: str | None = None) List[APIObject]

List commits included in a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Commit objects (wrapped as APIObject).

async AsyncPullsResource.list_files(*, number: int | str, owner: str | None = None, repo: str | None = None) List[PullRequestFile]

List files changed by a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

File change entries.

async AsyncPullsResource.list_comments(*, number: int | str, owner: str | None = None, repo: str | None = None, **params) List[PullRequestComment]

List comments on a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • params – Optional query parameters (for example page, per_page).

Returns:

Pull request review comments.

async AsyncPullsResource.create_comment(*, number: int | str, body: str, owner: str | None = None, repo: str | None = None, commit_id: str | None = None, path: str | None = None, position: int | None = None) PullRequestComment

Create a pull request (review) comment.

Parameters:
  • number – Pull request number.

  • body – Comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • commit_id – Commit SHA the comment applies to.

  • path – File path in the diff.

  • position – Line or diff position as defined by the API.

Returns:

Created comment.

async AsyncPullsResource.get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) PullRequestComment

Get a single pull request comment by id (global comment endpoint).

Parameters:
  • comment_id – Comment id.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Pull request comment.

async AsyncPullsResource.update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) PullRequestComment

Update a pull request comment.

Parameters:
  • comment_id – Comment id.

  • body – Updated body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Updated comment.

async AsyncPullsResource.delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None

Delete a pull request comment.

Parameters:
  • comment_id – Comment id.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

async AsyncPullsResource.list_labels(*, number: int | str, owner: str | None = None, repo: str | None = None) List[Label]

List labels attached to a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Labels on the pull request.

async AsyncPullsResource.add_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]

Add labels to a pull request.

Parameters:
  • number – Pull request number.

  • labels – Label names (JSON array body per API).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Labels after the operation.

async AsyncPullsResource.replace_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]

Replace all labels on a pull request.

Parameters:
  • number – Pull request number.

  • labels – Complete new label set (JSON array body).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Labels after replacement.

async AsyncPullsResource.remove_label(*, number: int | str, label: str, owner: str | None = None, repo: str | None = None) None

Remove a label from a pull request.

Parameters:
  • number – Pull request number.

  • label – Label name to remove.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

async AsyncPullsResource.request_review(*, number: int | str, owner: str | None = None, repo: str | None = None, event: str, body: str | None = None) None

Submit a pull request review event (approve, request changes, etc., per API).

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • event – Review event name as required by GitCode (see API docs).

  • body – Optional comment body accompanying the event.

Returns:

Review result object.

async AsyncPullsResource.list_operation_logs(*, number: int | str, owner: str | None = None, repo: str | None = None, **params) List[PullRequestOperationLog]

List operation logs for a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • params – Additional query parameters accepted by the operate_logs endpoint.

Returns:

Log entries as generic API objects.

async AsyncPullsResource.request_test(*, number: int | str, owner: str | None = None, repo: str | None = None, **payload) None

Request testing for a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • payload – JSON fields required by the test request endpoint.

Returns:

Test request result.

async AsyncPullsResource.update_testers(*, number: int | str, testers: List[str], owner: str | None = None, repo: str | None = None) None

Replace pull request testers.

Parameters:
  • number – Pull request number.

  • testers – New tester list; serialized as a comma-separated testers field in JSON.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

API response payload.

async AsyncPullsResource.add_testers(*, number: int | str, testers: List[str], owner: str | None = None, repo: str | None = None) List[UserSummary]

Add testers to a pull request.

Parameters:
  • number – Pull request number.

  • testers – Usernames to add; comma-separated in the JSON body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

API response payload.

async AsyncPullsResource.update_assignees(*, number: int | str, assignees: List[str], owner: str | None = None, repo: str | None = None) None

Replace pull request assignees.

Parameters:
  • number – Pull request number.

  • assignees – New assignee list; comma-separated in the JSON body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

API response payload.

async AsyncPullsResource.add_assignees(*, number: int | str, assignees: List[str], owner: str | None = None, repo: str | None = None) PullRequestAssigneeCount

Add assignees to a pull request.

Parameters:
  • number – Pull request number.

  • assignees – Usernames to add; comma-separated in the JSON body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

API response payload.

async AsyncPullsResource.remove_assignees(*, number: int | str, assignees: List[str], owner: str | None = None, repo: str | None = None) None

Remove assignees from a pull request.

Parameters:
  • number – Pull request number.

  • assignees – Usernames to remove; comma-separated in the JSON body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

async AsyncPullsResource.list_issues(*, number: int | str, owner: str | None = None, repo: str | None = None) List[Issue]

List issues linked to a pull request.

Parameters:
  • number – Pull request number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Linked issues.

async AsyncPullsResource.list_enterprise(*, enterprise: str, **params) List[PullRequest]

List enterprise pull requests.

Parameters:
  • enterprise – Enterprise path or login.

  • params – Query parameters for the enterprise pull_requests listing.

Returns:

Pull requests in the enterprise scope.

async AsyncPullsResource.list_org(*, org: str, **params) List[PullRequest]

List pull requests for an organization scope.

Parameters:
  • org – Organization path (GET .../org/{org}/pull_requests).

  • params – Query parameters accepted by that listing.

Returns:

Organization-scoped pull requests.

async AsyncPullsResource.list_issue_pull_requests(*, enterprise: str, number: int | str) List[PullRequest]

List pull requests associated with an enterprise issue.

Parameters:
  • enterprise – Enterprise path or login.

  • number – Enterprise issue number or id in the path.

Returns:

Related pull requests.

AsyncGitCode.labels

AsyncGitCode.labels: AsyncLabelsResource

Label endpoints exposed as client.labels.

async AsyncLabelsResource.list(*, owner: str | None = None, repo: str | None = None) List[Label]

List repository labels.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

All labels defined on the repository.

async AsyncLabelsResource.create(*, name: str, color: str, owner: str | None = None, repo: str | None = None) Label

Create a repository label.

Parameters:
  • name – Label name.

  • color – Label color (typically a #RRGGBB hex string per API examples).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Created label.

async AsyncLabelsResource.update(*, original_name: str, owner: str | None = None, repo: str | None = None, name: str | None = None, color: str | None = None) Label

Update a repository label.

Parameters:
  • original_name – Current label name in the URL path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • name – New label name, if renaming.

  • color – New color value.

Returns:

Updated label.

async AsyncLabelsResource.delete(*, name: str, owner: str | None = None, repo: str | None = None) None

Delete a repository label.

Parameters:
  • name – Label name in the path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

async AsyncLabelsResource.clear_issue_labels(*, number: int | str, owner: str | None = None, repo: str | None = None) None

Remove all labels from an issue.

Parameters:
  • number – Repository-local issue number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

async AsyncLabelsResource.replace_issue_labels(*, number: int | str, labels: List[str], owner: str | None = None, repo: str | None = None) List[Label]

Replace all labels on an issue.

Parameters:
  • number – Repository-local issue number.

  • labels – Complete new label set (JSON array body).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Labels after replacement.

async AsyncLabelsResource.list_enterprise(*, enterprise: str, search: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None, api_version: str = 'v5') List[Label]

List labels for an enterprise, optionally using a different API version.

Parameters:
  • enterprise – Enterprise path or login.

  • search – Optional name search string.

  • direction – Sort direction for results.

  • page – Page number.

  • per_page – Page size.

  • api_versionv5 uses /api/v5/...; other values build /api/{version}/... on the same host.

Returns:

Enterprise label definitions.

AsyncGitCode.milestones

AsyncGitCode.milestones: AsyncMilestonesResource

Milestone endpoints exposed as client.milestones.

async AsyncMilestonesResource.list(*, owner: str | None = None, repo: str | None = None, **params) List[Milestone]

List milestones for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • params – Query parameters accepted by the milestones listing (state, sort, pagination, etc.).

Returns:

Milestones.

async AsyncMilestonesResource.get(*, number: int | str, owner: str | None = None, repo: str | None = None) Milestone

Get a single milestone.

Parameters:
  • number – Milestone number in the repository.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Milestone details.

async AsyncMilestonesResource.create(*, title: str, due_on: str, owner: str | None = None, repo: str | None = None, description: str | None = None) Milestone

Create a milestone.

Parameters:
  • title – Milestone title.

  • due_on – Due date string in the format expected by the API (often ISO 8601).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • description – Optional description.

Returns:

Created milestone.

async AsyncMilestonesResource.update(*, number: int | str, title: str, due_on: str, owner: str | None = None, repo: str | None = None, description: str | None = None, state: str | None = None) Milestone

Update a milestone.

Parameters:
  • number – Milestone number.

  • title – Updated title.

  • due_on – Updated due date.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • description – Updated description.

  • state – Milestone state such as open or closed per API.

Returns:

Updated milestone.

async AsyncMilestonesResource.delete(*, number: int | str, owner: str | None = None, repo: str | None = None) None

Delete a milestone.

Parameters:
  • number – Milestone number.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

AsyncGitCode.members

AsyncGitCode.members: AsyncMembersResource

Repository member endpoints exposed as client.members.

async AsyncMembersResource.add_or_update(*, username: str, owner: str | None = None, repo: str | None = None, permission: str | None = None) RepoMember

Add or update repository member permissions.

Parameters:
  • username – Collaborator login.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • permission – Permission string (for example pull, push, admin per GitCode API).

Returns:

Collaborator record.

async AsyncMembersResource.remove(*, username: str, owner: str | None = None, repo: str | None = None) None

Remove a repository member.

Parameters:
  • username – Collaborator login to remove.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

async AsyncMembersResource.list(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[RepoCollaborator]

List repository members (collaborators).

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Collaborators with permission metadata.

async AsyncMembersResource.get(*, username: str, owner: str | None = None, repo: str | None = None) RepositoryCollaboratorCheck

Check whether a user is a repository member.

Parameters:
  • username – User login to look up.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Membership payload (typically includes whether the user is a collaborator).

async AsyncMembersResource.get_permission(*, username: str, owner: str | None = None, repo: str | None = None) RepoMemberPermission

Get repository member permissions.

Parameters:
  • username – Collaborator login.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Effective permission for the user on the repository.

Account and discovery resources

AsyncGitCode.users

AsyncGitCode.users: AsyncUsersResource

User endpoints exposed as client.users.

async AsyncUsersResource.get(*, username: str) User

Get a user profile.

Parameters:

username – GitCode username or login.

Returns:

User profile details.

async AsyncUsersResource.me() User

Get the profile of the authenticated user.

Returns:

Authorized user profile.

async AsyncUsersResource.list_emails() List[Email]

List email addresses for the authenticated user.

Returns:

Email records associated with the current account.

async AsyncUsersResource.list_events(*, username: str, year: str | None = None, next: str | None = None) UserEventsResponse

List activity events for a user.

Parameters:
  • username – GitCode username or login (path segment, see User API).

  • year – Optional start year filter (query year, e.g. 2024 per documentation).

  • next – Optional end date / pagination cursor (query next; often an ISO timestamp from a prior page).

Returns:

Event payload grouped by date.

async AsyncUsersResource.list_repos(*, username: str, **params) List[Repository]

List public repositories owned by a user.

Supported filters follow the user repository API documentation, such as type, sort, direction, page, and per_page.

Parameters:
  • username – GitCode username or login.

  • params – Query parameters accepted by the REST endpoint.

Returns:

Matching repositories.

async AsyncUsersResource.create_key(*, key: str, title: str) PublicKey

Add a public SSH key for the authenticated user.

Parameters:
  • key – Public key material.

  • title – Human-readable key name.

Returns:

Created key metadata.

async AsyncUsersResource.list_keys(*, page: int | None = None, per_page: int | None = None) List[APIObject]

List public SSH keys for the authenticated user.

Parameters:
  • page – Page number.

  • per_page – Page size.

Returns:

Public key records.

async AsyncUsersResource.delete_key(*, key_id: int | str) None

Delete a public SSH key.

Parameters:

key_id – Public key identifier.

async AsyncUsersResource.get_key(*, key_id: int | str) PublicKey

Get a single public SSH key.

Parameters:

key_id – Public key identifier.

Returns:

Public key metadata.

async AsyncUsersResource.get_namespace(*, path: str) Namespace

Resolve namespace information for the authenticated user.

Parameters:

path – Namespace path to look up.

Returns:

Namespace details.

async AsyncUsersResource.list_starred(*, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List repositories starred by the authenticated user.

Parameters:
  • sort – Sort field such as created or updated.

  • direction – Sort direction, usually asc or desc.

  • page – Page number.

  • per_page – Page size.

Returns:

Starred repositories.

AsyncGitCode.orgs

AsyncGitCode.orgs: AsyncOrgsResource

Organization endpoints exposed as client.orgs.

async AsyncOrgsResource.list_for_user(*, username: str, page: int | None = None, per_page: int | None = None) List[OrganizationSummary]

List organizations for a user.

Parameters:
  • username – GitCode username or login.

  • page – Page number.

  • per_page – Page size.

Returns:

Organizations the user belongs to.

async AsyncOrgsResource.list_authenticated(*, page: int | None = None, per_page: int | None = None, admin: bool | None = None) List[OrganizationSummary]

List organizations for the authenticated user.

Parameters:
  • page – Page number.

  • per_page – Page size.

  • admin – Optional admin-only filter.

Returns:

Organizations visible to the authorized user.

async AsyncOrgsResource.get_member(*, org: str, username: str) OrganizationMembership

Get an organization member profile.

Parameters:
  • org – Organization path or login.

  • username – Member username or login.

Returns:

Organization membership details.

async AsyncOrgsResource.get(*, org: str) Organization

Get an organization.

Parameters:

org – Organization path or login.

Returns:

Organization details.

async AsyncOrgsResource.list_repos(*, org: str, type: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List repositories for an organization.

Parameters:
  • org – Organization path or login.

  • type – Repository type filter such as all, public, or private.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching repositories.

async AsyncOrgsResource.create_repo(*, org: str, name: str, **payload) Repository

Create an organization repository.

Additional payload fields match the organization repository creation endpoint, such as description, homepage, private, public, auto_init, and default_branch.

Parameters:
  • org – Organization path or login.

  • name – Repository name.

  • payload – Additional repository creation fields.

Returns:

Created repository metadata.

async AsyncOrgsResource.get_enterprise_member(*, enterprise: str, username: str) EnterpriseMember

Get a member profile for an enterprise.

Parameters:
  • enterprise – Enterprise path or login.

  • username – Member username or login.

Returns:

Enterprise membership details.

async AsyncOrgsResource.get_membership(*, org: str) OrganizationMembership

Get the authenticated user’s membership in an organization.

Parameters:

org – Organization path or login.

Returns:

Membership details for the current user.

async AsyncOrgsResource.list_members(*, org: str, page: int | None = None, per_page: int | None = None, role: str | None = None) List[User]

List members of an organization.

Parameters:
  • org – Organization path or login.

  • page – Page number.

  • per_page – Page size.

  • role – Optional role filter such as all, admin, or member.

Returns:

Organization members.

async AsyncOrgsResource.list_enterprise_members(*, enterprise: str, page: int | None = None, per_page: int | None = None, role: str | None = None) List[EnterpriseMember]

List members of an enterprise.

Parameters:
  • enterprise – Enterprise path or login.

  • page – Page number.

  • per_page – Page size.

  • role – Optional role filter.

Returns:

Enterprise members.

async AsyncOrgsResource.remove_member(*, org: str, username: str) EmptyResponse

Remove a member from an organization.

Parameters:
  • org – Organization path or login.

  • username – Member username or login.

Returns:

API response payload, if any.

async AsyncOrgsResource.list_followers(*, owner: str, page: int | None = None, per_page: int | None = None) List[User]

List followers of an organization.

Parameters:
  • owner – Organization path.

  • page – Page number.

  • per_page – Page size.

Returns:

Followers of the organization.

async AsyncOrgsResource.get_issue_extend_settings(*, org: str) List[APIObject]

Get extended issue type and status settings for an organization.

Parameters:

org – Organization path or login.

Returns:

Extended issue configuration entries.

async AsyncOrgsResource.invite_member(*, org: str, username: str, permission: str | None = None, role_id: str | None = None) User

Invite a user to an organization.

Parameters:
  • org – Organization path or login.

  • username – Member username or login.

  • permission – Permission level such as pull, push, or admin.

  • role_id – Custom role identifier when using a customized permission.

Returns:

Invited user information with permissions.

async AsyncOrgsResource.update_enterprise_member(*, enterprise: str, username: str, role: str) EnterpriseMember

Update the role of an enterprise member.

Parameters:
  • enterprise – Enterprise path or login.

  • username – Member username or login.

  • role – Enterprise role such as viewer, developer, or admin.

Returns:

Updated enterprise membership.

async AsyncOrgsResource.update(*, org: str, **payload) Organization

Update organization metadata.

Parameters:
  • org – Organization path or login.

  • payload – Updatable fields such as name, email, or description.

Returns:

Updated organization details.

async AsyncOrgsResource.leave(*, org: str) None

Leave an organization as the authenticated user.

Parameters:

org – Organization path or login.

AsyncGitCode.oauth

AsyncGitCode.oauth: AsyncOAuthResource

OAuth helper endpoints exposed as client.oauth.

AsyncOAuthResource.build_authorize_url(*, client_id: str, redirect_uri: str, scope: str | None = None, state: str | None = None, response_type: str = 'code') str

Build the GitCode OAuth authorization URL.

Parameters:
  • client_id – OAuth application client ID.

  • redirect_uri – Registered redirect URI.

  • scope – Optional OAuth scopes.

  • state – Optional CSRF protection value.

  • response_type – OAuth response type, defaults to "code".

Returns:

Browser URL for the authorization step.

async AsyncOAuthResource.exchange_token(*, code: str, client_id: str, client_secret: str) OAuthToken

Exchange an authorization code for an OAuth token.

Parameters:
  • code – Authorization code returned by GitCode.

  • client_id – OAuth application client ID.

  • client_secret – OAuth application client secret.

Returns:

OAuth access token payload.

async AsyncOAuthResource.refresh_token(*, refresh_token: str) OAuthToken

Refresh an OAuth token.

Parameters:

refresh_token – Refresh token previously issued by GitCode.

Returns:

Refreshed OAuth token payload.

Miscellaneous repository resources

AsyncGitCode.releases

AsyncGitCode.releases: AsyncReleasesResource

Release endpoints exposed as client.releases.

async AsyncReleasesResource.update(*, release_id: int | str, tag_name: str, name: str, body: str, owner: str | None = None, repo: str | None = None) Release

Update a repository release.

Parameters:
  • release_id – Release identifier.

  • tag_name – Tag name for the release.

  • name – Release name.

  • body – Release description.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Updated release payload.

async AsyncReleasesResource.get_by_tag(*, tag: str, owner: str | None = None, repo: str | None = None) Release

Get a repository release by tag name.

Parameters:
  • tag – Git tag the release is attached to.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Release metadata for that tag.

async AsyncReleasesResource.list(*, owner: str | None = None, repo: str | None = None) List[Release]

List releases for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Releases ordered as returned by the API.

AsyncGitCode.tags

AsyncGitCode.tags: AsyncTagsResource

Tag endpoints exposed as client.tags.

async AsyncTagsResource.list(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[Tag]

List tags for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Tags.

async AsyncTagsResource.create(*, refs: str, tag_name: str, owner: str | None = None, repo: str | None = None, tag_message: str | None = None) Tag

Create a tag for a repository.

Parameters:
  • refs – Object SHA or ref the tag should point to.

  • tag_name – Name of the new tag.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • tag_message – Optional annotated tag message.

Returns:

Created tag.

async AsyncTagsResource.list_protected(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[ProtectedTag]

List protected tags for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Protected tag rules.

async AsyncTagsResource.delete_protected(*, tag_name: str, owner: str | None = None, repo: str | None = None) None

Delete a protected tag rule.

Parameters:
  • tag_name – Protected tag name in the URL path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

async AsyncTagsResource.get_protected(*, tag_name: str, owner: str | None = None, repo: str | None = None) ProtectedTag

Get details for a protected tag rule.

Parameters:
  • tag_name – Tag name in the path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Protected tag configuration.

async AsyncTagsResource.create_protected(*, name: str, owner: str | None = None, repo: str | None = None, create_access_level: int | None = None) ProtectedTag

Create a protected tag rule.

Parameters:
  • name – Tag name or pattern to protect.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • create_access_level – Minimum access level required to create matching tags (API-specific integer).

Returns:

Created rule.

async AsyncTagsResource.update_protected(*, name: str, create_access_level: int, owner: str | None = None, repo: str | None = None) ProtectedTag

Update a protected tag rule.

Parameters:
  • name – Tag name or pattern.

  • create_access_level – New create access level.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Updated rule.

AsyncGitCode.webhooks

AsyncGitCode.webhooks: AsyncWebhooksResource

Webhook endpoints exposed as client.webhooks.

async AsyncWebhooksResource.list(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[Webhook]

List webhooks for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Hook configurations.

async AsyncWebhooksResource.create(*, url: str, owner: str | None = None, repo: str | None = None, **payload) Webhook

Create a repository webhook.

Parameters:
  • url – Payload URL GitCode should POST events to.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • payload – Additional fields from the Webhooks API (events list, secret, content type, etc.).

Returns:

Created webhook.

async AsyncWebhooksResource.get(*, hook_id: int | str, owner: str | None = None, repo: str | None = None) Webhook

Get a repository webhook by identifier.

Parameters:
  • hook_id – Webhook id from the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

Returns:

Webhook configuration.

async AsyncWebhooksResource.update(*, hook_id: int | str, url: str, owner: str | None = None, repo: str | None = None, **payload) Webhook

Update a repository webhook.

Parameters:
  • hook_id – Webhook id.

  • url – New payload URL (merged into the JSON body).

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

  • payload – Other mutable webhook fields accepted by the API.

Returns:

Updated webhook.

async AsyncWebhooksResource.delete(*, hook_id: int | str, owner: str | None = None, repo: str | None = None) None

Delete a repository webhook.

Parameters:
  • hook_id – Webhook id.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.

async AsyncWebhooksResource.test(*, hook_id: int | str, owner: str | None = None, repo: str | None = None) None

Send a test delivery for a repository webhook.

Parameters:
  • hook_id – Webhook id.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository path. Uses the client default when omitted.