gitdataai/src/client/types.gen.ts

18842 lines
369 KiB
TypeScript

// This file is auto-generated by @hey-api/openapi-ts
export type ClientOptions = {
baseURL: `${string}://${string}` | (string & {});
};
export type AccessKeyListResponse = {
access_keys: Array<AccessKeyResponse>;
total: number;
};
export type AccessKeyResponse = {
id: number;
name: string;
access_key?: string | null;
scopes: Array<string>;
expires_at?: string | null;
is_revoked: boolean;
created_at: string;
};
export type ActivityLogListResponse = {
logs: Array<ActivityLogResponse>;
total: number;
page: number;
per_page: number;
user_role?: null | MemberRole;
};
export type ActivityLogParams = {
event_type: string;
title: string;
repo_id?: string | null;
content?: string | null;
event_id?: string | null;
event_sub_id?: number | null;
metadata?: unknown;
is_private: boolean;
};
export type ActivityLogResponse = {
id: number;
project_uid: string;
repo_uid?: string;
actor_uid: string;
event_type: string;
title: string;
content?: string;
is_private: boolean;
visibility: string;
created_at: string;
};
export type AddSshKeyParams = {
title: string;
public_key: string;
};
export type AnswerRequest = {
question: string;
answer: string;
};
export type ApiError = {
/**
* Error numeric code
*/
code: number;
/**
* Error slug identifier
*/
error: string;
/**
* Human-readable error message
*/
message: string;
};
export type ApiResponseAccessKeyListResponse = {
code: number;
message: string;
data?: {
access_keys: Array<AccessKeyResponse>;
total: number;
};
};
export type ApiResponseAccessKeyResponse = {
code: number;
message: string;
data?: {
id: number;
name: string;
access_key?: string | null;
scopes: Array<string>;
expires_at?: string | null;
is_revoked: boolean;
created_at: string;
};
};
export type ApiResponseActivityLogListResponse = {
code: number;
message: string;
data?: {
logs: Array<ActivityLogResponse>;
total: number;
page: number;
per_page: number;
user_role?: null | MemberRole;
};
};
export type ApiResponseActivityLogResponse = {
code: number;
message: string;
data?: {
id: number;
project_uid: string;
repo_uid?: string;
actor_uid: string;
event_type: string;
title: string;
content?: string;
is_private: boolean;
visibility: string;
created_at: string;
};
};
export type ApiResponseApiError = {
code: number;
message: string;
data?: {
/**
* Error numeric code
*/
code: number;
/**
* Error slug identifier
*/
error: string;
/**
* Human-readable error message
*/
message: string;
};
};
export type ApiResponseApprovalCheckResult = {
code: number;
message: string;
data?: {
enough_approvals: boolean;
approvals: number;
required: number;
reviewers: Array<ReviewerInfo>;
};
};
export type ApiResponseArchiveCachedResponse = {
code: number;
message: string;
data?: {
commit_oid: string;
format: string;
cached: boolean;
};
};
export type ApiResponseArchiveInvalidateAllResponse = {
code: number;
message: string;
data?: {
commit_oid: string;
count: number;
};
};
export type ApiResponseArchiveInvalidateResponse = {
code: number;
message: string;
data?: {
commit_oid: string;
format: string;
invalidated: boolean;
};
};
export type ApiResponseArchiveListResponse = {
code: number;
message: string;
data?: {
commit_oid: string;
entries: Array<ArchiveEntryResponse>;
total_entries: number;
};
};
export type ApiResponseArchiveResponse = {
code: number;
message: string;
data?: {
commit_oid: string;
format: string;
size: number;
data: string;
};
};
export type ApiResponseArchiveSummaryResponse = {
code: number;
message: string;
data?: {
commit_oid: string;
format: string;
total_entries: number;
total_size: number;
};
};
export type ApiResponseAuditLogResponse = {
code: number;
message: string;
data?: {
id: number;
project_uid: string;
actor_uid: string;
action: string;
details?: {
[key: string]: unknown;
};
};
};
export type ApiResponseBlobContentResponse = {
code: number;
message: string;
data?: {
oid: string;
size: number;
is_binary: boolean;
content: string;
};
};
export type ApiResponseBlobCreateResponse = {
code: number;
message: string;
data?: {
oid: string;
size: number;
};
};
export type ApiResponseBlobExistsResponse = {
code: number;
message: string;
data?: {
oid: string;
exists: boolean;
};
};
export type ApiResponseBlobInfoResponse = {
code: number;
message: string;
data?: {
oid: string;
size: number;
is_binary: boolean;
};
};
export type ApiResponseBlobIsBinaryResponse = {
code: number;
message: string;
data?: {
oid: string;
is_binary: boolean;
};
};
export type ApiResponseBlobSizeResponse = {
code: number;
message: string;
data?: {
oid: string;
size: number;
};
};
export type ApiResponseBoardResponse = {
code: number;
message: string;
data?: {
id: string;
project: string;
name: string;
description?: string | null;
created_by: string;
created_at: string;
updated_at: string;
};
};
export type ApiResponseBoardWithColumnsResponse = {
code: number;
message: string;
data?: {
board: BoardResponse;
columns: Array<ColumnWithCardsResponse>;
};
};
export type ApiResponseBranchDiffResponse = {
code: number;
message: string;
data?: {
ahead: number;
behind: number;
diverged: boolean;
};
};
export type ApiResponseBranchExistsResponse = {
code: number;
message: string;
data?: {
name: string;
exists: boolean;
};
};
export type ApiResponseBranchFastForwardResponse = {
code: number;
message: string;
data?: {
oid: string;
};
};
export type ApiResponseBranchInfoResponse = {
code: number;
message: string;
data?: {
name: string;
oid: string;
is_head: boolean;
is_remote: boolean;
is_current: boolean;
upstream?: string | null;
};
};
export type ApiResponseBranchIsAncestorResponse = {
code: number;
message: string;
data?: {
child: string;
ancestor: string;
is_ancestor: boolean;
};
};
export type ApiResponseBranchIsConflictedResponse = {
code: number;
message: string;
data?: {
is_conflicted: boolean;
};
};
export type ApiResponseBranchIsDetachedResponse = {
code: number;
message: string;
data?: {
is_detached: boolean;
};
};
export type ApiResponseBranchIsHeadResponse = {
code: number;
message: string;
data?: {
name: string;
is_head: boolean;
};
};
export type ApiResponseBranchIsMergedResponse = {
code: number;
message: string;
data?: {
branch: string;
into: string;
is_merged: boolean;
};
};
export type ApiResponseBranchMergeBaseResponse = {
code: number;
message: string;
data?: {
branch1: string;
branch2: string;
base: string;
};
};
export type ApiResponseBranchProtectionResponse = {
code: number;
message: string;
data?: {
id: number;
repo: string;
branch: string;
forbid_push: boolean;
forbid_pull: boolean;
forbid_merge: boolean;
forbid_deletion: boolean;
forbid_force_push: boolean;
forbid_tag_push: boolean;
required_approvals: number;
dismiss_stale_reviews: boolean;
require_linear_history: boolean;
allow_fork_syncing: boolean;
};
};
export type ApiResponseBranchSummaryResponse = {
code: number;
message: string;
data?: {
local_count: number;
remote_count: number;
all_count: number;
};
};
export type ApiResponseBranchTrackingDiffResponse = {
code: number;
message: string;
data?: {
name: string;
ahead: number;
behind: number;
};
};
export type ApiResponseCaptchaResponse = {
code: number;
message: string;
data?: {
base64: string;
rsa?: null | RsaResponse;
req: CaptchaQuery;
};
};
export type ApiResponseCardResponse = {
code: number;
message: string;
data?: {
id: string;
column: string;
issue_id?: number | null;
project?: string | null;
title: string;
description?: string | null;
position: number;
assignee_id?: string | null;
due_date?: string | null;
priority?: string | null;
created_by: string;
created_at: string;
updated_at: string;
};
};
export type ApiResponseColumnResponse = {
code: number;
message: string;
data?: {
id: string;
board: string;
name: string;
position: number;
wip_limit?: number | null;
color?: string | null;
};
};
export type ApiResponseCommitAuthorResponse = {
code: number;
message: string;
data?: {
oid: string;
author: CommitSignatureResponse;
};
};
export type ApiResponseCommitBranchesResponse = {
code: number;
message: string;
data?: {
data?: {
[key: string]: Array<string>;
};
};
};
export type ApiResponseCommitCountResponse = {
code: number;
message: string;
data?: {
count: number;
};
};
export type ApiResponseCommitCreateResponse = {
code: number;
message: string;
data?: {
oid: string;
};
};
export type ApiResponseCommitExistsResponse = {
code: number;
message: string;
data?: {
oid: string;
exists: boolean;
};
};
export type ApiResponseCommitGraphReactResponse = {
code: number;
message: string;
data?: {
commits: Array<CommitGraphReactCommit>;
lanes: Array<LaneInfo>;
max_parents: number;
};
};
export type ApiResponseCommitGraphResponse = {
code: number;
message: string;
data?: {
lines: Array<CommitGraphLineResponse>;
max_parents: number;
};
};
export type ApiResponseCommitIsCommitResponse = {
code: number;
message: string;
data?: {
oid: string;
is_commit: boolean;
};
};
export type ApiResponseCommitIsMergeResponse = {
code: number;
message: string;
data?: {
oid: string;
is_merge: boolean;
};
};
export type ApiResponseCommitIsTipResponse = {
code: number;
message: string;
data?: {
oid: string;
is_tip: boolean;
};
};
export type ApiResponseCommitLogResponse = {
code: number;
message: string;
data?: {
data: Array<CommitMetaResponse>;
total: number;
page: number;
per_page: number;
total_pages: number;
};
};
export type ApiResponseCommitMessageResponse = {
code: number;
message: string;
data?: {
oid: string;
message: string;
};
};
export type ApiResponseCommitMetaResponse = {
code: number;
message: string;
data?: {
oid: string;
message: string;
summary: string;
author: CommitSignatureResponse;
committer: CommitSignatureResponse;
tree_id: string;
parent_ids: Array<string>;
encoding?: string | null;
};
};
export type ApiResponseCommitParentCountResponse = {
code: number;
message: string;
data?: {
oid: string;
parent_count: number;
};
};
export type ApiResponseCommitParentIdsResponse = {
code: number;
message: string;
data?: {
oid: string;
parent_ids: Array<string>;
};
};
export type ApiResponseCommitRefCountResponse = {
code: number;
message: string;
data?: {
oid: string;
ref_count: number;
};
};
export type ApiResponseCommitShortIdResponse = {
code: number;
message: string;
data?: {
oid: string;
short_id: string;
};
};
export type ApiResponseCommitSummaryResponse = {
code: number;
message: string;
data?: {
oid: string;
summary: string;
};
};
export type ApiResponseCommitTagsResponse = {
code: number;
message: string;
data?: {
data?: {
[key: string]: Array<string>;
};
};
};
export type ApiResponseCommitTreeIdResponse = {
code: number;
message: string;
data?: {
oid: string;
tree_id: string;
};
};
export type ApiResponseConfigBoolResponse = {
code: number;
message: string;
data?: {
key: string;
value: boolean;
};
};
export type ApiResponseConfigSnapshotResponse = {
code: number;
message: string;
data?: {
entries: Array<ConfigEntryResponse>;
};
};
export type ApiResponseContextMe = {
code: number;
message: string;
data?: {
uid: string;
username: string;
display_name?: string | null;
avatar_url?: string | null;
has_unread_notifications: number;
};
};
export type ApiResponseContributionHeatmapResponse = {
code: number;
message: string;
data?: {
username: string;
total_contributions: number;
heatmap: Array<ContributionHeatmapItem>;
start_date: string;
end_date: string;
};
};
export type ApiResponseContributorsResponse = {
code: number;
message: string;
data?: {
total: number;
contributors: Array<ContributorStats>;
};
};
export type ApiResponseDeleteSkillResponse = {
code: number;
message: string;
data?: {
deleted: boolean;
slug: string;
};
};
export type ApiResponseDescriptionResponse = {
code: number;
message: string;
data?: {
description: string;
};
};
export type ApiResponseDiffPatchIdResponse = {
code: number;
message: string;
data?: {
old_tree: string;
new_tree: string;
patch_id: string;
};
};
export type ApiResponseDiffResultResponse = {
code: number;
message: string;
data?: {
stats: DiffStatsResponse;
deltas: Array<DiffDeltaResponse>;
};
};
export type ApiResponseDiffStatsResponse = {
code: number;
message: string;
data?: {
files_changed: number;
insertions: number;
deletions: number;
};
};
export type ApiResponseEmailResponse = {
code: number;
message: string;
data?: {
email?: string | null;
};
};
export type ApiResponseGitInitResponse = {
code: number;
message: string;
data?: {
path: string;
is_bare: boolean;
};
};
export type ApiResponseGitReadmeResponse = {
code: number;
message: string;
data?: {
path?: string | null;
content?: string | null;
size?: number | null;
encoding?: string | null;
truncated?: boolean;
is_binary?: boolean;
};
};
export type ApiResponseInvitationListResponse = {
code: number;
message: string;
data?: {
invitations: Array<InvitationResponse>;
total: number;
page: number;
per_page: number;
};
};
export type ApiResponseIsLikeResponse = {
code: number;
message: string;
data?: {
is_like: boolean;
};
};
export type ApiResponseIsWatchResponse = {
code: number;
message: string;
data?: {
is_watching: boolean;
};
};
export type ApiResponseIssueAssigneeResponse = {
code: number;
message: string;
data?: {
issue: string;
user_id: string;
username: string;
assigned_at: string;
};
};
export type ApiResponseIssueCommentListResponse = {
code: number;
message: string;
data?: {
comments: Array<IssueCommentResponse>;
total: number;
page: number;
per_page: number;
};
};
export type ApiResponseIssueCommentResponse = {
code: number;
message: string;
data?: {
id: number;
issue: string;
author: string;
author_username: string;
body: string;
created_at: string;
updated_at: string;
};
};
export type ApiResponseIssueLabelResponse = {
code: number;
message: string;
data?: {
issue: string;
label_id: number;
label_name?: string | null;
label_color?: string | null;
relation_at: string;
};
};
export type ApiResponseIssueListResponse = {
code: number;
message: string;
data?: {
issues: Array<IssueResponse>;
total: number;
page: number;
per_page: number;
};
};
export type ApiResponseIssuePullRequestResponse = {
code: number;
message: string;
data?: {
issue: string;
repo: string;
number: number;
relation_at: string;
};
};
export type ApiResponseIssueRepoResponse = {
code: number;
message: string;
data?: {
issue: string;
repo: string;
relation_at: string;
};
};
export type ApiResponseIssueResponse = {
code: number;
message: string;
data?: {
id: string;
project: string;
number: number;
title: string;
body?: string | null;
state: string;
author: string;
author_username?: string | null;
milestone?: string | null;
created_at: string;
updated_at: string;
closed_at?: string | null;
created_by_ai: boolean;
};
};
export type ApiResponseIssueSubscriberResponse = {
code: number;
message: string;
data?: {
issue: string;
user_id: string;
username: string;
subscribed: boolean;
created_at: string;
};
};
export type ApiResponseIssueSummaryResponse = {
code: number;
message: string;
data?: {
total: number;
open: number;
closed: number;
};
};
export type ApiResponseJoinAnswersListResponse = {
code: number;
message: string;
data?: {
request_id: number;
project_uid: string;
answers: Array<JoinAnswerResponse>;
};
};
export type ApiResponseJoinRequestListResponse = {
code: number;
message: string;
data?: {
requests: Array<JoinRequestResponse>;
total: number;
page: number;
per_page: number;
};
};
export type ApiResponseJoinSettingsResponse = {
code: number;
message: string;
data?: {
project_uid: string;
require_approval: boolean;
require_questions: boolean;
questions: unknown;
};
};
export type ApiResponseLabelListResponse = {
code: number;
message: string;
data?: {
labels: Array<LabelResponse>;
total: number;
};
};
export type ApiResponseLabelResponse = {
code: number;
message: string;
data?: {
id: number;
project_uid: string;
name: string;
color: string;
description?: string | null;
created_at: string;
};
};
export type ApiResponseMemberListResponse = {
code: number;
message: string;
data?: {
members: Array<MemberInfo>;
total: number;
page: number;
per_page: number;
};
};
export type ApiResponseMergeAnalysisResponse = {
code: number;
message: string;
data?: {
can_fast_forward: boolean;
is_up_to_date: boolean;
is_normal: boolean;
analysis_flags: Array<string>;
/**
* Strategies supported given the current state of the PR.
*/
supported_strategies: Array<string>;
};
};
export type ApiResponseMergeConflictResponse = {
code: number;
message: string;
data?: {
has_conflicts: boolean;
conflicted_files: Array<MergeConflictFile>;
};
};
export type ApiResponseMergeResponse = {
code: number;
message: string;
data?: {
repo: string;
number: number;
status: string;
merged_by: string;
merged_at: string;
};
};
export type ApiResponseMessageEditHistoryResponse = {
code: number;
message: string;
data?: {
message_id: string;
history: Array<MessageEditHistoryEntry>;
total_edits: number;
};
};
export type ApiResponseMessageSearchResponse = {
code: number;
message: string;
data?: {
messages: Array<RoomMessageResponse>;
total: number;
};
};
export type ApiResponseNotificationListResponse = {
code: number;
message: string;
data?: {
notifications: Array<NotificationResponse>;
total: number;
unread_count: number;
};
};
export type ApiResponseNotificationPreferencesResponse = {
code: number;
message: string;
data?: {
user_id: string;
email_enabled: boolean;
in_app_enabled: boolean;
push_enabled: boolean;
digest_mode: string;
dnd_enabled: boolean;
dnd_start_minute?: number | null;
dnd_end_minute?: number | null;
marketing_enabled: boolean;
security_enabled: boolean;
product_enabled: boolean;
created_at: string;
updated_at: string;
};
};
export type ApiResponseOptionCommitMetaResponse = {
code: number;
message: string;
data?: null | {
oid: string;
message: string;
summary: string;
author: CommitSignatureResponse;
committer: CommitSignatureResponse;
tree_id: string;
parent_ids: Array<string>;
encoding?: string | null;
};
};
export type ApiResponsePrCommitsListResponse = {
code: number;
message: string;
data?: {
commits: Array<PrCommitResponse>;
};
};
export type ApiResponsePreferencesResponse = {
code: number;
message: string;
data?: {
language: string;
theme: string;
timezone: string;
email_notifications: boolean;
in_app_notifications: boolean;
created_at: string;
updated_at: string;
};
};
export type ApiResponseProfileResponse = {
code: number;
message: string;
data?: {
uid: string;
username: string;
display_name?: string | null;
avatar_url?: string | null;
website_url?: string | null;
organization?: string | null;
created_at: string;
updated_at: string;
last_sign_in_at?: string | null;
};
};
export type ApiResponseProjectBillingCurrentResponse = {
code: number;
message: string;
data?: {
project_uid: string;
currency: string;
monthly_quota: number;
balance: number;
month_used: number;
cycle_start_utc: string;
cycle_end_utc: string;
updated_at: string;
created_at: string;
};
};
export type ApiResponseProjectBillingHistoryResponse = {
code: number;
message: string;
data?: {
page: number;
per_page: number;
total: number;
list: Array<ProjectBillingHistoryItem>;
};
};
export type ApiResponseProjectInfoRelational = {
code: number;
message: string;
data?: {
uid: string;
name: string;
display_name: string;
avatar_url?: string | null;
description?: string | null;
is_public: boolean;
created_at: string;
updated_at: string;
created_by: string;
created_username_name: string;
created_display_name?: string | null;
created_avatar_url?: string | null;
member_count: number;
like_count: number;
watch_count: number;
keys: Array<ProjectInfoKeyValue>;
labels: Array<ProjectInfoLabel>;
role?: null | MemberRole;
is_like: boolean;
is_watch: boolean;
};
};
export type ApiResponseProjectInitResponse = {
code: number;
message: string;
data?: {
params: ProjectInitParams;
project: ProjectModel;
};
};
export type ApiResponseProjectRepoCreateResponse = {
code: number;
message: string;
data?: {
uid: string;
repo_name: string;
description?: string | null;
default_branch: string;
project_name: string;
is_private: boolean;
storage_path: string;
created_at: string;
};
};
export type ApiResponseProjectRepositoryPagination = {
code: number;
message: string;
data?: {
items: Array<ProjectRepositoryItem>;
cursor?: string | null;
total: number;
};
};
export type ApiResponsePullRequestListResponse = {
code: number;
message: string;
data?: {
pull_requests: Array<PullRequestResponse>;
total: number;
page: number;
per_page: number;
};
};
export type ApiResponsePullRequestResponse = {
code: number;
message: string;
data?: {
repo: string;
number: number;
issue?: string | null;
title: string;
body?: string | null;
author: string;
author_username?: string | null;
base: string;
head: string;
status: string;
merged_by?: string | null;
created_at: string;
updated_at: string;
merged_at?: string | null;
created_by_ai: boolean;
};
};
export type ApiResponsePullRequestSummaryResponse = {
code: number;
message: string;
data?: {
total: number;
open: number;
merged: number;
closed: number;
};
};
export type ApiResponseReactionListResponse = {
code: number;
message: string;
data?: {
reactions: Array<ReactionSummary>;
};
};
export type ApiResponseReactionResponse = {
code: number;
message: string;
data?: {
user: string;
reaction: string;
created_at: string;
};
};
export type ApiResponseRefDeleteResponse = {
code: number;
message: string;
data?: {
name: string;
oid: string;
};
};
export type ApiResponseRefExistsResponse = {
code: number;
message: string;
data?: {
name: string;
exists: boolean;
};
};
export type ApiResponseRefInfoResponse = {
code: number;
message: string;
data?: {
name: string;
oid?: string | null;
target?: string | null;
is_symbolic: boolean;
is_branch: boolean;
is_remote: boolean;
is_tag: boolean;
is_note: boolean;
};
};
export type ApiResponseRefTargetResponse = {
code: number;
message: string;
data?: {
name: string;
oid?: string | null;
};
};
export type ApiResponseRefUpdateResponse = {
code: number;
message: string;
data?: {
name: string;
old_oid?: string | null;
new_oid?: string | null;
};
};
export type ApiResponseReviewCommentListResponse = {
code: number;
message: string;
data?: {
/**
* Flat list of all comments (kept for backward compatibility).
*/
comments: Array<ReviewCommentResponse>;
/**
* Comments grouped into threads (root comments with their replies).
*/
threads: Array<ReviewCommentThread>;
total: number;
};
};
export type ApiResponseReviewCommentResponse = {
code: number;
message: string;
data?: {
repo: string;
number: number;
id: number;
review?: string | null;
path?: string | null;
side?: string | null;
line?: number | null;
old_line?: number | null;
body: string;
author: string;
author_username?: string | null;
resolved: boolean;
in_reply_to?: number | null;
created_at: string;
updated_at: string;
};
};
export type ApiResponseReviewListResponse = {
code: number;
message: string;
data?: {
reviews: Array<ReviewResponse>;
};
};
export type ApiResponseReviewRequestListResponse = {
code: number;
message: string;
data?: {
requests: Array<ReviewRequestResponse>;
total: number;
};
};
export type ApiResponseReviewRequestResponse = {
code: number;
message: string;
data?: {
repo: string;
number: number;
reviewer: string;
reviewer_username?: string | null;
requested_by: string;
requested_by_username?: string | null;
requested_at: string;
dismissed_at?: string | null;
dismissed_by?: string | null;
dismissed_by_username?: string | null;
};
};
export type ApiResponseReviewResponse = {
code: number;
message: string;
data?: {
repo: string;
number: number;
reviewer: string;
reviewer_username?: string | null;
state: string;
body?: string | null;
submitted_at?: string | null;
created_at: string;
updated_at: string;
};
};
export type ApiResponseRoomAiResponse = {
code: number;
message: string;
data?: {
room: string;
model: string;
model_name?: string | null;
version?: string | null;
call_count: number;
last_call_at?: string | null;
history_limit?: number | null;
system_prompt?: string | null;
temperature?: number | null;
max_tokens?: number | null;
use_exact: boolean;
think: boolean;
stream: boolean;
min_score?: number | null;
created_at: string;
updated_at: string;
};
};
export type ApiResponseRoomCategoryResponse = {
code: number;
message: string;
data?: {
id: string;
project: string;
name: string;
position: number;
created_by: string;
created_at: string;
};
};
export type ApiResponseRoomMemberResponse = {
code: number;
message: string;
data?: {
room: string;
user: string;
user_info?: null | UserInfo;
role: string;
first_msg_in?: string | null;
joined_at?: string | null;
last_read_seq?: number | null;
do_not_disturb: boolean;
dnd_start_hour?: number | null;
dnd_end_hour?: number | null;
};
};
export type ApiResponseRoomMessageListResponse = {
code: number;
message: string;
data?: {
messages: Array<RoomMessageResponse>;
total: number;
};
};
export type ApiResponseRoomMessageResponse = {
code: number;
message: string;
data?: {
id: string;
seq: number;
room: string;
sender_type: string;
sender_id?: string | null;
display_name?: string | null;
thread?: string | null;
in_reply_to?: string | null;
content: string;
content_type: string;
edited_at?: string | null;
send_at: string;
revoked?: string | null;
revoked_by?: string | null;
};
};
export type ApiResponseRoomPinResponse = {
code: number;
message: string;
data?: {
room: string;
message: string;
pinned_by: string;
pinned_at: string;
};
};
export type ApiResponseRoomResponse = {
code: number;
message: string;
data?: {
id: string;
project: string;
room_name: string;
public: boolean;
category?: string | null;
created_by: string;
created_at: string;
last_msg_at: string;
unread_count?: number;
};
};
export type ApiResponseRoomThreadResponse = {
code: number;
message: string;
data?: {
id: string;
room: string;
parent: number;
created_by: string;
participants: unknown;
last_message_at: string;
last_message_preview?: string | null;
created_at: string;
updated_at: string;
};
};
export type ApiResponseScanResponse = {
code: number;
message: string;
data?: {
discovered: number;
created: number;
updated: number;
removed: number;
};
};
export type ApiResponseSearchResponse = {
code: number;
message: string;
data?: {
query: string;
projects?: null | SearchResultSetProjectSearchItem;
repos?: null | SearchResultSetRepoSearchItem;
issues?: null | SearchResultSetIssueSearchItem;
users?: null | SearchResultSetUserSearchItem;
};
};
export type ApiResponseSideBySideDiffResponse = {
code: number;
message: string;
data?: {
files: Array<SideBySideFileResponse>;
total_additions: number;
total_deletions: number;
};
};
export type ApiResponseSkillResponse = {
code: number;
message: string;
data?: {
id: number;
project_uuid: string;
slug: string;
name: string;
description?: string | null;
source: string;
repo_id?: string | null;
commit_sha?: string | null;
blob_hash?: string | null;
content: string;
metadata: unknown;
enabled: boolean;
created_by?: string | null;
created_at: string;
updated_at: string;
};
};
export type ApiResponseSshKeyListResponse = {
code: number;
message: string;
data?: {
keys: Array<SshKeyResponse>;
total: number;
};
};
export type ApiResponseSshKeyResponse = {
code: number;
message: string;
data?: {
id: number;
user_uid: string;
title: string;
fingerprint: string;
key_type: string;
key_bits?: number | null;
is_verified: boolean;
last_used_at?: string | null;
expires_at?: string | null;
is_revoked: boolean;
created_at: string;
updated_at: string;
};
};
export type ApiResponseStarCountResponse = {
code: number;
message: string;
data?: {
count: number;
};
};
export type ApiResponseStarUserListResponse = {
code: number;
message: string;
data?: {
users: Array<StarUserInfo>;
};
};
export type ApiResponseString = {
code: number;
message: string;
data?: string;
};
export type ApiResponseTagCountResponse = {
code: number;
message: string;
data?: {
count: number;
};
};
export type ApiResponseTagExistsResponse = {
code: number;
message: string;
data?: {
name: string;
exists: boolean;
};
};
export type ApiResponseTagInfoResponse = {
code: number;
message: string;
data?: {
name: string;
oid: string;
target: string;
is_annotated: boolean;
message?: string | null;
tagger?: string | null;
tagger_email?: string | null;
};
};
export type ApiResponseTagIsAnnotatedResponse = {
code: number;
message: string;
data?: {
name: string;
is_annotated: boolean;
};
};
export type ApiResponseTagMessageResponse = {
code: number;
message: string;
data?: {
name: string;
message?: string | null;
};
};
export type ApiResponseTagSummaryResponse = {
code: number;
message: string;
data?: {
total_count: number;
};
};
export type ApiResponseTagTaggerResponse = {
code: number;
message: string;
data?: {
name: string;
tagger?: string | null;
tagger_email?: string | null;
};
};
export type ApiResponseTagTargetResponse = {
code: number;
message: string;
data?: {
name: string;
target?: string | null;
};
};
export type ApiResponseTransferRepoResponse = {
code: number;
message: string;
data?: {
repo_id: string;
old_project_name: string;
new_project_name: string;
repo_name: string;
};
};
export type ApiResponseTreeDiffStatsResponse = {
code: number;
message: string;
data?: {
old_tree: string;
new_tree: string;
files_changed: number;
insertions: number;
deletions: number;
};
};
export type ApiResponseTreeEntryCountResponse = {
code: number;
message: string;
data?: {
oid: string;
count: number;
};
};
export type ApiResponseTreeEntryResponse = {
code: number;
message: string;
data?: {
name: string;
oid: string;
kind: string;
filemode: number;
is_binary: boolean;
};
};
export type ApiResponseTreeExistsResponse = {
code: number;
message: string;
data?: {
oid: string;
exists: boolean;
};
};
export type ApiResponseTreeInfoResponse = {
code: number;
message: string;
data?: {
oid: string;
entry_count: number;
is_empty: boolean;
};
};
export type ApiResponseTreeIsEmptyResponse = {
code: number;
message: string;
data?: {
oid: string;
is_empty: boolean;
};
};
export type ApiResponseUserInfoExternal = {
code: number;
message: string;
data?: {
user_uid: string;
username: string;
display_name: string;
avatar_url?: string | null;
master_email?: string | null;
timezone: string;
language: string;
website_url?: string | null;
organization?: string | null;
last_sign_in_at?: string | null;
is_owner: boolean;
is_subscribe: boolean;
total_projects: number;
total_repos: number;
};
};
export type ApiResponseUserProjectsResponse = {
code: number;
message: string;
data?: {
username: string;
projects: Array<UserProjectInfo>;
total_count: number;
};
};
export type ApiResponseUserReposResponse = {
code: number;
message: string;
data?: {
username: string;
repos: Array<UserRepoInfo>;
total_count: number;
};
};
export type ApiResponseValue = {
code: number;
message: string;
data?: unknown;
};
export type ApiResponseVecAuditLogResponse = {
code: number;
message: string;
data?: Array<{
id: number;
project_uid: string;
actor_uid: string;
action: string;
details?: {
[key: string]: unknown;
};
}>;
};
export type ApiResponseVecBoardResponse = {
code: number;
message: string;
data?: Array<{
id: string;
project: string;
name: string;
description?: string | null;
created_by: string;
created_at: string;
updated_at: string;
}>;
};
export type ApiResponseVecBranchInfoResponse = {
code: number;
message: string;
data?: Array<{
name: string;
oid: string;
is_head: boolean;
is_remote: boolean;
is_current: boolean;
upstream?: string | null;
}>;
};
export type ApiResponseVecBranchProtectionResponse = {
code: number;
message: string;
data?: Array<{
id: number;
repo: string;
branch: string;
forbid_push: boolean;
forbid_pull: boolean;
forbid_merge: boolean;
forbid_deletion: boolean;
forbid_force_push: boolean;
forbid_tag_push: boolean;
required_approvals: number;
dismiss_stale_reviews: boolean;
require_linear_history: boolean;
allow_fork_syncing: boolean;
}>;
};
export type ApiResponseVecCommitMetaResponse = {
code: number;
message: string;
data?: Array<{
oid: string;
message: string;
summary: string;
author: CommitSignatureResponse;
committer: CommitSignatureResponse;
tree_id: string;
parent_ids: Array<string>;
encoding?: string | null;
}>;
};
export type ApiResponseVecCommitRefInfoResponse = {
code: number;
message: string;
data?: Array<{
name: string;
target: string;
is_remote: boolean;
is_tag: boolean;
}>;
};
export type ApiResponseVecCommitReflogEntryResponse = {
code: number;
message: string;
data?: Array<{
new_sha: string;
old_sha: string;
committer_name: string;
committer_email: string;
time_secs: number;
message?: string | null;
ref_name: string;
}>;
};
export type ApiResponseVecIssueAssigneeResponse = {
code: number;
message: string;
data?: Array<{
issue: string;
user_id: string;
username: string;
assigned_at: string;
}>;
};
export type ApiResponseVecIssueLabelResponse = {
code: number;
message: string;
data?: Array<{
issue: string;
label_id: number;
label_name?: string | null;
label_color?: string | null;
relation_at: string;
}>;
};
export type ApiResponseVecIssuePullRequestResponse = {
code: number;
message: string;
data?: Array<{
issue: string;
repo: string;
number: number;
relation_at: string;
}>;
};
export type ApiResponseVecIssueRepoResponse = {
code: number;
message: string;
data?: Array<{
issue: string;
repo: string;
relation_at: string;
}>;
};
export type ApiResponseVecIssueSubscriberResponse = {
code: number;
message: string;
data?: Array<{
issue: string;
user_id: string;
username: string;
subscribed: boolean;
created_at: string;
}>;
};
export type ApiResponseVecLabelResponse = {
code: number;
message: string;
data?: Array<{
id: number;
project: string;
name: string;
color: string;
}>;
};
export type ApiResponseVecLikeUserInfo = {
code: number;
message: string;
data?: Array<{
uid: string;
username: string;
avatar_url: string;
}>;
};
export type ApiResponseVecMentionNotificationResponse = {
code: number;
message: string;
data?: Array<{
message_id: string;
mentioned_by: string;
mentioned_by_name: string;
content_preview: string;
room_id: string;
room_name: string;
created_at: string;
}>;
};
export type ApiResponseVecMergeheadInfoResponse = {
code: number;
message: string;
data?: Array<{
oid: string;
}>;
};
export type ApiResponseVecPendingInvitationInfo = {
code: number;
message: string;
data?: Array<{
user_id: string;
username: string;
display_name?: string | null;
avatar_url?: string | null;
email?: string | null;
role: string;
invited_by_username?: string | null;
invited_at: string;
expires_at?: string | null;
}>;
};
export type ApiResponseVecRefInfoResponse = {
code: number;
message: string;
data?: Array<{
name: string;
oid?: string | null;
target?: string | null;
is_symbolic: boolean;
is_branch: boolean;
is_remote: boolean;
is_tag: boolean;
is_note: boolean;
}>;
};
export type ApiResponseVecRoomAiResponse = {
code: number;
message: string;
data?: Array<{
room: string;
model: string;
model_name?: string | null;
version?: string | null;
call_count: number;
last_call_at?: string | null;
history_limit?: number | null;
system_prompt?: string | null;
temperature?: number | null;
max_tokens?: number | null;
use_exact: boolean;
think: boolean;
stream: boolean;
min_score?: number | null;
created_at: string;
updated_at: string;
}>;
};
export type ApiResponseVecRoomCategoryResponse = {
code: number;
message: string;
data?: Array<{
id: string;
project: string;
name: string;
position: number;
created_by: string;
created_at: string;
}>;
};
export type ApiResponseVecRoomMemberResponse = {
code: number;
message: string;
data?: Array<{
room: string;
user: string;
user_info?: null | UserInfo;
role: string;
first_msg_in?: string | null;
joined_at?: string | null;
last_read_seq?: number | null;
do_not_disturb: boolean;
dnd_start_hour?: number | null;
dnd_end_hour?: number | null;
}>;
};
export type ApiResponseVecRoomPinResponse = {
code: number;
message: string;
data?: Array<{
room: string;
message: string;
pinned_by: string;
pinned_at: string;
}>;
};
export type ApiResponseVecRoomResponse = {
code: number;
message: string;
data?: Array<{
id: string;
project: string;
room_name: string;
public: boolean;
category?: string | null;
created_by: string;
created_at: string;
last_msg_at: string;
unread_count?: number;
}>;
};
export type ApiResponseVecRoomThreadResponse = {
code: number;
message: string;
data?: Array<{
id: string;
room: string;
parent: number;
created_by: string;
participants: unknown;
last_message_at: string;
last_message_preview?: string | null;
created_at: string;
updated_at: string;
}>;
};
export type ApiResponseVecSkillResponse = {
code: number;
message: string;
data?: Array<{
id: number;
project_uuid: string;
slug: string;
name: string;
description?: string | null;
source: string;
repo_id?: string | null;
commit_sha?: string | null;
blob_hash?: string | null;
content: string;
metadata: unknown;
enabled: boolean;
created_by?: string | null;
created_at: string;
updated_at: string;
}>;
};
export type ApiResponseVecString = {
code: number;
message: string;
data?: Array<string>;
};
export type ApiResponseVecSubscriptionInfo = {
code: number;
message: string;
data?: Array<{
id: number;
user_uid: string;
target_uid: string;
subscribed_at: string;
is_active: boolean;
}>;
};
export type ApiResponseVecTagInfoResponse = {
code: number;
message: string;
data?: Array<{
name: string;
oid: string;
target: string;
is_annotated: boolean;
message?: string | null;
tagger?: string | null;
tagger_email?: string | null;
}>;
};
export type ApiResponseVecTreeEntryResponse = {
code: number;
message: string;
data?: Array<{
name: string;
oid: string;
kind: string;
filemode: number;
is_binary: boolean;
}>;
};
export type ApiResponseVecWatchUserInfo = {
code: number;
message: string;
data?: Array<{
uid: string;
username: string;
avatar_url: string;
}>;
};
export type ApiResponseWatchCountResponse = {
code: number;
message: string;
data?: {
count: number;
};
};
export type ApiResponseWatchUserListResponse = {
code: number;
message: string;
data?: {
users: Array<WatchUserInfo>;
};
};
export type ApiResponseWebhookListResponse = {
code: number;
message: string;
data?: {
webhooks: Array<WebhookResponse>;
total: number;
};
};
export type ApiResponseWebhookResponse = {
code: number;
message: string;
data?: {
id: number;
repo_uuid: string;
url: string;
content_type: string;
secret?: string | null;
events: WebhookEvent;
active: boolean;
created_at: string;
last_delivered_at?: string | null;
touch_count: number;
};
};
export type ApiResponseWorkspaceBillingCurrentResponse = {
code: number;
message: string;
data?: {
workspace_id: string;
currency: string;
monthly_quota: number;
balance: number;
total_spent: number;
month_used: number;
cycle_start_utc: string;
cycle_end_utc: string;
updated_at: string;
created_at: string;
};
};
export type ApiResponseWorkspaceBillingHistoryResponse = {
code: number;
message: string;
data?: {
page: number;
per_page: number;
total: number;
list: Array<WorkspaceBillingHistoryItem>;
};
};
export type ApiResponseWorkspaceInfoResponse = {
code: number;
message: string;
data?: {
id: string;
slug: string;
name: string;
description?: string | null;
avatar_url?: string | null;
plan: string;
billing_email?: string | null;
member_count: number;
my_role?: string | null;
created_at: string;
updated_at: string;
};
};
export type ApiResponseWorkspaceListResponse = {
code: number;
message: string;
data?: {
workspaces: Array<WorkspaceListItem>;
total: number;
};
};
export type ApiResponseWorkspaceMembersResponse = {
code: number;
message: string;
data?: {
members: Array<WorkspaceMemberInfo>;
total: number;
page: number;
per_page: number;
};
};
export type ApiResponseWorkspaceProjectsResponse = {
code: number;
message: string;
data?: {
projects: Array<WorkspaceProjectItem>;
total: number;
page: number;
per_page: number;
};
};
export type ApiResponseWorkspaceStatsResponse = {
code: number;
message: string;
data?: {
project_count: number;
member_count: number;
my_role?: string | null;
recent_activities: Array<WorkspaceActivityItem>;
};
};
export type ApiResponseBool = {
code: number;
message: string;
data?: boolean;
};
export type ApprovalCheckResult = {
enough_approvals: boolean;
approvals: number;
required: number;
reviewers: Array<ReviewerInfo>;
};
export type ArchiveCachedResponse = {
commit_oid: string;
format: string;
cached: boolean;
};
export type ArchiveEntryResponse = {
path: string;
oid: string;
size: number;
mode: number;
};
export type ArchiveInvalidateAllResponse = {
commit_oid: string;
count: number;
};
export type ArchiveInvalidateResponse = {
commit_oid: string;
format: string;
invalidated: boolean;
};
export type ArchiveListResponse = {
commit_oid: string;
entries: Array<ArchiveEntryResponse>;
total_entries: number;
};
export type ArchiveResponse = {
commit_oid: string;
format: string;
size: number;
data: string;
};
export type ArchiveSummaryResponse = {
commit_oid: string;
format: string;
total_entries: number;
total_size: number;
};
export type AuditLogParams = {
action: string;
details?: unknown;
};
export type AuditLogResponse = {
id: number;
project_uid: string;
actor_uid: string;
action: string;
details?: {
[key: string]: unknown;
};
};
/**
* Breakdown of a billing record.
*/
export type BillingRecord = {
/**
* Total cost in the billing currency.
*/
cost: number;
currency: string;
input_tokens: number;
output_tokens: number;
};
export type BlameHunkResponse = {
commit_oid: string;
final_start_line: number;
final_lines: number;
orig_start_line: number;
orig_lines: number;
boundary: boolean;
orig_path?: string | null;
};
export type BlobContentResponse = {
oid: string;
size: number;
is_binary: boolean;
content: string;
};
export type BlobCreateRequest = {
data: string;
};
export type BlobCreateResponse = {
oid: string;
size: number;
};
export type BlobExistsResponse = {
oid: string;
exists: boolean;
};
export type BlobInfoResponse = {
oid: string;
size: number;
is_binary: boolean;
};
export type BlobIsBinaryResponse = {
oid: string;
is_binary: boolean;
};
export type BlobSizeResponse = {
oid: string;
size: number;
};
export type BoardResponse = {
id: string;
project: string;
name: string;
description?: string | null;
created_by: string;
created_at: string;
updated_at: string;
};
export type BoardWithColumnsResponse = {
board: BoardResponse;
columns: Array<ColumnWithCardsResponse>;
};
export type BranchCreateRequest = {
name: string;
oid?: string | null;
force?: boolean;
};
export type BranchDiffResponse = {
ahead: number;
behind: number;
diverged: boolean;
};
export type BranchExistsResponse = {
name: string;
exists: boolean;
};
export type BranchFastForwardResponse = {
oid: string;
};
export type BranchInfoResponse = {
name: string;
oid: string;
is_head: boolean;
is_remote: boolean;
is_current: boolean;
upstream?: string | null;
};
export type BranchIsAncestorResponse = {
child: string;
ancestor: string;
is_ancestor: boolean;
};
export type BranchIsConflictedResponse = {
is_conflicted: boolean;
};
export type BranchIsDetachedResponse = {
is_detached: boolean;
};
export type BranchIsHeadResponse = {
name: string;
is_head: boolean;
};
export type BranchIsMergedResponse = {
branch: string;
into: string;
is_merged: boolean;
};
export type BranchMergeBaseResponse = {
branch1: string;
branch2: string;
base: string;
};
export type BranchMoveRequest = {
name: string;
new_name: string;
force?: boolean;
};
export type BranchProtectionCreateRequest = {
branch: string;
forbid_push?: boolean;
forbid_pull?: boolean;
forbid_merge?: boolean;
forbid_deletion?: boolean;
forbid_force_push?: boolean;
forbid_tag_push?: boolean;
required_approvals?: number;
dismiss_stale_reviews?: boolean;
require_linear_history?: boolean;
allow_fork_syncing?: boolean;
};
export type BranchProtectionResponse = {
id: number;
repo: string;
branch: string;
forbid_push: boolean;
forbid_pull: boolean;
forbid_merge: boolean;
forbid_deletion: boolean;
forbid_force_push: boolean;
forbid_tag_push: boolean;
required_approvals: number;
dismiss_stale_reviews: boolean;
require_linear_history: boolean;
allow_fork_syncing: boolean;
};
export type BranchProtectionUpdateRequest = {
branch?: string | null;
forbid_push?: boolean | null;
forbid_pull?: boolean | null;
forbid_merge?: boolean | null;
forbid_deletion?: boolean | null;
forbid_force_push?: boolean | null;
forbid_tag_push?: boolean | null;
required_approvals?: number | null;
dismiss_stale_reviews?: boolean | null;
require_linear_history?: boolean | null;
allow_fork_syncing?: boolean | null;
};
export type BranchRenameRequest = {
old_name: string;
new_name: string;
};
export type BranchSetUpstreamRequest = {
name: string;
upstream?: string | null;
};
export type BranchSummaryResponse = {
local_count: number;
remote_count: number;
all_count: number;
};
export type BranchTrackingDiffResponse = {
name: string;
ahead: number;
behind: number;
};
export type CaptchaQuery = {
w: number;
h: number;
dark: boolean;
rsa: boolean;
};
export type CaptchaResponse = {
base64: string;
rsa?: null | RsaResponse;
req: CaptchaQuery;
};
export type CardResponse = {
id: string;
column: string;
issue_id?: number | null;
project?: string | null;
title: string;
description?: string | null;
position: number;
assignee_id?: string | null;
due_date?: string | null;
priority?: string | null;
created_by: string;
created_at: string;
updated_at: string;
};
export type ChangePasswordParams = {
old_password: string;
new_password: string;
};
export type ColumnResponse = {
id: string;
board: string;
name: string;
position: number;
wip_limit?: number | null;
color?: string | null;
};
export type ColumnWithCardsResponse = {
column: ColumnResponse;
cards: Array<CardResponse>;
};
export type CommentCreated = {
path: string;
line?: number | null;
severity: string;
};
export type CommitAmendRequest = {
oid: string;
author_name?: string | null;
author_email?: string | null;
committer_name?: string | null;
committer_email?: string | null;
message?: string | null;
message_encoding?: string | null;
tree_id?: string | null;
update_ref?: string | null;
};
export type CommitAuthorResponse = {
oid: string;
author: CommitSignatureResponse;
};
export type CommitBranchesResponse = {
data?: {
[key: string]: Array<string>;
};
};
export type CommitCherryPickAbortRequest = {
reset_type?: string | null;
};
export type CommitCherryPickRequest = {
cherrypick_oid: string;
author_name: string;
author_email: string;
committer_name: string;
committer_email: string;
message?: string | null;
mainline?: number | null;
update_ref?: string | null;
};
export type CommitCountResponse = {
count: number;
};
export type CommitCreateRequest = {
author_name: string;
author_email: string;
committer_name: string;
committer_email: string;
message: string;
tree_id: string;
parent_ids: Array<string>;
update_ref?: string | null;
};
export type CommitCreateResponse = {
oid: string;
};
export type CommitExistsResponse = {
oid: string;
exists: boolean;
};
export type CommitGraphLineResponse = {
oid: string;
graph_chars: string;
refs: string;
short_message: string;
};
export type CommitGraphReactCommit = {
oid: string;
hash_abbrev: string;
subject: string;
body?: string | null;
author_name: string;
author_email: string;
author_timestamp: number;
author_time_offset: number;
committer_name: string;
committer_email: string;
committer_timestamp: number;
committer_time_offset: number;
parent_hashes: Array<string>;
encoding?: string | null;
/**
* 0-based lane index used to assign branch color.
*/
lane_index: number;
/**
* Raw ASCII graph characters for supplementary rendering.
*/
graph_chars: string;
/**
* Parsed refs string (e.g. "main, v1.0.0").
*/
refs: string;
/**
* Tag names present on this commit.
*/
tags: Array<string>;
/**
* Branch names this commit is the tip of.
*/
branches: Array<string>;
};
export type CommitGraphReactResponse = {
commits: Array<CommitGraphReactCommit>;
lanes: Array<LaneInfo>;
max_parents: number;
};
export type CommitGraphResponse = {
lines: Array<CommitGraphLineResponse>;
max_parents: number;
};
export type CommitIsCommitResponse = {
oid: string;
is_commit: boolean;
};
export type CommitIsMergeResponse = {
oid: string;
is_merge: boolean;
};
export type CommitIsTipResponse = {
oid: string;
is_tip: boolean;
};
export type CommitLogResponse = {
data: Array<CommitMetaResponse>;
total: number;
page: number;
per_page: number;
total_pages: number;
};
export type CommitMessageResponse = {
oid: string;
message: string;
};
export type CommitMetaResponse = {
oid: string;
message: string;
summary: string;
author: CommitSignatureResponse;
committer: CommitSignatureResponse;
tree_id: string;
parent_ids: Array<string>;
encoding?: string | null;
};
export type CommitParentCountResponse = {
oid: string;
parent_count: number;
};
export type CommitParentIdsResponse = {
oid: string;
parent_ids: Array<string>;
};
export type CommitRefCountResponse = {
oid: string;
ref_count: number;
};
export type CommitRefInfoResponse = {
name: string;
target: string;
is_remote: boolean;
is_tag: boolean;
};
export type CommitReflogEntryResponse = {
new_sha: string;
old_sha: string;
committer_name: string;
committer_email: string;
time_secs: number;
message?: string | null;
ref_name: string;
};
export type CommitRevertAbortRequest = {
reset_type?: string | null;
};
export type CommitRevertRequest = {
revert_oid: string;
author_name: string;
author_email: string;
committer_name: string;
committer_email: string;
message?: string | null;
mainline?: number | null;
update_ref?: string | null;
};
export type CommitShortIdResponse = {
oid: string;
short_id: string;
};
export type CommitSignatureResponse = {
name: string;
email: string;
time_secs: number;
offset_minutes: number;
};
export type CommitSummaryResponse = {
oid: string;
summary: string;
};
export type CommitTagsResponse = {
data?: {
[key: string]: Array<string>;
};
};
export type CommitTreeIdResponse = {
oid: string;
tree_id: string;
};
export type ConfigBoolResponse = {
key: string;
value: boolean;
};
export type ConfigEntryResponse = {
name: string;
value: string;
};
export type ConfigSetRequest = {
key: string;
value: string;
};
export type ConfigSnapshotResponse = {
entries: Array<ConfigEntryResponse>;
};
export type ContextMe = {
uid: string;
username: string;
display_name?: string | null;
avatar_url?: string | null;
has_unread_notifications: number;
};
export type ContributionHeatmapItem = {
date: string;
count: number;
};
export type ContributionHeatmapQuery = {
start_date?: string | null;
end_date?: string | null;
};
export type ContributionHeatmapResponse = {
username: string;
total_contributions: number;
heatmap: Array<ContributionHeatmapItem>;
start_date: string;
end_date: string;
};
export type ContributorStats = {
name: string;
email: string;
commits: number;
first_commit_at?: number | null;
last_commit_at?: number | null;
};
export type ContributorsResponse = {
total: number;
contributors: Array<ContributorStats>;
};
export type CreateAccessKeyParams = {
name: string;
scopes: Array<string>;
expires_at?: string | null;
};
export type CreateBoardParams = {
name: string;
description?: string | null;
};
export type CreateCardParams = {
column_id: string;
title: string;
description?: string | null;
issue_id?: number | null;
assignee_id?: string | null;
due_date?: string | null;
priority?: string | null;
};
export type CreateColumnParams = {
name: string;
position?: number;
wip_limit?: number | null;
color?: string | null;
};
export type CreateLabelParams = {
name: string;
color: string;
description?: string | null;
};
export type CreateLabelRequest = {
name: string;
color: string;
};
export type CreateModelCapabilityRequest = {
model_version_id: number;
capability: string;
is_supported?: boolean;
};
export type CreateModelParameterProfileRequest = {
model_version_id: string;
temperature_min: number;
temperature_max: number;
top_p_min: number;
top_p_max: number;
frequency_penalty_supported?: boolean;
presence_penalty_supported?: boolean;
};
export type CreateModelPricingRequest = {
model_version_id: string;
input_price_per_1k_tokens: string;
output_price_per_1k_tokens: string;
currency: string;
effective_from: string;
};
export type CreateModelRequest = {
provider_id: string;
name: string;
modality: string;
capability: string;
context_length: number;
max_output_tokens?: number | null;
training_cutoff?: string | null;
is_open_source?: boolean;
};
export type CreateModelVersionRequest = {
model_id: string;
version: string;
release_date?: string | null;
change_log?: string | null;
is_default?: boolean;
};
export type CreateProviderRequest = {
name: string;
display_name: string;
website?: string | null;
};
export type CreateSkillRequest = {
slug: string;
name?: string | null;
description?: string | null;
content: string;
metadata?: unknown;
};
export type CreateWebhookParams = {
url: string;
content_type?: string | null;
secret?: string | null;
insecure_ssl?: boolean | null;
events?: WebhookEvent;
active?: boolean;
};
export type DeleteSkillResponse = {
deleted: boolean;
slug: string;
};
export type DescriptionQuery = {
description: string;
};
export type DescriptionResponse = {
description: string;
};
export type DiffDeltaResponse = {
status: string;
old_file: DiffFileResponse;
new_file: DiffFileResponse;
nfiles: number;
hunks: Array<DiffHunkResponse>;
lines: Array<DiffLineResponse>;
};
export type DiffFileResponse = {
oid?: string | null;
path?: string | null;
size: number;
is_binary: boolean;
};
export type DiffHunkResponse = {
old_start: number;
old_lines: number;
new_start: number;
new_lines: number;
header: string;
};
export type DiffLineResponse = {
content: string;
origin: string;
old_lineno?: number | null;
new_lineno?: number | null;
num_lines: number;
content_offset: number;
};
export type DiffPatchIdResponse = {
old_tree: string;
new_tree: string;
patch_id: string;
};
export type DiffResultResponse = {
stats: DiffStatsResponse;
deltas: Array<DiffDeltaResponse>;
};
export type DiffStatsResponse = {
files_changed: number;
insertions: number;
deletions: number;
};
export type Disable2FaParams = {
code: string;
password: string;
};
export type EmailChangeRequest = {
new_email: string;
password: string;
};
export type EmailResponse = {
email?: string | null;
};
export type EmailVerifyRequest = {
token: string;
};
export type Enable2FaResponse = {
secret: string;
qr_code: string;
backup_codes: Array<string>;
};
export type ExchangeProjectName = {
name: string;
};
export type ExchangeProjectTitle = {
display_name?: string | null;
description?: string | null;
};
export type ExchangeProjectVisibility = {
is_public: boolean;
};
/**
* Request body for generating a PR description.
*/
export type GeneratePrDescriptionRequest = {
/**
* PR number to generate description for.
*/
pr_number?: number | null;
/**
* Override the default AI model for this generation.
*/
model_id?: string | null;
};
/**
* Response from the AI description generation endpoint.
*/
export type GeneratePrDescriptionResponse = {
description: PrDescription;
/**
* Markdown-formatted description ready to paste into the PR body.
*/
markdown_body: string;
billing?: null | BillingRecord;
};
export type Get2FaStatusResponse = {
is_enabled: boolean;
method?: string | null;
has_backup_codes: boolean;
};
export type GitInitRequest = {
path: string;
bare?: boolean;
initial_branch?: string | null;
};
export type GitInitResponse = {
path: string;
is_bare: boolean;
};
export type GitReadmeQuery = {
ref?: string | null;
};
export type GitReadmeResponse = {
path?: string | null;
content?: string | null;
size?: number | null;
encoding?: string | null;
truncated?: boolean;
is_binary?: boolean;
};
export type GitUpdateRepoRequest = {
default_branch?: string | null;
};
export type GitWatchRequest = {
show_dashboard?: boolean;
notify_email?: boolean;
};
export type InvitationListResponse = {
invitations: Array<InvitationResponse>;
total: number;
page: number;
per_page: number;
};
export type InvitationResponse = {
project_uid: string;
project_name: string;
user_uid: string;
invited_by: string;
invited_by_username?: string | null;
scope: string;
accepted: boolean;
accepted_at?: string | null;
rejected: boolean;
rejected_at?: string | null;
created_at: string;
};
export type InviteUserRequest = {
email: string;
scope: MemberRole;
};
export type IsLikeResponse = {
is_like: boolean;
};
export type IsWatchResponse = {
is_watching: boolean;
};
export type IssueAddLabelRequest = {
label_id: number;
};
export type IssueAssignUserRequest = {
user_id: string;
};
export type IssueAssigneeResponse = {
issue: string;
user_id: string;
username: string;
assigned_at: string;
};
export type IssueCommentCreateRequest = {
body: string;
};
export type IssueCommentListResponse = {
comments: Array<IssueCommentResponse>;
total: number;
page: number;
per_page: number;
};
export type IssueCommentResponse = {
id: number;
issue: string;
author: string;
author_username: string;
body: string;
created_at: string;
updated_at: string;
};
export type IssueCommentUpdateRequest = {
body: string;
};
export type IssueCreateRequest = {
title: string;
body?: string | null;
milestone?: string | null;
};
export type IssueLabelResponse = {
issue: string;
label_id: number;
label_name?: string | null;
label_color?: string | null;
relation_at: string;
};
export type IssueLinkPullRequestRequest = {
repo: string;
number: number;
};
export type IssueLinkRepoRequest = {
repo: string;
};
export type IssueListResponse = {
issues: Array<IssueResponse>;
total: number;
page: number;
per_page: number;
};
export type IssuePullRequestResponse = {
issue: string;
repo: string;
number: number;
relation_at: string;
};
export type IssueRepoResponse = {
issue: string;
repo: string;
relation_at: string;
};
export type IssueResponse = {
id: string;
project: string;
number: number;
title: string;
body?: string | null;
state: string;
author: string;
author_username?: string | null;
milestone?: string | null;
created_at: string;
updated_at: string;
closed_at?: string | null;
created_by_ai: boolean;
};
export type IssueSearchItem = {
uid: string;
number: number;
title: string;
body?: string | null;
state: string;
project_uid: string;
project_name: string;
created_at: string;
updated_at: string;
};
export type IssueSubscriberResponse = {
issue: string;
user_id: string;
username: string;
subscribed: boolean;
created_at: string;
};
export type IssueSummaryResponse = {
total: number;
open: number;
closed: number;
};
export type IssueUpdateRequest = {
title?: string | null;
body?: string | null;
milestone?: string | null;
state?: string | null;
};
export type JoinAnswerResponse = {
question: string;
answer: string;
created_at: string;
};
export type JoinAnswersListResponse = {
request_id: number;
project_uid: string;
answers: Array<JoinAnswerResponse>;
};
export type JoinRequestListResponse = {
requests: Array<JoinRequestResponse>;
total: number;
page: number;
per_page: number;
};
export type JoinRequestResponse = {
id: number;
project_uid: string;
user_uid: string;
username: string;
status: string;
message?: string | null;
processed_by?: string | null;
processed_at?: string | null;
reject_reason?: string | null;
created_at: string;
};
export type JoinSettingsResponse = {
project_uid: string;
require_approval: boolean;
require_questions: boolean;
questions: unknown;
};
export type LabelListResponse = {
labels: Array<LabelResponse>;
total: number;
};
export type LabelResponse = {
id: number;
project_uid: string;
name: string;
color: string;
description?: string | null;
created_at: string;
};
/**
* Response for the gitgraph-react compatible API endpoint.
*/
export type LaneInfo = {
/**
* 0-based lane index.
*/
lane_index: number;
/**
* Branch name if this lane has a branch tip (None for unnamed lanes).
*/
branch_name?: string | null;
/**
* SHA of the commit where this lane/branch starts.
*/
start_oid: string;
/**
* SHA of the commit where this lane ends (None if lane continues to last commit).
*/
end_oid?: string | null;
};
export type LikeUserInfo = {
uid: string;
username: string;
avatar_url: string;
};
export type LoginParams = {
username: string;
password: string;
captcha: string;
totp_code?: string | null;
};
export type MemberInfo = {
user_id: string;
username: string;
display_name?: string | null;
avatar_url?: string | null;
scope: MemberRole;
joined_at: string;
};
export type MemberListResponse = {
members: Array<MemberInfo>;
total: number;
page: number;
per_page: number;
};
/**
* Project member role. Stored as `"owner"`, `"admin"`, or `"member"` in the database.
*/
export type MemberRole = 'Owner' | 'Admin' | 'Member';
export type MentionNotificationResponse = {
message_id: string;
mentioned_by: string;
mentioned_by_name: string;
content_preview: string;
room_id: string;
room_name: string;
created_at: string;
};
export type MergeAnalysisResponse = {
can_fast_forward: boolean;
is_up_to_date: boolean;
is_normal: boolean;
analysis_flags: Array<string>;
/**
* Strategies supported given the current state of the PR.
*/
supported_strategies: Array<string>;
};
export type MergeAnalysisResultInner = {
is_none: boolean;
is_normal: boolean;
is_up_to_date: boolean;
is_fast_forward: boolean;
is_unborn: boolean;
};
export type MergeCommitsRequest = {
local_oid: string;
remote_oid: string;
find_renames?: boolean;
fail_on_conflict?: boolean;
skip_reuc?: boolean;
no_recursive?: boolean;
rename_threshold?: number;
target_limit?: number;
recursion_limit?: number;
};
export type MergeConflictFile = {
path: string;
status: string;
};
export type MergeConflictResponse = {
has_conflicts: boolean;
conflicted_files: Array<MergeConflictFile>;
};
export type MergePreferenceResultInner = {
is_none: boolean;
is_no_fast_forward: boolean;
is_fastforward_only: boolean;
};
export type MergeRequest = {
fast_forward?: boolean;
strategy?: MergeStrategy;
message?: string;
};
export type MergeResponse = {
repo: string;
number: number;
status: string;
merged_by: string;
merged_at: string;
};
export type MergeStrategy = 'mergecommit' | 'squash' | 'rebase';
export type MergeTreesRequest = {
ancestor_oid: string;
our_oid: string;
their_oid: string;
find_renames?: boolean;
fail_on_conflict?: boolean;
skip_reuc?: boolean;
no_recursive?: boolean;
rename_threshold?: number;
target_limit?: number;
recursion_limit?: number;
};
export type MergeheadInfoResponse = {
oid: string;
};
export type MessageEditHistoryEntry = {
old_content: string;
new_content: string;
edited_at: string;
};
export type MessageEditHistoryResponse = {
message_id: string;
history: Array<MessageEditHistoryEntry>;
total_edits: number;
};
export type MessageSearchResponse = {
messages: Array<RoomMessageResponse>;
total: number;
};
export type ModelCapabilityResponse = {
id: number;
model_version_id: number;
capability: string;
is_supported: boolean;
created_at: string;
};
export type ModelParameterProfileResponse = {
id: number;
model_version_id: string;
temperature_min: number;
temperature_max: number;
top_p_min: number;
top_p_max: number;
frequency_penalty_supported: boolean;
presence_penalty_supported: boolean;
};
export type ModelPricingResponse = {
id: number;
model_version_id: string;
input_price_per_1k_tokens: string;
output_price_per_1k_tokens: string;
currency: string;
effective_from: string;
};
export type ModelResponse = {
id: string;
provider_id: string;
name: string;
modality: string;
capability: string;
context_length: number;
max_output_tokens?: number | null;
training_cutoff?: string | null;
is_open_source: boolean;
status: string;
created_at: string;
updated_at: string;
};
export type ModelVersionResponse = {
id: string;
model_id: string;
version: string;
release_date?: string | null;
change_log?: string | null;
is_default: boolean;
status: string;
created_at: string;
};
export type MoveCardParams = {
target_column_id: string;
position: number;
};
export type NotificationListResponse = {
notifications: Array<NotificationResponse>;
total: number;
unread_count: number;
};
export type NotificationPreferencesParams = {
email_enabled?: boolean | null;
in_app_enabled?: boolean | null;
push_enabled?: boolean | null;
digest_mode?: string | null;
dnd_enabled?: boolean | null;
dnd_start_minute?: number | null;
dnd_end_minute?: number | null;
marketing_enabled?: boolean | null;
security_enabled?: boolean | null;
product_enabled?: boolean | null;
};
export type NotificationPreferencesResponse = {
user_id: string;
email_enabled: boolean;
in_app_enabled: boolean;
push_enabled: boolean;
digest_mode: string;
dnd_enabled: boolean;
dnd_start_minute?: number | null;
dnd_end_minute?: number | null;
marketing_enabled: boolean;
security_enabled: boolean;
product_enabled: boolean;
created_at: string;
updated_at: string;
};
export type NotificationResponse = {
id: string;
room?: string | null;
project?: string | null;
user_id?: string | null;
user_info?: null | UserInfo;
notification_type: string;
title: string;
content?: string | null;
related_message_id?: string | null;
related_user_id?: string | null;
related_room_id?: string | null;
metadata: unknown;
is_read: boolean;
is_archived: boolean;
created_at: string;
read_at?: string | null;
expires_at?: string | null;
};
export type NotificationType = 'mention' | 'invitation' | 'role_change' | 'room_created' | 'room_deleted' | 'system_announcement';
export type Pager = {
page: number;
par_page: number;
};
export type PendingInvitationInfo = {
user_id: string;
username: string;
display_name?: string | null;
avatar_url?: string | null;
email?: string | null;
role: string;
invited_by_username?: string | null;
invited_at: string;
expires_at?: string | null;
};
export type MyWorkspaceInvitation = {
workspace_id: string;
workspace_slug: string;
workspace_name: string;
role: string;
invited_by_username?: string | null;
invited_at: string;
expires_at?: string | null;
};
export type PrCommitResponse = {
oid: string;
short_oid: string;
message: string;
summary: string;
author_name: string;
author_email: string;
authored_at: string;
committer_name: string;
committer_email: string;
committed_at: string;
};
export type PrCommitsListResponse = {
commits: Array<PrCommitResponse>;
};
/**
* Structured PR description generated by AI.
*/
export type PrDescription = {
/**
* 3-5 line summary of what this PR does.
*/
summary: string;
/**
* Key changes made in this PR.
*/
changes: Array<string>;
/**
* Potential risks or things to watch out for.
*/
risks?: Array<string>;
/**
* Suggested test scenarios.
*/
tests?: Array<string>;
};
export type PreferencesParams = {
language?: string | null;
theme?: string | null;
timezone?: string | null;
email_notifications?: boolean | null;
in_app_notifications?: boolean | null;
};
export type PreferencesResponse = {
language: string;
theme: string;
timezone: string;
email_notifications: boolean;
in_app_notifications: boolean;
created_at: string;
updated_at: string;
};
export type ProcessJoinRequest = {
approve: boolean;
scope: MemberRole;
reject_reason?: string | null;
};
export type ProfileResponse = {
uid: string;
username: string;
display_name?: string | null;
avatar_url?: string | null;
website_url?: string | null;
organization?: string | null;
created_at: string;
updated_at: string;
last_sign_in_at?: string | null;
};
export type ProjectBillingCurrentResponse = {
project_uid: string;
currency: string;
monthly_quota: number;
balance: number;
month_used: number;
cycle_start_utc: string;
cycle_end_utc: string;
updated_at: string;
created_at: string;
};
export type ProjectBillingHistoryItem = {
uid: string;
project_uid: string;
user_uid?: string | null;
amount: number;
currency: string;
reason: string;
extra?: unknown;
created_at: string;
};
export type ProjectBillingHistoryQuery = {
page?: number | null;
per_page?: number | null;
};
export type ProjectBillingHistoryResponse = {
page: number;
per_page: number;
total: number;
list: Array<ProjectBillingHistoryItem>;
};
export type ProjectInfoKeyValue = {
key: string;
value: string;
};
export type ProjectInfoLabel = {
name: string;
color: string;
};
export type ProjectInfoRelational = {
uid: string;
name: string;
display_name: string;
avatar_url?: string | null;
description?: string | null;
is_public: boolean;
created_at: string;
updated_at: string;
created_by: string;
created_username_name: string;
created_display_name?: string | null;
created_avatar_url?: string | null;
member_count: number;
like_count: number;
watch_count: number;
keys: Array<ProjectInfoKeyValue>;
labels: Array<ProjectInfoLabel>;
role?: null | MemberRole;
is_like: boolean;
is_watch: boolean;
};
export type ProjectInitParams = {
name: string;
description?: string | null;
is_public: boolean;
/**
* Optional workspace slug to associate this project with.
*/
workspace_slug?: string | null;
};
export type ProjectInitResponse = {
params: ProjectInitParams;
project: ProjectModel;
};
export type ProjectModel = {
uid: string;
name: string;
display_name: string;
avatar_url?: string | null;
description?: string | null;
is_public: boolean;
workspace_id?: string | null;
created_by: string;
created_at: string;
updated_at: string;
};
export type ProjectRepoCreateParams = {
repo_name: string;
description?: string | null;
/**
* Default: true. When false, skips bare git init and leaves default_branch empty;
* the branch will be auto-detected and set on first push.
*/
init_repo?: boolean;
/**
* Only used when init_repo is true.
*/
default_branch?: string;
is_private?: boolean;
};
export type ProjectRepoCreateResponse = {
uid: string;
repo_name: string;
description?: string | null;
default_branch: string;
project_name: string;
is_private: boolean;
storage_path: string;
created_at: string;
};
export type ProjectRepositoryItem = {
uid: string;
repo_name: string;
description?: string | null;
default_branch: string;
project_name: string;
is_private: boolean;
commit_count: number;
branch_count: number;
tag_count: number;
star_count: number;
watch_count: number;
last_commit_at?: string | null;
ssh_clone_url: string;
https_clone_url: string;
};
export type ProjectRepositoryPagination = {
items: Array<ProjectRepositoryItem>;
cursor?: string | null;
total: number;
};
export type ProjectSearchItem = {
uid: string;
name: string;
display_name: string;
description?: string | null;
avatar_url?: string | null;
is_public: boolean;
created_at: string;
updated_at: string;
};
export type ProviderResponse = {
id: string;
name: string;
display_name: string;
website?: string | null;
status: string;
created_at: string;
updated_at: string;
};
export type PullRequestCreateRequest = {
title: string;
body?: string | null;
base: string;
head: string;
draft?: boolean;
};
export type PullRequestListResponse = {
pull_requests: Array<PullRequestResponse>;
total: number;
page: number;
per_page: number;
};
export type PullRequestResponse = {
repo: string;
number: number;
issue?: string | null;
title: string;
body?: string | null;
author: string;
author_username?: string | null;
base: string;
head: string;
status: string;
merged_by?: string | null;
created_at: string;
updated_at: string;
merged_at?: string | null;
created_by_ai: boolean;
};
export type PullRequestSummaryResponse = {
total: number;
open: number;
merged: number;
closed: number;
};
export type PullRequestUpdateRequest = {
title?: string | null;
body?: string | null;
base?: string | null;
draft?: boolean | null;
};
export type QuestionSchema = {
question: string;
};
export type ReactionAddRequest = {
reaction: string;
};
export type ReactionListResponse = {
reactions: Array<ReactionSummary>;
};
export type ReactionResponse = {
user: string;
reaction: string;
created_at: string;
};
export type ReactionSummary = {
reaction: string;
count: number;
users: Array<string>;
};
export type RefCreateRequest = {
name: string;
oid: string;
force?: boolean;
message?: string | null;
};
export type RefDeleteResponse = {
name: string;
oid: string;
};
export type RefExistsResponse = {
name: string;
exists: boolean;
};
export type RefInfoResponse = {
name: string;
oid?: string | null;
target?: string | null;
is_symbolic: boolean;
is_branch: boolean;
is_remote: boolean;
is_tag: boolean;
is_note: boolean;
};
export type RefTargetResponse = {
name: string;
oid?: string | null;
};
export type RefUpdateRequest = {
name: string;
new_oid: string;
expected_oid?: string | null;
message?: string | null;
};
export type RefUpdateResponse = {
name: string;
old_oid?: string | null;
new_oid?: string | null;
};
export type RegisterParams = {
username: string;
email: string;
password: string;
captcha: string;
};
export type RepoSearchItem = {
uid: string;
name: string;
description?: string | null;
project_uid: string;
project_name: string;
is_private: boolean;
created_at: string;
};
export type ResetPasswordParams = {
email: string;
};
export type ConfirmResetPasswordParams = {
token: string;
new_password: string;
};
export type ReviewCommentCreateRequest = {
body: string;
review?: string | null;
path?: string | null;
side?: string | null;
line?: number | null;
old_line?: number | null;
/**
* ID of the parent comment to reply to (null = root comment).
*/
in_reply_to?: number | null;
};
export type ReviewCommentListQuery = {
/**
* Filter comments by file path (e.g. "src/main.rs").
*/
path?: string | null;
/**
* Filter by resolved status. Omit to return all comments.
*/
resolved?: boolean | null;
/**
* If true, only return inline comments (those with a `path` set).
* If false, only return general comments (no path).
* Omit to return all comments.
*/
file_only?: boolean | null;
};
export type ReviewCommentListResponse = {
/**
* Flat list of all comments (kept for backward compatibility).
*/
comments: Array<ReviewCommentResponse>;
/**
* Comments grouped into threads (root comments with their replies).
*/
threads: Array<ReviewCommentThread>;
total: number;
};
/**
* Body for replying to an existing review comment thread.
*/
export type ReviewCommentReplyRequest = {
body: string;
};
export type ReviewCommentResponse = {
repo: string;
number: number;
id: number;
review?: string | null;
path?: string | null;
side?: string | null;
line?: number | null;
old_line?: number | null;
body: string;
author: string;
author_username?: string | null;
resolved: boolean;
in_reply_to?: number | null;
created_at: string;
updated_at: string;
};
/**
* A review comment thread: one root comment plus all its replies.
*/
export type ReviewCommentThread = {
root: ReviewCommentResponse;
replies: Array<ReviewCommentResponse>;
};
export type ReviewCommentUpdateRequest = {
body: string;
};
export type ReviewListResponse = {
reviews: Array<ReviewResponse>;
};
export type ReviewRequestCreateRequest = {
/**
* User ID of the reviewer to request.
*/
reviewer: string;
};
export type ReviewRequestListResponse = {
requests: Array<ReviewRequestResponse>;
total: number;
};
export type ReviewRequestResponse = {
repo: string;
number: number;
reviewer: string;
reviewer_username?: string | null;
requested_by: string;
requested_by_username?: string | null;
requested_at: string;
dismissed_at?: string | null;
dismissed_by?: string | null;
dismissed_by_username?: string | null;
};
export type ReviewResponse = {
repo: string;
number: number;
reviewer: string;
reviewer_username?: string | null;
state: string;
body?: string | null;
submitted_at?: string | null;
created_at: string;
updated_at: string;
};
export type ReviewSubmitRequest = {
body?: string | null;
state: string;
};
export type ReviewUpdateRequest = {
body?: string | null;
};
export type ReviewerInfo = {
reviewer: string;
state: string;
submitted_at?: string | null;
};
export type RoomAiResponse = {
room: string;
model: string;
model_name?: string;
version?: string | null;
call_count: number;
last_call_at?: string | null;
history_limit?: number | null;
system_prompt?: string | null;
temperature?: number | null;
max_tokens?: number | null;
use_exact: boolean;
think: boolean;
stream: boolean;
min_score?: number | null;
created_at: string;
updated_at: string;
};
export type RoomAiUpsertRequest = {
model: string;
version?: string | null;
history_limit?: number | null;
system_prompt?: string | null;
temperature?: number | null;
max_tokens?: number | null;
use_exact?: boolean | null;
think?: boolean | null;
stream?: boolean | null;
min_score?: number | null;
};
export type RoomCategoryCreateRequest = {
name: string;
position?: number | null;
};
export type RoomCategoryResponse = {
id: string;
project: string;
name: string;
position: number;
created_by: string;
created_at: string;
};
export type RoomCategoryUpdateRequest = {
name?: string | null;
position?: number | null;
};
export type RoomCreateRequest = {
room_name: string;
room_public: boolean;
category?: string | null;
};
export type RoomMemberAddRequest = {
user_id: string;
role?: string | null;
};
export type RoomMemberReadSeqRequest = {
last_read_seq: number;
};
export type RoomMemberResponse = {
room: string;
user: string;
user_info?: null | UserInfo;
role: string;
first_msg_in?: string | null;
joined_at?: string | null;
last_read_seq?: number | null;
do_not_disturb: boolean;
dnd_start_hour?: number | null;
dnd_end_hour?: number | null;
};
export type RoomMemberRoleUpdateRequest = {
user_id: string;
role: string;
};
export type RoomMessageCreateRequest = {
content: string;
content_type?: string | null;
thread_id?: string | null;
in_reply_to?: string | null;
attachment_ids?: string[];
};
export type RoomMessageListResponse = {
messages: Array<RoomMessageResponse>;
total: number;
};
export type RoomMessageResponse = {
id: string;
seq: number;
room: string;
sender_type: string;
sender_id?: string | null;
display_name?: string | null;
thread?: string | null;
in_reply_to?: string | null;
content: string;
content_type: string;
edited_at?: string | null;
send_at: string;
revoked?: string | null;
revoked_by?: string | null;
attachment_ids?: string[];
};
export type RoomMessageUpdateRequest = {
content: string;
};
export type RoomPinResponse = {
room: string;
message: string;
pinned_by: string;
pinned_at: string;
};
export type RoomResponse = {
id: string;
project: string;
room_name: string;
public: boolean;
category?: string | null;
created_by: string;
created_at: string;
last_msg_at: string;
unread_count?: number;
};
export type RoomThreadCreateRequest = {
parent_seq: number;
};
export type RoomThreadResponse = {
id: string;
room: string;
parent: number;
created_by: string;
participants: unknown;
last_message_at: string;
last_message_preview?: string | null;
created_at: string;
updated_at: string;
};
export type RoomUpdateRequest = {
room_name?: string | null;
room_public?: boolean | null;
category?: string | null;
};
export type RsaResponse = {
public_key: string;
};
export type ScanResponse = {
discovered: number;
created: number;
updated: number;
removed: number;
};
export type SearchResponse = {
query: string;
projects?: null | SearchResultSetProjectSearchItem;
repos?: null | SearchResultSetRepoSearchItem;
issues?: null | SearchResultSetIssueSearchItem;
users?: null | SearchResultSetUserSearchItem;
};
export type SearchResultSetIssueSearchItem = {
items: Array<{
uid: string;
number: number;
title: string;
body?: string | null;
state: string;
project_uid: string;
project_name: string;
created_at: string;
updated_at: string;
}>;
total: number;
page: number;
per_page: number;
};
export type SearchResultSetProjectSearchItem = {
items: Array<{
uid: string;
name: string;
display_name: string;
description?: string | null;
avatar_url?: string | null;
is_public: boolean;
created_at: string;
updated_at: string;
}>;
total: number;
page: number;
per_page: number;
};
export type SearchResultSetRepoSearchItem = {
items: Array<{
uid: string;
name: string;
description?: string | null;
project_uid: string;
project_name: string;
is_private: boolean;
created_at: string;
}>;
total: number;
page: number;
per_page: number;
};
export type SearchResultSetUserSearchItem = {
items: Array<{
uid: string;
username: string;
display_name?: string | null;
avatar_url?: string | null;
organization?: string | null;
created_at: string;
}>;
total: number;
page: number;
per_page: number;
};
export type SideBySideChangeTypeResponse = 'unchanged' | 'added' | 'removed' | 'modified' | 'empty';
/**
* Query parameters for side-by-side diff.
*/
export type SideBySideDiffQuery = {
/**
* OID (SHA) of the base / old commit or tree.
*/
base: string;
/**
* OID (SHA) of the head / new commit or tree.
*/
head: string;
/**
* Optional path filter — only include files matching this prefix.
*/
pathspec?: Array<string> | null;
/**
* Number of context lines around changes (default 3).
*/
context_lines?: number | null;
};
export type SideBySideDiffResponse = {
files: Array<SideBySideFileResponse>;
total_additions: number;
total_deletions: number;
};
export type SideBySideFileResponse = {
path: string;
additions: number;
deletions: number;
is_binary: boolean;
is_rename: boolean;
lines: Array<SideBySideLineResponse>;
};
export type SideBySideLineResponse = {
left_line_no?: number | null;
right_line_no?: number | null;
left_content: string;
right_content: string;
change_type: SideBySideChangeTypeResponse;
};
export type SkillResponse = {
id: number;
project_uuid: string;
slug: string;
name: string;
description?: string | null;
source: string;
repo_id?: string | null;
commit_sha?: string | null;
blob_hash?: string | null;
content: string;
metadata: unknown;
enabled: boolean;
created_by?: string | null;
created_at: string;
updated_at: string;
};
export type SshKeyListResponse = {
keys: Array<SshKeyResponse>;
total: number;
};
export type SshKeyResponse = {
id: number;
user_uid: string;
title: string;
fingerprint: string;
key_type: string;
key_bits?: number | null;
is_verified: boolean;
last_used_at?: string | null;
expires_at?: string | null;
is_revoked: boolean;
created_at: string;
updated_at: string;
};
export type StarCountResponse = {
count: number;
};
export type StarUserInfo = {
uid: string;
username: string;
avatar_url: string;
};
export type StarUserListResponse = {
users: Array<StarUserInfo>;
};
export type SubmitJoinRequest = {
message?: string | null;
answers: Array<AnswerRequest>;
};
export type SubscriptionInfo = {
id: number;
user_uid: string;
target_uid: string;
subscribed_at: string;
is_active: boolean;
};
export type TagCountResponse = {
count: number;
};
export type TagCreateLightweightRequest = {
name: string;
target: string;
force?: boolean;
};
export type TagCreateRequest = {
name: string;
target: string;
message?: string | null;
tagger_name?: string | null;
tagger_email?: string | null;
force?: boolean;
};
export type TagExistsResponse = {
name: string;
exists: boolean;
};
export type TagInfoResponse = {
name: string;
oid: string;
target: string;
is_annotated: boolean;
message?: string | null;
tagger?: string | null;
tagger_email?: string | null;
};
export type TagIsAnnotatedResponse = {
name: string;
is_annotated: boolean;
};
export type TagMessageResponse = {
name: string;
message?: string | null;
};
export type TagRenameQuery = {
old_name: string;
new_name: string;
};
export type TagSummaryResponse = {
total_count: number;
};
export type TagTaggerResponse = {
name: string;
tagger?: string | null;
tagger_email?: string | null;
};
export type TagTargetResponse = {
name: string;
target?: string | null;
};
export type TagUpdateMessageRequest = {
name: string;
message: string;
tagger_name: string;
tagger_email: string;
};
export type TransferRepoParams = {
target_project_name: string;
};
export type TransferRepoResponse = {
repo_id: string;
old_project_name: string;
new_project_name: string;
repo_name: string;
};
export type TreeDiffStatsResponse = {
old_tree: string;
new_tree: string;
files_changed: number;
insertions: number;
deletions: number;
};
export type TreeEntryCountResponse = {
oid: string;
count: number;
};
export type TreeEntryResponse = {
name: string;
oid: string;
kind: string;
filemode: number;
is_binary: boolean;
};
export type TreeExistsResponse = {
oid: string;
exists: boolean;
};
export type TreeInfoResponse = {
oid: string;
entry_count: number;
is_empty: boolean;
};
export type TreeIsEmptyResponse = {
oid: string;
is_empty: boolean;
};
export type TriggerCodeReviewRequest = {
pr_number?: number | null;
model_id?: string | null;
};
export type TriggerCodeReviewResponse = {
comments_posted: number;
comments: Array<CommentCreated>;
billing?: null | BillingRecord;
};
export type UpdateBoardParams = {
name?: string | null;
description?: string | null;
};
export type UpdateCardParams = {
title?: string | null;
description?: string | null;
assignee_id?: string | null;
due_date?: string | null;
priority?: string | null;
};
export type UpdateColumnParams = {
name?: string | null;
position?: number | null;
wip_limit?: number | null;
color?: string | null;
};
export type UpdateJoinSettingsRequest = {
require_approval: boolean;
require_questions: boolean;
questions: Array<QuestionSchema>;
};
export type UpdateLabelParams = {
name?: string | null;
color?: string | null;
description?: string | null;
};
export type UpdateMemberRoleRequest = {
user_id: string;
scope: MemberRole;
};
export type UpdateModelCapabilityRequest = {
is_supported?: boolean | null;
};
export type UpdateModelParameterProfileRequest = {
temperature_min?: number | null;
temperature_max?: number | null;
top_p_min?: number | null;
top_p_max?: number | null;
frequency_penalty_supported?: boolean | null;
presence_penalty_supported?: boolean | null;
};
export type UpdateModelPricingRequest = {
input_price_per_1k_tokens?: string | null;
output_price_per_1k_tokens?: string | null;
currency?: string | null;
effective_from?: string | null;
};
export type UpdateModelRequest = {
display_name?: string | null;
modality?: string | null;
capability?: string | null;
context_length?: number | null;
max_output_tokens?: number | null;
training_cutoff?: string | null;
is_open_source?: boolean | null;
status?: string | null;
};
export type UpdateModelVersionRequest = {
version?: string | null;
release_date?: string | null;
change_log?: string | null;
is_default?: boolean | null;
status?: string | null;
};
export type UpdateProfileParams = {
avatar_url?: string | null;
website_url?: string | null;
organization?: string | null;
};
export type UpdateProviderRequest = {
display_name?: string | null;
website?: string | null;
status?: string | null;
};
export type UpdateRoleParams = {
user_id: string;
role: string;
};
export type UpdateSkillRequest = {
name?: string | null;
description?: string | null;
content?: string | null;
metadata?: unknown;
enabled?: boolean | null;
};
export type UpdateSshKeyParams = {
title?: string | null;
expires_at?: string | null;
};
export type UpdateWebhookParams = {
url?: string | null;
content_type?: string | null;
secret?: string | null;
insecure_ssl?: boolean | null;
events?: null | WebhookEvent;
active?: boolean | null;
};
export type UserInfo = {
uid: string;
username: string;
avatar_url?: string | null;
};
export type UserInfoExternal = {
user_uid: string;
username: string;
display_name: string;
avatar_url?: string | null;
master_email?: string | null;
timezone: string;
language: string;
website_url?: string | null;
organization?: string | null;
last_sign_in_at?: string | null;
is_owner: boolean;
is_subscribe: boolean;
total_projects: number;
total_repos: number;
};
export type UserProjectInfo = {
uid: string;
name: string;
display_name: string;
avatar_url?: string | null;
description?: string | null;
is_public: boolean;
created_at: string;
updated_at: string;
member_count: number;
is_member: boolean;
};
export type UserProjectsQuery = {
page?: number | null;
per_page?: number | null;
};
export type UserProjectsResponse = {
username: string;
projects: Array<UserProjectInfo>;
total_count: number;
};
export type UserRepoInfo = {
uid: string;
repo_name: string;
description?: string | null;
default_branch: string;
is_private: boolean;
storage_path: string;
created_at: string;
updated_at: string;
};
export type UserReposQuery = {
page?: number | null;
per_page?: number | null;
};
export type UserReposResponse = {
username: string;
repos: Array<UserRepoInfo>;
total_count: number;
};
export type UserSearchItem = {
uid: string;
username: string;
display_name?: string | null;
avatar_url?: string | null;
organization?: string | null;
created_at: string;
};
export type Verify2FaParams = {
code: string;
};
export type WatchCountResponse = {
count: number;
};
export type WatchUserInfo = {
uid: string;
username: string;
avatar_url: string;
};
export type WatchUserListResponse = {
users: Array<WatchUserInfo>;
};
export type WebhookEvent = {
push?: boolean;
tag_push?: boolean;
pull_request?: boolean;
issue_comment?: boolean;
release?: boolean;
};
export type WebhookListResponse = {
webhooks: Array<WebhookResponse>;
total: number;
};
export type WebhookResponse = {
id: number;
repo_uuid: string;
url: string;
content_type: string;
secret?: string | null;
events: WebhookEvent;
active: boolean;
created_at: string;
last_delivered_at?: string | null;
touch_count: number;
};
export type WorkspaceActivityItem = {
id: number;
project_name: string;
event_type: string;
title: string;
content?: string | null;
actor_name: string;
actor_avatar?: string | null;
created_at: string;
};
export type WorkspaceBillingAddCreditParams = {
amount: number;
reason?: string | null;
};
export type WorkspaceBillingCurrentResponse = {
workspace_id: string;
currency: string;
monthly_quota: number;
balance: number;
total_spent: number;
month_used: number;
cycle_start_utc: string;
cycle_end_utc: string;
updated_at: string;
created_at: string;
};
export type WorkspaceBillingHistoryItem = {
uid: string;
workspace_id: string;
user_id?: string | null;
amount: number;
currency: string;
reason: string;
extra?: unknown;
created_at: string;
};
export type WorkspaceBillingHistoryQuery = {
page?: number | null;
per_page?: number | null;
};
export type WorkspaceBillingHistoryResponse = {
page: number;
per_page: number;
total: number;
list: Array<WorkspaceBillingHistoryItem>;
};
export type WorkspaceInfoResponse = {
id: string;
slug: string;
name: string;
description?: string | null;
avatar_url?: string | null;
plan: string;
billing_email?: string | null;
member_count: number;
my_role?: string | null;
created_at: string;
updated_at: string;
};
export type WorkspaceInitParams = {
slug: string;
name: string;
description?: string | null;
};
export type WorkspaceInviteAcceptParams = {
token: string;
};
export type WorkspaceInviteParams = {
email: string;
role?: string | null;
};
export type WorkspaceAcceptBySlugParams = {
slug: string;
};
export type WorkspaceListItem = {
id: string;
slug: string;
name: string;
description?: string | null;
avatar_url?: string | null;
plan: string;
my_role: string;
created_at: string;
};
export type WorkspaceListResponse = {
workspaces: Array<WorkspaceListItem>;
total: number;
};
export type WorkspaceMemberInfo = {
user_id: string;
username: string;
display_name?: string | null;
avatar_url?: string | null;
role: string;
joined_at: string;
/**
* Username of the person who invited this member.
*/
invited_by_username?: string | null;
};
export type WorkspaceMembersResponse = {
members: Array<WorkspaceMemberInfo>;
total: number;
page: number;
per_page: number;
};
export type WorkspaceProjectItem = {
uid: string;
name: string;
display_name: string;
avatar_url?: string | null;
description?: string | null;
is_public: boolean;
created_at: string;
updated_at: string;
};
export type WorkspaceProjectsQuery = {
page?: number | null;
per_page?: number | null;
};
export type WorkspaceProjectsResponse = {
projects: Array<WorkspaceProjectItem>;
total: number;
page: number;
per_page: number;
};
export type WorkspaceStatsResponse = {
project_count: number;
member_count: number;
my_role?: string | null;
recent_activities: Array<WorkspaceActivityItem>;
};
export type WorkspaceUpdateParams = {
name?: string | null;
description?: string | null;
avatar_url?: string | null;
billing_email?: string | null;
};
export type ModelCapabilityCreateData = {
body: CreateModelCapabilityRequest;
path?: never;
query?: never;
url: '/api/agents/capabilities';
};
export type ModelCapabilityCreateErrors = {
401: unknown;
403: unknown;
};
export type ModelCapabilityCreateResponses = {
200: ModelCapabilityResponse;
};
export type ModelCapabilityCreateResponse = ModelCapabilityCreateResponses[keyof ModelCapabilityCreateResponses];
export type ModelCapabilityDeleteData = {
body?: never;
path: {
id: number;
};
query?: never;
url: '/api/agents/capabilities/{id}';
};
export type ModelCapabilityDeleteErrors = {
401: unknown;
403: unknown;
404: unknown;
};
export type ModelCapabilityDeleteResponses = {
200: unknown;
};
export type ModelCapabilityGetData = {
body?: never;
path: {
id: number;
};
query?: never;
url: '/api/agents/capabilities/{id}';
};
export type ModelCapabilityGetErrors = {
/**
* Unauthorized
*/
401: unknown;
404: unknown;
};
export type ModelCapabilityGetResponses = {
200: ModelCapabilityResponse;
};
export type ModelCapabilityGetResponse = ModelCapabilityGetResponses[keyof ModelCapabilityGetResponses];
export type ModelCapabilityUpdateData = {
body: UpdateModelCapabilityRequest;
path: {
id: number;
};
query?: never;
url: '/api/agents/capabilities/{id}';
};
export type ModelCapabilityUpdateErrors = {
401: unknown;
403: unknown;
404: unknown;
};
export type ModelCapabilityUpdateResponses = {
200: ModelCapabilityResponse;
};
export type ModelCapabilityUpdateResponse = ModelCapabilityUpdateResponses[keyof ModelCapabilityUpdateResponses];
export type TriggerCodeReviewData = {
body: TriggerCodeReviewRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/agents/code-review/{namespace}/{repo}';
};
export type TriggerCodeReviewErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Repository or PR not found
*/
404: unknown;
};
export type TriggerCodeReviewResponses = {
/**
* AI code review triggered
*/
200: TriggerCodeReviewResponse;
};
export type TriggerCodeReviewResponse2 = TriggerCodeReviewResponses[keyof TriggerCodeReviewResponses];
export type ModelListData = {
body?: never;
path?: never;
query?: {
provider_id?: string | null;
};
url: '/api/agents/models';
};
export type ModelListErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type ModelListResponses = {
200: Array<ModelResponse>;
};
export type ModelListResponse = ModelListResponses[keyof ModelListResponses];
export type ModelCreateData = {
body: CreateModelRequest;
path?: never;
query?: never;
url: '/api/agents/models';
};
export type ModelCreateErrors = {
401: unknown;
403: unknown;
404: unknown;
};
export type ModelCreateResponses = {
200: ModelResponse;
};
export type ModelCreateResponse = ModelCreateResponses[keyof ModelCreateResponses];
export type ModelDeleteData = {
body?: never;
path: {
id: string;
};
query?: never;
url: '/api/agents/models/{id}';
};
export type ModelDeleteErrors = {
401: unknown;
403: unknown;
404: unknown;
};
export type ModelDeleteResponses = {
200: unknown;
};
export type ModelGetData = {
body?: never;
path: {
id: string;
};
query?: never;
url: '/api/agents/models/{id}';
};
export type ModelGetErrors = {
/**
* Unauthorized
*/
401: unknown;
404: unknown;
};
export type ModelGetResponses = {
200: ModelResponse;
};
export type ModelGetResponse = ModelGetResponses[keyof ModelGetResponses];
export type ModelUpdateData = {
body: UpdateModelRequest;
path: {
id: string;
};
query?: never;
url: '/api/agents/models/{id}';
};
export type ModelUpdateErrors = {
401: unknown;
403: unknown;
404: unknown;
};
export type ModelUpdateResponses = {
200: ModelResponse;
};
export type ModelUpdateResponse = ModelUpdateResponses[keyof ModelUpdateResponses];
export type ModelParameterProfileCreateData = {
body: CreateModelParameterProfileRequest;
path?: never;
query?: never;
url: '/api/agents/parameters';
};
export type ModelParameterProfileCreateErrors = {
401: unknown;
403: unknown;
};
export type ModelParameterProfileCreateResponses = {
200: ModelParameterProfileResponse;
};
export type ModelParameterProfileCreateResponse = ModelParameterProfileCreateResponses[keyof ModelParameterProfileCreateResponses];
export type ModelParameterProfileDeleteData = {
body?: never;
path: {
id: number;
};
query?: never;
url: '/api/agents/parameters/{id}';
};
export type ModelParameterProfileDeleteErrors = {
401: unknown;
403: unknown;
404: unknown;
};
export type ModelParameterProfileDeleteResponses = {
200: unknown;
};
export type ModelParameterProfileGetData = {
body?: never;
path: {
id: number;
};
query?: never;
url: '/api/agents/parameters/{id}';
};
export type ModelParameterProfileGetErrors = {
/**
* Unauthorized
*/
401: unknown;
404: unknown;
};
export type ModelParameterProfileGetResponses = {
200: ModelParameterProfileResponse;
};
export type ModelParameterProfileGetResponse = ModelParameterProfileGetResponses[keyof ModelParameterProfileGetResponses];
export type ModelParameterProfileUpdateData = {
body: UpdateModelParameterProfileRequest;
path: {
id: number;
};
query?: never;
url: '/api/agents/parameters/{id}';
};
export type ModelParameterProfileUpdateErrors = {
401: unknown;
403: unknown;
404: unknown;
};
export type ModelParameterProfileUpdateResponses = {
200: ModelParameterProfileResponse;
};
export type ModelParameterProfileUpdateResponse = ModelParameterProfileUpdateResponses[keyof ModelParameterProfileUpdateResponses];
export type GeneratePrDescriptionData = {
body: GeneratePrDescriptionRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/agents/pr-description/{namespace}/{repo}';
};
export type GeneratePrDescriptionErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Repository or PR not found
*/
404: unknown;
};
export type GeneratePrDescriptionResponses = {
/**
* AI-generated PR description
*/
200: GeneratePrDescriptionResponse;
};
export type GeneratePrDescriptionResponse2 = GeneratePrDescriptionResponses[keyof GeneratePrDescriptionResponses];
export type ModelPricingCreateData = {
body: CreateModelPricingRequest;
path?: never;
query?: never;
url: '/api/agents/pricing';
};
export type ModelPricingCreateErrors = {
401: unknown;
403: unknown;
};
export type ModelPricingCreateResponses = {
200: ModelPricingResponse;
};
export type ModelPricingCreateResponse = ModelPricingCreateResponses[keyof ModelPricingCreateResponses];
export type ModelPricingDeleteData = {
body?: never;
path: {
id: number;
};
query?: never;
url: '/api/agents/pricing/{id}';
};
export type ModelPricingDeleteErrors = {
401: unknown;
403: unknown;
404: unknown;
};
export type ModelPricingDeleteResponses = {
200: unknown;
};
export type ModelPricingGetData = {
body?: never;
path: {
id: number;
};
query?: never;
url: '/api/agents/pricing/{id}';
};
export type ModelPricingGetErrors = {
/**
* Unauthorized
*/
401: unknown;
404: unknown;
};
export type ModelPricingGetResponses = {
200: ModelPricingResponse;
};
export type ModelPricingGetResponse = ModelPricingGetResponses[keyof ModelPricingGetResponses];
export type ModelPricingUpdateData = {
body: UpdateModelPricingRequest;
path: {
id: number;
};
query?: never;
url: '/api/agents/pricing/{id}';
};
export type ModelPricingUpdateErrors = {
401: unknown;
403: unknown;
404: unknown;
};
export type ModelPricingUpdateResponses = {
200: ModelPricingResponse;
};
export type ModelPricingUpdateResponse = ModelPricingUpdateResponses[keyof ModelPricingUpdateResponses];
export type ProviderListData = {
body?: never;
path?: never;
query?: never;
url: '/api/agents/providers';
};
export type ProviderListErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type ProviderListResponses = {
200: Array<ProviderResponse>;
};
export type ProviderListResponse = ProviderListResponses[keyof ProviderListResponses];
export type ProviderCreateData = {
body: CreateProviderRequest;
path?: never;
query?: never;
url: '/api/agents/providers';
};
export type ProviderCreateErrors = {
401: unknown;
403: unknown;
};
export type ProviderCreateResponses = {
200: ProviderResponse;
};
export type ProviderCreateResponse = ProviderCreateResponses[keyof ProviderCreateResponses];
export type ProviderDeleteData = {
body?: never;
path: {
id: string;
};
query?: never;
url: '/api/agents/providers/{id}';
};
export type ProviderDeleteErrors = {
401: unknown;
403: unknown;
404: unknown;
};
export type ProviderDeleteResponses = {
200: unknown;
};
export type ProviderGetData = {
body?: never;
path: {
/**
* Provider UUID
*/
id: string;
};
query?: never;
url: '/api/agents/providers/{id}';
};
export type ProviderGetErrors = {
/**
* Unauthorized
*/
401: unknown;
404: unknown;
};
export type ProviderGetResponses = {
200: ProviderResponse;
};
export type ProviderGetResponse = ProviderGetResponses[keyof ProviderGetResponses];
export type ProviderUpdateData = {
body: UpdateProviderRequest;
path: {
id: string;
};
query?: never;
url: '/api/agents/providers/{id}';
};
export type ProviderUpdateErrors = {
401: unknown;
403: unknown;
404: unknown;
};
export type ProviderUpdateResponses = {
200: ProviderResponse;
};
export type ProviderUpdateResponse = ProviderUpdateResponses[keyof ProviderUpdateResponses];
export type ModelVersionListData = {
body?: never;
path?: never;
query?: {
model_id?: string | null;
};
url: '/api/agents/versions';
};
export type ModelVersionListErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type ModelVersionListResponses = {
200: Array<ModelVersionResponse>;
};
export type ModelVersionListResponse = ModelVersionListResponses[keyof ModelVersionListResponses];
export type ModelVersionCreateData = {
body: CreateModelVersionRequest;
path?: never;
query?: never;
url: '/api/agents/versions';
};
export type ModelVersionCreateErrors = {
401: unknown;
403: unknown;
};
export type ModelVersionCreateResponses = {
200: ModelVersionResponse;
};
export type ModelVersionCreateResponse = ModelVersionCreateResponses[keyof ModelVersionCreateResponses];
export type ModelVersionDeleteData = {
body?: never;
path: {
id: string;
};
query?: never;
url: '/api/agents/versions/{id}';
};
export type ModelVersionDeleteErrors = {
401: unknown;
403: unknown;
404: unknown;
};
export type ModelVersionDeleteResponses = {
200: unknown;
};
export type ModelVersionGetData = {
body?: never;
path: {
id: string;
};
query?: never;
url: '/api/agents/versions/{id}';
};
export type ModelVersionGetErrors = {
/**
* Unauthorized
*/
401: unknown;
404: unknown;
};
export type ModelVersionGetResponses = {
200: ModelVersionResponse;
};
export type ModelVersionGetResponse = ModelVersionGetResponses[keyof ModelVersionGetResponses];
export type ModelVersionUpdateData = {
body: UpdateModelVersionRequest;
path: {
id: string;
};
query?: never;
url: '/api/agents/versions/{id}';
};
export type ModelVersionUpdateErrors = {
401: unknown;
403: unknown;
404: unknown;
};
export type ModelVersionUpdateResponses = {
200: ModelVersionResponse;
};
export type ModelVersionUpdateResponse = ModelVersionUpdateResponses[keyof ModelVersionUpdateResponses];
export type ModelCapabilityListData = {
body?: never;
path: {
model_version_id: number;
};
query?: never;
url: '/api/agents/versions/{model_version_id}/capabilities';
};
export type ModelCapabilityListErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type ModelCapabilityListResponses = {
200: Array<ModelCapabilityResponse>;
};
export type ModelCapabilityListResponse = ModelCapabilityListResponses[keyof ModelCapabilityListResponses];
export type ModelParameterProfileListData = {
body?: never;
path: {
model_version_id: string;
};
query?: never;
url: '/api/agents/versions/{model_version_id}/parameters';
};
export type ModelParameterProfileListErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type ModelParameterProfileListResponses = {
200: Array<ModelParameterProfileResponse>;
};
export type ModelParameterProfileListResponse = ModelParameterProfileListResponses[keyof ModelParameterProfileListResponses];
export type ModelPricingListData = {
body?: never;
path: {
model_version_id: string;
};
query?: never;
url: '/api/agents/versions/{model_version_id}/pricing';
};
export type ModelPricingListErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type ModelPricingListResponses = {
200: Array<ModelPricingResponse>;
};
export type ModelPricingListResponse = ModelPricingListResponses[keyof ModelPricingListResponses];
export type Api2FaDisableData = {
body: Disable2FaParams;
path?: never;
query?: never;
url: '/api/auth/2fa/disable';
};
export type Api2FaDisableErrors = {
/**
* 2FA not enabled or invalid code/password
*/
400: unknown;
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: ApiResponseApiError;
/**
* Internal server error
*/
500: unknown;
};
export type Api2FaDisableError = Api2FaDisableErrors[keyof Api2FaDisableErrors];
export type Api2FaDisableResponses = {
/**
* 2FA disabled
*/
200: unknown;
};
export type Api2FaEnableData = {
body?: never;
path?: never;
query?: never;
url: '/api/auth/2fa/enable';
};
export type Api2FaEnableErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: ApiResponseApiError;
/**
* 2FA already enabled
*/
409: unknown;
/**
* Internal server error
*/
500: unknown;
};
export type Api2FaEnableError = Api2FaEnableErrors[keyof Api2FaEnableErrors];
export type Api2FaEnableResponses = {
/**
* 2FA setup initiated
*/
200: Enable2FaResponse;
};
export type Api2FaEnableResponse = Api2FaEnableResponses[keyof Api2FaEnableResponses];
export type Api2FaStatusData = {
body?: never;
path?: never;
query?: never;
url: '/api/auth/2fa/status';
};
export type Api2FaStatusErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: ApiResponseApiError;
/**
* Internal server error
*/
500: unknown;
};
export type Api2FaStatusError = Api2FaStatusErrors[keyof Api2FaStatusErrors];
export type Api2FaStatusResponses = {
/**
* 2FA status
*/
200: Get2FaStatusResponse;
};
export type Api2FaStatusResponse = Api2FaStatusResponses[keyof Api2FaStatusResponses];
export type Api2FaVerifyData = {
body: Verify2FaParams;
path?: never;
query?: never;
url: '/api/auth/2fa/verify';
};
export type Api2FaVerifyErrors = {
/**
* 2FA not set up
*/
400: unknown;
/**
* Unauthorized or invalid code
*/
401: unknown;
/**
* Not found
*/
404: ApiResponseApiError;
/**
* Internal server error
*/
500: unknown;
};
export type Api2FaVerifyError = Api2FaVerifyErrors[keyof Api2FaVerifyErrors];
export type Api2FaVerifyResponses = {
/**
* 2FA verified and enabled
*/
200: unknown;
};
export type ApiAuthCaptchaData = {
body: CaptchaQuery;
path?: never;
query?: never;
url: '/api/auth/captcha';
};
export type ApiAuthCaptchaErrors = {
/**
* Not found
*/
404: ApiResponseApiError;
/**
* Internal server error
*/
500: ApiResponseApiError;
};
export type ApiAuthCaptchaError = ApiAuthCaptchaErrors[keyof ApiAuthCaptchaErrors];
export type ApiAuthCaptchaResponses = {
/**
* Captcha generated
*/
200: ApiResponseCaptchaResponse;
};
export type ApiAuthCaptchaResponse = ApiAuthCaptchaResponses[keyof ApiAuthCaptchaResponses];
export type ApiEmailGetData = {
body?: never;
path?: never;
query?: never;
url: '/api/auth/email';
};
export type ApiEmailGetErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type ApiEmailGetResponses = {
/**
* Current email address
*/
200: ApiResponseEmailResponse;
};
export type ApiEmailGetResponse = ApiEmailGetResponses[keyof ApiEmailGetResponses];
export type ApiEmailChangeData = {
body: EmailChangeRequest;
path?: never;
query?: never;
url: '/api/auth/email/change';
};
export type ApiEmailChangeErrors = {
/**
* Unauthorized or invalid password
*/
401: unknown;
/**
* Email already in use
*/
409: unknown;
};
export type ApiEmailChangeResponses = {
/**
* Verification email sent
*/
200: ApiResponseString;
};
export type ApiEmailChangeResponse = ApiEmailChangeResponses[keyof ApiEmailChangeResponses];
export type ApiEmailVerifyData = {
body: EmailVerifyRequest;
path?: never;
query?: never;
url: '/api/auth/email/verify';
};
export type ApiEmailVerifyErrors = {
/**
* Invalid or expired token
*/
400: unknown;
};
export type ApiEmailVerifyResponses = {
/**
* Email updated successfully
*/
200: ApiResponseString;
};
export type ApiEmailVerifyResponse = ApiEmailVerifyResponses[keyof ApiEmailVerifyResponses];
export type ApiAuthLoginData = {
body: LoginParams;
path?: never;
query?: never;
url: '/api/auth/login';
};
export type ApiAuthLoginErrors = {
/**
* Bad request
*/
400: ApiResponseApiError;
/**
* Invalid credentials
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
/**
* Two-factor authentication required
*/
428: ApiResponseApiError;
};
export type ApiAuthLoginError = ApiAuthLoginErrors[keyof ApiAuthLoginErrors];
export type ApiAuthLoginResponses = {
/**
* Login successful
*/
200: ApiResponseString;
};
export type ApiAuthLoginResponse = ApiAuthLoginResponses[keyof ApiAuthLoginResponses];
export type ApiAuthLogoutData = {
body?: never;
path?: never;
query?: never;
url: '/api/auth/logout';
};
export type ApiAuthLogoutErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
/**
* Internal server error
*/
500: ApiResponseApiError;
};
export type ApiAuthLogoutError = ApiAuthLogoutErrors[keyof ApiAuthLogoutErrors];
export type ApiAuthLogoutResponses = {
/**
* Logout successful
*/
200: ApiResponseString;
};
export type ApiAuthLogoutResponse = ApiAuthLogoutResponses[keyof ApiAuthLogoutResponses];
export type ApiAuthMeData = {
body?: never;
path?: never;
query?: never;
url: '/api/auth/me';
};
export type ApiAuthMeErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
/**
* Internal server error
*/
500: ApiResponseApiError;
};
export type ApiAuthMeError = ApiAuthMeErrors[keyof ApiAuthMeErrors];
export type ApiAuthMeResponses = {
/**
* Current user info
*/
200: ApiResponseContextMe;
};
export type ApiAuthMeResponse = ApiAuthMeResponses[keyof ApiAuthMeResponses];
export type ApiUserChangePasswordData = {
body: ChangePasswordParams;
path?: never;
query?: never;
url: '/api/auth/password/change';
};
export type ApiUserChangePasswordErrors = {
/**
* Bad request
*/
400: ApiResponseApiError;
/**
* Unauthorized or invalid password
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
/**
* Internal server error
*/
500: ApiResponseApiError;
};
export type ApiUserChangePasswordError = ApiUserChangePasswordErrors[keyof ApiUserChangePasswordErrors];
export type ApiUserChangePasswordResponses = {
/**
* Password changed successfully
*/
200: ApiResponseString;
};
export type ApiUserChangePasswordResponse = ApiUserChangePasswordResponses[keyof ApiUserChangePasswordResponses];
export type ApiUserRequestPasswordResetData = {
body: ResetPasswordParams;
path?: never;
query?: never;
url: '/api/auth/password/reset';
};
export type ApiUserRequestPasswordResetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* User not found
*/
404: ApiResponseApiError;
/**
* Internal server error
*/
500: ApiResponseApiError;
};
export type ApiUserRequestPasswordResetError = ApiUserRequestPasswordResetErrors[keyof ApiUserRequestPasswordResetErrors];
export type ApiUserRequestPasswordResetResponses = {
/**
* Password reset email sent
*/
200: ApiResponseString;
};
export type ApiUserRequestPasswordResetResponse = ApiUserRequestPasswordResetResponses[keyof ApiUserRequestPasswordResetResponses];
export type ApiUserConfirmPasswordResetData = {
body: ConfirmResetPasswordParams;
path?: never;
query?: never;
url: '/api/auth/password/confirm';
};
export type ApiUserConfirmPasswordResetErrors = {
/**
* Invalid or expired token
*/
400: ApiResponseApiError;
/**
* User not found
*/
404: ApiResponseApiError;
/**
* Internal server error
*/
500: ApiResponseApiError;
};
export type ApiUserConfirmPasswordResetError = ApiUserConfirmPasswordResetErrors[keyof ApiUserConfirmPasswordResetErrors];
export type ApiUserConfirmPasswordResetResponses = {
/**
* Password reset confirmed
*/
200: ApiResponseString;
};
export type ApiUserConfirmPasswordResetResponse = ApiUserConfirmPasswordResetResponses[keyof ApiUserConfirmPasswordResetResponses];
export type ApiAuthRegisterData = {
body: RegisterParams;
path?: never;
query?: never;
url: '/api/auth/register';
};
export type ApiAuthRegisterErrors = {
/**
* Bad request
*/
400: ApiResponseApiError;
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
/**
* Username or email already exists
*/
409: ApiResponseApiError;
/**
* Internal server error
*/
500: ApiResponseApiError;
};
export type ApiAuthRegisterError = ApiAuthRegisterErrors[keyof ApiAuthRegisterErrors];
export type ApiAuthRegisterResponses = {
/**
* Registration successful
*/
200: ApiResponseApiError;
};
export type ApiAuthRegisterResponse = ApiAuthRegisterResponses[keyof ApiAuthRegisterResponses];
export type GitInitBareData = {
body: GitInitRequest;
path?: never;
query?: never;
url: '/api/git/init';
};
export type GitInitBareErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitInitBareError = GitInitBareErrors[keyof GitInitBareErrors];
export type GitInitBareResponses = {
/**
* Bare repository initialized
*/
200: ApiResponseGitInitResponse;
};
export type GitInitBareResponse = GitInitBareResponses[keyof GitInitBareResponses];
export type GitIsRepoData = {
body?: never;
path: {
/**
* Repository path
*/
path: string;
};
query?: never;
url: '/api/git/is-repo/{path}';
};
export type GitIsRepoErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitIsRepoError = GitIsRepoErrors[keyof GitIsRepoErrors];
export type GitIsRepoResponses = {
/**
* Check if path is a repository
*/
200: ApiResponseBool;
};
export type GitIsRepoResponse = GitIsRepoResponses[keyof GitIsRepoResponses];
export type GitOpenData = {
body?: never;
path: {
/**
* Repository path
*/
path: string;
};
query?: never;
url: '/api/git/open/{path}';
};
export type GitOpenErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitOpenError = GitOpenErrors[keyof GitOpenErrors];
export type GitOpenResponses = {
/**
* Open repository
*/
200: ApiResponseGitInitResponse;
};
export type GitOpenResponse = GitOpenResponses[keyof GitOpenResponses];
export type GitOpenWorkdirData = {
body?: never;
path: {
/**
* Repository path
*/
path: string;
};
query?: never;
url: '/api/git/open/{path}/workdir';
};
export type GitOpenWorkdirErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitOpenWorkdirError = GitOpenWorkdirErrors[keyof GitOpenWorkdirErrors];
export type GitOpenWorkdirResponses = {
/**
* Open repository working directory
*/
200: ApiResponseGitInitResponse;
};
export type GitOpenWorkdirResponse = GitOpenWorkdirResponses[keyof GitOpenWorkdirResponses];
export type IssueListData = {
body?: never;
path: {
project: string;
};
query?: {
state?: string;
page?: number;
per_page?: number;
};
url: '/api/issue/{project}/issues';
};
export type IssueListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueListResponses = {
/**
* List issues
*/
200: ApiResponseIssueListResponse;
};
export type IssueListResponse2 = IssueListResponses[keyof IssueListResponses];
export type IssueCreateData = {
body: IssueCreateRequest;
path: {
project: string;
};
query?: never;
url: '/api/issue/{project}/issues';
};
export type IssueCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueCreateResponses = {
/**
* Create issue
*/
200: ApiResponseIssueResponse;
};
export type IssueCreateResponse = IssueCreateResponses[keyof IssueCreateResponses];
export type IssueSummaryData = {
body?: never;
path: {
project: string;
};
query?: never;
url: '/api/issue/{project}/issues/summary';
};
export type IssueSummaryErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueSummaryResponses = {
/**
* Get issue summary
*/
200: ApiResponseIssueSummaryResponse;
};
export type IssueSummaryResponse2 = IssueSummaryResponses[keyof IssueSummaryResponses];
export type IssueDeleteData = {
body?: never;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}';
};
export type IssueDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueDeleteResponses = {
/**
* Delete issue
*/
200: unknown;
};
export type IssueGetData = {
body?: never;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}';
};
export type IssueGetErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueGetResponses = {
/**
* Get issue
*/
200: ApiResponseIssueResponse;
};
export type IssueGetResponse = IssueGetResponses[keyof IssueGetResponses];
export type IssueUpdateData = {
body: IssueUpdateRequest;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}';
};
export type IssueUpdateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueUpdateResponses = {
/**
* Update issue
*/
200: ApiResponseIssueResponse;
};
export type IssueUpdateResponse = IssueUpdateResponses[keyof IssueUpdateResponses];
export type IssueAssigneeListData = {
body?: never;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/assignees';
};
export type IssueAssigneeListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueAssigneeListResponses = {
/**
* List issue assignees
*/
200: ApiResponseVecIssueAssigneeResponse;
};
export type IssueAssigneeListResponse = IssueAssigneeListResponses[keyof IssueAssigneeListResponses];
export type IssueAssigneeAddData = {
body: IssueAssignUserRequest;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/assignees';
};
export type IssueAssigneeAddErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueAssigneeAddResponses = {
/**
* Add assignee to issue
*/
200: ApiResponseIssueAssigneeResponse;
};
export type IssueAssigneeAddResponse = IssueAssigneeAddResponses[keyof IssueAssigneeAddResponses];
export type IssueAssigneeRemoveData = {
body?: never;
path: {
project: string;
number: number;
assignee_id: string;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/assignees/{assignee_id}';
};
export type IssueAssigneeRemoveErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueAssigneeRemoveResponses = {
/**
* Remove assignee from issue
*/
200: unknown;
};
export type IssueCloseData = {
body?: never;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/close';
};
export type IssueCloseErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueCloseResponses = {
/**
* Close issue
*/
200: ApiResponseIssueResponse;
};
export type IssueCloseResponse = IssueCloseResponses[keyof IssueCloseResponses];
export type IssueCommentListData = {
body?: never;
path: {
project: string;
number: number;
};
query?: {
page?: number;
per_page?: number;
};
url: '/api/issue/{project}/issues/{number}/comments';
};
export type IssueCommentListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueCommentListResponses = {
/**
* List issue comments
*/
200: ApiResponseIssueCommentListResponse;
};
export type IssueCommentListResponse2 = IssueCommentListResponses[keyof IssueCommentListResponses];
export type IssueCommentCreateData = {
body: IssueCommentCreateRequest;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/comments';
};
export type IssueCommentCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueCommentCreateResponses = {
/**
* Create issue comment
*/
200: ApiResponseIssueCommentResponse;
};
export type IssueCommentCreateResponse = IssueCommentCreateResponses[keyof IssueCommentCreateResponses];
export type IssueCommentDeleteData = {
body?: never;
path: {
project: string;
number: number;
comment_id: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/comments/{comment_id}';
};
export type IssueCommentDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueCommentDeleteResponses = {
/**
* Delete issue comment
*/
200: unknown;
};
export type IssueCommentGetData = {
body?: never;
path: {
project: string;
number: number;
comment_id: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/comments/{comment_id}';
};
export type IssueCommentGetErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueCommentGetResponses = {
/**
* Get issue comment
*/
200: ApiResponseIssueCommentResponse;
};
export type IssueCommentGetResponse = IssueCommentGetResponses[keyof IssueCommentGetResponses];
export type IssueCommentUpdateData = {
body: IssueCommentUpdateRequest;
path: {
project: string;
number: number;
comment_id: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/comments/{comment_id}';
};
export type IssueCommentUpdateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueCommentUpdateResponses = {
/**
* Update issue comment
*/
200: ApiResponseIssueCommentResponse;
};
export type IssueCommentUpdateResponse = IssueCommentUpdateResponses[keyof IssueCommentUpdateResponses];
export type IssueCommentReactionListData = {
body?: never;
path: {
project: string;
number: number;
comment_id: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/comments/{comment_id}/reactions';
};
export type IssueCommentReactionListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueCommentReactionListResponses = {
/**
* List comment reactions
*/
200: ApiResponseReactionListResponse;
};
export type IssueCommentReactionListResponse = IssueCommentReactionListResponses[keyof IssueCommentReactionListResponses];
export type IssueCommentReactionAddData = {
body: ReactionAddRequest;
path: {
project: string;
number: number;
comment_id: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/comments/{comment_id}/reactions';
};
export type IssueCommentReactionAddErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueCommentReactionAddResponses = {
/**
* Add reaction to comment
*/
200: ApiResponseReactionResponse;
};
export type IssueCommentReactionAddResponse = IssueCommentReactionAddResponses[keyof IssueCommentReactionAddResponses];
export type IssueCommentReactionRemoveData = {
body?: never;
path: {
project: string;
number: number;
comment_id: number;
reaction: string;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/comments/{comment_id}/reactions/{reaction}';
};
export type IssueCommentReactionRemoveErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueCommentReactionRemoveResponses = {
/**
* Remove reaction from comment
*/
200: unknown;
};
export type IssueLabelListData = {
body?: never;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/labels';
};
export type IssueLabelListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueLabelListResponses = {
/**
* List issue labels
*/
200: ApiResponseVecIssueLabelResponse;
};
export type IssueLabelListResponse = IssueLabelListResponses[keyof IssueLabelListResponses];
export type IssueLabelAddData = {
body: IssueAddLabelRequest;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/labels';
};
export type IssueLabelAddErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueLabelAddResponses = {
/**
* Add label to issue
*/
200: ApiResponseIssueLabelResponse;
};
export type IssueLabelAddResponse = IssueLabelAddResponses[keyof IssueLabelAddResponses];
export type IssueLabelRemoveData = {
body?: never;
path: {
project: string;
number: number;
label_id: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/labels/{label_id}';
};
export type IssueLabelRemoveErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueLabelRemoveResponses = {
/**
* Remove label from issue
*/
200: unknown;
};
export type IssuePullRequestListData = {
body?: never;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/pulls';
};
export type IssuePullRequestListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssuePullRequestListResponses = {
/**
* List issue pull requests
*/
200: ApiResponseVecIssuePullRequestResponse;
};
export type IssuePullRequestListResponse = IssuePullRequestListResponses[keyof IssuePullRequestListResponses];
export type IssuePullRequestLinkData = {
body: IssueLinkPullRequestRequest;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/pulls';
};
export type IssuePullRequestLinkErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssuePullRequestLinkResponses = {
/**
* Link pull request to issue
*/
200: ApiResponseIssuePullRequestResponse;
};
export type IssuePullRequestLinkResponse = IssuePullRequestLinkResponses[keyof IssuePullRequestLinkResponses];
export type IssuePullRequestUnlinkData = {
body?: never;
path: {
project: string;
number: number;
repo_id: string;
pr_number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/pulls/{repo_id}/{pr_number}';
};
export type IssuePullRequestUnlinkErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssuePullRequestUnlinkResponses = {
/**
* Unlink pull request from issue
*/
200: unknown;
};
export type IssueReactionListData = {
body?: never;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/reactions';
};
export type IssueReactionListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueReactionListResponses = {
/**
* List issue reactions
*/
200: ApiResponseReactionListResponse;
};
export type IssueReactionListResponse = IssueReactionListResponses[keyof IssueReactionListResponses];
export type IssueReactionAddData = {
body: ReactionAddRequest;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/reactions';
};
export type IssueReactionAddErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueReactionAddResponses = {
/**
* Add reaction to issue
*/
200: ApiResponseReactionResponse;
};
export type IssueReactionAddResponse = IssueReactionAddResponses[keyof IssueReactionAddResponses];
export type IssueReactionRemoveData = {
body?: never;
path: {
project: string;
number: number;
reaction: string;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/reactions/{reaction}';
};
export type IssueReactionRemoveErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueReactionRemoveResponses = {
/**
* Remove reaction from issue
*/
200: unknown;
};
export type IssueReopenData = {
body?: never;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/reopen';
};
export type IssueReopenErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueReopenResponses = {
/**
* Reopen issue
*/
200: ApiResponseIssueResponse;
};
export type IssueReopenResponse = IssueReopenResponses[keyof IssueReopenResponses];
export type IssueRepoListData = {
body?: never;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/repos';
};
export type IssueRepoListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueRepoListResponses = {
/**
* List issue repos
*/
200: ApiResponseVecIssueRepoResponse;
};
export type IssueRepoListResponse = IssueRepoListResponses[keyof IssueRepoListResponses];
export type IssueRepoLinkData = {
body: IssueLinkRepoRequest;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/repos';
};
export type IssueRepoLinkErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueRepoLinkResponses = {
/**
* Link repo to issue
*/
200: ApiResponseIssueRepoResponse;
};
export type IssueRepoLinkResponse = IssueRepoLinkResponses[keyof IssueRepoLinkResponses];
export type IssueRepoUnlinkData = {
body?: never;
path: {
project: string;
number: number;
repo_id: string;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/repos/{repo_id}';
};
export type IssueRepoUnlinkErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueRepoUnlinkResponses = {
/**
* Unlink repo from issue
*/
200: unknown;
};
export type IssueUnsubscribeData = {
body?: never;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/subscribe';
};
export type IssueUnsubscribeErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueUnsubscribeResponses = {
/**
* Unsubscribe from issue
*/
200: unknown;
};
export type IssueSubscribeData = {
body?: never;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/subscribe';
};
export type IssueSubscribeErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueSubscribeResponses = {
/**
* Subscribe to issue
*/
200: ApiResponseIssueSubscriberResponse;
};
export type IssueSubscribeResponse = IssueSubscribeResponses[keyof IssueSubscribeResponses];
export type IssueSubscriberListData = {
body?: never;
path: {
project: string;
number: number;
};
query?: never;
url: '/api/issue/{project}/issues/{number}/subscribers';
};
export type IssueSubscriberListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type IssueSubscriberListResponses = {
/**
* List issue subscribers
*/
200: ApiResponseVecIssueSubscriberResponse;
};
export type IssueSubscriberListResponse = IssueSubscriberListResponses[keyof IssueSubscriberListResponses];
export type LabelListData = {
body?: never;
path: {
project: string;
};
query?: never;
url: '/api/issue/{project}/labels';
};
export type LabelListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type LabelListResponses = {
/**
* List labels
*/
200: ApiResponseVecLabelResponse;
};
export type LabelListResponse2 = LabelListResponses[keyof LabelListResponses];
export type LabelCreateData = {
body: CreateLabelRequest;
path: {
project: string;
};
query?: never;
url: '/api/issue/{project}/labels';
};
export type LabelCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type LabelCreateResponses = {
/**
* Create label
*/
200: ApiResponseLabelResponse;
};
export type LabelCreateResponse = LabelCreateResponses[keyof LabelCreateResponses];
export type LabelDeleteData = {
body?: never;
path: {
project: string;
label_id: number;
};
query?: never;
url: '/api/issue/{project}/labels/{label_id}';
};
export type LabelDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type LabelDeleteResponses = {
/**
* Delete label
*/
200: unknown;
};
export type MentionListData = {
body?: never;
path?: never;
query?: {
limit?: number;
};
url: '/api/me/mentions';
};
export type MentionListErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type MentionListResponses = {
/**
* List mentions
*/
200: ApiResponseVecMentionNotificationResponse;
};
export type MentionListResponse = MentionListResponses[keyof MentionListResponses];
export type MentionReadAllData = {
body?: never;
path?: never;
query?: never;
url: '/api/me/mentions/read-all';
};
export type MentionReadAllErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type MentionReadAllResponses = {
/**
* Mark all mentions as read
*/
200: unknown;
};
export type NotificationListData = {
body?: never;
path?: never;
query?: {
only_unread?: boolean;
archived?: boolean;
limit?: number;
};
url: '/api/me/notifications';
};
export type NotificationListErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type NotificationListResponses = {
/**
* List notifications
*/
200: ApiResponseNotificationListResponse;
};
export type NotificationListResponse2 = NotificationListResponses[keyof NotificationListResponses];
export type NotificationMarkAllReadData = {
body?: never;
path?: never;
query?: never;
url: '/api/me/notifications/read-all';
};
export type NotificationMarkAllReadErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type NotificationMarkAllReadResponses = {
/**
* Mark all notifications as read
*/
200: unknown;
};
export type NotificationArchiveData = {
body?: never;
path: {
notification_id: string;
};
query?: never;
url: '/api/me/notifications/{notification_id}/archive';
};
export type NotificationArchiveErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type NotificationArchiveResponses = {
/**
* Archive notification
*/
200: unknown;
};
export type NotificationMarkReadData = {
body?: never;
path: {
notification_id: string;
};
query?: never;
url: '/api/me/notifications/{notification_id}/read';
};
export type NotificationMarkReadErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type NotificationMarkReadResponses = {
/**
* Mark notification as read
*/
200: unknown;
};
export type CategoryListData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/project_room/{project_name}/room-categories';
};
export type CategoryListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type CategoryListResponses = {
/**
* List room categories
*/
200: ApiResponseVecRoomCategoryResponse;
};
export type CategoryListResponse = CategoryListResponses[keyof CategoryListResponses];
export type CategoryCreateData = {
body: RoomCategoryCreateRequest;
path: {
project_name: string;
};
query?: never;
url: '/api/project_room/{project_name}/room-categories';
};
export type CategoryCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type CategoryCreateResponses = {
/**
* Create room category
*/
200: ApiResponseRoomCategoryResponse;
};
export type CategoryCreateResponse = CategoryCreateResponses[keyof CategoryCreateResponses];
export type RoomListData = {
body?: never;
path: {
project_name: string;
};
query?: {
only_public?: boolean;
};
url: '/api/project_room/{project_name}/rooms';
};
export type RoomListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type RoomListResponses = {
/**
* List rooms
*/
200: ApiResponseVecRoomResponse;
};
export type RoomListResponse = RoomListResponses[keyof RoomListResponses];
export type RoomCreateData = {
body: RoomCreateRequest;
path: {
project_name: string;
};
query?: never;
url: '/api/project_room/{project_name}/rooms';
};
export type RoomCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type RoomCreateResponses = {
/**
* Create room
*/
200: ApiResponseRoomResponse;
};
export type RoomCreateResponse = RoomCreateResponses[keyof RoomCreateResponses];
export type ProjectCreateData = {
body: ProjectInitParams;
path?: never;
query?: never;
url: '/api/projects';
};
export type ProjectCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectCreateResponses = {
/**
* Create project
*/
200: ApiResponseProjectInitResponse;
};
export type ProjectCreateResponse = ProjectCreateResponses[keyof ProjectCreateResponses];
export type ProjectMyInvitationsData = {
body?: never;
path?: never;
query?: never;
url: '/api/projects/me/invitations';
};
export type ProjectMyInvitationsErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectMyInvitationsResponses = {
/**
* List my invitations
*/
200: ApiResponseInvitationListResponse;
};
export type ProjectMyInvitationsResponse = ProjectMyInvitationsResponses[keyof ProjectMyInvitationsResponses];
export type ProjectMyJoinRequestsData = {
body?: never;
path?: never;
query?: never;
url: '/api/projects/me/join-requests';
};
export type ProjectMyJoinRequestsErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectMyJoinRequestsResponses = {
/**
* List my join requests
*/
200: ApiResponseJoinRequestListResponse;
};
export type ProjectMyJoinRequestsResponse = ProjectMyJoinRequestsResponses[keyof ProjectMyJoinRequestsResponses];
export type ProjectInfoData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}';
};
export type ProjectInfoErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectInfoResponses = {
/**
* Get project info
*/
200: ApiResponseProjectInfoRelational;
};
export type ProjectInfoResponse = ProjectInfoResponses[keyof ProjectInfoResponses];
export type ProjectActivitiesData = {
body?: never;
path: {
project_name: string;
};
query?: {
page?: number;
per_page?: number;
event_type?: string;
/**
* ISO 8601 datetime, e.g. 2025-01-01T00:00:00Z
*/
start_date?: string;
/**
* ISO 8601 datetime, e.g. 2025-12-31T23:59:59Z
*/
end_date?: string;
};
url: '/api/projects/{project_name}/activities';
};
export type ProjectActivitiesErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden — no access to this project
*/
403: unknown;
/**
* Project not found
*/
404: unknown;
};
export type ProjectActivitiesResponses = {
/**
* List project activities
*/
200: ApiResponseActivityLogListResponse;
};
export type ProjectActivitiesResponse = ProjectActivitiesResponses[keyof ProjectActivitiesResponses];
export type ProjectLogActivityData = {
body: ActivityLogParams;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/activities';
};
export type ProjectLogActivityErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Project not found
*/
404: unknown;
};
export type ProjectLogActivityResponses = {
/**
* Activity logged
*/
200: ApiResponseActivityLogResponse;
};
export type ProjectLogActivityResponse = ProjectLogActivityResponses[keyof ProjectLogActivityResponses];
export type ProjectAuditLogsData = {
body?: never;
path: {
project_name: string;
};
query?: {
page?: number;
per_page?: number;
};
url: '/api/projects/{project_name}/audit-logs';
};
export type ProjectAuditLogsErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectAuditLogsResponses = {
/**
* List project audit logs
*/
200: ApiResponseVecAuditLogResponse;
};
export type ProjectAuditLogsResponse = ProjectAuditLogsResponses[keyof ProjectAuditLogsResponses];
export type ProjectLogAuditData = {
body: AuditLogParams;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/audit-logs';
};
export type ProjectLogAuditErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectLogAuditResponses = {
/**
* Log project audit event
*/
200: ApiResponseAuditLogResponse;
};
export type ProjectLogAuditResponse = ProjectLogAuditResponses[keyof ProjectLogAuditResponses];
export type ProjectAuditLogData = {
body?: never;
path: {
project_name: string;
log_id: number;
};
query?: never;
url: '/api/projects/{project_name}/audit-logs/{log_id}';
};
export type ProjectAuditLogErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectAuditLogResponses = {
/**
* Get project audit log
*/
200: ApiResponseAuditLogResponse;
};
export type ProjectAuditLogResponse = ProjectAuditLogResponses[keyof ProjectAuditLogResponses];
export type ProjectBillingData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/billing';
};
export type ProjectBillingErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectBillingResponses = {
/**
* Get project billing
*/
200: ApiResponseProjectBillingCurrentResponse;
};
export type ProjectBillingResponse = ProjectBillingResponses[keyof ProjectBillingResponses];
export type ProjectBillingHistoryData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/billing/history';
};
export type ProjectBillingHistoryErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectBillingHistoryResponses = {
/**
* Get project billing history
*/
200: ApiResponseProjectBillingHistoryResponse;
};
export type ProjectBillingHistoryResponse2 = ProjectBillingHistoryResponses[keyof ProjectBillingHistoryResponses];
export type BoardListData = {
body?: never;
path: {
/**
* Project name
*/
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/boards';
};
export type BoardListErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type BoardListResponses = {
/**
* List boards
*/
200: ApiResponseVecBoardResponse;
};
export type BoardListResponse = BoardListResponses[keyof BoardListResponses];
export type BoardCreateData = {
body: CreateBoardParams;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/boards';
};
export type BoardCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type BoardCreateResponses = {
/**
* Create board
*/
200: ApiResponseBoardResponse;
};
export type BoardCreateResponse = BoardCreateResponses[keyof BoardCreateResponses];
export type BoardDeleteData = {
body?: never;
path: {
project_name: string;
board_id: string;
};
query?: never;
url: '/api/projects/{project_name}/boards/{board_id}';
};
export type BoardDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type BoardDeleteResponses = {
/**
* Delete board
*/
200: unknown;
};
export type BoardGetData = {
body?: never;
path: {
project_name: string;
board_id: string;
};
query?: never;
url: '/api/projects/{project_name}/boards/{board_id}';
};
export type BoardGetErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type BoardGetResponses = {
/**
* Get board with columns and cards
*/
200: ApiResponseBoardWithColumnsResponse;
};
export type BoardGetResponse = BoardGetResponses[keyof BoardGetResponses];
export type BoardUpdateData = {
body: UpdateBoardParams;
path: {
project_name: string;
board_id: string;
};
query?: never;
url: '/api/projects/{project_name}/boards/{board_id}';
};
export type BoardUpdateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type BoardUpdateResponses = {
/**
* Update board
*/
200: ApiResponseBoardResponse;
};
export type BoardUpdateResponse = BoardUpdateResponses[keyof BoardUpdateResponses];
export type ColumnCreateData = {
body: CreateColumnParams;
path: {
project_name: string;
board_id: string;
};
query?: never;
url: '/api/projects/{project_name}/boards/{board_id}/columns';
};
export type ColumnCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Board not found
*/
404: unknown;
};
export type ColumnCreateResponses = {
/**
* Create column
*/
200: ApiResponseColumnResponse;
};
export type ColumnCreateResponse = ColumnCreateResponses[keyof ColumnCreateResponses];
export type CardCreateData = {
body: CreateCardParams;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/cards';
};
export type CardCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type CardCreateResponses = {
/**
* Create card
*/
200: ApiResponseCardResponse;
};
export type CardCreateResponse = CardCreateResponses[keyof CardCreateResponses];
export type CardDeleteData = {
body?: never;
path: {
project_name: string;
card_id: string;
};
query?: never;
url: '/api/projects/{project_name}/cards/{card_id}';
};
export type CardDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type CardDeleteResponses = {
/**
* Delete card
*/
200: unknown;
};
export type CardUpdateData = {
body: UpdateCardParams;
path: {
project_name: string;
card_id: string;
};
query?: never;
url: '/api/projects/{project_name}/cards/{card_id}';
};
export type CardUpdateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type CardUpdateResponses = {
/**
* Update card
*/
200: ApiResponseCardResponse;
};
export type CardUpdateResponse = CardUpdateResponses[keyof CardUpdateResponses];
export type CardMoveData = {
body: MoveCardParams;
path: {
project_name: string;
card_id: string;
};
query?: never;
url: '/api/projects/{project_name}/cards/{card_id}/move';
};
export type CardMoveErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type CardMoveResponses = {
/**
* Move card
*/
200: ApiResponseCardResponse;
};
export type CardMoveResponse = CardMoveResponses[keyof CardMoveResponses];
export type ColumnDeleteData = {
body?: never;
path: {
project_name: string;
column_id: string;
};
query?: never;
url: '/api/projects/{project_name}/columns/{column_id}';
};
export type ColumnDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ColumnDeleteResponses = {
/**
* Delete column
*/
200: unknown;
};
export type ColumnUpdateData = {
body: UpdateColumnParams;
path: {
project_name: string;
column_id: string;
};
query?: never;
url: '/api/projects/{project_name}/columns/{column_id}';
};
export type ColumnUpdateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ColumnUpdateResponses = {
/**
* Update column
*/
200: ApiResponseColumnResponse;
};
export type ColumnUpdateResponse = ColumnUpdateResponses[keyof ColumnUpdateResponses];
export type ProjectInvitationsData = {
body?: never;
path: {
project_name: string;
};
query?: {
page?: number;
per_page?: number;
};
url: '/api/projects/{project_name}/invitations';
};
export type ProjectInvitationsErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectInvitationsResponses = {
/**
* List project invitations
*/
200: ApiResponseInvitationListResponse;
};
export type ProjectInvitationsResponse = ProjectInvitationsResponses[keyof ProjectInvitationsResponses];
export type ProjectInviteUserData = {
body: InviteUserRequest;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/invitations';
};
export type ProjectInviteUserErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectInviteUserResponses = {
/**
* Invite user to project
*/
200: unknown;
};
export type ProjectAcceptInvitationData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/invitations/accept';
};
export type ProjectAcceptInvitationErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectAcceptInvitationResponses = {
/**
* Accept project invitation
*/
200: unknown;
};
export type ProjectRejectInvitationData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/invitations/reject';
};
export type ProjectRejectInvitationErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectRejectInvitationResponses = {
/**
* Reject project invitation
*/
200: unknown;
};
export type ProjectCancelInvitationData = {
body?: never;
path: {
project_name: string;
user_id: string;
};
query?: never;
url: '/api/projects/{project_name}/invitations/{user_id}';
};
export type ProjectCancelInvitationErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectCancelInvitationResponses = {
/**
* Cancel project invitation
*/
200: unknown;
};
export type ProjectJoinRequestsData = {
body?: never;
path: {
project_name: string;
};
query?: {
status?: string;
page?: number;
per_page?: number;
};
url: '/api/projects/{project_name}/join-requests';
};
export type ProjectJoinRequestsErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectJoinRequestsResponses = {
/**
* List join requests
*/
200: ApiResponseJoinRequestListResponse;
};
export type ProjectJoinRequestsResponse = ProjectJoinRequestsResponses[keyof ProjectJoinRequestsResponses];
export type ProjectSubmitJoinRequestData = {
body: SubmitJoinRequest;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/join-requests';
};
export type ProjectSubmitJoinRequestErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectSubmitJoinRequestResponses = {
/**
* Submit join request
*/
200: unknown;
};
export type ProjectCancelJoinRequestData = {
body?: never;
path: {
project_name: string;
request_id: number;
};
query?: never;
url: '/api/projects/{project_name}/join-requests/{request_id}';
};
export type ProjectCancelJoinRequestErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectCancelJoinRequestResponses = {
/**
* Cancel join request
*/
200: unknown;
};
export type ProjectProcessJoinRequestData = {
body: ProcessJoinRequest;
path: {
project_name: string;
request_id: number;
};
query?: never;
url: '/api/projects/{project_name}/join-requests/{request_id}';
};
export type ProjectProcessJoinRequestErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectProcessJoinRequestResponses = {
/**
* Process join request
*/
200: unknown;
};
export type ProjectJoinAnswersData = {
body?: never;
path: {
project_name: string;
request_id: number;
};
query?: never;
url: '/api/projects/{project_name}/join-requests/{request_id}/answers';
};
export type ProjectJoinAnswersErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectJoinAnswersResponses = {
/**
* Get join request answers
*/
200: ApiResponseJoinAnswersListResponse;
};
export type ProjectJoinAnswersResponse = ProjectJoinAnswersResponses[keyof ProjectJoinAnswersResponses];
export type ProjectSubmitJoinAnswersData = {
body: Array<AnswerRequest>;
path: {
project_name: string;
request_id: number;
};
query?: never;
url: '/api/projects/{project_name}/join-requests/{request_id}/answers';
};
export type ProjectSubmitJoinAnswersErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectSubmitJoinAnswersResponses = {
/**
* Submit join request answers
*/
200: unknown;
};
export type ProjectJoinSettingsData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/join-settings';
};
export type ProjectJoinSettingsErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectJoinSettingsResponses = {
/**
* Get join settings
*/
200: ApiResponseJoinSettingsResponse;
};
export type ProjectJoinSettingsResponse = ProjectJoinSettingsResponses[keyof ProjectJoinSettingsResponses];
export type ProjectUpdateJoinSettingsData = {
body: UpdateJoinSettingsRequest;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/join-settings';
};
export type ProjectUpdateJoinSettingsErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectUpdateJoinSettingsResponses = {
/**
* Update join settings
*/
200: ApiResponseJoinSettingsResponse;
};
export type ProjectUpdateJoinSettingsResponse = ProjectUpdateJoinSettingsResponses[keyof ProjectUpdateJoinSettingsResponses];
export type ProjectLabelsData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/labels';
};
export type ProjectLabelsErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectLabelsResponses = {
/**
* List project labels
*/
200: ApiResponseLabelListResponse;
};
export type ProjectLabelsResponse = ProjectLabelsResponses[keyof ProjectLabelsResponses];
export type ProjectCreateLabelData = {
body: CreateLabelParams;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/labels';
};
export type ProjectCreateLabelErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectCreateLabelResponses = {
/**
* Create project label
*/
200: ApiResponseLabelResponse;
};
export type ProjectCreateLabelResponse = ProjectCreateLabelResponses[keyof ProjectCreateLabelResponses];
export type ProjectDeleteLabelData = {
body?: never;
path: {
project_name: string;
label_id: number;
};
query?: never;
url: '/api/projects/{project_name}/labels/{label_id}';
};
export type ProjectDeleteLabelErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectDeleteLabelResponses = {
/**
* Delete project label
*/
200: unknown;
};
export type ProjectGetLabelData = {
body?: never;
path: {
project_name: string;
label_id: number;
};
query?: never;
url: '/api/projects/{project_name}/labels/{label_id}';
};
export type ProjectGetLabelErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectGetLabelResponses = {
/**
* Get project label
*/
200: ApiResponseLabelResponse;
};
export type ProjectGetLabelResponse = ProjectGetLabelResponses[keyof ProjectGetLabelResponses];
export type ProjectUpdateLabelData = {
body: UpdateLabelParams;
path: {
project_name: string;
label_id: number;
};
query?: never;
url: '/api/projects/{project_name}/labels/{label_id}';
};
export type ProjectUpdateLabelErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectUpdateLabelResponses = {
/**
* Update project label
*/
200: ApiResponseLabelResponse;
};
export type ProjectUpdateLabelResponse = ProjectUpdateLabelResponses[keyof ProjectUpdateLabelResponses];
export type ProjectUnlikeData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/like';
};
export type ProjectUnlikeErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectUnlikeResponses = {
/**
* Unlike project
*/
200: unknown;
};
export type ProjectIsLikeData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/like';
};
export type ProjectIsLikeErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectIsLikeResponses = {
/**
* Check if user likes project
*/
200: ApiResponseIsLikeResponse;
};
export type ProjectIsLikeResponse = ProjectIsLikeResponses[keyof ProjectIsLikeResponses];
export type ProjectLikeData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/like';
};
export type ProjectLikeErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectLikeResponses = {
/**
* Like project
*/
200: unknown;
};
export type ProjectLikesCountData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/likes/count';
};
export type ProjectLikesCountErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectLikesCountResponses = {
/**
* Get like count
*/
200: unknown;
};
export type ProjectLikeUsersData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/likes/users';
};
export type ProjectLikeUsersErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectLikeUsersResponses = {
/**
* List users who liked project
*/
200: ApiResponseVecLikeUserInfo;
};
export type ProjectLikeUsersResponse = ProjectLikeUsersResponses[keyof ProjectLikeUsersResponses];
export type ProjectMembersData = {
body?: never;
path: {
project_name: string;
};
query?: {
page?: number;
per_page?: number;
};
url: '/api/projects/{project_name}/members';
};
export type ProjectMembersErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectMembersResponses = {
/**
* List project members
*/
200: ApiResponseMemberListResponse;
};
export type ProjectMembersResponse = ProjectMembersResponses[keyof ProjectMembersResponses];
export type ProjectUpdateMemberRoleData = {
body: UpdateMemberRoleRequest;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/members/role';
};
export type ProjectUpdateMemberRoleErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectUpdateMemberRoleResponses = {
/**
* Update member role
*/
200: unknown;
};
export type ProjectRemoveMemberData = {
body?: never;
path: {
project_name: string;
user_id: string;
};
query?: never;
url: '/api/projects/{project_name}/members/{user_id}';
};
export type ProjectRemoveMemberErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectRemoveMemberResponses = {
/**
* Remove member from project
*/
200: unknown;
};
export type ProjectReposData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/repos';
};
export type ProjectReposErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Project not found
*/
404: unknown;
};
export type ProjectReposResponses = {
/**
* Get project repositories
*/
200: ApiResponseProjectRepositoryPagination;
};
export type ProjectReposResponse = ProjectReposResponses[keyof ProjectReposResponses];
export type ProjectRepoCreateData = {
body: ProjectRepoCreateParams;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/repos';
};
export type ProjectRepoCreateErrors = {
/**
* Bad request
*/
400: unknown;
/**
* Unauthorized
*/
401: unknown;
/**
* Repository name already exists
*/
409: unknown;
};
export type ProjectRepoCreateResponses = {
/**
* Create a repository
*/
200: ApiResponseProjectRepoCreateResponse;
};
export type ProjectRepoCreateResponse2 = ProjectRepoCreateResponses[keyof ProjectRepoCreateResponses];
export type ProjectExchangeNameData = {
body: ExchangeProjectName;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/settings/name';
};
export type ProjectExchangeNameErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectExchangeNameResponses = {
/**
* Update project name
*/
200: unknown;
};
export type ProjectExchangeTitleData = {
body: ExchangeProjectTitle;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/settings/title';
};
export type ProjectExchangeTitleErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectExchangeTitleResponses = {
/**
* Update project title
*/
200: unknown;
};
export type ProjectExchangeVisibilityData = {
body: ExchangeProjectVisibility;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/settings/visibility';
};
export type ProjectExchangeVisibilityErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectExchangeVisibilityResponses = {
/**
* Update project visibility
*/
200: unknown;
};
export type SkillListData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/skills';
};
export type SkillListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Project not found
*/
404: unknown;
};
export type SkillListResponses = {
/**
* List skills
*/
200: ApiResponseVecSkillResponse;
};
export type SkillListResponse = SkillListResponses[keyof SkillListResponses];
export type SkillCreateData = {
body: CreateSkillRequest;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/skills';
};
export type SkillCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Skill already exists
*/
409: unknown;
};
export type SkillCreateResponses = {
/**
* Create skill
*/
200: ApiResponseSkillResponse;
};
export type SkillCreateResponse = SkillCreateResponses[keyof SkillCreateResponses];
export type SkillScanData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/skills/scan';
};
export type SkillScanErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type SkillScanResponses = {
/**
* Scan repos for skills
*/
200: ApiResponseScanResponse;
};
export type SkillScanResponse = SkillScanResponses[keyof SkillScanResponses];
export type SkillDeleteData = {
body?: never;
path: {
project_name: string;
slug: string;
};
query?: never;
url: '/api/projects/{project_name}/skills/{slug}';
};
export type SkillDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type SkillDeleteResponses = {
/**
* Delete skill
*/
200: ApiResponseDeleteSkillResponse;
};
export type SkillDeleteResponse = SkillDeleteResponses[keyof SkillDeleteResponses];
export type SkillGetData = {
body?: never;
path: {
project_name: string;
slug: string;
};
query?: never;
url: '/api/projects/{project_name}/skills/{slug}';
};
export type SkillGetErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type SkillGetResponses = {
/**
* Get skill
*/
200: ApiResponseSkillResponse;
};
export type SkillGetResponse = SkillGetResponses[keyof SkillGetResponses];
export type SkillUpdateData = {
body: UpdateSkillRequest;
path: {
project_name: string;
slug: string;
};
query?: never;
url: '/api/projects/{project_name}/skills/{slug}';
};
export type SkillUpdateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type SkillUpdateResponses = {
/**
* Update skill
*/
200: ApiResponseSkillResponse;
};
export type SkillUpdateResponse = SkillUpdateResponses[keyof SkillUpdateResponses];
export type ProjectUnwatchData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/watch';
};
export type ProjectUnwatchErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectUnwatchResponses = {
/**
* Unwatch project
*/
200: unknown;
};
export type ProjectIsWatchData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/watch';
};
export type ProjectIsWatchErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectIsWatchResponses = {
/**
* Check if user watches project
*/
200: ApiResponseIsWatchResponse;
};
export type ProjectIsWatchResponse = ProjectIsWatchResponses[keyof ProjectIsWatchResponses];
export type ProjectWatchData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/watch';
};
export type ProjectWatchErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectWatchResponses = {
/**
* Watch project
*/
200: unknown;
};
export type ProjectWatchesCountData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/watches/count';
};
export type ProjectWatchesCountErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectWatchesCountResponses = {
/**
* Get watch count
*/
200: unknown;
};
export type ProjectWatchUsersData = {
body?: never;
path: {
project_name: string;
};
query?: never;
url: '/api/projects/{project_name}/watches/users';
};
export type ProjectWatchUsersErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectWatchUsersResponses = {
/**
* List users watching project
*/
200: ApiResponseVecWatchUserInfo;
};
export type ProjectWatchUsersResponse = ProjectWatchUsersResponses[keyof ProjectWatchUsersResponses];
export type ProjectTransferRepoData = {
body: TransferRepoParams;
path: {
source_project: string;
repo_name: string;
};
query?: never;
url: '/api/projects/{source_project}/repos/{repo_name}/transfer';
};
export type ProjectTransferRepoErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ProjectTransferRepoResponses = {
/**
* Transfer repo to another project
*/
200: ApiResponseTransferRepoResponse;
};
export type ProjectTransferRepoResponse = ProjectTransferRepoResponses[keyof ProjectTransferRepoResponses];
export type PullRequestListData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: {
status?: string;
page?: number;
per_page?: number;
};
url: '/api/repo_pr/{namespace}/{repo}/pulls';
};
export type PullRequestListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type PullRequestListResponses = {
/**
* List pull requests
*/
200: ApiResponsePullRequestListResponse;
};
export type PullRequestListResponse2 = PullRequestListResponses[keyof PullRequestListResponses];
export type PullRequestCreateData = {
body: PullRequestCreateRequest;
path: {
namespace: string;
repo: string;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls';
};
export type PullRequestCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type PullRequestCreateResponses = {
/**
* Create pull request
*/
200: ApiResponsePullRequestResponse;
};
export type PullRequestCreateResponse = PullRequestCreateResponses[keyof PullRequestCreateResponses];
export type PullRequestSummaryData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/summary';
};
export type PullRequestSummaryErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type PullRequestSummaryResponses = {
/**
* Get pull request summary
*/
200: ApiResponsePullRequestSummaryResponse;
};
export type PullRequestSummaryResponse2 = PullRequestSummaryResponses[keyof PullRequestSummaryResponses];
export type PullRequestDeleteData = {
body?: never;
path: {
namespace: string;
repo: string;
number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{number}';
};
export type PullRequestDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type PullRequestDeleteResponses = {
/**
* Delete pull request
*/
200: unknown;
};
export type PullRequestGetData = {
body?: never;
path: {
namespace: string;
repo: string;
number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{number}';
};
export type PullRequestGetErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type PullRequestGetResponses = {
/**
* Get pull request
*/
200: ApiResponsePullRequestResponse;
};
export type PullRequestGetResponse = PullRequestGetResponses[keyof PullRequestGetResponses];
export type PullRequestUpdateData = {
body: PullRequestUpdateRequest;
path: {
namespace: string;
repo: string;
number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{number}';
};
export type PullRequestUpdateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type PullRequestUpdateResponses = {
/**
* Update pull request
*/
200: ApiResponsePullRequestResponse;
};
export type PullRequestUpdateResponse = PullRequestUpdateResponses[keyof PullRequestUpdateResponses];
export type PullRequestCloseData = {
body?: never;
path: {
namespace: string;
repo: string;
number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{number}/close';
};
export type PullRequestCloseErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type PullRequestCloseResponses = {
/**
* Close pull request
*/
200: ApiResponsePullRequestResponse;
};
export type PullRequestCloseResponse = PullRequestCloseResponses[keyof PullRequestCloseResponses];
export type PullRequestReopenData = {
body?: never;
path: {
namespace: string;
repo: string;
number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{number}/reopen';
};
export type PullRequestReopenErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type PullRequestReopenResponses = {
/**
* Reopen pull request
*/
200: ApiResponsePullRequestResponse;
};
export type PullRequestReopenResponse = PullRequestReopenResponses[keyof PullRequestReopenResponses];
export type ReviewCommentListData = {
body?: never;
path: {
namespace: string;
repo: string;
pr_number: number;
};
query?: {
/**
* Filter by file path
*/
path?: string;
/**
* Filter by resolved status
*/
resolved?: boolean;
/**
* Only inline comments (true) or only general comments (false)
*/
file_only?: boolean;
};
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments';
};
export type ReviewCommentListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewCommentListResponses = {
/**
* List pull request review comments
*/
200: ApiResponseReviewCommentListResponse;
};
export type ReviewCommentListResponse2 = ReviewCommentListResponses[keyof ReviewCommentListResponses];
export type ReviewCommentCreateData = {
body: ReviewCommentCreateRequest;
path: {
namespace: string;
repo: string;
pr_number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments';
};
export type ReviewCommentCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewCommentCreateResponses = {
/**
* Create pull request review comment
*/
200: ApiResponseReviewCommentResponse;
};
export type ReviewCommentCreateResponse = ReviewCommentCreateResponses[keyof ReviewCommentCreateResponses];
export type ReviewCommentDeleteData = {
body?: never;
path: {
namespace: string;
repo: string;
pr_number: number;
comment_id: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments/{comment_id}';
};
export type ReviewCommentDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewCommentDeleteResponses = {
/**
* Delete pull request review comment
*/
200: unknown;
};
export type ReviewCommentUpdateData = {
body: ReviewCommentUpdateRequest;
path: {
namespace: string;
repo: string;
pr_number: number;
comment_id: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments/{comment_id}';
};
export type ReviewCommentUpdateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewCommentUpdateResponses = {
/**
* Update pull request review comment
*/
200: ApiResponseReviewCommentResponse;
};
export type ReviewCommentUpdateResponse = ReviewCommentUpdateResponses[keyof ReviewCommentUpdateResponses];
export type ReviewCommentReplyData = {
body: ReviewCommentReplyRequest;
path: {
namespace: string;
repo: string;
pr_number: number;
comment_id: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments/{comment_id}/replies';
};
export type ReviewCommentReplyErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewCommentReplyResponses = {
/**
* Reply to a comment
*/
200: ApiResponseReviewCommentResponse;
};
export type ReviewCommentReplyResponse = ReviewCommentReplyResponses[keyof ReviewCommentReplyResponses];
export type ReviewCommentUnresolveData = {
body?: never;
path: {
namespace: string;
repo: string;
pr_number: number;
comment_id: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments/{comment_id}/resolve';
};
export type ReviewCommentUnresolveErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewCommentUnresolveResponses = {
/**
* Mark comment as unresolved
*/
200: ApiResponseReviewCommentResponse;
};
export type ReviewCommentUnresolveResponse = ReviewCommentUnresolveResponses[keyof ReviewCommentUnresolveResponses];
export type ReviewCommentResolveData = {
body?: never;
path: {
namespace: string;
repo: string;
pr_number: number;
comment_id: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments/{comment_id}/resolve';
};
export type ReviewCommentResolveErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewCommentResolveResponses = {
/**
* Mark comment as resolved
*/
200: ApiResponseReviewCommentResponse;
};
export type ReviewCommentResolveResponse = ReviewCommentResolveResponses[keyof ReviewCommentResolveResponses];
export type PrCommitsListData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Pull request number
*/
pr_number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/commits';
};
export type PrCommitsListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type PrCommitsListResponses = {
/**
* List commits in a pull request
*/
200: ApiResponsePrCommitsListResponse;
};
export type PrCommitsListResponse2 = PrCommitsListResponses[keyof PrCommitsListResponses];
export type MergeConflictCheckData = {
body?: never;
path: {
namespace: string;
repo: string;
pr_number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/conflicts';
};
export type MergeConflictCheckErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type MergeConflictCheckResponses = {
/**
* Check merge conflicts
*/
200: ApiResponseMergeConflictResponse;
};
export type MergeConflictCheckResponse = MergeConflictCheckResponses[keyof MergeConflictCheckResponses];
export type PrDiffSideBySideData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Pull request number
*/
pr_number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/diff/side-by-side';
};
export type PrDiffSideBySideErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type PrDiffSideBySideResponses = {
/**
* Side-by-side diff for a pull request
*/
200: ApiResponseSideBySideDiffResponse;
};
export type PrDiffSideBySideResponse = PrDiffSideBySideResponses[keyof PrDiffSideBySideResponses];
export type MergeAnalysisData = {
body?: never;
path: {
namespace: string;
repo: string;
pr_number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/merge';
};
export type MergeAnalysisErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type MergeAnalysisResponses = {
/**
* Get merge analysis
*/
200: ApiResponseMergeAnalysisResponse;
};
export type MergeAnalysisResponse2 = MergeAnalysisResponses[keyof MergeAnalysisResponses];
export type MergeExecuteData = {
body: MergeRequest;
path: {
namespace: string;
repo: string;
pr_number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/merge';
};
export type MergeExecuteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
/**
* Conflict
*/
409: unknown;
};
export type MergeExecuteResponses = {
/**
* Execute merge
*/
200: ApiResponseMergeResponse;
};
export type MergeExecuteResponse = MergeExecuteResponses[keyof MergeExecuteResponses];
export type MergeAbortData = {
body?: never;
path: {
namespace: string;
repo: string;
pr_number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/merge/abort';
};
export type MergeAbortErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type MergeAbortResponses = {
/**
* Abort merge
*/
200: unknown;
};
export type MergeIsInProgressData = {
body?: never;
path: {
namespace: string;
repo: string;
pr_number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/merge/in_progress';
};
export type MergeIsInProgressErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type MergeIsInProgressResponses = {
/**
* Check if merge is in progress
*/
200: unknown;
};
export type ReviewRequestListData = {
body?: never;
path: {
namespace: string;
repo: string;
pr_number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/review-requests';
};
export type ReviewRequestListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewRequestListResponses = {
/**
* List review requests for a pull request
*/
200: ApiResponseReviewRequestListResponse;
};
export type ReviewRequestListResponse2 = ReviewRequestListResponses[keyof ReviewRequestListResponses];
export type ReviewRequestCreateData = {
body: ReviewRequestCreateRequest;
path: {
namespace: string;
repo: string;
pr_number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/review-requests';
};
export type ReviewRequestCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewRequestCreateResponses = {
/**
* Create or update a review request
*/
200: ApiResponseReviewRequestResponse;
};
export type ReviewRequestCreateResponse = ReviewRequestCreateResponses[keyof ReviewRequestCreateResponses];
export type ReviewRequestDeleteData = {
body?: never;
path: {
namespace: string;
repo: string;
pr_number: number;
reviewer: string;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/review-requests/{reviewer}';
};
export type ReviewRequestDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewRequestDeleteResponses = {
/**
* Delete (cancel) a review request
*/
200: unknown;
};
export type ReviewRequestDismissData = {
body?: never;
path: {
namespace: string;
repo: string;
pr_number: number;
reviewer: string;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/review-requests/{reviewer}/dismiss';
};
export type ReviewRequestDismissErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewRequestDismissResponses = {
/**
* Dismiss a review request
*/
200: ApiResponseReviewRequestResponse;
};
export type ReviewRequestDismissResponse = ReviewRequestDismissResponses[keyof ReviewRequestDismissResponses];
export type ReviewListData = {
body?: never;
path: {
namespace: string;
repo: string;
pr_number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/reviews';
};
export type ReviewListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewListResponses = {
/**
* List pull request reviews
*/
200: ApiResponseReviewListResponse;
};
export type ReviewListResponse2 = ReviewListResponses[keyof ReviewListResponses];
export type ReviewUpdateData = {
body: ReviewUpdateRequest;
path: {
namespace: string;
repo: string;
pr_number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/reviews';
};
export type ReviewUpdateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewUpdateResponses = {
/**
* Update pull request review
*/
200: ApiResponseReviewResponse;
};
export type ReviewUpdateResponse = ReviewUpdateResponses[keyof ReviewUpdateResponses];
export type ReviewSubmitData = {
body: ReviewSubmitRequest;
path: {
namespace: string;
repo: string;
pr_number: number;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/reviews';
};
export type ReviewSubmitErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewSubmitResponses = {
/**
* Submit pull request review
*/
200: ApiResponseReviewResponse;
};
export type ReviewSubmitResponse = ReviewSubmitResponses[keyof ReviewSubmitResponses];
export type ReviewDeleteData = {
body?: never;
path: {
namespace: string;
repo: string;
pr_number: number;
/**
* Reviewer UUID
*/
reviewer_id: string;
};
query?: never;
url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/reviews/{reviewer_id}';
};
export type ReviewDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ReviewDeleteResponses = {
/**
* Delete pull request review
*/
200: unknown;
};
export type BranchProtectionListData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/branch-protections';
};
export type BranchProtectionListErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
};
export type BranchProtectionListError = BranchProtectionListErrors[keyof BranchProtectionListErrors];
export type BranchProtectionListResponses = {
/**
* List branch protection rules
*/
200: ApiResponseVecBranchProtectionResponse;
};
export type BranchProtectionListResponse = BranchProtectionListResponses[keyof BranchProtectionListResponses];
export type BranchProtectionCreateData = {
body: BranchProtectionCreateRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/branch-protections';
};
export type BranchProtectionCreateErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
};
export type BranchProtectionCreateError = BranchProtectionCreateErrors[keyof BranchProtectionCreateErrors];
export type BranchProtectionCreateResponses = {
/**
* Create a branch protection rule
*/
200: ApiResponseBranchProtectionResponse;
};
export type BranchProtectionCreateResponse = BranchProtectionCreateResponses[keyof BranchProtectionCreateResponses];
export type BranchProtectionCheckApprovalsData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query: {
/**
* Pull request number
*/
pr_number: number;
};
url: '/api/repos/{namespace}/{repo}/branch-protections/check-approvals';
};
export type BranchProtectionCheckApprovalsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type BranchProtectionCheckApprovalsError = BranchProtectionCheckApprovalsErrors[keyof BranchProtectionCheckApprovalsErrors];
export type BranchProtectionCheckApprovalsResponses = {
/**
* Check approval count against branch protection
*/
200: ApiResponseApprovalCheckResult;
};
export type BranchProtectionCheckApprovalsResponse = BranchProtectionCheckApprovalsResponses[keyof BranchProtectionCheckApprovalsResponses];
export type BranchProtectionDeleteData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Rule id
*/
id: number;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/branch-protections/{id}';
};
export type BranchProtectionDeleteErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type BranchProtectionDeleteError = BranchProtectionDeleteErrors[keyof BranchProtectionDeleteErrors];
export type BranchProtectionDeleteResponses = {
/**
* Delete a branch protection rule
*/
200: unknown;
};
export type BranchProtectionGetData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Rule id
*/
id: number;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/branch-protections/{id}';
};
export type BranchProtectionGetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type BranchProtectionGetError = BranchProtectionGetErrors[keyof BranchProtectionGetErrors];
export type BranchProtectionGetResponses = {
/**
* Get a branch protection rule
*/
200: ApiResponseBranchProtectionResponse;
};
export type BranchProtectionGetResponse = BranchProtectionGetResponses[keyof BranchProtectionGetResponses];
export type BranchProtectionUpdateData = {
body: BranchProtectionUpdateRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Rule id
*/
id: number;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/branch-protections/{id}';
};
export type BranchProtectionUpdateErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type BranchProtectionUpdateError = BranchProtectionUpdateErrors[keyof BranchProtectionUpdateErrors];
export type BranchProtectionUpdateResponses = {
/**
* Update a branch protection rule
*/
200: ApiResponseBranchProtectionResponse;
};
export type BranchProtectionUpdateResponse = BranchProtectionUpdateResponses[keyof BranchProtectionUpdateResponses];
export type GitUpdateRepoData = {
body: GitUpdateRepoRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git';
};
export type GitUpdateRepoErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitUpdateRepoError = GitUpdateRepoErrors[keyof GitUpdateRepoErrors];
export type GitUpdateRepoResponses = {
/**
* Update repository settings
*/
200: unknown;
};
export type GitArchiveData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query: {
commit_oid: string;
format: string;
prefix?: string;
max_depth?: number;
path_filter?: string;
};
url: '/api/repos/{namespace}/{repo}/git/archive';
};
export type GitArchiveErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitArchiveError = GitArchiveErrors[keyof GitArchiveErrors];
export type GitArchiveResponses = {
/**
* Get archive
*/
200: ApiResponseArchiveResponse;
};
export type GitArchiveResponse = GitArchiveResponses[keyof GitArchiveResponses];
export type GitArchiveCachedData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query: {
commit_oid: string;
format: string;
prefix?: string;
max_depth?: number;
path_filter?: string;
};
url: '/api/repos/{namespace}/{repo}/git/archive/cached';
};
export type GitArchiveCachedErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitArchiveCachedError = GitArchiveCachedErrors[keyof GitArchiveCachedErrors];
export type GitArchiveCachedResponses = {
/**
* Check if archive is cached
*/
200: ApiResponseArchiveCachedResponse;
};
export type GitArchiveCachedResponse = GitArchiveCachedResponses[keyof GitArchiveCachedResponses];
export type GitArchiveInvalidateData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query: {
commit_oid: string;
format: string;
prefix?: string;
max_depth?: number;
path_filter?: string;
};
url: '/api/repos/{namespace}/{repo}/git/archive/invalidate';
};
export type GitArchiveInvalidateErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitArchiveInvalidateError = GitArchiveInvalidateErrors[keyof GitArchiveInvalidateErrors];
export type GitArchiveInvalidateResponses = {
/**
* Invalidate archive cache
*/
200: ApiResponseArchiveInvalidateResponse;
};
export type GitArchiveInvalidateResponse = GitArchiveInvalidateResponses[keyof GitArchiveInvalidateResponses];
export type GitArchiveInvalidateAllData = {
body?: never;
path: {
namespace: string;
repo: string;
commit_oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/archive/invalidate/{commit_oid}';
};
export type GitArchiveInvalidateAllErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitArchiveInvalidateAllError = GitArchiveInvalidateAllErrors[keyof GitArchiveInvalidateAllErrors];
export type GitArchiveInvalidateAllResponses = {
/**
* Invalidate all archive caches for commit
*/
200: ApiResponseArchiveInvalidateAllResponse;
};
export type GitArchiveInvalidateAllResponse = GitArchiveInvalidateAllResponses[keyof GitArchiveInvalidateAllResponses];
export type GitArchiveListData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query: {
commit_oid: string;
format: string;
prefix?: string;
max_depth?: number;
path_filter?: string;
};
url: '/api/repos/{namespace}/{repo}/git/archive/list';
};
export type GitArchiveListErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitArchiveListError = GitArchiveListErrors[keyof GitArchiveListErrors];
export type GitArchiveListResponses = {
/**
* List archive entries
*/
200: ApiResponseArchiveListResponse;
};
export type GitArchiveListResponse = GitArchiveListResponses[keyof GitArchiveListResponses];
export type GitArchiveSummaryData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query: {
commit_oid: string;
format: string;
prefix?: string;
max_depth?: number;
path_filter?: string;
};
url: '/api/repos/{namespace}/{repo}/git/archive/summary';
};
export type GitArchiveSummaryErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitArchiveSummaryError = GitArchiveSummaryErrors[keyof GitArchiveSummaryErrors];
export type GitArchiveSummaryResponses = {
/**
* Get archive summary
*/
200: ApiResponseArchiveSummaryResponse;
};
export type GitArchiveSummaryResponse = GitArchiveSummaryResponses[keyof GitArchiveSummaryResponses];
export type GitBlameFileData = {
body?: never;
path: {
namespace: string;
repo: string;
commit_oid: string;
/**
* File path within the repository
*/
tail: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/blame/{commit_oid}/{tail:.*}';
};
export type GitBlameFileErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBlameFileError = GitBlameFileErrors[keyof GitBlameFileErrors];
export type GitBlameFileResponses = {
200: Array<BlameHunkResponse>;
};
export type GitBlameFileResponse = GitBlameFileResponses[keyof GitBlameFileResponses];
export type GitBlobCreateData = {
body: BlobCreateRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/blob';
};
export type GitBlobCreateErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBlobCreateError = GitBlobCreateErrors[keyof GitBlobCreateErrors];
export type GitBlobCreateResponses = {
/**
* Create blob
*/
200: ApiResponseBlobCreateResponse;
};
export type GitBlobCreateResponse = GitBlobCreateResponses[keyof GitBlobCreateResponses];
export type GitBlobGetData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Blob object ID
*/
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/blob/{oid}';
};
export type GitBlobGetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBlobGetError = GitBlobGetErrors[keyof GitBlobGetErrors];
export type GitBlobGetResponses = {
/**
* Get blob info
*/
200: ApiResponseBlobInfoResponse;
};
export type GitBlobGetResponse = GitBlobGetResponses[keyof GitBlobGetResponses];
export type GitBlobContentData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Blob object ID
*/
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/blob/{oid}/content';
};
export type GitBlobContentErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBlobContentError = GitBlobContentErrors[keyof GitBlobContentErrors];
export type GitBlobContentResponses = {
/**
* Get blob content
*/
200: ApiResponseBlobContentResponse;
};
export type GitBlobContentResponse = GitBlobContentResponses[keyof GitBlobContentResponses];
export type GitBlobExistsData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Blob object ID
*/
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/blob/{oid}/exists';
};
export type GitBlobExistsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBlobExistsError = GitBlobExistsErrors[keyof GitBlobExistsErrors];
export type GitBlobExistsResponses = {
/**
* Check blob exists
*/
200: ApiResponseBlobExistsResponse;
};
export type GitBlobExistsResponse = GitBlobExistsResponses[keyof GitBlobExistsResponses];
export type GitBlobIsBinaryData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Blob object ID
*/
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/blob/{oid}/is-binary';
};
export type GitBlobIsBinaryErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBlobIsBinaryError = GitBlobIsBinaryErrors[keyof GitBlobIsBinaryErrors];
export type GitBlobIsBinaryResponses = {
/**
* Check if blob is binary
*/
200: ApiResponseBlobIsBinaryResponse;
};
export type GitBlobIsBinaryResponse = GitBlobIsBinaryResponses[keyof GitBlobIsBinaryResponses];
export type GitBlobSizeData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Blob object ID
*/
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/blob/{oid}/size';
};
export type GitBlobSizeErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBlobSizeError = GitBlobSizeErrors[keyof GitBlobSizeErrors];
export type GitBlobSizeResponses = {
/**
* Get blob size
*/
200: ApiResponseBlobSizeResponse;
};
export type GitBlobSizeResponse = GitBlobSizeResponses[keyof GitBlobSizeResponses];
export type GitBranchListData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches';
};
export type GitBranchListErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchListError = GitBranchListErrors[keyof GitBranchListErrors];
export type GitBranchListResponses = {
/**
* List branches
*/
200: ApiResponseVecBranchInfoResponse;
};
export type GitBranchListResponse = GitBranchListResponses[keyof GitBranchListResponses];
export type GitBranchCreateData = {
body: BranchCreateRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches';
};
export type GitBranchCreateErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchCreateError = GitBranchCreateErrors[keyof GitBranchCreateErrors];
export type GitBranchCreateResponses = {
/**
* Create branch
*/
200: ApiResponseBranchInfoResponse;
};
export type GitBranchCreateResponse = GitBranchCreateResponses[keyof GitBranchCreateResponses];
export type GitBranchCurrentData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/current';
};
export type GitBranchCurrentErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchCurrentError = GitBranchCurrentErrors[keyof GitBranchCurrentErrors];
export type GitBranchCurrentResponses = {
/**
* Get current branch
*/
200: ApiResponseBranchInfoResponse;
};
export type GitBranchCurrentResponse = GitBranchCurrentResponses[keyof GitBranchCurrentResponses];
export type GitBranchDiffData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/diff';
};
export type GitBranchDiffErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchDiffError = GitBranchDiffErrors[keyof GitBranchDiffErrors];
export type GitBranchDiffResponses = {
/**
* Get branch diff
*/
200: ApiResponseBranchDiffResponse;
};
export type GitBranchDiffResponse = GitBranchDiffResponses[keyof GitBranchDiffResponses];
export type GitBranchFastForwardData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Target branch name
*/
target: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/fast-forward/{target}';
};
export type GitBranchFastForwardErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchFastForwardError = GitBranchFastForwardErrors[keyof GitBranchFastForwardErrors];
export type GitBranchFastForwardResponses = {
/**
* Fast-forward branch
*/
200: ApiResponseBranchFastForwardResponse;
};
export type GitBranchFastForwardResponse = GitBranchFastForwardResponses[keyof GitBranchFastForwardResponses];
export type GitBranchIsAncestorData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/is-ancestor';
};
export type GitBranchIsAncestorErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchIsAncestorError = GitBranchIsAncestorErrors[keyof GitBranchIsAncestorErrors];
export type GitBranchIsAncestorResponses = {
/**
* Check if branch is ancestor
*/
200: ApiResponseBranchIsAncestorResponse;
};
export type GitBranchIsAncestorResponse = GitBranchIsAncestorResponses[keyof GitBranchIsAncestorResponses];
export type GitBranchIsConflictedData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/is-conflicted';
};
export type GitBranchIsConflictedErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchIsConflictedError = GitBranchIsConflictedErrors[keyof GitBranchIsConflictedErrors];
export type GitBranchIsConflictedResponses = {
/**
* Check if branch has conflicts
*/
200: ApiResponseBranchIsConflictedResponse;
};
export type GitBranchIsConflictedResponse = GitBranchIsConflictedResponses[keyof GitBranchIsConflictedResponses];
export type GitBranchIsDetachedData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/is-detached';
};
export type GitBranchIsDetachedErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchIsDetachedError = GitBranchIsDetachedErrors[keyof GitBranchIsDetachedErrors];
export type GitBranchIsDetachedResponses = {
/**
* Check if HEAD is detached
*/
200: ApiResponseBranchIsDetachedResponse;
};
export type GitBranchIsDetachedResponse = GitBranchIsDetachedResponses[keyof GitBranchIsDetachedResponses];
export type GitBranchIsMergedData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/is-merged';
};
export type GitBranchIsMergedErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchIsMergedError = GitBranchIsMergedErrors[keyof GitBranchIsMergedErrors];
export type GitBranchIsMergedResponses = {
/**
* Check if branch is merged
*/
200: ApiResponseBranchIsMergedResponse;
};
export type GitBranchIsMergedResponse = GitBranchIsMergedResponses[keyof GitBranchIsMergedResponses];
export type GitBranchMergeBaseData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/merge-base';
};
export type GitBranchMergeBaseErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchMergeBaseError = GitBranchMergeBaseErrors[keyof GitBranchMergeBaseErrors];
export type GitBranchMergeBaseResponses = {
/**
* Get merge base
*/
200: ApiResponseBranchMergeBaseResponse;
};
export type GitBranchMergeBaseResponse = GitBranchMergeBaseResponses[keyof GitBranchMergeBaseResponses];
export type GitBranchMoveData = {
body: BranchMoveRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/move';
};
export type GitBranchMoveErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchMoveError = GitBranchMoveErrors[keyof GitBranchMoveErrors];
export type GitBranchMoveResponses = {
/**
* Move branch
*/
200: ApiResponseBranchInfoResponse;
};
export type GitBranchMoveResponse = GitBranchMoveResponses[keyof GitBranchMoveResponses];
export type GitBranchDeleteRemoteData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Remote branch name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/remote/{name}';
};
export type GitBranchDeleteRemoteErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchDeleteRemoteError = GitBranchDeleteRemoteErrors[keyof GitBranchDeleteRemoteErrors];
export type GitBranchDeleteRemoteResponses = {
/**
* Delete remote branch
*/
200: unknown;
};
export type GitBranchRenameData = {
body: BranchRenameRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/rename';
};
export type GitBranchRenameErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchRenameError = GitBranchRenameErrors[keyof GitBranchRenameErrors];
export type GitBranchRenameResponses = {
/**
* Rename branch
*/
200: ApiResponseBranchInfoResponse;
};
export type GitBranchRenameResponse = GitBranchRenameResponses[keyof GitBranchRenameResponses];
export type GitBranchSummaryData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/summary';
};
export type GitBranchSummaryErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchSummaryError = GitBranchSummaryErrors[keyof GitBranchSummaryErrors];
export type GitBranchSummaryResponses = {
/**
* Get branch summary
*/
200: ApiResponseBranchSummaryResponse;
};
export type GitBranchSummaryResponse = GitBranchSummaryResponses[keyof GitBranchSummaryResponses];
export type GitBranchSetUpstreamData = {
body: BranchSetUpstreamRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/upstream';
};
export type GitBranchSetUpstreamErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchSetUpstreamError = GitBranchSetUpstreamErrors[keyof GitBranchSetUpstreamErrors];
export type GitBranchSetUpstreamResponses = {
/**
* Set upstream branch
*/
200: unknown;
};
export type GitBranchDeleteData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Branch name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/{name}';
};
export type GitBranchDeleteErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchDeleteError = GitBranchDeleteErrors[keyof GitBranchDeleteErrors];
export type GitBranchDeleteResponses = {
/**
* Delete branch
*/
200: unknown;
};
export type GitBranchGetData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Branch name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/{name}';
};
export type GitBranchGetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchGetError = GitBranchGetErrors[keyof GitBranchGetErrors];
export type GitBranchGetResponses = {
/**
* Get branch
*/
200: ApiResponseBranchInfoResponse;
};
export type GitBranchGetResponse = GitBranchGetResponses[keyof GitBranchGetResponses];
export type GitBranchExistsData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Branch name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/{name}/exists';
};
export type GitBranchExistsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchExistsError = GitBranchExistsErrors[keyof GitBranchExistsErrors];
export type GitBranchExistsResponses = {
/**
* Check branch exists
*/
200: ApiResponseBranchExistsResponse;
};
export type GitBranchExistsResponse = GitBranchExistsResponses[keyof GitBranchExistsResponses];
export type GitBranchIsHeadData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Branch name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/{name}/is-head';
};
export type GitBranchIsHeadErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchIsHeadError = GitBranchIsHeadErrors[keyof GitBranchIsHeadErrors];
export type GitBranchIsHeadResponses = {
/**
* Check if branch is HEAD
*/
200: ApiResponseBranchIsHeadResponse;
};
export type GitBranchIsHeadResponse = GitBranchIsHeadResponses[keyof GitBranchIsHeadResponses];
export type GitBranchTrackingDifferenceData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Branch name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/{name}/tracking-difference';
};
export type GitBranchTrackingDifferenceErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchTrackingDifferenceError = GitBranchTrackingDifferenceErrors[keyof GitBranchTrackingDifferenceErrors];
export type GitBranchTrackingDifferenceResponses = {
/**
* Get tracking difference
*/
200: ApiResponseBranchTrackingDiffResponse;
};
export type GitBranchTrackingDifferenceResponse = GitBranchTrackingDifferenceResponses[keyof GitBranchTrackingDifferenceResponses];
export type GitBranchUpstreamData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Branch name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/branches/{name}/upstream';
};
export type GitBranchUpstreamErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitBranchUpstreamError = GitBranchUpstreamErrors[keyof GitBranchUpstreamErrors];
export type GitBranchUpstreamResponses = {
/**
* Get upstream branch
*/
200: ApiResponseBranchInfoResponse;
};
export type GitBranchUpstreamResponse = GitBranchUpstreamResponses[keyof GitBranchUpstreamResponses];
export type GitCommitLogData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query?: {
rev?: string;
per_page?: number;
page?: number;
};
url: '/api/repos/{namespace}/{repo}/git/commits';
};
export type GitCommitLogErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitLogError = GitCommitLogErrors[keyof GitCommitLogErrors];
export type GitCommitLogResponses = {
/**
* Get commit log (paginated)
*/
200: ApiResponseCommitLogResponse;
};
export type GitCommitLogResponse = GitCommitLogResponses[keyof GitCommitLogResponses];
export type GitCommitCreateData = {
body: CommitCreateRequest;
path: {
namespace: string;
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits';
};
export type GitCommitCreateErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitCreateError = GitCommitCreateErrors[keyof GitCommitCreateErrors];
export type GitCommitCreateResponses = {
/**
* Create commit
*/
200: ApiResponseCommitCreateResponse;
};
export type GitCommitCreateResponse = GitCommitCreateResponses[keyof GitCommitCreateResponses];
export type GitCommitBranchesData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/branches';
};
export type GitCommitBranchesErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitBranchesError = GitCommitBranchesErrors[keyof GitCommitBranchesErrors];
export type GitCommitBranchesResponses = {
/**
* Get commit branches
*/
200: ApiResponseCommitBranchesResponse;
};
export type GitCommitBranchesResponse = GitCommitBranchesResponses[keyof GitCommitBranchesResponses];
export type GitCommitCountData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/count';
};
export type GitCommitCountErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitCountError = GitCommitCountErrors[keyof GitCommitCountErrors];
export type GitCommitCountResponses = {
/**
* Get commit count
*/
200: ApiResponseCommitCountResponse;
};
export type GitCommitCountResponse = GitCommitCountResponses[keyof GitCommitCountResponses];
export type GitCommitGraphData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/graph';
};
export type GitCommitGraphErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitGraphError = GitCommitGraphErrors[keyof GitCommitGraphErrors];
export type GitCommitGraphResponses = {
/**
* Get commit graph
*/
200: ApiResponseCommitGraphResponse;
};
export type GitCommitGraphResponse = GitCommitGraphResponses[keyof GitCommitGraphResponses];
export type GitCommitGraphReactData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/graph-react';
};
export type GitCommitGraphReactErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitGraphReactError = GitCommitGraphReactErrors[keyof GitCommitGraphReactErrors];
export type GitCommitGraphReactResponses = {
/**
* Get commit graph for gitgraph-react
*/
200: ApiResponseCommitGraphReactResponse;
};
export type GitCommitGraphReactResponse = GitCommitGraphReactResponses[keyof GitCommitGraphReactResponses];
export type GitCommitReflogData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/reflog';
};
export type GitCommitReflogErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitReflogError = GitCommitReflogErrors[keyof GitCommitReflogErrors];
export type GitCommitReflogResponses = {
/**
* Get commit reflog
*/
200: ApiResponseVecCommitReflogEntryResponse;
};
export type GitCommitReflogResponse = GitCommitReflogResponses[keyof GitCommitReflogResponses];
export type GitCommitResolveRevData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/resolve';
};
export type GitCommitResolveRevErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitResolveRevError = GitCommitResolveRevErrors[keyof GitCommitResolveRevErrors];
export type GitCommitResolveRevResponses = {
/**
* Resolve revision to commit
*/
200: ApiResponseString;
};
export type GitCommitResolveRevResponse = GitCommitResolveRevResponses[keyof GitCommitResolveRevResponses];
export type GitCommitTagsData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/tags';
};
export type GitCommitTagsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitTagsError = GitCommitTagsErrors[keyof GitCommitTagsErrors];
export type GitCommitTagsResponses = {
/**
* Get commit tags
*/
200: ApiResponseCommitTagsResponse;
};
export type GitCommitTagsResponse = GitCommitTagsResponses[keyof GitCommitTagsResponses];
export type GitCommitWalkData = {
body?: never;
path: {
namespace: string;
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/walk';
};
export type GitCommitWalkErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitWalkError = GitCommitWalkErrors[keyof GitCommitWalkErrors];
export type GitCommitWalkResponses = {
/**
* Walk commits
*/
200: ApiResponseVecCommitMetaResponse;
};
export type GitCommitWalkResponse = GitCommitWalkResponses[keyof GitCommitWalkResponses];
export type GitCommitGetData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}';
};
export type GitCommitGetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitGetError = GitCommitGetErrors[keyof GitCommitGetErrors];
export type GitCommitGetResponses = {
/**
* Get commit metadata
*/
200: ApiResponseCommitMetaResponse;
};
export type GitCommitGetResponse = GitCommitGetResponses[keyof GitCommitGetResponses];
export type GitCommitAmendData = {
body: CommitAmendRequest;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/amend';
};
export type GitCommitAmendErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitAmendError = GitCommitAmendErrors[keyof GitCommitAmendErrors];
export type GitCommitAmendResponses = {
/**
* Amend commit
*/
200: ApiResponseCommitMetaResponse;
};
export type GitCommitAmendResponse = GitCommitAmendResponses[keyof GitCommitAmendResponses];
export type GitCommitAncestorsData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/ancestors';
};
export type GitCommitAncestorsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitAncestorsError = GitCommitAncestorsErrors[keyof GitCommitAncestorsErrors];
export type GitCommitAncestorsResponses = {
/**
* Get commit ancestors
*/
200: ApiResponseVecCommitMetaResponse;
};
export type GitCommitAncestorsResponse = GitCommitAncestorsResponses[keyof GitCommitAncestorsResponses];
export type GitCommitAuthorData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/author';
};
export type GitCommitAuthorErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitAuthorError = GitCommitAuthorErrors[keyof GitCommitAuthorErrors];
export type GitCommitAuthorResponses = {
/**
* Get commit author
*/
200: ApiResponseCommitAuthorResponse;
};
export type GitCommitAuthorResponse = GitCommitAuthorResponses[keyof GitCommitAuthorResponses];
export type GitCommitCherryPickData = {
body: CommitCherryPickRequest;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/cherry-pick';
};
export type GitCommitCherryPickErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitCherryPickError = GitCommitCherryPickErrors[keyof GitCommitCherryPickErrors];
export type GitCommitCherryPickResponses = {
/**
* Cherry-pick commit
*/
200: ApiResponseCommitMetaResponse;
};
export type GitCommitCherryPickResponse = GitCommitCherryPickResponses[keyof GitCommitCherryPickResponses];
export type GitCommitCherryPickAbortData = {
body: CommitCherryPickAbortRequest;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/cherry-pick/abort';
};
export type GitCommitCherryPickAbortErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitCherryPickAbortError = GitCommitCherryPickAbortErrors[keyof GitCommitCherryPickAbortErrors];
export type GitCommitCherryPickAbortResponses = {
/**
* Abort cherry-pick
*/
200: ApiResponseBool;
};
export type GitCommitCherryPickAbortResponse = GitCommitCherryPickAbortResponses[keyof GitCommitCherryPickAbortResponses];
export type GitCommitDescendantsData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/descendants';
};
export type GitCommitDescendantsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitDescendantsError = GitCommitDescendantsErrors[keyof GitCommitDescendantsErrors];
export type GitCommitDescendantsResponses = {
/**
* Get commit descendants
*/
200: ApiResponseVecCommitMetaResponse;
};
export type GitCommitDescendantsResponse = GitCommitDescendantsResponses[keyof GitCommitDescendantsResponses];
export type GitCommitExistsData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/exists';
};
export type GitCommitExistsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitExistsError = GitCommitExistsErrors[keyof GitCommitExistsErrors];
export type GitCommitExistsResponses = {
/**
* Check if commit exists
*/
200: ApiResponseCommitExistsResponse;
};
export type GitCommitExistsResponse = GitCommitExistsResponses[keyof GitCommitExistsResponses];
export type GitCommitFirstParentData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/first-parent';
};
export type GitCommitFirstParentErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitFirstParentError = GitCommitFirstParentErrors[keyof GitCommitFirstParentErrors];
export type GitCommitFirstParentResponses = {
/**
* Get commit first parent
*/
200: ApiResponseOptionCommitMetaResponse;
};
export type GitCommitFirstParentResponse = GitCommitFirstParentResponses[keyof GitCommitFirstParentResponses];
export type GitCommitIsCommitData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/is-commit';
};
export type GitCommitIsCommitErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitIsCommitError = GitCommitIsCommitErrors[keyof GitCommitIsCommitErrors];
export type GitCommitIsCommitResponses = {
/**
* Check if object is a commit
*/
200: ApiResponseCommitIsCommitResponse;
};
export type GitCommitIsCommitResponse = GitCommitIsCommitResponses[keyof GitCommitIsCommitResponses];
export type GitCommitIsMergeData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/is-merge';
};
export type GitCommitIsMergeErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitIsMergeError = GitCommitIsMergeErrors[keyof GitCommitIsMergeErrors];
export type GitCommitIsMergeResponses = {
/**
* Check if commit is a merge
*/
200: ApiResponseCommitIsMergeResponse;
};
export type GitCommitIsMergeResponse = GitCommitIsMergeResponses[keyof GitCommitIsMergeResponses];
export type GitCommitIsTipData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/is-tip';
};
export type GitCommitIsTipErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitIsTipError = GitCommitIsTipErrors[keyof GitCommitIsTipErrors];
export type GitCommitIsTipResponses = {
/**
* Check if commit is a tip
*/
200: ApiResponseCommitIsTipResponse;
};
export type GitCommitIsTipResponse = GitCommitIsTipResponses[keyof GitCommitIsTipResponses];
export type GitCommitMessageData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/message';
};
export type GitCommitMessageErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitMessageError = GitCommitMessageErrors[keyof GitCommitMessageErrors];
export type GitCommitMessageResponses = {
/**
* Get commit message
*/
200: ApiResponseCommitMessageResponse;
};
export type GitCommitMessageResponse = GitCommitMessageResponses[keyof GitCommitMessageResponses];
export type GitCommitParentCountData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/parent-count';
};
export type GitCommitParentCountErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitParentCountError = GitCommitParentCountErrors[keyof GitCommitParentCountErrors];
export type GitCommitParentCountResponses = {
/**
* Get commit parent count
*/
200: ApiResponseCommitParentCountResponse;
};
export type GitCommitParentCountResponse = GitCommitParentCountResponses[keyof GitCommitParentCountResponses];
export type GitCommitParentIdsData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/parent-ids';
};
export type GitCommitParentIdsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitParentIdsError = GitCommitParentIdsErrors[keyof GitCommitParentIdsErrors];
export type GitCommitParentIdsResponses = {
/**
* Get commit parent IDs
*/
200: ApiResponseCommitParentIdsResponse;
};
export type GitCommitParentIdsResponse = GitCommitParentIdsResponses[keyof GitCommitParentIdsResponses];
export type GitCommitParentData = {
body?: never;
path: {
namespace: string;
repo: string;
index: number;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/parent/{index}';
};
export type GitCommitParentErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitParentError = GitCommitParentErrors[keyof GitCommitParentErrors];
export type GitCommitParentResponses = {
/**
* Get commit parent
*/
200: ApiResponseCommitMetaResponse;
};
export type GitCommitParentResponse = GitCommitParentResponses[keyof GitCommitParentResponses];
export type GitCommitRefCountData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/ref-count';
};
export type GitCommitRefCountErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitRefCountError = GitCommitRefCountErrors[keyof GitCommitRefCountErrors];
export type GitCommitRefCountResponses = {
/**
* Get commit ref count
*/
200: ApiResponseCommitRefCountResponse;
};
export type GitCommitRefCountResponse = GitCommitRefCountResponses[keyof GitCommitRefCountResponses];
export type GitCommitRefsData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/refs';
};
export type GitCommitRefsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitRefsError = GitCommitRefsErrors[keyof GitCommitRefsErrors];
export type GitCommitRefsResponses = {
/**
* Get commit refs
*/
200: ApiResponseVecCommitRefInfoResponse;
};
export type GitCommitRefsResponse = GitCommitRefsResponses[keyof GitCommitRefsResponses];
export type GitCommitRevertData = {
body: CommitRevertRequest;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/revert';
};
export type GitCommitRevertErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitRevertError = GitCommitRevertErrors[keyof GitCommitRevertErrors];
export type GitCommitRevertResponses = {
/**
* Revert commit
*/
200: ApiResponseCommitMetaResponse;
};
export type GitCommitRevertResponse = GitCommitRevertResponses[keyof GitCommitRevertResponses];
export type GitCommitRevertAbortData = {
body: CommitRevertAbortRequest;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/revert/abort';
};
export type GitCommitRevertAbortErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitRevertAbortError = GitCommitRevertAbortErrors[keyof GitCommitRevertAbortErrors];
export type GitCommitRevertAbortResponses = {
/**
* Abort revert
*/
200: ApiResponseBool;
};
export type GitCommitRevertAbortResponse = GitCommitRevertAbortResponses[keyof GitCommitRevertAbortResponses];
export type GitCommitShortIdData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/short-id';
};
export type GitCommitShortIdErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitShortIdError = GitCommitShortIdErrors[keyof GitCommitShortIdErrors];
export type GitCommitShortIdResponses = {
/**
* Get commit short ID
*/
200: ApiResponseCommitShortIdResponse;
};
export type GitCommitShortIdResponse = GitCommitShortIdResponses[keyof GitCommitShortIdResponses];
export type GitCommitSummaryData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/summary';
};
export type GitCommitSummaryErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitSummaryError = GitCommitSummaryErrors[keyof GitCommitSummaryErrors];
export type GitCommitSummaryResponses = {
/**
* Get commit summary
*/
200: ApiResponseCommitSummaryResponse;
};
export type GitCommitSummaryResponse = GitCommitSummaryResponses[keyof GitCommitSummaryResponses];
export type GitCommitTreeIdData = {
body?: never;
path: {
namespace: string;
repo: string;
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/tree-id';
};
export type GitCommitTreeIdErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitCommitTreeIdError = GitCommitTreeIdErrors[keyof GitCommitTreeIdErrors];
export type GitCommitTreeIdResponses = {
/**
* Get commit tree ID
*/
200: ApiResponseCommitTreeIdResponse;
};
export type GitCommitTreeIdResponse = GitCommitTreeIdResponses[keyof GitCommitTreeIdResponses];
export type GitConfigEntriesData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/config/entries';
};
export type GitConfigEntriesErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitConfigEntriesError = GitConfigEntriesErrors[keyof GitConfigEntriesErrors];
export type GitConfigEntriesResponses = {
/**
* List repository config entries
*/
200: ApiResponseConfigSnapshotResponse;
};
export type GitConfigEntriesResponse = GitConfigEntriesResponses[keyof GitConfigEntriesResponses];
export type GitConfigDeleteData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Config key
*/
key: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/config/{key}';
};
export type GitConfigDeleteErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitConfigDeleteError = GitConfigDeleteErrors[keyof GitConfigDeleteErrors];
export type GitConfigDeleteResponses = {
/**
* Delete repository config key
*/
200: unknown;
};
export type GitConfigGetData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Config key
*/
key: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/config/{key}';
};
export type GitConfigGetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitConfigGetError = GitConfigGetErrors[keyof GitConfigGetErrors];
export type GitConfigGetResponses = {
/**
* Get repository config value
*/
200: ApiResponseValue;
};
export type GitConfigGetResponse = GitConfigGetResponses[keyof GitConfigGetResponses];
export type GitConfigSetData = {
body: ConfigSetRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Config key
*/
key: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/config/{key}';
};
export type GitConfigSetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitConfigSetError = GitConfigSetErrors[keyof GitConfigSetErrors];
export type GitConfigSetResponses = {
/**
* Set repository config value
*/
200: unknown;
};
export type GitConfigHasData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Config key
*/
key: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/config/{key}/has';
};
export type GitConfigHasErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitConfigHasError = GitConfigHasErrors[keyof GitConfigHasErrors];
export type GitConfigHasResponses = {
/**
* Check if repository config key exists
*/
200: ApiResponseConfigBoolResponse;
};
export type GitConfigHasResponse = GitConfigHasResponses[keyof GitConfigHasResponses];
export type GitContributorsData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/contributors';
};
export type GitContributorsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitContributorsError = GitContributorsErrors[keyof GitContributorsErrors];
export type GitContributorsResponses = {
/**
* List of contributors
*/
200: ApiResponseContributorsResponse;
};
export type GitContributorsResponse = GitContributorsResponses[keyof GitContributorsResponses];
export type GitDescriptionResetData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/description';
};
export type GitDescriptionResetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitDescriptionResetError = GitDescriptionResetErrors[keyof GitDescriptionResetErrors];
export type GitDescriptionResetResponses = {
/**
* Reset repository description
*/
200: ApiResponseDescriptionResponse;
};
export type GitDescriptionResetResponse = GitDescriptionResetResponses[keyof GitDescriptionResetResponses];
export type GitDescriptionGetData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/description';
};
export type GitDescriptionGetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitDescriptionGetError = GitDescriptionGetErrors[keyof GitDescriptionGetErrors];
export type GitDescriptionGetResponses = {
/**
* Get repository description
*/
200: ApiResponseDescriptionResponse;
};
export type GitDescriptionGetResponse = GitDescriptionGetResponses[keyof GitDescriptionGetResponses];
export type GitDescriptionSetData = {
body: DescriptionQuery;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/description';
};
export type GitDescriptionSetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitDescriptionSetError = GitDescriptionSetErrors[keyof GitDescriptionSetErrors];
export type GitDescriptionSetResponses = {
/**
* Set repository description
*/
200: ApiResponseDescriptionResponse;
};
export type GitDescriptionSetResponse = GitDescriptionSetResponses[keyof GitDescriptionSetResponses];
export type GitDescriptionExistsData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/description/exists';
};
export type GitDescriptionExistsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitDescriptionExistsError = GitDescriptionExistsErrors[keyof GitDescriptionExistsErrors];
export type GitDescriptionExistsResponses = {
/**
* Check if repository description exists
*/
200: ApiResponseValue;
};
export type GitDescriptionExistsResponse = GitDescriptionExistsResponses[keyof GitDescriptionExistsResponses];
export type GitDiffTreeToTreeData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query: {
/**
* Old tree OID (commit or tree SHA)
*/
old_tree: string;
/**
* New tree OID (commit or tree SHA)
*/
new_tree: string;
};
url: '/api/repos/{namespace}/{repo}/git/diff';
};
export type GitDiffTreeToTreeErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitDiffTreeToTreeError = GitDiffTreeToTreeErrors[keyof GitDiffTreeToTreeErrors];
export type GitDiffTreeToTreeResponses = {
/**
* Tree to tree diff
*/
200: ApiResponseDiffResultResponse;
};
export type GitDiffTreeToTreeResponse = GitDiffTreeToTreeResponses[keyof GitDiffTreeToTreeResponses];
export type GitDiffCommitToWorkdirData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Commit identifier
*/
commit: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/diff/commit/{commit}';
};
export type GitDiffCommitToWorkdirErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitDiffCommitToWorkdirError = GitDiffCommitToWorkdirErrors[keyof GitDiffCommitToWorkdirErrors];
export type GitDiffCommitToWorkdirResponses = {
/**
* Commit to workdir diff
*/
200: ApiResponseDiffResultResponse;
};
export type GitDiffCommitToWorkdirResponse = GitDiffCommitToWorkdirResponses[keyof GitDiffCommitToWorkdirResponses];
export type GitDiffCommitToIndexData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Commit identifier
*/
commit: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/diff/commit/{commit}/index';
};
export type GitDiffCommitToIndexErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitDiffCommitToIndexError = GitDiffCommitToIndexErrors[keyof GitDiffCommitToIndexErrors];
export type GitDiffCommitToIndexResponses = {
/**
* Commit to index diff
*/
200: ApiResponseDiffResultResponse;
};
export type GitDiffCommitToIndexResponse = GitDiffCommitToIndexResponses[keyof GitDiffCommitToIndexResponses];
export type GitDiffIndexToTreeData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/diff/index';
};
export type GitDiffIndexToTreeErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitDiffIndexToTreeError = GitDiffIndexToTreeErrors[keyof GitDiffIndexToTreeErrors];
export type GitDiffIndexToTreeResponses = {
/**
* Index to tree diff
*/
200: ApiResponseDiffResultResponse;
};
export type GitDiffIndexToTreeResponse = GitDiffIndexToTreeResponses[keyof GitDiffIndexToTreeResponses];
export type GitDiffPatchIdData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/diff/patch-id';
};
export type GitDiffPatchIdErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitDiffPatchIdError = GitDiffPatchIdErrors[keyof GitDiffPatchIdErrors];
export type GitDiffPatchIdResponses = {
/**
* Patch ID
*/
200: ApiResponseDiffPatchIdResponse;
};
export type GitDiffPatchIdResponse = GitDiffPatchIdResponses[keyof GitDiffPatchIdResponses];
export type GitDiffSideBySideData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/diff/side-by-side';
};
export type GitDiffSideBySideErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitDiffSideBySideError = GitDiffSideBySideErrors[keyof GitDiffSideBySideErrors];
export type GitDiffSideBySideResponses = {
/**
* Side-by-side diff
*/
200: ApiResponseSideBySideDiffResponse;
};
export type GitDiffSideBySideResponse = GitDiffSideBySideResponses[keyof GitDiffSideBySideResponses];
export type GitDiffStatsData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/diff/stats';
};
export type GitDiffStatsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitDiffStatsError = GitDiffStatsErrors[keyof GitDiffStatsErrors];
export type GitDiffStatsResponses = {
/**
* Diff statistics
*/
200: ApiResponseDiffStatsResponse;
};
export type GitDiffStatsResponse = GitDiffStatsResponses[keyof GitDiffStatsResponses];
export type GitDiffWorkdirToIndexData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/diff/workdir';
};
export type GitDiffWorkdirToIndexErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitDiffWorkdirToIndexError = GitDiffWorkdirToIndexErrors[keyof GitDiffWorkdirToIndexErrors];
export type GitDiffWorkdirToIndexResponses = {
/**
* Workdir to index diff
*/
200: ApiResponseDiffResultResponse;
};
export type GitDiffWorkdirToIndexResponse = GitDiffWorkdirToIndexResponses[keyof GitDiffWorkdirToIndexResponses];
export type GitMergeAbortData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/merge/abort';
};
export type GitMergeAbortErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitMergeAbortError = GitMergeAbortErrors[keyof GitMergeAbortErrors];
export type GitMergeAbortResponses = {
/**
* Abort an in-progress merge
*/
200: unknown;
};
export type GitMergeAnalysisForRefData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Reference name
*/
ref_name: string;
/**
* The OID to analyze merge against
*/
their_oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/merge/analysis/{ref_name}/{their_oid}';
};
export type GitMergeAnalysisForRefErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitMergeAnalysisForRefError = GitMergeAnalysisForRefErrors[keyof GitMergeAnalysisForRefErrors];
export type GitMergeAnalysisForRefResponses = {
/**
* Perform merge analysis for a specific ref
*/
200: ApiResponseMergeAnalysisResponse;
};
export type GitMergeAnalysisForRefResponse = GitMergeAnalysisForRefResponses[keyof GitMergeAnalysisForRefResponses];
export type GitMergeAnalysisData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* The OID to analyze merge against
*/
their_oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/merge/analysis/{their_oid}';
};
export type GitMergeAnalysisErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitMergeAnalysisError = GitMergeAnalysisErrors[keyof GitMergeAnalysisErrors];
export type GitMergeAnalysisResponses = {
/**
* Perform merge analysis
*/
200: ApiResponseMergeAnalysisResponse;
};
export type GitMergeAnalysisResponse = GitMergeAnalysisResponses[keyof GitMergeAnalysisResponses];
export type GitMergeBaseData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* First commit OID
*/
oid1: string;
/**
* Second commit OID
*/
oid2: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/merge/base/{oid1}/{oid2}';
};
export type GitMergeBaseErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitMergeBaseError = GitMergeBaseErrors[keyof GitMergeBaseErrors];
export type GitMergeBaseResponses = {
/**
* Get merge base of two commits
*/
200: ApiResponseString;
};
export type GitMergeBaseResponse = GitMergeBaseResponses[keyof GitMergeBaseResponses];
export type GitMergeCommitsData = {
body: MergeCommitsRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/merge/commits';
};
export type GitMergeCommitsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitMergeCommitsError = GitMergeCommitsErrors[keyof GitMergeCommitsErrors];
export type GitMergeCommitsResponses = {
/**
* Merge commits
*/
200: unknown;
};
export type GitMergeheadListData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/merge/heads';
};
export type GitMergeheadListErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitMergeheadListError = GitMergeheadListErrors[keyof GitMergeheadListErrors];
export type GitMergeheadListResponses = {
/**
* List merge heads
*/
200: ApiResponseVecMergeheadInfoResponse;
};
export type GitMergeheadListResponse = GitMergeheadListResponses[keyof GitMergeheadListResponses];
export type GitMergeIsInProgressData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/merge/in-progress';
};
export type GitMergeIsInProgressErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitMergeIsInProgressError = GitMergeIsInProgressErrors[keyof GitMergeIsInProgressErrors];
export type GitMergeIsInProgressResponses = {
/**
* Check if merge is in progress
*/
200: ApiResponseValue;
};
export type GitMergeIsInProgressResponse = GitMergeIsInProgressResponses[keyof GitMergeIsInProgressResponses];
export type GitMergeIsConflictedData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/merge/is-conflicted';
};
export type GitMergeIsConflictedErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitMergeIsConflictedError = GitMergeIsConflictedErrors[keyof GitMergeIsConflictedErrors];
export type GitMergeIsConflictedResponses = {
/**
* Check if merge has conflicts
*/
200: ApiResponseValue;
};
export type GitMergeIsConflictedResponse = GitMergeIsConflictedResponses[keyof GitMergeIsConflictedResponses];
export type GitMergeTreesData = {
body: MergeTreesRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/merge/trees';
};
export type GitMergeTreesErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitMergeTreesError = GitMergeTreesErrors[keyof GitMergeTreesErrors];
export type GitMergeTreesResponses = {
/**
* Merge trees
*/
200: unknown;
};
export type GitReadmeData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: {
/**
* Git reference (branch, tag, commit). Defaults to HEAD.
*/
ref?: string;
};
url: '/api/repos/{namespace}/{repo}/git/readme';
};
export type GitReadmeErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
};
export type GitReadmeError = GitReadmeErrors[keyof GitReadmeErrors];
export type GitReadmeResponses = {
/**
* Get README content
*/
200: ApiResponseGitReadmeResponse;
};
export type GitReadmeResponse2 = GitReadmeResponses[keyof GitReadmeResponses];
export type GitRefListData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/refs';
};
export type GitRefListErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitRefListError = GitRefListErrors[keyof GitRefListErrors];
export type GitRefListResponses = {
/**
* List of refs
*/
200: ApiResponseVecRefInfoResponse;
};
export type GitRefListResponse = GitRefListResponses[keyof GitRefListResponses];
export type GitRefCreateData = {
body: RefCreateRequest;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/refs';
};
export type GitRefCreateErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitRefCreateError = GitRefCreateErrors[keyof GitRefCreateErrors];
export type GitRefCreateResponses = {
/**
* Ref created
*/
200: ApiResponseRefUpdateResponse;
};
export type GitRefCreateResponse = GitRefCreateResponses[keyof GitRefCreateResponses];
export type GitRefUpdateData = {
body: RefUpdateRequest;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/refs';
};
export type GitRefUpdateErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitRefUpdateError = GitRefUpdateErrors[keyof GitRefUpdateErrors];
export type GitRefUpdateResponses = {
/**
* Ref updated
*/
200: ApiResponseRefUpdateResponse;
};
export type GitRefUpdateResponse = GitRefUpdateResponses[keyof GitRefUpdateResponses];
export type GitRefRenameData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/refs/rename';
};
export type GitRefRenameErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitRefRenameError = GitRefRenameErrors[keyof GitRefRenameErrors];
export type GitRefRenameResponses = {
/**
* Ref renamed
*/
200: ApiResponseRefInfoResponse;
};
export type GitRefRenameResponse = GitRefRenameResponses[keyof GitRefRenameResponses];
export type GitRefDeleteData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Ref name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/refs/{name}';
};
export type GitRefDeleteErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitRefDeleteError = GitRefDeleteErrors[keyof GitRefDeleteErrors];
export type GitRefDeleteResponses = {
/**
* Ref deleted
*/
200: ApiResponseRefDeleteResponse;
};
export type GitRefDeleteResponse = GitRefDeleteResponses[keyof GitRefDeleteResponses];
export type GitRefGetData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Ref name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/refs/{name}';
};
export type GitRefGetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitRefGetError = GitRefGetErrors[keyof GitRefGetErrors];
export type GitRefGetResponses = {
/**
* Ref info
*/
200: ApiResponseRefInfoResponse;
};
export type GitRefGetResponse = GitRefGetResponses[keyof GitRefGetResponses];
export type GitRefExistsData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Ref name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/refs/{name}/exists';
};
export type GitRefExistsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitRefExistsError = GitRefExistsErrors[keyof GitRefExistsErrors];
export type GitRefExistsResponses = {
/**
* Ref exists check
*/
200: ApiResponseRefExistsResponse;
};
export type GitRefExistsResponse = GitRefExistsResponses[keyof GitRefExistsResponses];
export type GitRefTargetData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Ref name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/refs/{name}/target';
};
export type GitRefTargetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitRefTargetError = GitRefTargetErrors[keyof GitRefTargetErrors];
export type GitRefTargetResponses = {
/**
* Ref target
*/
200: ApiResponseRefTargetResponse;
};
export type GitRefTargetResponse = GitRefTargetResponses[keyof GitRefTargetResponses];
export type GitUnstarData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/star';
};
export type GitUnstarErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitUnstarError = GitUnstarErrors[keyof GitUnstarErrors];
export type GitUnstarResponses = {
/**
* Unstar the repository
*/
200: unknown;
};
export type GitStarData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/star';
};
export type GitStarErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitStarError = GitStarErrors[keyof GitStarErrors];
export type GitStarResponses = {
/**
* Star the repository
*/
200: unknown;
};
export type GitStarCountData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/star/count';
};
export type GitStarCountErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitStarCountError = GitStarCountErrors[keyof GitStarCountErrors];
export type GitStarCountResponses = {
/**
* Get star count for the repository
*/
200: ApiResponseStarCountResponse;
};
export type GitStarCountResponse = GitStarCountResponses[keyof GitStarCountResponses];
export type GitIsStarredData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/star/is-starred';
};
export type GitIsStarredErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitIsStarredError = GitIsStarredErrors[keyof GitIsStarredErrors];
export type GitIsStarredResponses = {
/**
* Check if the current user has starred the repository
*/
200: ApiResponseValue;
};
export type GitIsStarredResponse = GitIsStarredResponses[keyof GitIsStarredResponses];
export type GitStarUserListData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: {
/**
* Page number
*/
page?: number;
/**
* Items per page
*/
per_page?: number;
};
url: '/api/repos/{namespace}/{repo}/git/star/users';
};
export type GitStarUserListErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitStarUserListError = GitStarUserListErrors[keyof GitStarUserListErrors];
export type GitStarUserListResponses = {
/**
* List users who starred the repository
*/
200: ApiResponseStarUserListResponse;
};
export type GitStarUserListResponse = GitStarUserListResponses[keyof GitStarUserListResponses];
export type GitTagListData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags';
};
export type GitTagListErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagListError = GitTagListErrors[keyof GitTagListErrors];
export type GitTagListResponses = {
/**
* List all tags
*/
200: ApiResponseVecTagInfoResponse;
};
export type GitTagListResponse = GitTagListResponses[keyof GitTagListResponses];
export type GitTagCreateData = {
body: TagCreateRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags';
};
export type GitTagCreateErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagCreateError = GitTagCreateErrors[keyof GitTagCreateErrors];
export type GitTagCreateResponses = {
/**
* Create an annotated tag
*/
200: ApiResponseTagInfoResponse;
};
export type GitTagCreateResponse = GitTagCreateResponses[keyof GitTagCreateResponses];
export type GitTagCountData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags/count';
};
export type GitTagCountErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagCountError = GitTagCountErrors[keyof GitTagCountErrors];
export type GitTagCountResponses = {
/**
* Get tag count
*/
200: ApiResponseTagCountResponse;
};
export type GitTagCountResponse = GitTagCountResponses[keyof GitTagCountResponses];
export type GitTagCreateLightweightData = {
body: TagCreateLightweightRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags/lightweight';
};
export type GitTagCreateLightweightErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagCreateLightweightError = GitTagCreateLightweightErrors[keyof GitTagCreateLightweightErrors];
export type GitTagCreateLightweightResponses = {
/**
* Create a lightweight tag
*/
200: ApiResponseTagInfoResponse;
};
export type GitTagCreateLightweightResponse = GitTagCreateLightweightResponses[keyof GitTagCreateLightweightResponses];
export type GitTagUpdateMessageData = {
body: TagUpdateMessageRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags/message';
};
export type GitTagUpdateMessageErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagUpdateMessageError = GitTagUpdateMessageErrors[keyof GitTagUpdateMessageErrors];
export type GitTagUpdateMessageResponses = {
/**
* Update tag message
*/
200: ApiResponseTagInfoResponse;
};
export type GitTagUpdateMessageResponse = GitTagUpdateMessageResponses[keyof GitTagUpdateMessageResponses];
export type GitTagListNamesData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags/names';
};
export type GitTagListNamesErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagListNamesError = GitTagListNamesErrors[keyof GitTagListNamesErrors];
export type GitTagListNamesResponses = {
/**
* List all tag names
*/
200: ApiResponseVecString;
};
export type GitTagListNamesResponse = GitTagListNamesResponses[keyof GitTagListNamesResponses];
export type GitTagRenameData = {
body: TagRenameQuery;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags/rename';
};
export type GitTagRenameErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagRenameError = GitTagRenameErrors[keyof GitTagRenameErrors];
export type GitTagRenameResponses = {
/**
* Rename a tag
*/
200: ApiResponseTagInfoResponse;
};
export type GitTagRenameResponse = GitTagRenameResponses[keyof GitTagRenameResponses];
export type GitTagSummaryData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags/summary';
};
export type GitTagSummaryErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagSummaryError = GitTagSummaryErrors[keyof GitTagSummaryErrors];
export type GitTagSummaryResponses = {
/**
* Get tag summary
*/
200: ApiResponseTagSummaryResponse;
};
export type GitTagSummaryResponse = GitTagSummaryResponses[keyof GitTagSummaryResponses];
export type GitTagDeleteData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Tag name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags/{name}';
};
export type GitTagDeleteErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagDeleteError = GitTagDeleteErrors[keyof GitTagDeleteErrors];
export type GitTagDeleteResponses = {
/**
* Delete a tag
*/
200: unknown;
};
export type GitTagGetData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Tag name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags/{name}';
};
export type GitTagGetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagGetError = GitTagGetErrors[keyof GitTagGetErrors];
export type GitTagGetResponses = {
/**
* Get a tag by name
*/
200: ApiResponseTagInfoResponse;
};
export type GitTagGetResponse = GitTagGetResponses[keyof GitTagGetResponses];
export type GitTagExistsData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Tag name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags/{name}/exists';
};
export type GitTagExistsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagExistsError = GitTagExistsErrors[keyof GitTagExistsErrors];
export type GitTagExistsResponses = {
/**
* Check if a tag exists
*/
200: ApiResponseTagExistsResponse;
};
export type GitTagExistsResponse = GitTagExistsResponses[keyof GitTagExistsResponses];
export type GitTagIsAnnotatedData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Tag name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags/{name}/is-annotated';
};
export type GitTagIsAnnotatedErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagIsAnnotatedError = GitTagIsAnnotatedErrors[keyof GitTagIsAnnotatedErrors];
export type GitTagIsAnnotatedResponses = {
/**
* Check if a tag is annotated
*/
200: ApiResponseTagIsAnnotatedResponse;
};
export type GitTagIsAnnotatedResponse = GitTagIsAnnotatedResponses[keyof GitTagIsAnnotatedResponses];
export type GitTagMessageData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Tag name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags/{name}/message';
};
export type GitTagMessageErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagMessageError = GitTagMessageErrors[keyof GitTagMessageErrors];
export type GitTagMessageResponses = {
/**
* Get tag message
*/
200: ApiResponseTagMessageResponse;
};
export type GitTagMessageResponse = GitTagMessageResponses[keyof GitTagMessageResponses];
export type GitTagTaggerData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Tag name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags/{name}/tagger';
};
export type GitTagTaggerErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagTaggerError = GitTagTaggerErrors[keyof GitTagTaggerErrors];
export type GitTagTaggerResponses = {
/**
* Get tag tagger info
*/
200: ApiResponseTagTaggerResponse;
};
export type GitTagTaggerResponse = GitTagTaggerResponses[keyof GitTagTaggerResponses];
export type GitTagTargetData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Tag name
*/
name: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tags/{name}/target';
};
export type GitTagTargetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTagTargetError = GitTagTargetErrors[keyof GitTagTargetErrors];
export type GitTagTargetResponses = {
/**
* Get tag target OID
*/
200: ApiResponseTagTargetResponse;
};
export type GitTagTargetResponse = GitTagTargetResponses[keyof GitTagTargetResponses];
export type GitTreeDiffstatsData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tree/diff-stats';
};
export type GitTreeDiffstatsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTreeDiffstatsError = GitTreeDiffstatsErrors[keyof GitTreeDiffstatsErrors];
export type GitTreeDiffstatsResponses = {
/**
* Get tree diff stats
*/
200: ApiResponseTreeDiffStatsResponse;
};
export type GitTreeDiffstatsResponse = GitTreeDiffstatsResponses[keyof GitTreeDiffstatsResponses];
export type GitTreeEntryByCommitPathData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Commit OID
*/
commit: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tree/{commit}/commit-entry-by-path';
};
export type GitTreeEntryByCommitPathErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTreeEntryByCommitPathError = GitTreeEntryByCommitPathErrors[keyof GitTreeEntryByCommitPathErrors];
export type GitTreeEntryByCommitPathResponses = {
/**
* Get tree entry by commit path
*/
200: ApiResponseTreeEntryResponse;
};
export type GitTreeEntryByCommitPathResponse = GitTreeEntryByCommitPathResponses[keyof GitTreeEntryByCommitPathResponses];
export type GitTreeGetData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Tree object ID
*/
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tree/{oid}';
};
export type GitTreeGetErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTreeGetError = GitTreeGetErrors[keyof GitTreeGetErrors];
export type GitTreeGetResponses = {
/**
* Get tree info
*/
200: ApiResponseTreeInfoResponse;
};
export type GitTreeGetResponse = GitTreeGetResponses[keyof GitTreeGetResponses];
export type GitTreeEntryByPathData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Tree object ID
*/
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tree/{oid}/entry-by-path';
};
export type GitTreeEntryByPathErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTreeEntryByPathError = GitTreeEntryByPathErrors[keyof GitTreeEntryByPathErrors];
export type GitTreeEntryByPathResponses = {
/**
* Get tree entry by path
*/
200: ApiResponseTreeEntryResponse;
};
export type GitTreeEntryByPathResponse = GitTreeEntryByPathResponses[keyof GitTreeEntryByPathResponses];
export type GitTreeEntryCountData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Tree object ID
*/
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tree/{oid}/entry-count';
};
export type GitTreeEntryCountErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTreeEntryCountError = GitTreeEntryCountErrors[keyof GitTreeEntryCountErrors];
export type GitTreeEntryCountResponses = {
/**
* Get tree entry count
*/
200: ApiResponseTreeEntryCountResponse;
};
export type GitTreeEntryCountResponse = GitTreeEntryCountResponses[keyof GitTreeEntryCountResponses];
export type GitTreeEntryData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Tree object ID
*/
oid: string;
/**
* Entry index
*/
index: number;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tree/{oid}/entry/{index}';
};
export type GitTreeEntryErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTreeEntryError = GitTreeEntryErrors[keyof GitTreeEntryErrors];
export type GitTreeEntryResponses = {
/**
* Get tree entry by index
*/
200: ApiResponseTreeEntryResponse;
};
export type GitTreeEntryResponse = GitTreeEntryResponses[keyof GitTreeEntryResponses];
export type GitTreeExistsData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Tree object ID
*/
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tree/{oid}/exists';
};
export type GitTreeExistsErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTreeExistsError = GitTreeExistsErrors[keyof GitTreeExistsErrors];
export type GitTreeExistsResponses = {
/**
* Check if tree exists
*/
200: ApiResponseTreeExistsResponse;
};
export type GitTreeExistsResponse = GitTreeExistsResponses[keyof GitTreeExistsResponses];
export type GitTreeIsEmptyData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Tree object ID
*/
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tree/{oid}/is-empty';
};
export type GitTreeIsEmptyErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTreeIsEmptyError = GitTreeIsEmptyErrors[keyof GitTreeIsEmptyErrors];
export type GitTreeIsEmptyResponses = {
/**
* Check if tree is empty
*/
200: ApiResponseTreeIsEmptyResponse;
};
export type GitTreeIsEmptyResponse = GitTreeIsEmptyResponses[keyof GitTreeIsEmptyResponses];
export type GitTreeListData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Tree object ID
*/
oid: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/tree/{oid}/list';
};
export type GitTreeListErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitTreeListError = GitTreeListErrors[keyof GitTreeListErrors];
export type GitTreeListResponses = {
/**
* List tree entries
*/
200: ApiResponseVecTreeEntryResponse;
};
export type GitTreeListResponse = GitTreeListResponses[keyof GitTreeListResponses];
export type GitUnwatchData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/watch';
};
export type GitUnwatchErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitUnwatchError = GitUnwatchErrors[keyof GitUnwatchErrors];
export type GitUnwatchResponses = {
/**
* Unwatch the repository
*/
200: unknown;
};
export type GitWatchData = {
body: GitWatchRequest;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/watch';
};
export type GitWatchErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitWatchError = GitWatchErrors[keyof GitWatchErrors];
export type GitWatchResponses = {
/**
* Watch the repository
*/
200: unknown;
};
export type GitWatchCountData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/watch/count';
};
export type GitWatchCountErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitWatchCountError = GitWatchCountErrors[keyof GitWatchCountErrors];
export type GitWatchCountResponses = {
/**
* Get watch count for the repository
*/
200: ApiResponseWatchCountResponse;
};
export type GitWatchCountResponse = GitWatchCountResponses[keyof GitWatchCountResponses];
export type GitIsWatchedData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/watch/is-watched';
};
export type GitIsWatchedErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitIsWatchedError = GitIsWatchedErrors[keyof GitIsWatchedErrors];
export type GitIsWatchedResponses = {
/**
* Check if the current user is watching the repository
*/
200: ApiResponseValue;
};
export type GitIsWatchedResponse = GitIsWatchedResponses[keyof GitIsWatchedResponses];
export type GitWatchUserListData = {
body?: never;
path: {
/**
* Project namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: {
/**
* Page number
*/
page?: number;
/**
* Items per page
*/
per_page?: number;
};
url: '/api/repos/{namespace}/{repo}/git/watch/users';
};
export type GitWatchUserListErrors = {
/**
* Unauthorized
*/
401: ApiResponseApiError;
/**
* Not found
*/
404: ApiResponseApiError;
};
export type GitWatchUserListError = GitWatchUserListErrors[keyof GitWatchUserListErrors];
export type GitWatchUserListResponses = {
/**
* List users who are watching the repository
*/
200: ApiResponseWatchUserListResponse;
};
export type GitWatchUserListResponse = GitWatchUserListResponses[keyof GitWatchUserListResponses];
export type GitWebhookListData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/webhooks';
};
export type GitWebhookListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type GitWebhookListResponses = {
/**
* List webhooks
*/
200: ApiResponseWebhookListResponse;
};
export type GitWebhookListResponse = GitWebhookListResponses[keyof GitWebhookListResponses];
export type GitWebhookCreateData = {
body: CreateWebhookParams;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/webhooks';
};
export type GitWebhookCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type GitWebhookCreateResponses = {
/**
* Create webhook
*/
200: ApiResponseWebhookResponse;
};
export type GitWebhookCreateResponse = GitWebhookCreateResponses[keyof GitWebhookCreateResponses];
export type GitWebhookDeleteData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Webhook ID
*/
webhook_id: number;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/webhooks/{webhook_id}';
};
export type GitWebhookDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type GitWebhookDeleteResponses = {
/**
* Delete webhook
*/
200: unknown;
};
export type GitWebhookGetData = {
body?: never;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Webhook ID
*/
webhook_id: number;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/webhooks/{webhook_id}';
};
export type GitWebhookGetErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type GitWebhookGetResponses = {
/**
* Get webhook
*/
200: ApiResponseWebhookResponse;
};
export type GitWebhookGetResponse = GitWebhookGetResponses[keyof GitWebhookGetResponses];
export type GitWebhookUpdateData = {
body: UpdateWebhookParams;
path: {
/**
* Repository namespace
*/
namespace: string;
/**
* Repository name
*/
repo: string;
/**
* Webhook ID
*/
webhook_id: number;
};
query?: never;
url: '/api/repos/{namespace}/{repo}/git/webhooks/{webhook_id}';
};
export type GitWebhookUpdateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type GitWebhookUpdateResponses = {
/**
* Update webhook
*/
200: ApiResponseWebhookResponse;
};
export type GitWebhookUpdateResponse = GitWebhookUpdateResponses[keyof GitWebhookUpdateResponses];
export type CategoryDeleteData = {
body?: never;
path: {
category_id: string;
};
query?: never;
url: '/api/room-categories/{category_id}';
};
export type CategoryDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type CategoryDeleteResponses = {
/**
* Delete room category
*/
200: unknown;
};
export type CategoryUpdateData = {
body: RoomCategoryUpdateRequest;
path: {
category_id: string;
};
query?: never;
url: '/api/room-categories/{category_id}';
};
export type CategoryUpdateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type CategoryUpdateResponses = {
/**
* Update room category
*/
200: ApiResponseRoomCategoryResponse;
};
export type CategoryUpdateResponse = CategoryUpdateResponses[keyof CategoryUpdateResponses];
export type RoomDeleteData = {
body?: never;
path: {
room_id: string;
};
query?: never;
url: '/api/rooms/{room_id}';
};
export type RoomDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type RoomDeleteResponses = {
/**
* Delete room
*/
200: unknown;
};
export type RoomGetData = {
body?: never;
path: {
room_id: string;
};
query?: never;
url: '/api/rooms/{room_id}';
};
export type RoomGetErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type RoomGetResponses = {
/**
* Get room
*/
200: ApiResponseRoomResponse;
};
export type RoomGetResponse = RoomGetResponses[keyof RoomGetResponses];
export type RoomUpdateData = {
body: RoomUpdateRequest;
path: {
room_id: string;
};
query?: never;
url: '/api/rooms/{room_id}';
};
export type RoomUpdateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type RoomUpdateResponses = {
/**
* Update room
*/
200: ApiResponseRoomResponse;
};
export type RoomUpdateResponse = RoomUpdateResponses[keyof RoomUpdateResponses];
export type AiListData = {
body?: never;
path: {
room_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/ai';
};
export type AiListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type AiListResponses = {
/**
* List room AI configurations
*/
200: ApiResponseVecRoomAiResponse;
};
export type AiListResponse = AiListResponses[keyof AiListResponses];
export type AiUpsertData = {
body: RoomAiUpsertRequest;
path: {
room_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/ai';
};
export type AiUpsertErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type AiUpsertResponses = {
/**
* Upsert room AI configuration
*/
200: ApiResponseRoomAiResponse;
};
export type AiUpsertResponse = AiUpsertResponses[keyof AiUpsertResponses];
export type AiDeleteData = {
body?: never;
path: {
room_id: string;
model_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/ai/{model_id}';
};
export type AiDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type AiDeleteResponses = {
/**
* Delete room AI configuration
*/
200: unknown;
};
export type MemberListData = {
body?: never;
path: {
room_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/members';
};
export type MemberListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type MemberListResponses = {
/**
* List room members
*/
200: ApiResponseVecRoomMemberResponse;
};
export type MemberListResponse2 = MemberListResponses[keyof MemberListResponses];
export type MemberAddData = {
body: RoomMemberAddRequest;
path: {
room_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/members';
};
export type MemberAddErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type MemberAddResponses = {
/**
* Add room member
*/
200: ApiResponseRoomMemberResponse;
};
export type MemberAddResponse = MemberAddResponses[keyof MemberAddResponses];
export type MemberSetReadSeqData = {
body: RoomMemberReadSeqRequest;
path: {
room_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/members/me/read-seq';
};
export type MemberSetReadSeqErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type MemberSetReadSeqResponses = {
/**
* Set member read sequence
*/
200: ApiResponseRoomMemberResponse;
};
export type MemberSetReadSeqResponse = MemberSetReadSeqResponses[keyof MemberSetReadSeqResponses];
export type MemberRemoveData = {
body?: never;
path: {
room_id: string;
user_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/members/{user_id}';
};
export type MemberRemoveErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type MemberRemoveResponses = {
/**
* Remove room member
*/
200: unknown;
};
export type MemberUpdateRoleData = {
body: RoomMemberRoleUpdateRequest;
path: {
room_id: string;
user_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/members/{user_id}/role';
};
export type MemberUpdateRoleErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type MemberUpdateRoleResponses = {
/**
* Update member role
*/
200: ApiResponseRoomMemberResponse;
};
export type MemberUpdateRoleResponse = MemberUpdateRoleResponses[keyof MemberUpdateRoleResponses];
export type MessageCreateData = {
body: RoomMessageCreateRequest;
path: {
room_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/messages';
};
export type MessageCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type MessageCreateResponses = {
/**
* Create room message
*/
200: ApiResponseRoomMessageResponse;
};
export type MessageCreateResponse = MessageCreateResponses[keyof MessageCreateResponses];
export type MessageSearchData = {
body?: never;
path: {
room_id: string;
};
query: {
q: string;
limit?: number;
offset?: number;
};
url: '/api/rooms/{room_id}/messages/search';
};
export type MessageSearchErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type MessageSearchResponses = {
/**
* Search messages
*/
200: ApiResponseMessageSearchResponse;
};
export type MessageSearchResponse2 = MessageSearchResponses[keyof MessageSearchResponses];
export type MessageUpdateData = {
body: RoomMessageUpdateRequest;
path: {
room_id: string;
message_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/messages/{message_id}';
};
export type MessageUpdateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type MessageUpdateResponses = {
/**
* Update room message
*/
200: ApiResponseRoomMessageResponse;
};
export type MessageUpdateResponse = MessageUpdateResponses[keyof MessageUpdateResponses];
export type MessageEditHistoryData = {
body?: never;
path: {
room_id: string;
message_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/messages/{message_id}/edit-history';
};
export type MessageEditHistoryErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type MessageEditHistoryResponses = {
/**
* Get message edit history
*/
200: ApiResponseMessageEditHistoryResponse;
};
export type MessageEditHistoryResponse2 = MessageEditHistoryResponses[keyof MessageEditHistoryResponses];
export type PinRemoveData = {
body?: never;
path: {
room_id: string;
message_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/messages/{message_id}/pin';
};
export type PinRemoveErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type PinRemoveResponses = {
/**
* Remove room pin
*/
200: unknown;
};
export type PinAddData = {
body?: never;
path: {
room_id: string;
message_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/messages/{message_id}/pin';
};
export type PinAddErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type PinAddResponses = {
/**
* Add room pin
*/
200: ApiResponseRoomPinResponse;
};
export type PinAddResponse = PinAddResponses[keyof PinAddResponses];
export type MessageRevokeData = {
body?: never;
path: {
room_id: string;
message_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/messages/{message_id}/revoke';
};
export type MessageRevokeErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type MessageRevokeResponses = {
/**
* Revoke room message
*/
200: ApiResponseRoomMessageResponse;
};
export type MessageRevokeResponse = MessageRevokeResponses[keyof MessageRevokeResponses];
export type PinListData = {
body?: never;
path: {
room_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/pins';
};
export type PinListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type PinListResponses = {
/**
* List room pins
*/
200: ApiResponseVecRoomPinResponse;
};
export type PinListResponse = PinListResponses[keyof PinListResponses];
export type ThreadListData = {
body?: never;
path: {
room_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/threads';
};
export type ThreadListErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ThreadListResponses = {
/**
* List room threads
*/
200: ApiResponseVecRoomThreadResponse;
};
export type ThreadListResponse = ThreadListResponses[keyof ThreadListResponses];
export type ThreadCreateData = {
body: RoomThreadCreateRequest;
path: {
room_id: string;
};
query?: never;
url: '/api/rooms/{room_id}/threads';
};
export type ThreadCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Forbidden
*/
403: unknown;
/**
* Not found
*/
404: unknown;
};
export type ThreadCreateResponses = {
/**
* Create room thread
*/
200: ApiResponseRoomThreadResponse;
};
export type ThreadCreateResponse = ThreadCreateResponses[keyof ThreadCreateResponses];
export type ThreadMessagesData = {
body?: never;
path: {
room_id: string;
thread_id: string;
};
query?: {
before_seq?: number;
after_seq?: number;
limit?: number;
};
url: '/api/rooms/{room_id}/threads/{thread_id}/messages';
};
export type ThreadMessagesErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type ThreadMessagesResponses = {
/**
* List thread messages
*/
200: ApiResponseRoomMessageListResponse;
};
export type ThreadMessagesResponse = ThreadMessagesResponses[keyof ThreadMessagesResponses];
export type SearchData = {
body?: never;
path?: never;
query: {
/**
* Search keyword
*/
q: string;
/**
* Comma-separated types: projects,repos,issues,users. Default: all
*/
type?: string;
/**
* Page number, default 1
*/
page?: number;
/**
* Results per page, default 20, max 100
*/
per_page?: number;
};
url: '/api/search';
};
export type SearchErrors = {
/**
* Bad request
*/
400: unknown;
/**
* Unauthorized
*/
401: unknown;
};
export type SearchResponses = {
/**
* Search results
*/
200: ApiResponseSearchResponse;
};
export type SearchResponse2 = SearchResponses[keyof SearchResponses];
export type ListAccessKeysData = {
body?: never;
path?: never;
query?: never;
url: '/api/users/me/access-keys';
};
export type ListAccessKeysErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type ListAccessKeysResponses = {
/**
* List access keys
*/
200: ApiResponseAccessKeyListResponse;
};
export type ListAccessKeysResponse = ListAccessKeysResponses[keyof ListAccessKeysResponses];
export type CreateAccessKeyData = {
body: CreateAccessKeyParams;
path?: never;
query?: never;
url: '/api/users/me/access-keys';
};
export type CreateAccessKeyErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type CreateAccessKeyResponses = {
/**
* Create access key
*/
200: ApiResponseAccessKeyResponse;
};
export type CreateAccessKeyResponse = CreateAccessKeyResponses[keyof CreateAccessKeyResponses];
export type DeleteAccessKeyData = {
body?: never;
path: {
access_key_id: number;
};
query?: never;
url: '/api/users/me/access-keys/{access_key_id}';
};
export type DeleteAccessKeyErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type DeleteAccessKeyResponses = {
/**
* Delete access key
*/
200: unknown;
};
export type GetMyContributionHeatmapData = {
body?: never;
path?: never;
query?: never;
url: '/api/users/me/heatmap';
};
export type GetMyContributionHeatmapErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type GetMyContributionHeatmapResponses = {
/**
* Get my contribution heatmap
*/
200: ApiResponseContributionHeatmapResponse;
};
export type GetMyContributionHeatmapResponse = GetMyContributionHeatmapResponses[keyof GetMyContributionHeatmapResponses];
export type ListSshKeysData = {
body?: never;
path?: never;
query?: never;
url: '/api/users/me/keys';
};
export type ListSshKeysErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type ListSshKeysResponses = {
/**
* List SSH keys
*/
200: ApiResponseSshKeyListResponse;
};
export type ListSshKeysResponse = ListSshKeysResponses[keyof ListSshKeysResponses];
export type AddSshKeyData = {
body: AddSshKeyParams;
path?: never;
query?: never;
url: '/api/users/me/keys';
};
export type AddSshKeyErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type AddSshKeyResponses = {
/**
* Add SSH key
*/
200: ApiResponseSshKeyResponse;
};
export type AddSshKeyResponse = AddSshKeyResponses[keyof AddSshKeyResponses];
export type DeleteSshKeyData = {
body?: never;
path: {
key_id: number;
};
query?: never;
url: '/api/users/me/keys/{key_id}';
};
export type DeleteSshKeyErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type DeleteSshKeyResponses = {
/**
* Delete SSH key
*/
200: unknown;
};
export type GetSshKeyData = {
body?: never;
path: {
key_id: number;
};
query?: never;
url: '/api/users/me/keys/{key_id}';
};
export type GetSshKeyErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type GetSshKeyResponses = {
/**
* Get SSH key
*/
200: ApiResponseSshKeyResponse;
};
export type GetSshKeyResponse = GetSshKeyResponses[keyof GetSshKeyResponses];
export type UpdateSshKeyData = {
body: UpdateSshKeyParams;
path: {
key_id: number;
};
query?: never;
url: '/api/users/me/keys/{key_id}';
};
export type UpdateSshKeyErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type UpdateSshKeyResponses = {
/**
* Update SSH key
*/
200: ApiResponseSshKeyResponse;
};
export type UpdateSshKeyResponse = UpdateSshKeyResponses[keyof UpdateSshKeyResponses];
export type GetNotificationPreferencesData = {
body?: never;
path?: never;
query?: never;
url: '/api/users/me/notifications/preferences';
};
export type GetNotificationPreferencesErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type GetNotificationPreferencesResponses = {
/**
* Get notification preferences
*/
200: ApiResponseNotificationPreferencesResponse;
};
export type GetNotificationPreferencesResponse = GetNotificationPreferencesResponses[keyof GetNotificationPreferencesResponses];
export type UpdateNotificationPreferencesData = {
body: NotificationPreferencesParams;
path?: never;
query?: never;
url: '/api/users/me/notifications/preferences';
};
export type UpdateNotificationPreferencesErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type UpdateNotificationPreferencesResponses = {
/**
* Update notification preferences
*/
200: ApiResponseNotificationPreferencesResponse;
};
export type UpdateNotificationPreferencesResponse = UpdateNotificationPreferencesResponses[keyof UpdateNotificationPreferencesResponses];
export type GetPreferencesData = {
body?: never;
path?: never;
query?: never;
url: '/api/users/me/preferences';
};
export type GetPreferencesErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type GetPreferencesResponses = {
/**
* Get user preferences
*/
200: ApiResponsePreferencesResponse;
};
export type GetPreferencesResponse = GetPreferencesResponses[keyof GetPreferencesResponses];
export type UpdatePreferencesData = {
body: PreferencesParams;
path?: never;
query?: never;
url: '/api/users/me/preferences';
};
export type UpdatePreferencesErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type UpdatePreferencesResponses = {
/**
* Update user preferences
*/
200: ApiResponsePreferencesResponse;
};
export type UpdatePreferencesResponse = UpdatePreferencesResponses[keyof UpdatePreferencesResponses];
export type GetMyProfileData = {
body?: never;
path?: never;
query?: never;
url: '/api/users/me/profile';
};
export type GetMyProfileErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type GetMyProfileResponses = {
/**
* Get current user profile
*/
200: ApiResponseProfileResponse;
};
export type GetMyProfileResponse = GetMyProfileResponses[keyof GetMyProfileResponses];
export type UpdateMyProfileData = {
body: UpdateProfileParams;
path?: never;
query?: never;
url: '/api/users/me/profile';
};
export type UpdateMyProfileErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type UpdateMyProfileResponses = {
/**
* Update current user profile
*/
200: ApiResponseProfileResponse;
};
export type UpdateMyProfileResponse = UpdateMyProfileResponses[keyof UpdateMyProfileResponses];
export type GetCurrentUserProjectsData = {
body?: never;
path?: never;
query?: never;
url: '/api/users/me/projects';
};
export type GetCurrentUserProjectsErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type GetCurrentUserProjectsResponses = {
/**
* Get current user projects
*/
200: ApiResponseUserProjectsResponse;
};
export type GetCurrentUserProjectsResponse = GetCurrentUserProjectsResponses[keyof GetCurrentUserProjectsResponses];
export type GetCurrentUserReposData = {
body?: never;
path?: never;
query?: never;
url: '/api/users/me/repos';
};
export type GetCurrentUserReposErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type GetCurrentUserReposResponses = {
/**
* Get current user repos
*/
200: ApiResponseUserReposResponse;
};
export type GetCurrentUserReposResponse = GetCurrentUserReposResponses[keyof GetCurrentUserReposResponses];
export type GetProfileByUsernameData = {
body?: never;
path: {
username: string;
};
query?: never;
url: '/api/users/{username}';
};
export type GetProfileByUsernameErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type GetProfileByUsernameResponses = {
/**
* Get user profile
*/
200: ApiResponseProfileResponse;
};
export type GetProfileByUsernameResponse = GetProfileByUsernameResponses[keyof GetProfileByUsernameResponses];
export type UnsubscribeTargetData = {
body?: never;
path: {
username: string;
};
query?: never;
url: '/api/users/{username}/follow';
};
export type UnsubscribeTargetErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type UnsubscribeTargetResponses = {
/**
* Unfollow user
*/
200: unknown;
};
export type IsSubscribedToTargetData = {
body?: never;
path: {
username: string;
};
query?: never;
url: '/api/users/{username}/follow';
};
export type IsSubscribedToTargetErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type IsSubscribedToTargetResponses = {
/**
* Check if following user
*/
200: unknown;
};
export type SubscribeTargetData = {
body?: never;
path: {
username: string;
};
query?: never;
url: '/api/users/{username}/follow';
};
export type SubscribeTargetErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type SubscribeTargetResponses = {
/**
* Follow user
*/
200: unknown;
};
export type GetSubscribersData = {
body?: never;
path: {
username: string;
};
query?: never;
url: '/api/users/{username}/followers';
};
export type GetSubscribersErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type GetSubscribersResponses = {
/**
* List followers
*/
200: ApiResponseVecSubscriptionInfo;
};
export type GetSubscribersResponse = GetSubscribersResponses[keyof GetSubscribersResponses];
export type GetSubscriberCountData = {
body?: never;
path: {
username: string;
};
query?: never;
url: '/api/users/{username}/followers/count';
};
export type GetSubscriberCountErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type GetSubscriberCountResponses = {
/**
* Get follower count
*/
200: unknown;
};
export type GetSubscriptionCountData = {
body?: never;
path: {
username: string;
};
query?: never;
url: '/api/users/{username}/following/count';
};
export type GetSubscriptionCountErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type GetSubscriptionCountResponses = {
/**
* Get following count
*/
200: unknown;
};
export type GetContributionHeatmapData = {
body?: never;
path: {
username: string;
};
query?: never;
url: '/api/users/{username}/heatmap';
};
export type GetContributionHeatmapErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type GetContributionHeatmapResponses = {
/**
* Get contribution heatmap
*/
200: ApiResponseContributionHeatmapResponse;
};
export type GetContributionHeatmapResponse = GetContributionHeatmapResponses[keyof GetContributionHeatmapResponses];
export type GetUserInfoData = {
body?: never;
path: {
username: string;
};
query?: never;
url: '/api/users/{username}/info';
};
export type GetUserInfoErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type GetUserInfoResponses = {
/**
* Get user info
*/
200: ApiResponseUserInfoExternal;
};
export type GetUserInfoResponse = GetUserInfoResponses[keyof GetUserInfoResponses];
export type GetUserProjectsData = {
body?: never;
path: {
username: string;
};
query?: never;
url: '/api/users/{username}/projects';
};
export type GetUserProjectsErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type GetUserProjectsResponses = {
/**
* Get user projects
*/
200: ApiResponseUserProjectsResponse;
};
export type GetUserProjectsResponse = GetUserProjectsResponses[keyof GetUserProjectsResponses];
export type GetUserReposData = {
body?: never;
path: {
username: string;
};
query?: never;
url: '/api/users/{username}/repos';
};
export type GetUserReposErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not found
*/
404: unknown;
};
export type GetUserReposResponses = {
/**
* Get user repos
*/
200: ApiResponseUserReposResponse;
};
export type GetUserReposResponse = GetUserReposResponses[keyof GetUserReposResponses];
export type WorkspaceCreateData = {
body: WorkspaceInitParams;
path?: never;
query?: never;
url: '/api/workspaces';
};
export type WorkspaceCreateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Slug or name already exists
*/
409: unknown;
};
export type WorkspaceCreateResponses = {
/**
* Create workspace
*/
200: ApiResponseWorkspaceInfoResponse;
};
export type WorkspaceCreateResponse = WorkspaceCreateResponses[keyof WorkspaceCreateResponses];
export type WorkspaceAcceptInvitationData = {
body: WorkspaceInviteAcceptParams;
path?: never;
query?: never;
url: '/api/workspaces/invitations/accept';
};
export type WorkspaceAcceptInvitationErrors = {
/**
* Invalid or expired token
*/
400: unknown;
/**
* Unauthorized
*/
401: unknown;
/**
* Already accepted
*/
409: unknown;
};
export type WorkspaceAcceptInvitationResponses = {
/**
* Accept invitation
*/
200: ApiResponseWorkspaceInfoResponse;
};
export type WorkspaceAcceptInvitationResponse = WorkspaceAcceptInvitationResponses[keyof WorkspaceAcceptInvitationResponses];
export type WorkspaceMyInvitationsData = {
body?: never;
path?: never;
query?: never;
url: '/api/workspaces/me/invitations';
};
export type WorkspaceMyInvitationsErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type ApiResponseVecMyWorkspaceInvitation = {
code: number;
message: string;
data?: Array<MyWorkspaceInvitation>;
};
export type WorkspaceMyInvitationsResponses = {
/**
* List my workspace invitations
*/
200: ApiResponseVecMyWorkspaceInvitation;
};
export type WorkspaceMyInvitationsResponse = WorkspaceMyInvitationsResponses[keyof WorkspaceMyInvitationsResponses];
export type WorkspaceAcceptInvitationBySlugData = {
body: WorkspaceAcceptBySlugParams;
path?: never;
query?: never;
url: '/api/workspaces/invitations/accept-by-slug';
};
export type WorkspaceAcceptInvitationBySlugErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Invitation not found
*/
404: unknown;
/**
* Already accepted
*/
409: unknown;
};
export type WorkspaceAcceptInvitationBySlugResponses = {
/**
* Accept invitation
*/
200: ApiResponseWorkspaceInfoResponse;
};
export type WorkspaceAcceptInvitationBySlugResponse = WorkspaceAcceptInvitationBySlugResponses[keyof WorkspaceAcceptInvitationBySlugResponses];
export type WorkspaceListData = {
body?: never;
path?: never;
query?: never;
url: '/api/workspaces/me';
};
export type WorkspaceListErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type WorkspaceListResponses = {
/**
* List my workspaces
*/
200: ApiResponseWorkspaceListResponse;
};
export type WorkspaceListResponse2 = WorkspaceListResponses[keyof WorkspaceListResponses];
export type WorkspaceDeleteData = {
body?: never;
path: {
slug: string;
};
query?: never;
url: '/api/workspaces/{slug}';
};
export type WorkspaceDeleteErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Permission denied (owner only)
*/
403: unknown;
/**
* Workspace not found
*/
404: unknown;
};
export type WorkspaceDeleteResponses = {
/**
* Delete workspace
*/
200: unknown;
};
export type WorkspaceInfoData = {
body?: never;
path: {
slug: string;
};
query?: never;
url: '/api/workspaces/{slug}';
};
export type WorkspaceInfoErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Workspace not found
*/
404: unknown;
};
export type WorkspaceInfoResponses = {
/**
* Get workspace info
*/
200: ApiResponseWorkspaceInfoResponse;
};
export type WorkspaceInfoResponse2 = WorkspaceInfoResponses[keyof WorkspaceInfoResponses];
export type WorkspaceUpdateData = {
body: WorkspaceUpdateParams;
path: {
slug: string;
};
query?: never;
url: '/api/workspaces/{slug}';
};
export type WorkspaceUpdateErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Permission denied
*/
403: unknown;
/**
* Workspace not found
*/
404: unknown;
/**
* Name already exists
*/
409: unknown;
};
export type WorkspaceUpdateResponses = {
/**
* Update workspace
*/
200: ApiResponseWorkspaceInfoResponse;
};
export type WorkspaceUpdateResponse = WorkspaceUpdateResponses[keyof WorkspaceUpdateResponses];
export type WorkspaceBillingCurrentData = {
body?: never;
path: {
/**
* Workspace slug
*/
slug: string;
};
query?: never;
url: '/api/workspaces/{slug}/billing';
};
export type WorkspaceBillingCurrentErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not a workspace member
*/
403: unknown;
/**
* Workspace not found
*/
404: unknown;
};
export type WorkspaceBillingCurrentResponses = {
/**
* Get workspace billing info
*/
200: ApiResponseWorkspaceBillingCurrentResponse;
};
export type WorkspaceBillingCurrentResponse2 = WorkspaceBillingCurrentResponses[keyof WorkspaceBillingCurrentResponses];
export type WorkspaceBillingAddCreditData = {
body: WorkspaceBillingAddCreditParams;
path: {
/**
* Workspace slug
*/
slug: string;
};
query?: never;
url: '/api/workspaces/{slug}/billing/credits';
};
export type WorkspaceBillingAddCreditErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not a workspace member
*/
403: unknown;
};
export type WorkspaceBillingAddCreditResponses = {
/**
* Add credit to workspace billing
*/
200: ApiResponseWorkspaceBillingCurrentResponse;
};
export type WorkspaceBillingAddCreditResponse = WorkspaceBillingAddCreditResponses[keyof WorkspaceBillingAddCreditResponses];
export type WorkspaceBillingHistoryData = {
body?: never;
path: {
/**
* Workspace slug
*/
slug: string;
};
query?: never;
url: '/api/workspaces/{slug}/billing/history';
};
export type WorkspaceBillingHistoryErrors = {
/**
* Unauthorized
*/
401: unknown;
};
export type WorkspaceBillingHistoryResponses = {
/**
* Get workspace billing history
*/
200: ApiResponseWorkspaceBillingHistoryResponse;
};
export type WorkspaceBillingHistoryResponse2 = WorkspaceBillingHistoryResponses[keyof WorkspaceBillingHistoryResponses];
export type WorkspacePendingInvitationsData = {
body?: never;
path: {
slug: string;
};
query?: never;
url: '/api/workspaces/{slug}/invitations';
};
export type WorkspacePendingInvitationsErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Permission denied
*/
403: unknown;
/**
* Workspace not found
*/
404: unknown;
};
export type WorkspacePendingInvitationsResponses = {
/**
* List pending invitations
*/
200: ApiResponseVecPendingInvitationInfo;
};
export type WorkspacePendingInvitationsResponse = WorkspacePendingInvitationsResponses[keyof WorkspacePendingInvitationsResponses];
export type WorkspaceInviteMemberData = {
body: WorkspaceInviteParams;
path: {
slug: string;
};
query?: never;
url: '/api/workspaces/{slug}/invitations';
};
export type WorkspaceInviteMemberErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Permission denied
*/
403: unknown;
/**
* User not found
*/
404: unknown;
/**
* Already a member
*/
409: unknown;
};
export type WorkspaceInviteMemberResponses = {
/**
* Send invitation
*/
200: unknown;
};
export type WorkspaceCancelInvitationData = {
body?: never;
path: {
slug: string;
user_id: string;
};
query?: never;
url: '/api/workspaces/{slug}/invitations/{user_id}';
};
export type WorkspaceCancelInvitationErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Permission denied
*/
403: unknown;
/**
* Invitation not found
*/
404: unknown;
};
export type WorkspaceCancelInvitationResponses = {
/**
* Cancel invitation
*/
200: unknown;
};
export type WorkspaceMembersData = {
body?: never;
path: {
slug: string;
};
query?: {
page?: number;
per_page?: number;
};
url: '/api/workspaces/{slug}/members';
};
export type WorkspaceMembersErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not a member
*/
403: unknown;
/**
* Workspace not found
*/
404: unknown;
};
export type WorkspaceMembersResponses = {
/**
* List workspace members
*/
200: ApiResponseWorkspaceMembersResponse;
};
export type WorkspaceMembersResponse2 = WorkspaceMembersResponses[keyof WorkspaceMembersResponses];
export type WorkspaceUpdateMemberRoleData = {
body: UpdateRoleParams;
path: {
slug: string;
};
query?: never;
url: '/api/workspaces/{slug}/members/role';
};
export type WorkspaceUpdateMemberRoleErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Permission denied
*/
403: unknown;
/**
* Workspace or member not found
*/
404: unknown;
};
export type WorkspaceUpdateMemberRoleResponses = {
/**
* Update member role
*/
200: unknown;
};
export type WorkspaceRemoveMemberData = {
body?: never;
path: {
slug: string;
user_id: string;
};
query?: never;
url: '/api/workspaces/{slug}/members/{user_id}';
};
export type WorkspaceRemoveMemberErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Permission denied
*/
403: unknown;
/**
* Member not found
*/
404: unknown;
};
export type WorkspaceRemoveMemberResponses = {
/**
* Remove member
*/
200: unknown;
};
export type WorkspaceProjectsData = {
body?: never;
path: {
/**
* Workspace slug
*/
slug: string;
};
query?: never;
url: '/api/workspaces/{slug}/projects';
};
export type WorkspaceProjectsErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not a workspace member
*/
403: unknown;
/**
* Workspace not found
*/
404: unknown;
};
export type WorkspaceProjectsResponses = {
/**
* List workspace projects
*/
200: ApiResponseWorkspaceProjectsResponse;
};
export type WorkspaceProjectsResponse2 = WorkspaceProjectsResponses[keyof WorkspaceProjectsResponses];
export type WorkspaceStatsData = {
body?: never;
path: {
/**
* Workspace slug
*/
slug: string;
};
query?: never;
url: '/api/workspaces/{slug}/stats';
};
export type WorkspaceStatsErrors = {
/**
* Unauthorized
*/
401: unknown;
/**
* Not a workspace member
*/
403: unknown;
/**
* Workspace not found
*/
404: unknown;
};
export type WorkspaceStatsResponses = {
/**
* Get workspace stats
*/
200: ApiResponseWorkspaceStatsResponse;
};
export type WorkspaceStatsResponse2 = WorkspaceStatsResponses[keyof WorkspaceStatsResponses];