feat(issues): migrate issue routes from channel_id to space_name URLs (stage 3)
- routes.rs: 34 routes /issue/{channel_id}[/{issue_id}] -> /issues/{space_name}[/{issue_id}]
- 57 handlers: Path<(Uuid, Uuid)> -> Path<(String, Uuid)> with 3-step lookup
(lookup_space_by_name -> require_active_member -> channel_for_issue)
- new channel_for_space helper for board-level handlers (milestone/label/pin)
- impl space::SpaceDb for IssueService; From<SpaceError> for IssueError already existed
- openapi.json regenerated: channel_id 91 -> 60, no /issue/ paths remain
- add issues 401 integration test (GET /issues/{space_name}/{issue_id} unauthenticated)
zhenyi committed
Modified lib/issues/features/lookup.rs lib/issues/features/lookup.rs +18 −0 View lib/issues/features/lookup.rs
@@ -1,3 +1,4 @@
1use db::channel::channels as channel_entity;
12use db::conn::sea_orm::*;
23use db::issue::issues as issue_entity;
34use uuid::Uuid;
@@ -18,3 +19,20 @@
1819 .ok_or_else(|| IssueError::NotFound(format!("issue {issue_id}")))?;
1920 Ok(issue.channel_id)
2021}
22
23/// Resolve the board channel of a space: the channel hosting the space's
24/// first issues collection.
25///
26/// Used by board-level handlers that take `space_name` without an issue id
27/// (board / label / milestone / pin routes).
28pub async fn channel_for_space(svc: &IssueService, space_id: Uuid) -> IssueResult<Uuid> {
29 let db = svc.db.reader();
30 let board = issue_entity::Entity::find()
31 .inner_join(channel_entity::Entity)
32 .filter(channel_entity::Column::SpaceId.eq(space_id))
33 .order_by_asc(issue_entity::Column::CreatedAt)
34 .one(&db)
35 .await?
36 .ok_or_else(|| IssueError::NotFound(format!("issues board for space {space_id}")))?;
37 Ok(board.channel_id)
38}
Modified lib/issues/handler/comment/create.rs lib/issues/handler/comment/create.rs +5 −2 View lib/issues/handler/comment/create.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 post,
12 path = "/issues/{channel_id}/{issue_id}/comments",
12 path = "/issues/{space_name}/{issue_id}/comments",
1313 tag = "issues",
1414 request_body = AppRequestData<CreateCommentOption>,
1515 responses((status = 201, description = "Create comment", body = AppResponseData<CommentView>)),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, issue_id)): Path<(String, Uuid)>,
2222 input: AppRequest<CreateCommentOption>,
2323) -> IssueResult<AppResponseData<CommentView>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let view = svc
2528 .create_comment(claims.sub, channel_id, issue_id, input.into_inner())
2629 .await?;
Modified lib/issues/handler/comment/delete.rs lib/issues/handler/comment/delete.rs +5 −2 View lib/issues/handler/comment/delete.rs
@@ -8,7 +8,7 @@
88
99#[utoipa::path(
1010 delete,
11 path = "/issues/{channel_id}/{issue_id}/comments/{comment_id}",
11 path = "/issues/{space_name}/{issue_id}/comments/{comment_id}",
1212 tag = "issues",
1313 responses((status = 204, description = "Delete comment")),
1414 security(("bearer_auth" = []))
@@ -16,8 +16,11 @@
1616pub(crate) async fn handler(
1717 State(svc): State<IssueService>,
1818 AuthUser { claims }: AuthUser,
19 Path((channel_id, issue_id, comment_id)): Path<(Uuid, Uuid, Uuid)>,
19 Path((space_name, issue_id, comment_id)): Path<(String, Uuid, Uuid)>,
2020) -> IssueResult<AppResponseData<NoData>> {
21 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
22 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
23 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2124 svc.delete_comment(claims.sub, channel_id, issue_id, comment_id)
2225 .await?;
2326 Ok(AppResponseData::<NoData>::empty())
Modified lib/issues/handler/comment/get.rs lib/issues/handler/comment/get.rs +5 −2 View lib/issues/handler/comment/get.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}/comments/{comment_id}",
12 path = "/issues/{space_name}/{issue_id}/comments/{comment_id}",
1313 tag = "issues",
1414 responses((status = 200, description = "Get comment", body = AppResponseData<CommentView>)),
1515 security(("bearer_auth" = []))
@@ -17,8 +17,11 @@
1717pub(crate) async fn handler(
1818 State(svc): State<IssueService>,
1919 AuthUser { claims }: AuthUser,
20 Path((channel_id, issue_id, comment_id)): Path<(Uuid, Uuid, Uuid)>,
20 Path((space_name, issue_id, comment_id)): Path<(String, Uuid, Uuid)>,
2121) -> IssueResult<AppResponseData<CommentView>> {
22 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
23 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
24 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2225 let view = svc
2326 .get_comment(claims.sub, channel_id, issue_id, comment_id)
2427 .await?;
Modified lib/issues/handler/comment/list.rs lib/issues/handler/comment/list.rs +5 −2 View lib/issues/handler/comment/list.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}/comments",
12 path = "/issues/{space_name}/{issue_id}/comments",
1313 tag = "issues",
1414 params(ListCommentQuery),
1515 responses((status = 200, description = "List comments")),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, issue_id)): Path<(String, Uuid)>,
2222 Query(q): Query<ListCommentQuery>,
2323) -> IssueResult<AppResponseData<serde_json::Value>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let page = svc
2528 .list_comments(claims.sub, channel_id, issue_id, q)
2629 .await?;
Modified lib/issues/handler/comment/update.rs lib/issues/handler/comment/update.rs +5 −2 View lib/issues/handler/comment/update.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 patch,
12 path = "/issues/{channel_id}/{issue_id}/comments/{comment_id}",
12 path = "/issues/{space_name}/{issue_id}/comments/{comment_id}",
1313 tag = "issues",
1414 request_body = AppRequestData<UpdateCommentOption>,
1515 responses((status = 200, description = "Update comment", body = AppResponseData<CommentView>)),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id, comment_id)): Path<(Uuid, Uuid, Uuid)>,
21 Path((space_name, issue_id, comment_id)): Path<(String, Uuid, Uuid)>,
2222 input: AppRequest<UpdateCommentOption>,
2323) -> IssueResult<AppResponseData<CommentView>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let view = svc
2528 .update_comment(
2629 claims.sub,
Modified lib/issues/handler/issue/close.rs lib/issues/handler/issue/close.rs +5 −2 View lib/issues/handler/issue/close.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 post,
12 path = "/issues/{channel_id}/{issue_id}/close",
12 path = "/issues/{space_name}/{issue_id}/close",
1313 tag = "issues",
1414 request_body = AppRequestData<CloseIssueOption>,
1515 responses((status = 200, description = "Open/close issue", body = AppResponseData<IssueView>)),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, issue_id)): Path<(String, Uuid)>,
2222 input: AppRequest<CloseIssueOption>,
2323) -> IssueResult<AppResponseData<IssueView>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let view = svc
2528 .close_issue(claims.sub, channel_id, issue_id, input.into_inner())
2629 .await?;
Modified lib/issues/handler/issue/create.rs lib/issues/handler/issue/create.rs +5 −3 View lib/issues/handler/issue/create.rs
@@ -1,7 +1,6 @@
11use axum::extract::{Path, State};
22use export::data::{AppRequest, AppRequestData, AppResponseData};
33use jwt::extractor::AuthUser;
4use uuid::Uuid;
54
65use crate::error::IssueResult;
76use crate::features::IssueService;
@@ -9,7 +8,7 @@
98
109#[utoipa::path(
1110 post,
12 path = "/issues/{channel_id}",
11 path = "/issues/{space_name}",
1312 tag = "issues",
1413 request_body = AppRequestData<CreateIssueOption>,
1514 responses((status = 201, description = "Create an issue in this channel's board", body = AppResponseData<IssueView>)),
@@ -18,9 +17,12 @@
1817pub(crate) async fn handler(
1918 State(svc): State<IssueService>,
2019 AuthUser { claims }: AuthUser,
21 Path(channel_id): Path<Uuid>,
20 Path(space_name): Path<String>,
2221 input: AppRequest<CreateIssueOption>,
2322) -> IssueResult<AppResponseData<IssueView>> {
23 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
24 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
25 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2426 let view = svc
2527 .create_issue(claims.sub, channel_id, input.into_inner())
2628 .await?;
Modified lib/issues/handler/issue/delete.rs lib/issues/handler/issue/delete.rs +5 −2 View lib/issues/handler/issue/delete.rs
@@ -8,7 +8,7 @@
88
99#[utoipa::path(
1010 delete,
11 path = "/issues/{channel_id}/{issue_id}",
11 path = "/issues/{space_name}/{issue_id}",
1212 tag = "issues",
1313 responses((status = 204, description = "Delete issue")),
1414 security(("bearer_auth" = []))
@@ -16,8 +16,11 @@
1616pub(crate) async fn handler(
1717 State(svc): State<IssueService>,
1818 AuthUser { claims }: AuthUser,
19 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
19 Path((space_name, issue_id)): Path<(String, Uuid)>,
2020) -> IssueResult<AppResponseData<NoData>> {
21 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
22 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
23 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2124 svc.delete_issue(claims.sub, channel_id, issue_id).await?;
2225 Ok(AppResponseData::<NoData>::empty())
2326}
Modified lib/issues/handler/issue/get.rs lib/issues/handler/issue/get.rs +5 −2 View lib/issues/handler/issue/get.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}",
12 path = "/issues/{space_name}/{issue_id}",
1313 tag = "issues",
1414 responses((status = 200, description = "Get issue", body = AppResponseData<IssueView>)),
1515 security(("bearer_auth" = []))
@@ -17,8 +17,11 @@
1717pub(crate) async fn handler(
1818 State(svc): State<IssueService>,
1919 AuthUser { claims }: AuthUser,
20 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
20 Path((space_name, issue_id)): Path<(String, Uuid)>,
2121) -> IssueResult<AppResponseData<IssueView>> {
22 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
23 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
24 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2225 let view = svc.get_issue(claims.sub, channel_id, issue_id).await?;
2326 Ok(AppResponseData::ok(view))
2427}
Modified lib/issues/handler/issue/update.rs lib/issues/handler/issue/update.rs +5 −2 View lib/issues/handler/issue/update.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 patch,
12 path = "/issues/{channel_id}/{issue_id}",
12 path = "/issues/{space_name}/{issue_id}",
1313 tag = "issues",
1414 request_body = AppRequestData<UpdateIssueOption>,
1515 responses((status = 200, description = "Update issue", body = AppResponseData<IssueView>)),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, issue_id)): Path<(String, Uuid)>,
2222 input: AppRequest<UpdateIssueOption>,
2323) -> IssueResult<AppResponseData<IssueView>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let view = svc
2528 .update_issue(claims.sub, channel_id, issue_id, input.into_inner())
2629 .await?;
Modified lib/issues/handler/issue_attachment/delete.rs lib/issues/handler/issue_attachment/delete.rs +5 −2 View lib/issues/handler/issue_attachment/delete.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 delete,
12 path = "/issues/{channel_id}/attachments/{owner_type}/{owner_id}/{att_id}",
12 path = "/issues/{space_name}/attachments/{owner_type}/{owner_id}/{att_id}",
1313 tag = "issues",
1414 responses((status = 204, description = "Delete attachment")),
1515 security(("bearer_auth" = []))
@@ -17,8 +17,11 @@
1717pub(crate) async fn handler(
1818 State(svc): State<IssueService>,
1919 AuthUser { claims }: AuthUser,
20 Path((channel_id, owner_type, owner_id, att_id)): Path<(Uuid, String, Uuid, Uuid)>,
20 Path((space_name, owner_type, owner_id, att_id)): Path<(String, String, Uuid, Uuid)>,
2121) -> IssueResult<AppResponseData<NoData>> {
22 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
23 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
24 let channel_id = crate::features::lookup::channel_for_issue(&svc, owner_id).await?;
2225 let owner_type = owner_type_from_str(&owner_type)
2326 .ok_or_else(|| IssueError::BadRequest(format!("invalid owner_type {owner_type}")))?;
2427 svc.delete_attachment(claims.sub, channel_id, owner_type, owner_id, att_id)
Modified lib/issues/handler/issue_attachment/list.rs lib/issues/handler/issue_attachment/list.rs +5 −2 View lib/issues/handler/issue_attachment/list.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/attachments/{owner_type}/{owner_id}",
12 path = "/issues/{space_name}/attachments/{owner_type}/{owner_id}",
1313 tag = "issues",
1414 params(ListAttachmentQuery),
1515 responses((status = 200, description = "List attachments")),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, owner_type, owner_id)): Path<(Uuid, String, Uuid)>,
21 Path((space_name, owner_type, owner_id)): Path<(String, String, Uuid)>,
2222 Query(q): Query<ListAttachmentQuery>,
2323) -> IssueResult<AppResponseData<serde_json::Value>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, owner_id).await?;
2427 let owner_type = owner_type_from_str(&owner_type)
2528 .ok_or_else(|| IssueError::BadRequest(format!("invalid owner_type {owner_type}")))?;
2629 let page = svc
Modified lib/issues/handler/issue_attachment/upload.rs lib/issues/handler/issue_attachment/upload.rs +5 −2 View lib/issues/handler/issue_attachment/upload.rs
@@ -11,7 +11,7 @@
1111
1212#[utoipa::path(
1313 post,
14 path = "/issues/{channel_id}/attachments/{owner_type}/{owner_id}",
14 path = "/issues/{space_name}/attachments/{owner_type}/{owner_id}",
1515 tag = "issues",
1616 request_body = AppRequestData<UploadAttachmentInput>,
1717 responses((status = 201, description = "Upload attachment", body = AppResponseData<AttachmentView>)),
@@ -20,9 +20,12 @@
2020pub(crate) async fn handler(
2121 State(svc): State<IssueService>,
2222 AuthUser { claims }: AuthUser,
23 Path((channel_id, owner_type, owner_id)): Path<(Uuid, String, Uuid)>,
23 Path((space_name, owner_type, owner_id)): Path<(String, String, Uuid)>,
2424 input: AppRequest<UploadAttachmentInput>,
2525) -> IssueResult<AppResponseData<AttachmentView>> {
26 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
27 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
28 let channel_id = crate::features::lookup::channel_for_issue(&svc, owner_id).await?;
2629 let owner_type = owner_type_from_str(&owner_type)
2730 .ok_or_else(|| IssueError::BadRequest(format!("invalid owner_type {owner_type}")))?;
2831 let view = svc
Modified lib/issues/handler/issue_content_history/list.rs lib/issues/handler/issue_content_history/list.rs +5 −2 View lib/issues/handler/issue_content_history/list.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}/content_history",
12 path = "/issues/{space_name}/{issue_id}/content_history",
1313 tag = "issues",
1414 params(ListContentHistoryQuery),
1515 responses((status = 200, description = "List content history")),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, issue_id)): Path<(String, Uuid)>,
2222 Query(q): Query<ListContentHistoryQuery>,
2323) -> IssueResult<AppResponseData<serde_json::Value>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let page = svc
2528 .list_content_histories(claims.sub, channel_id, issue_id, q)
2629 .await?;
Modified lib/issues/handler/issue_dependency/create.rs lib/issues/handler/issue_dependency/create.rs +5 −2 View lib/issues/handler/issue_dependency/create.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 post,
12 path = "/issues/{channel_id}/{issue_id}/dependencies",
12 path = "/issues/{space_name}/{issue_id}/dependencies",
1313 tag = "issues",
1414 request_body = AppRequestData<CreateDependencyOption>,
1515 responses((status = 201, description = "Create dependency", body = AppResponseData<DependencyView>)),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, issue_id)): Path<(String, Uuid)>,
2222 input: AppRequest<CreateDependencyOption>,
2323) -> IssueResult<AppResponseData<DependencyView>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let view = svc
2528 .create_dependency(claims.sub, channel_id, issue_id, input.into_inner())
2629 .await?;
Modified lib/issues/handler/issue_dependency/delete.rs lib/issues/handler/issue_dependency/delete.rs +5 −2 View lib/issues/handler/issue_dependency/delete.rs
@@ -8,7 +8,7 @@
88
99#[utoipa::path(
1010 delete,
11 path = "/issues/{channel_id}/{issue_id}/dependencies/{dep_id}",
11 path = "/issues/{space_name}/{issue_id}/dependencies/{dep_id}",
1212 tag = "issues",
1313 responses((status = 204, description = "Delete dependency")),
1414 security(("bearer_auth" = []))
@@ -16,8 +16,11 @@
1616pub(crate) async fn handler(
1717 State(svc): State<IssueService>,
1818 AuthUser { claims }: AuthUser,
19 Path((channel_id, issue_id, dep_id)): Path<(Uuid, Uuid, Uuid)>,
19 Path((space_name, issue_id, dep_id)): Path<(String, Uuid, Uuid)>,
2020) -> IssueResult<AppResponseData<NoData>> {
21 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
22 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
23 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2124 svc.delete_dependency(claims.sub, channel_id, issue_id, dep_id)
2225 .await?;
2326 Ok(AppResponseData::<NoData>::empty())
Modified lib/issues/handler/issue_dependency/list.rs lib/issues/handler/issue_dependency/list.rs +5 −2 View lib/issues/handler/issue_dependency/list.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}/dependencies",
12 path = "/issues/{space_name}/{issue_id}/dependencies",
1313 tag = "issues",
1414 responses((status = 200, description = "List dependencies")),
1515 security(("bearer_auth" = []))
@@ -17,8 +17,11 @@
1717pub(crate) async fn handler(
1818 State(svc): State<IssueService>,
1919 AuthUser { claims }: AuthUser,
20 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
20 Path((space_name, issue_id)): Path<(String, Uuid)>,
2121) -> IssueResult<AppResponseData<Vec<DependencyView>>> {
22 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
23 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
24 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2225 let views = svc
2326 .list_dependencies(claims.sub, channel_id, issue_id)
2427 .await?;
Modified lib/issues/handler/issue_event/list.rs lib/issues/handler/issue_event/list.rs +5 −2 View lib/issues/handler/issue_event/list.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}/events",
12 path = "/issues/{space_name}/{issue_id}/events",
1313 tag = "issues",
1414 params(ListEventQuery),
1515 responses((status = 200, description = "List issue events")),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, issue_id)): Path<(String, Uuid)>,
2222 Query(q): Query<ListEventQuery>,
2323) -> IssueResult<AppResponseData<serde_json::Value>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let page = svc.list_events(claims.sub, channel_id, issue_id, q).await?;
2528 Ok(AppResponseData::ok(serde_json::json!({
2629 "items": page.items,
Modified lib/issues/handler/issue_member/create.rs lib/issues/handler/issue_member/create.rs +5 −2 View lib/issues/handler/issue_member/create.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 post,
12 path = "/issues/{channel_id}/{issue_id}/members",
12 path = "/issues/{space_name}/{issue_id}/members",
1313 tag = "issues",
1414 request_body = AppRequestData<CreateMemberOption>,
1515 responses((status = 201, description = "Create member", body = AppResponseData<MemberView>)),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, issue_id)): Path<(String, Uuid)>,
2222 input: AppRequest<CreateMemberOption>,
2323) -> IssueResult<AppResponseData<MemberView>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let view = svc
2528 .create_member(claims.sub, channel_id, issue_id, input.into_inner())
2629 .await?;
Modified lib/issues/handler/issue_member/delete.rs lib/issues/handler/issue_member/delete.rs +5 −2 View lib/issues/handler/issue_member/delete.rs
@@ -8,7 +8,7 @@
88
99#[utoipa::path(
1010 delete,
11 path = "/issues/{channel_id}/{issue_id}/members/{member_id}",
11 path = "/issues/{space_name}/{issue_id}/members/{member_id}",
1212 tag = "issues",
1313 responses((status = 204, description = "Delete member")),
1414 security(("bearer_auth" = []))
@@ -16,8 +16,11 @@
1616pub(crate) async fn handler(
1717 State(svc): State<IssueService>,
1818 AuthUser { claims }: AuthUser,
19 Path((channel_id, issue_id, member_id)): Path<(Uuid, Uuid, Uuid)>,
19 Path((space_name, issue_id, member_id)): Path<(String, Uuid, Uuid)>,
2020) -> IssueResult<AppResponseData<NoData>> {
21 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
22 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
23 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2124 svc.delete_member(claims.sub, channel_id, issue_id, member_id)
2225 .await?;
2326 Ok(AppResponseData::<NoData>::empty())
Modified lib/issues/handler/issue_member/list.rs lib/issues/handler/issue_member/list.rs +5 −2 View lib/issues/handler/issue_member/list.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}/members",
12 path = "/issues/{space_name}/{issue_id}/members",
1313 tag = "issues",
1414 params(ListMemberQuery),
1515 responses((status = 200, description = "List members")),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, issue_id)): Path<(String, Uuid)>,
2222 Query(q): Query<ListMemberQuery>,
2323) -> IssueResult<AppResponseData<serde_json::Value>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let page = svc
2528 .list_members(claims.sub, channel_id, issue_id, q)
2629 .await?;
Modified lib/issues/handler/issue_pin/create.rs lib/issues/handler/issue_pin/create.rs +5 −3 View lib/issues/handler/issue_pin/create.rs
@@ -1,7 +1,6 @@
11use axum::extract::{Path, State};
22use export::data::{AppRequest, AppRequestData, AppResponseData};
33use jwt::extractor::AuthUser;
4use uuid::Uuid;
54
65use crate::error::IssueResult;
76use crate::features::IssueService;
@@ -9,7 +8,7 @@
98
109#[utoipa::path(
1110 post,
12 path = "/issues/{channel_id}/pins",
11 path = "/issues/{space_name}/pins",
1312 tag = "issues",
1413 request_body = AppRequestData<CreatePinOption>,
1514 responses((status = 201, description = "Pin issue", body = AppResponseData<PinView>)),
@@ -18,9 +17,12 @@
1817pub(crate) async fn handler(
1918 State(svc): State<IssueService>,
2019 AuthUser { claims }: AuthUser,
21 Path(channel_id): Path<Uuid>,
20 Path(space_name): Path<String>,
2221 input: AppRequest<CreatePinOption>,
2322) -> IssueResult<AppResponseData<PinView>> {
23 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
24 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
25 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2426 let collection = svc.ensure_default_collection(channel_id).await?;
2527 let view = svc
2628 .create_pin(claims.sub, channel_id, collection.id, input.into_inner())
Modified lib/issues/handler/issue_pin/delete.rs lib/issues/handler/issue_pin/delete.rs +5 −2 View lib/issues/handler/issue_pin/delete.rs
@@ -8,7 +8,7 @@
88
99#[utoipa::path(
1010 delete,
11 path = "/issues/{channel_id}/pins/{pin_id}",
11 path = "/issues/{space_name}/pins/{pin_id}",
1212 tag = "issues",
1313 responses((status = 204, description = "Unpin issue")),
1414 security(("bearer_auth" = []))
@@ -16,8 +16,11 @@
1616pub(crate) async fn handler(
1717 State(svc): State<IssueService>,
1818 AuthUser { claims }: AuthUser,
19 Path((channel_id, pin_id)): Path<(Uuid, Uuid)>,
19 Path((space_name, pin_id)): Path<(String, Uuid)>,
2020) -> IssueResult<AppResponseData<NoData>> {
21 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
22 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
23 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2124 let collection = svc.ensure_default_collection(channel_id).await?;
2225 svc.delete_pin(claims.sub, channel_id, collection.id, pin_id)
2326 .await?;
Modified lib/issues/handler/issue_pin/list.rs lib/issues/handler/issue_pin/list.rs +5 −3 View lib/issues/handler/issue_pin/list.rs
@@ -1,7 +1,6 @@
11use axum::extract::{Path, State};
22use export::data::AppResponseData;
33use jwt::extractor::AuthUser;
4use uuid::Uuid;
54
65use crate::error::IssueResult;
76use crate::features::IssueService;
@@ -9,7 +8,7 @@
98
109#[utoipa::path(
1110 get,
12 path = "/issues/{channel_id}/pins",
11 path = "/issues/{space_name}/pins",
1312 tag = "issues",
1413 responses((status = 200, description = "List pinned issues")),
1514 security(("bearer_auth" = []))
@@ -17,8 +16,11 @@
1716pub(crate) async fn handler(
1817 State(svc): State<IssueService>,
1918 AuthUser { claims }: AuthUser,
20 Path(channel_id): Path<Uuid>,
19 Path(space_name): Path<String>,
2120) -> IssueResult<AppResponseData<Vec<PinView>>> {
21 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
22 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
23 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2224 let collection = svc.ensure_default_collection(channel_id).await?;
2325 let views = svc.list_pins(claims.sub, channel_id, collection.id).await?;
2426 Ok(AppResponseData::ok(views))
Modified lib/issues/handler/issue_reaction/create.rs lib/issues/handler/issue_reaction/create.rs +5 −2 View lib/issues/handler/issue_reaction/create.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 post,
12 path = "/issues/{channel_id}/{issue_id}/reactions",
12 path = "/issues/{space_name}/{issue_id}/reactions",
1313 tag = "issues",
1414 request_body = AppRequestData<CreateReactionOption>,
1515 responses((status = 201, description = "React to issue", body = AppResponseData<ReactionView>)),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, issue_id)): Path<(String, Uuid)>,
2222 input: AppRequest<CreateReactionOption>,
2323) -> IssueResult<AppResponseData<ReactionView>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let view = svc
2528 .create_issue_reaction(claims.sub, channel_id, issue_id, input.into_inner())
2629 .await?;
Modified lib/issues/handler/issue_reaction/create_comment.rs lib/issues/handler/issue_reaction/create_comment.rs +5 −2 View lib/issues/handler/issue_reaction/create_comment.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 post,
12 path = "/issues/{channel_id}/{issue_id}/comments/{comment_id}/reactions",
12 path = "/issues/{space_name}/{issue_id}/comments/{comment_id}/reactions",
1313 tag = "issues",
1414 request_body = AppRequestData<CreateReactionOption>,
1515 responses((status = 201, description = "React to comment", body = AppResponseData<ReactionView>)),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id, comment_id)): Path<(Uuid, Uuid, Uuid)>,
21 Path((space_name, issue_id, comment_id)): Path<(String, Uuid, Uuid)>,
2222 input: AppRequest<CreateReactionOption>,
2323) -> IssueResult<AppResponseData<ReactionView>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let view = svc
2528 .create_comment_reaction(
2629 claims.sub,
Modified lib/issues/handler/issue_reaction/delete.rs lib/issues/handler/issue_reaction/delete.rs +5 −2 View lib/issues/handler/issue_reaction/delete.rs
@@ -8,7 +8,7 @@
88
99#[utoipa::path(
1010 delete,
11 path = "/issues/{channel_id}/{issue_id}/reactions/{reaction_id}",
11 path = "/issues/{space_name}/{issue_id}/reactions/{reaction_id}",
1212 tag = "issues",
1313 responses((status = 204, description = "Delete reaction")),
1414 security(("bearer_auth" = []))
@@ -16,8 +16,11 @@
1616pub(crate) async fn handler(
1717 State(svc): State<IssueService>,
1818 AuthUser { claims }: AuthUser,
19 Path((_channel_id, _issue_id, reaction_id)): Path<(Uuid, Uuid, Uuid)>,
19 Path((space_name, issue_id, reaction_id)): Path<(String, Uuid, Uuid)>,
2020) -> IssueResult<AppResponseData<NoData>> {
21 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
22 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
23 let _channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2124 svc.delete_reaction(claims.sub, reaction_id).await?;
2225 Ok(AppResponseData::<NoData>::empty())
2326}
Modified lib/issues/handler/issue_reaction/list.rs lib/issues/handler/issue_reaction/list.rs +5 −2 View lib/issues/handler/issue_reaction/list.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}/reactions",
12 path = "/issues/{space_name}/{issue_id}/reactions",
1313 tag = "issues",
1414 responses((status = 200, description = "List issue reactions")),
1515 security(("bearer_auth" = []))
@@ -17,8 +17,11 @@
1717pub(crate) async fn handler(
1818 State(svc): State<IssueService>,
1919 AuthUser { claims }: AuthUser,
20 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
20 Path((space_name, issue_id)): Path<(String, Uuid)>,
2121) -> IssueResult<AppResponseData<Vec<ReactionAggView>>> {
22 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
23 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
24 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2225 let views = svc
2326 .list_reactions_for_issue(claims.sub, channel_id, issue_id)
2427 .await?;
Modified lib/issues/handler/issue_reaction/list_comment.rs lib/issues/handler/issue_reaction/list_comment.rs +5 −2 View lib/issues/handler/issue_reaction/list_comment.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}/comments/{comment_id}/reactions",
12 path = "/issues/{space_name}/{issue_id}/comments/{comment_id}/reactions",
1313 tag = "issues",
1414 responses((status = 200, description = "List comment reactions")),
1515 security(("bearer_auth" = []))
@@ -17,8 +17,11 @@
1717pub(crate) async fn handler(
1818 State(svc): State<IssueService>,
1919 AuthUser { claims }: AuthUser,
20 Path((channel_id, issue_id, comment_id)): Path<(Uuid, Uuid, Uuid)>,
20 Path((space_name, issue_id, comment_id)): Path<(String, Uuid, Uuid)>,
2121) -> IssueResult<AppResponseData<Vec<ReactionAggView>>> {
22 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
23 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
24 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2225 let views = svc
2326 .list_reactions_for_comment(claims.sub, channel_id, issue_id, comment_id)
2427 .await?;
Modified lib/issues/handler/issue_repo_rel/create.rs lib/issues/handler/issue_repo_rel/create.rs +5 −2 View lib/issues/handler/issue_repo_rel/create.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 post,
12 path = "/issues/{channel_id}/{issue_id}/repo_relations",
12 path = "/issues/{space_name}/{issue_id}/repo_relations",
1313 tag = "issues",
1414 request_body = AppRequestData<CreateRepoRelOption>,
1515 responses((status = 201, description = "Link repo to issue", body = AppResponseData<RepoRelView>)),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, issue_id)): Path<(String, Uuid)>,
2222 input: AppRequest<CreateRepoRelOption>,
2323) -> IssueResult<AppResponseData<RepoRelView>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let view = svc
2528 .create_repo_rel(claims.sub, channel_id, issue_id, input.into_inner())
2629 .await?;
Modified lib/issues/handler/issue_repo_rel/delete.rs lib/issues/handler/issue_repo_rel/delete.rs +5 −2 View lib/issues/handler/issue_repo_rel/delete.rs
@@ -8,7 +8,7 @@
88
99#[utoipa::path(
1010 delete,
11 path = "/issues/{channel_id}/{issue_id}/repo_relations/{rel_id}",
11 path = "/issues/{space_name}/{issue_id}/repo_relations/{rel_id}",
1212 tag = "issues",
1313 responses((status = 204, description = "Unlink repo from issue")),
1414 security(("bearer_auth" = []))
@@ -16,8 +16,11 @@
1616pub(crate) async fn handler(
1717 State(svc): State<IssueService>,
1818 AuthUser { claims }: AuthUser,
19 Path((channel_id, issue_id, rel_id)): Path<(Uuid, Uuid, Uuid)>,
19 Path((space_name, issue_id, rel_id)): Path<(String, Uuid, Uuid)>,
2020) -> IssueResult<AppResponseData<NoData>> {
21 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
22 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
23 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2124 svc.delete_repo_rel(claims.sub, channel_id, issue_id, rel_id)
2225 .await?;
2326 Ok(AppResponseData::<NoData>::empty())
Modified lib/issues/handler/issue_repo_rel/list.rs lib/issues/handler/issue_repo_rel/list.rs +5 −2 View lib/issues/handler/issue_repo_rel/list.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}/repo_relations",
12 path = "/issues/{space_name}/{issue_id}/repo_relations",
1313 tag = "issues",
1414 responses((status = 200, description = "List repo relations")),
1515 security(("bearer_auth" = []))
@@ -17,8 +17,11 @@
1717pub(crate) async fn handler(
1818 State(svc): State<IssueService>,
1919 AuthUser { claims }: AuthUser,
20 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
20 Path((space_name, issue_id)): Path<(String, Uuid)>,
2121) -> IssueResult<AppResponseData<Vec<RepoRelView>>> {
22 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
23 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
24 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2225 let views = svc.list_repo_rels(claims.sub, channel_id, issue_id).await?;
2326 Ok(AppResponseData::ok(views))
2427}
Modified lib/issues/handler/issue_stopwatch/get.rs lib/issues/handler/issue_stopwatch/get.rs +5 −2 View lib/issues/handler/issue_stopwatch/get.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}/stopwatch",
12 path = "/issues/{space_name}/{issue_id}/stopwatch",
1313 tag = "issues",
1414 responses((status = 200, description = "Get my stopwatch", body = AppResponseData<StopwatchView>)),
1515 security(("bearer_auth" = []))
@@ -17,8 +17,11 @@
1717pub(crate) async fn handler(
1818 State(svc): State<IssueService>,
1919 AuthUser { claims }: AuthUser,
20 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
20 Path((space_name, issue_id)): Path<(String, Uuid)>,
2121) -> IssueResult<AppResponseData<StopwatchView>> {
22 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
23 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
24 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2225 let view = svc
2326 .get_my_stopwatch(claims.sub, channel_id, issue_id)
2427 .await?;
Modified lib/issues/handler/issue_stopwatch/start.rs lib/issues/handler/issue_stopwatch/start.rs +5 −2 View lib/issues/handler/issue_stopwatch/start.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 post,
12 path = "/issues/{channel_id}/{issue_id}/stopwatch",
12 path = "/issues/{space_name}/{issue_id}/stopwatch",
1313 tag = "issues",
1414 responses((status = 201, description = "Start stopwatch", body = AppResponseData<StopwatchView>)),
1515 security(("bearer_auth" = []))
@@ -17,8 +17,11 @@
1717pub(crate) async fn handler(
1818 State(svc): State<IssueService>,
1919 AuthUser { claims }: AuthUser,
20 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
20 Path((space_name, issue_id)): Path<(String, Uuid)>,
2121) -> IssueResult<AppResponseData<StopwatchView>> {
22 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
23 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
24 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2225 let view = svc.start_watch(claims.sub, channel_id, issue_id).await?;
2326 Ok(AppResponseData::ok(view).with_code(201))
2427}
Modified lib/issues/handler/issue_stopwatch/stop.rs lib/issues/handler/issue_stopwatch/stop.rs +5 −2 View lib/issues/handler/issue_stopwatch/stop.rs
@@ -8,7 +8,7 @@
88
99#[utoipa::path(
1010 delete,
11 path = "/issues/{channel_id}/{issue_id}/stopwatch",
11 path = "/issues/{space_name}/{issue_id}/stopwatch",
1212 tag = "issues",
1313 responses((status = 204, description = "Stop stopwatch")),
1414 security(("bearer_auth" = []))
@@ -16,8 +16,11 @@
1616pub(crate) async fn handler(
1717 State(svc): State<IssueService>,
1818 AuthUser { claims }: AuthUser,
19 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
19 Path((space_name, issue_id)): Path<(String, Uuid)>,
2020) -> IssueResult<AppResponseData<NoData>> {
21 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
22 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
23 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2124 svc.stop_watch(claims.sub, channel_id, issue_id).await?;
2225 Ok(AppResponseData::<NoData>::empty())
2326}
Modified lib/issues/handler/issue_tracked_time/list.rs lib/issues/handler/issue_tracked_time/list.rs +5 −2 View lib/issues/handler/issue_tracked_time/list.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}/tracked_time",
12 path = "/issues/{space_name}/{issue_id}/tracked_time",
1313 tag = "issues",
1414 params(ListTrackedTimeQuery),
1515 responses((status = 200, description = "List tracked time")),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, issue_id)): Path<(String, Uuid)>,
2222 Query(q): Query<ListTrackedTimeQuery>,
2323) -> IssueResult<AppResponseData<serde_json::Value>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let page = svc
2528 .list_tracked_times(claims.sub, channel_id, issue_id, q)
2629 .await?;
Modified lib/issues/handler/issue_user/list.rs lib/issues/handler/issue_user/list.rs +5 −2 View lib/issues/handler/issue_user/list.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}/users",
12 path = "/issues/{space_name}/{issue_id}/users",
1313 tag = "issues",
1414 responses((status = 200, description = "List issue users")),
1515 security(("bearer_auth" = []))
@@ -17,8 +17,11 @@
1717pub(crate) async fn handler(
1818 State(svc): State<IssueService>,
1919 AuthUser { claims }: AuthUser,
20 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
20 Path((space_name, issue_id)): Path<(String, Uuid)>,
2121) -> IssueResult<AppResponseData<Vec<IssueUserView>>> {
22 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
23 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
24 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2225 let views = svc
2326 .list_issue_users(claims.sub, channel_id, issue_id)
2427 .await?;
Modified lib/issues/handler/issue_user/update.rs lib/issues/handler/issue_user/update.rs +5 −2 View lib/issues/handler/issue_user/update.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 patch,
12 path = "/issues/{channel_id}/{issue_id}/users/{uid}",
12 path = "/issues/{space_name}/{issue_id}/users/{uid}",
1313 tag = "issues",
1414 request_body = AppRequestData<UpdateIssueUserOption>,
1515 responses((status = 200, description = "Update issue user", body = AppResponseData<IssueUserView>)),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id, uid)): Path<(Uuid, Uuid, Uuid)>,
21 Path((space_name, issue_id, uid)): Path<(String, Uuid, Uuid)>,
2222 input: AppRequest<UpdateIssueUserOption>,
2323) -> IssueResult<AppResponseData<IssueUserView>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let view = svc
2528 .update_issue_user(claims.sub, channel_id, issue_id, uid, input.into_inner())
2629 .await?;
Modified lib/issues/handler/issue_watch/delete.rs lib/issues/handler/issue_watch/delete.rs +5 −2 View lib/issues/handler/issue_watch/delete.rs
@@ -8,7 +8,7 @@
88
99#[utoipa::path(
1010 delete,
11 path = "/issues/{channel_id}/{issue_id}/watch",
11 path = "/issues/{space_name}/{issue_id}/watch",
1212 tag = "issues",
1313 responses((status = 204, description = "Delete watch state")),
1414 security(("bearer_auth" = []))
@@ -16,8 +16,11 @@
1616pub(crate) async fn handler(
1717 State(svc): State<IssueService>,
1818 AuthUser { claims }: AuthUser,
19 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
19 Path((space_name, issue_id)): Path<(String, Uuid)>,
2020) -> IssueResult<AppResponseData<NoData>> {
21 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
22 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
23 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2124 svc.delete_watch(claims.sub, channel_id, issue_id).await?;
2225 Ok(AppResponseData::<NoData>::empty())
2326}
Modified lib/issues/handler/issue_watch/get.rs lib/issues/handler/issue_watch/get.rs +5 −2 View lib/issues/handler/issue_watch/get.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}/watch",
12 path = "/issues/{space_name}/{issue_id}/watch",
1313 tag = "issues",
1414 responses((status = 200, description = "Get my watch state", body = AppResponseData<WatchView>)),
1515 security(("bearer_auth" = []))
@@ -17,8 +17,11 @@
1717pub(crate) async fn handler(
1818 State(svc): State<IssueService>,
1919 AuthUser { claims }: AuthUser,
20 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
20 Path((space_name, issue_id)): Path<(String, Uuid)>,
2121) -> IssueResult<AppResponseData<WatchView>> {
22 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
23 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
24 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2225 let view = svc.get_my_watch(claims.sub, channel_id, issue_id).await?;
2326 Ok(AppResponseData::ok(view))
2427}
Modified lib/issues/handler/issue_watch/upsert.rs lib/issues/handler/issue_watch/upsert.rs +5 −2 View lib/issues/handler/issue_watch/upsert.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 put,
12 path = "/issues/{channel_id}/{issue_id}/watch",
12 path = "/issues/{space_name}/{issue_id}/watch",
1313 tag = "issues",
1414 request_body = AppRequestData<UpsertWatchOption>,
1515 responses((status = 200, description = "Upsert watch state", body = AppResponseData<WatchView>)),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, issue_id)): Path<(String, Uuid)>,
2222 input: AppRequest<UpsertWatchOption>,
2323) -> IssueResult<AppResponseData<WatchView>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2427 let view = svc
2528 .upsert_watch(claims.sub, channel_id, issue_id, input.into_inner())
2629 .await?;
Modified lib/issues/handler/issues/delete.rs lib/issues/handler/issues/delete.rs +5 −3 View lib/issues/handler/issues/delete.rs
@@ -1,14 +1,13 @@
11use axum::extract::{Path, State};
22use export::data::{AppResponseData, NoData};
33use jwt::extractor::AuthUser;
4use uuid::Uuid;
54
65use crate::error::IssueResult;
76use crate::features::IssueService;
87
98#[utoipa::path(
109 delete,
11 path = "/issues/{channel_id}",
10 path = "/issues/{space_name}",
1211 tag = "issues",
1312 responses((status = 204, description = "Delete default issue board")),
1413 security(("bearer_auth" = []))
@@ -16,8 +15,11 @@
1615pub(crate) async fn handler(
1716 State(svc): State<IssueService>,
1817 AuthUser { claims }: AuthUser,
19 Path(channel_id): Path<Uuid>,
18 Path(space_name): Path<String>,
2019) -> IssueResult<AppResponseData<NoData>> {
20 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
21 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
22 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2123 let cur = svc.load_default_collection(channel_id).await?;
2224 svc.delete_collection(claims.sub, cur.channel_id, cur.id)
2325 .await?;
Modified lib/issues/handler/issues/get.rs lib/issues/handler/issues/get.rs +5 −3 View lib/issues/handler/issues/get.rs
@@ -3,7 +3,6 @@
33use jwt::extractor::AuthUser;
44use serde::Serialize;
55use serde_json::Value;
6use uuid::Uuid;
76
87use crate::error::IssueResult;
98use crate::features::IssueService;
@@ -21,7 +20,7 @@
2120
2221#[utoipa::path(
2322 get,
24 path = "/issues/{channel_id}",
23 path = "/issues/{space_name}",
2524 tag = "issues",
2625 responses((status = 200, description = "Default issue board OR issue list (when query.state/q/author_id/milestone_id is set)")),
2726 security(("bearer_auth" = []))
@@ -29,9 +28,12 @@
2928pub(crate) async fn handler(
3029 State(svc): State<IssueService>,
3130 AuthUser { claims }: AuthUser,
32 Path(channel_id): Path<Uuid>,
31 Path(space_name): Path<String>,
3332 Query(q): Query<ListIssueQuery>,
3433) -> IssueResult<AppResponseData<Value>> {
34 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
35 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
36 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
3537 let wants_issue_list =
3638 q.state.is_some() || q.q.is_some() || q.author_id.is_some() || q.milestone_id.is_some();
3739 if wants_issue_list {
Modified lib/issues/handler/issues/update.rs lib/issues/handler/issues/update.rs +5 −3 View lib/issues/handler/issues/update.rs
@@ -1,7 +1,6 @@
11use axum::extract::{Path, State};
22use export::data::{AppRequest, AppRequestData, AppResponseData};
33use jwt::extractor::AuthUser;
4use uuid::Uuid;
54
65use crate::error::IssueResult;
76use crate::features::IssueService;
@@ -9,7 +8,7 @@
98
109#[utoipa::path(
1110 patch,
12 path = "/issues/{channel_id}",
11 path = "/issues/{space_name}",
1312 tag = "issues",
1413 request_body = AppRequestData<UpdateCollectionOption>,
1514 responses((status = 200, description = "Update default issue board", body = AppResponseData<CollectionView>)),
@@ -18,9 +17,12 @@
1817pub(crate) async fn handler(
1918 State(svc): State<IssueService>,
2019 AuthUser { claims }: AuthUser,
21 Path(channel_id): Path<Uuid>,
20 Path(space_name): Path<String>,
2221 input: AppRequest<UpdateCollectionOption>,
2322) -> IssueResult<AppResponseData<CollectionView>> {
23 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
24 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
25 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2426 let cur = svc.load_default_collection(channel_id).await?;
2527 let view = svc
2628 .update_collection(claims.sub, cur.channel_id, cur.id, input.into_inner())
Modified lib/issues/handler/label/bind.rs lib/issues/handler/label/bind.rs +5 −2 View lib/issues/handler/label/bind.rs
@@ -8,7 +8,7 @@
88
99#[utoipa::path(
1010 post,
11 path = "/issues/{channel_id}/{issue_id}/labels/{label_id}",
11 path = "/issues/{space_name}/{issue_id}/labels/{label_id}",
1212 tag = "issues",
1313 responses((status = 204, description = "Bind label to issue")),
1414 security(("bearer_auth" = []))
@@ -16,8 +16,11 @@
1616pub(crate) async fn handler(
1717 State(svc): State<IssueService>,
1818 AuthUser { claims }: AuthUser,
19 Path((channel_id, issue_id, label_id)): Path<(Uuid, Uuid, Uuid)>,
19 Path((space_name, issue_id, label_id)): Path<(String, Uuid, Uuid)>,
2020) -> IssueResult<AppResponseData<NoData>> {
21 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
22 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
23 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2124 svc.bind_label_to_issue(claims.sub, channel_id, issue_id, label_id)
2225 .await?;
2326 Ok(AppResponseData::<NoData>::empty())
Modified lib/issues/handler/label/create.rs lib/issues/handler/label/create.rs +5 −3 View lib/issues/handler/label/create.rs
@@ -1,7 +1,6 @@
11use axum::extract::{Path, State};
22use export::data::{AppRequest, AppRequestData, AppResponseData};
33use jwt::extractor::AuthUser;
4use uuid::Uuid;
54
65use crate::error::IssueResult;
76use crate::features::IssueService;
@@ -9,7 +8,7 @@
98
109#[utoipa::path(
1110 post,
12 path = "/issues/{channel_id}/labels",
11 path = "/issues/{space_name}/labels",
1312 tag = "issues",
1413 request_body = AppRequestData<CreateLabelOption>,
1514 responses((status = 201, description = "Create label", body = AppResponseData<LabelView>)),
@@ -18,9 +17,12 @@
1817pub(crate) async fn handler(
1918 State(svc): State<IssueService>,
2019 AuthUser { claims }: AuthUser,
21 Path(channel_id): Path<Uuid>,
20 Path(space_name): Path<String>,
2221 input: AppRequest<CreateLabelOption>,
2322) -> IssueResult<AppResponseData<LabelView>> {
23 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
24 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
25 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2426 let view = svc
2527 .create_label(claims.sub, channel_id, input.into_inner())
2628 .await?;
Modified lib/issues/handler/label/delete.rs lib/issues/handler/label/delete.rs +5 −2 View lib/issues/handler/label/delete.rs
@@ -8,7 +8,7 @@
88
99#[utoipa::path(
1010 delete,
11 path = "/issues/{channel_id}/labels/{label_id}",
11 path = "/issues/{space_name}/labels/{label_id}",
1212 tag = "issues",
1313 responses((status = 204, description = "Delete label")),
1414 security(("bearer_auth" = []))
@@ -16,8 +16,11 @@
1616pub(crate) async fn handler(
1717 State(svc): State<IssueService>,
1818 AuthUser { claims }: AuthUser,
19 Path((channel_id, label_id)): Path<(Uuid, Uuid)>,
19 Path((space_name, label_id)): Path<(String, Uuid)>,
2020) -> IssueResult<AppResponseData<NoData>> {
21 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
22 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
23 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2124 svc.delete_label(claims.sub, channel_id, label_id).await?;
2225 Ok(AppResponseData::<NoData>::empty())
2326}
Modified lib/issues/handler/label/get.rs lib/issues/handler/label/get.rs +5 −2 View lib/issues/handler/label/get.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/labels/{label_id}",
12 path = "/issues/{space_name}/labels/{label_id}",
1313 tag = "issues",
1414 responses((status = 200, description = "Get label", body = AppResponseData<LabelView>)),
1515 security(("bearer_auth" = []))
@@ -17,8 +17,11 @@
1717pub(crate) async fn handler(
1818 State(svc): State<IssueService>,
1919 AuthUser { claims }: AuthUser,
20 Path((channel_id, label_id)): Path<(Uuid, Uuid)>,
20 Path((space_name, label_id)): Path<(String, Uuid)>,
2121) -> IssueResult<AppResponseData<LabelView>> {
22 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
23 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
24 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2225 let view = svc.get_label(claims.sub, channel_id, label_id).await?;
2326 Ok(AppResponseData::ok(view))
2427}
Modified lib/issues/handler/label/list.rs lib/issues/handler/label/list.rs +5 −3 View lib/issues/handler/label/list.rs
@@ -1,7 +1,6 @@
11use axum::extract::{Path, Query, State};
22use export::data::AppResponseData;
33use jwt::extractor::AuthUser;
4use uuid::Uuid;
54
65use crate::error::IssueResult;
76use crate::features::IssueService;
@@ -9,7 +8,7 @@
98
109#[utoipa::path(
1110 get,
12 path = "/issues/{channel_id}/labels",
11 path = "/issues/{space_name}/labels",
1312 tag = "issues",
1413 params(ListLabelQuery),
1514 responses((status = 200, description = "List labels")),
@@ -18,9 +17,12 @@
1817pub(crate) async fn handler(
1918 State(svc): State<IssueService>,
2019 AuthUser { claims }: AuthUser,
21 Path(channel_id): Path<Uuid>,
20 Path(space_name): Path<String>,
2221 Query(q): Query<ListLabelQuery>,
2322) -> IssueResult<AppResponseData<serde_json::Value>> {
23 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
24 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
25 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2426 let page = svc.list_labels(claims.sub, channel_id, q).await?;
2527 Ok(AppResponseData::ok(serde_json::json!({
2628 "items": page.items,
Modified lib/issues/handler/label/list_for_issue.rs lib/issues/handler/label/list_for_issue.rs +5 −2 View lib/issues/handler/label/list_for_issue.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/{issue_id}/labels",
12 path = "/issues/{space_name}/{issue_id}/labels",
1313 tag = "issues",
1414 responses((status = 200, description = "List labels for issue")),
1515 security(("bearer_auth" = []))
@@ -17,8 +17,11 @@
1717pub(crate) async fn handler(
1818 State(svc): State<IssueService>,
1919 AuthUser { claims }: AuthUser,
20 Path((channel_id, issue_id)): Path<(Uuid, Uuid)>,
20 Path((space_name, issue_id)): Path<(String, Uuid)>,
2121) -> IssueResult<AppResponseData<Vec<LabelView>>> {
22 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
23 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
24 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2225 let views = svc
2326 .list_labels_for_issue(claims.sub, channel_id, issue_id)
2427 .await?;
Modified lib/issues/handler/label/unbind.rs lib/issues/handler/label/unbind.rs +5 −2 View lib/issues/handler/label/unbind.rs
@@ -8,7 +8,7 @@
88
99#[utoipa::path(
1010 delete,
11 path = "/issues/{channel_id}/{issue_id}/labels/{label_id}",
11 path = "/issues/{space_name}/{issue_id}/labels/{label_id}",
1212 tag = "issues",
1313 responses((status = 204, description = "Unbind label from issue")),
1414 security(("bearer_auth" = []))
@@ -16,8 +16,11 @@
1616pub(crate) async fn handler(
1717 State(svc): State<IssueService>,
1818 AuthUser { claims }: AuthUser,
19 Path((channel_id, issue_id, label_id)): Path<(Uuid, Uuid, Uuid)>,
19 Path((space_name, issue_id, label_id)): Path<(String, Uuid, Uuid)>,
2020) -> IssueResult<AppResponseData<NoData>> {
21 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
22 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
23 let channel_id = crate::features::lookup::channel_for_issue(&svc, issue_id).await?;
2124 svc.unbind_label_from_issue(claims.sub, channel_id, issue_id, label_id)
2225 .await?;
2326 Ok(AppResponseData::<NoData>::empty())
Modified lib/issues/handler/label/update.rs lib/issues/handler/label/update.rs +5 −2 View lib/issues/handler/label/update.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 patch,
12 path = "/issues/{channel_id}/labels/{label_id}",
12 path = "/issues/{space_name}/labels/{label_id}",
1313 tag = "issues",
1414 request_body = AppRequestData<UpdateLabelOption>,
1515 responses((status = 200, description = "Update label", body = AppResponseData<LabelView>)),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, label_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, label_id)): Path<(String, Uuid)>,
2222 input: AppRequest<UpdateLabelOption>,
2323) -> IssueResult<AppResponseData<LabelView>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2427 let view = svc
2528 .update_label(claims.sub, channel_id, label_id, input.into_inner())
2629 .await?;
Modified lib/issues/handler/milestone/create.rs lib/issues/handler/milestone/create.rs +5 −3 View lib/issues/handler/milestone/create.rs
@@ -1,7 +1,6 @@
11use axum::extract::{Path, State};
22use export::data::{AppRequest, AppRequestData, AppResponseData};
33use jwt::extractor::AuthUser;
4use uuid::Uuid;
54
65use crate::error::IssueResult;
76use crate::features::IssueService;
@@ -9,7 +8,7 @@
98
109#[utoipa::path(
1110 post,
12 path = "/issues/{channel_id}/milestones",
11 path = "/issues/{space_name}/milestones",
1312 tag = "issues",
1413 request_body = AppRequestData<CreateMilestoneOption>,
1514 responses((status = 201, description = "Create milestone", body = AppResponseData<MilestoneView>)),
@@ -18,9 +17,12 @@
1817pub(crate) async fn handler(
1918 State(svc): State<IssueService>,
2019 AuthUser { claims }: AuthUser,
21 Path(channel_id): Path<Uuid>,
20 Path(space_name): Path<String>,
2221 input: AppRequest<CreateMilestoneOption>,
2322) -> IssueResult<AppResponseData<MilestoneView>> {
23 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
24 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
25 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2426 let view = svc
2527 .create_milestone(claims.sub, channel_id, input.into_inner())
2628 .await?;
Modified lib/issues/handler/milestone/delete.rs lib/issues/handler/milestone/delete.rs +5 −2 View lib/issues/handler/milestone/delete.rs
@@ -8,7 +8,7 @@
88
99#[utoipa::path(
1010 delete,
11 path = "/issues/{channel_id}/milestones/{milestone_id}",
11 path = "/issues/{space_name}/milestones/{milestone_id}",
1212 tag = "issues",
1313 responses((status = 204, description = "Delete milestone")),
1414 security(("bearer_auth" = []))
@@ -16,8 +16,11 @@
1616pub(crate) async fn handler(
1717 State(svc): State<IssueService>,
1818 AuthUser { claims }: AuthUser,
19 Path((channel_id, milestone_id)): Path<(Uuid, Uuid)>,
19 Path((space_name, milestone_id)): Path<(String, Uuid)>,
2020) -> IssueResult<AppResponseData<NoData>> {
21 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
22 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
23 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2124 svc.delete_milestone(claims.sub, channel_id, milestone_id)
2225 .await?;
2326 Ok(AppResponseData::<NoData>::empty())
Modified lib/issues/handler/milestone/get.rs lib/issues/handler/milestone/get.rs +5 −2 View lib/issues/handler/milestone/get.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 get,
12 path = "/issues/{channel_id}/milestones/{milestone_id}",
12 path = "/issues/{space_name}/milestones/{milestone_id}",
1313 tag = "issues",
1414 responses((status = 200, description = "Get milestone", body = AppResponseData<MilestoneView>)),
1515 security(("bearer_auth" = []))
@@ -17,8 +17,11 @@
1717pub(crate) async fn handler(
1818 State(svc): State<IssueService>,
1919 AuthUser { claims }: AuthUser,
20 Path((channel_id, milestone_id)): Path<(Uuid, Uuid)>,
20 Path((space_name, milestone_id)): Path<(String, Uuid)>,
2121) -> IssueResult<AppResponseData<MilestoneView>> {
22 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
23 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
24 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2225 let view = svc
2326 .get_milestone(claims.sub, channel_id, milestone_id)
2427 .await?;
Modified lib/issues/handler/milestone/list.rs lib/issues/handler/milestone/list.rs +5 −3 View lib/issues/handler/milestone/list.rs
@@ -1,7 +1,6 @@
11use axum::extract::{Path, Query, State};
22use export::data::AppResponseData;
33use jwt::extractor::AuthUser;
4use uuid::Uuid;
54
65use crate::error::IssueResult;
76use crate::features::IssueService;
@@ -9,7 +8,7 @@
98
109#[utoipa::path(
1110 get,
12 path = "/issues/{channel_id}/milestones",
11 path = "/issues/{space_name}/milestones",
1312 tag = "issues",
1413 params(ListMilestoneQuery),
1514 responses((status = 200, description = "List milestones")),
@@ -18,9 +17,12 @@
1817pub(crate) async fn handler(
1918 State(svc): State<IssueService>,
2019 AuthUser { claims }: AuthUser,
21 Path(channel_id): Path<Uuid>,
20 Path(space_name): Path<String>,
2221 Query(q): Query<ListMilestoneQuery>,
2322) -> IssueResult<AppResponseData<serde_json::Value>> {
23 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
24 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
25 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2426 let page = svc.list_milestones(claims.sub, channel_id, q).await?;
2527 Ok(AppResponseData::ok(serde_json::json!({
2628 "items": page.items,
Modified lib/issues/handler/milestone/update.rs lib/issues/handler/milestone/update.rs +5 −2 View lib/issues/handler/milestone/update.rs
@@ -9,7 +9,7 @@
99
1010#[utoipa::path(
1111 patch,
12 path = "/issues/{channel_id}/milestones/{milestone_id}",
12 path = "/issues/{space_name}/milestones/{milestone_id}",
1313 tag = "issues",
1414 request_body = AppRequestData<UpdateMilestoneOption>,
1515 responses((status = 200, description = "Update milestone", body = AppResponseData<MilestoneView>)),
@@ -18,9 +18,12 @@
1818pub(crate) async fn handler(
1919 State(svc): State<IssueService>,
2020 AuthUser { claims }: AuthUser,
21 Path((channel_id, milestone_id)): Path<(Uuid, Uuid)>,
21 Path((space_name, milestone_id)): Path<(String, Uuid)>,
2222 input: AppRequest<UpdateMilestoneOption>,
2323) -> IssueResult<AppResponseData<MilestoneView>> {
24 let space_id = space::features::lookup::lookup_space_by_name(&svc, &space_name).await?;
25 space::features::authz::require_active_member(&svc, claims.sub, space_id).await?;
26 let channel_id = crate::features::lookup::channel_for_space(&svc, space_id).await?;
2427 let view = svc
2528 .update_milestone(claims.sub, channel_id, milestone_id, input.into_inner())
2629 .await?;
Modified lib/issues/handler/routes.rs lib/issues/handler/routes.rs +34 −34 View lib/issues/handler/routes.rs
@@ -10,146 +10,146 @@
1010 let protected: Router<IssueService> = Router::new()
1111 .route("/issues", post(super::issues::create::handler))
1212 .route("/issues", get(super::issues::list::handler))
13 .route("/issues/{channel_id}", get(super::issues::get::handler))
14 .route("/issues/{channel_id}", patch(super::issues::update::handler))
13 .route("/issues/{space_name}", get(super::issues::get::handler))
14 .route("/issues/{space_name}", patch(super::issues::update::handler))
1515 .route(
16 "/issues/{channel_id}",
16 "/issues/{space_name}",
1717 delete(super::issues::delete::handler),
1818 )
19 .route("/issues/{channel_id}", post(super::issue::create::handler))
19 .route("/issues/{space_name}", post(super::issue::create::handler))
2020 .route(
21 "/issues/{channel_id}/{issue_id}",
21 "/issues/{space_name}/{issue_id}",
2222 get(super::issue::get::handler)
2323 .patch(super::issue::update::handler)
2424 .delete(super::issue::delete::handler),
2525 )
2626 .route(
27 "/issues/{channel_id}/{issue_id}/close",
27 "/issues/{space_name}/{issue_id}/close",
2828 post(super::issue::close::handler),
2929 )
3030 .route(
31 "/issues/{channel_id}/{issue_id}/comments",
31 "/issues/{space_name}/{issue_id}/comments",
3232 get(super::comment::list::handler).post(super::comment::create::handler),
3333 )
3434 .route(
35 "/issues/{channel_id}/{issue_id}/comments/{comment_id}",
35 "/issues/{space_name}/{issue_id}/comments/{comment_id}",
3636 get(super::comment::get::handler)
3737 .patch(super::comment::update::handler)
3838 .delete(super::comment::delete::handler),
3939 )
4040 .route(
41 "/issues/{channel_id}/labels",
41 "/issues/{space_name}/labels",
4242 get(super::label::list::handler).post(super::label::create::handler),
4343 )
4444 .route(
45 "/issues/{channel_id}/{issue_id}/labels",
45 "/issues/{space_name}/{issue_id}/labels",
4646 get(super::label::list_for_issue::handler),
4747 )
4848 .route(
49 "/issues/{channel_id}/{issue_id}/labels/{label_id}",
49 "/issues/{space_name}/{issue_id}/labels/{label_id}",
5050 post(super::label::bind::handler).delete(super::label::unbind::handler),
5151 )
5252 .route(
53 "/issues/{channel_id}/labels/{label_id}",
53 "/issues/{space_name}/labels/{label_id}",
5454 get(super::label::get::handler)
5555 .patch(super::label::update::handler)
5656 .delete(super::label::delete::handler),
5757 )
5858 .route(
59 "/issues/{channel_id}/milestones",
59 "/issues/{space_name}/milestones",
6060 get(super::milestone::list::handler).post(super::milestone::create::handler),
6161 )
6262 .route(
63 "/issues/{channel_id}/milestones/{milestone_id}",
63 "/issues/{space_name}/milestones/{milestone_id}",
6464 get(super::milestone::get::handler)
6565 .patch(super::milestone::update::handler)
6666 .delete(super::milestone::delete::handler),
6767 )
6868 .route(
69 "/issues/{channel_id}/{issue_id}/reactions",
69 "/issues/{space_name}/{issue_id}/reactions",
7070 post(super::issue_reaction::create::handler).get(super::issue_reaction::list::handler),
7171 )
7272 .route(
73 "/issues/{channel_id}/{issue_id}/comments/{comment_id}/reactions",
73 "/issues/{space_name}/{issue_id}/comments/{comment_id}/reactions",
7474 post(super::issue_reaction::create_comment::handler)
7575 .get(super::issue_reaction::list_comment::handler),
7676 )
7777 .route(
78 "/issues/{channel_id}/{issue_id}/reactions/{reaction_id}",
78 "/issues/{space_name}/{issue_id}/reactions/{reaction_id}",
7979 delete(super::issue_reaction::delete::handler),
8080 )
8181 .route(
82 "/issues/{channel_id}/{issue_id}/watch",
82 "/issues/{space_name}/{issue_id}/watch",
8383 get(super::issue_watch::get::handler)
8484 .put(super::issue_watch::upsert::handler)
8585 .delete(super::issue_watch::delete::handler),
8686 )
8787 .route(
88 "/issues/{channel_id}/{issue_id}/members",
88 "/issues/{space_name}/{issue_id}/members",
8989 get(super::issue_member::list::handler).post(super::issue_member::create::handler),
9090 )
9191 .route(
92 "/issues/{channel_id}/{issue_id}/members/{member_id}",
92 "/issues/{space_name}/{issue_id}/members/{member_id}",
9393 delete(super::issue_member::delete::handler),
9494 )
9595 .route(
96 "/issues/{channel_id}/pins",
96 "/issues/{space_name}/pins",
9797 get(super::issue_pin::list::handler).post(super::issue_pin::create::handler),
9898 )
9999 .route(
100 "/issues/{channel_id}/pins/{pin_id}",
100 "/issues/{space_name}/pins/{pin_id}",
101101 delete(super::issue_pin::delete::handler),
102102 )
103103 .route(
104 "/issues/{channel_id}/{issue_id}/repo_relations",
104 "/issues/{space_name}/{issue_id}/repo_relations",
105105 get(super::issue_repo_rel::list::handler).post(super::issue_repo_rel::create::handler),
106106 )
107107 .route(
108 "/issues/{channel_id}/{issue_id}/repo_relations/{rel_id}",
108 "/issues/{space_name}/{issue_id}/repo_relations/{rel_id}",
109109 delete(super::issue_repo_rel::delete::handler),
110110 )
111111 .route(
112 "/issues/{channel_id}/{issue_id}/users",
112 "/issues/{space_name}/{issue_id}/users",
113113 get(super::issue_user::list::handler),
114114 )
115115 .route(
116 "/issues/{channel_id}/{issue_id}/users/{uid}",
116 "/issues/{space_name}/{issue_id}/users/{uid}",
117117 patch(super::issue_user::update::handler),
118118 )
119119 .route(
120 "/issues/{channel_id}/{issue_id}/events",
120 "/issues/{space_name}/{issue_id}/events",
121121 get(super::issue_event::list::handler),
122122 )
123123 .route(
124 "/issues/{channel_id}/{issue_id}/dependencies",
124 "/issues/{space_name}/{issue_id}/dependencies",
125125 get(super::issue_dependency::list::handler)
126126 .post(super::issue_dependency::create::handler),
127127 )
128128 .route(
129 "/issues/{channel_id}/{issue_id}/dependencies/{dep_id}",
129 "/issues/{space_name}/{issue_id}/dependencies/{dep_id}",
130130 delete(super::issue_dependency::delete::handler),
131131 )
132132 .route(
133 "/issues/{channel_id}/{issue_id}/content_history",
133 "/issues/{space_name}/{issue_id}/content_history",
134134 get(super::issue_content_history::list::handler),
135135 )
136136 .route(
137 "/issues/{channel_id}/{issue_id}/stopwatch",
137 "/issues/{space_name}/{issue_id}/stopwatch",
138138 get(super::issue_stopwatch::get::handler)
139139 .post(super::issue_stopwatch::start::handler)
140140 .delete(super::issue_stopwatch::stop::handler),
141141 )
142142 .route(
143 "/issues/{channel_id}/{issue_id}/tracked_time",
143 "/issues/{space_name}/{issue_id}/tracked_time",
144144 get(super::issue_tracked_time::list::handler),
145145 )
146146 .route(
147 "/issues/{channel_id}/attachments/{owner_type}/{owner_id}",
147 "/issues/{space_name}/attachments/{owner_type}/{owner_id}",
148148 post(super::issue_attachment::upload::handler)
149149 .get(super::issue_attachment::list::handler),
150150 )
151151 .route(
152 "/issues/{channel_id}/attachments/{owner_type}/{owner_id}/{att_id}",
152 "/issues/{space_name}/attachments/{owner_type}/{owner_id}/{att_id}",
153153 delete(super::issue_attachment::delete::handler),
154154 )
155155 .layer(from_fn_with_state(
Added lib/issues/tests/issues/get.rs lib/issues/tests/issues/get.rs +10 −0 View lib/issues/tests/issues/get.rs
@@ -0,0 +1,10 @@
1use super::{ISSUE_ID, SPACE_NAME, expect_unauthorized};
2
3#[tokio::test]
4async fn get_issue_requires_auth() {
5 expect_unauthorized(
6 &format!("/issues/{SPACE_NAME}/{ISSUE_ID}"),
7 "GET",
8 )
9 .await;
10}
Added lib/issues/tests/issues/main.rs lib/issues/tests/issues/main.rs +84 −0 View lib/issues/tests/issues/main.rs
@@ -0,0 +1,84 @@
1//! HTTP integration tests for the issues endpoints.
2//!
3//! Each endpoint is exercised at the axum HTTP layer. Unauthenticated
4//! requests must be rejected with `401 Unauthorized` before any business
5//! logic runs (the acceptance criterion: 401/403 instead of a panic).
6//!
7//! The router requires a live Redis for `IssueService` construction; when
8//! Redis is unavailable the endpoint tests skip themselves.
9
10mod get;
11
12use std::sync::Arc;
13
14use axum::Router;
15use axum::body::Body;
16use cache::RedisCache;
17use config::cache::AppRedisSettings;
18use config::jwt::JwtSettings;
19use db::conn::Db;
20use db::conn::sea_orm::Database;
21use http::{Request, StatusCode};
22use issues::IssueService;
23use issues::handler::router as issues_router;
24use jwt::JwtState;
25use jwt::keys::SigningKeyCache;
26use tokio::sync::RwLock;
27use tower::util::ServiceExt;
28
29/// A syntactically valid issue UUID used in test URIs.
30pub(crate) const ISSUE_ID: &str = "11111111-1111-1111-1111-111111111111";
31/// A syntactically valid space name used in test URIs.
32pub(crate) const SPACE_NAME: &str = "test-space";
33
34/// Build the issues router, or `None` when Redis is not reachable
35/// (the tests then skip rather than fail).
36async fn try_router() -> Option<Router> {
37 let mut cfg = AppRedisSettings::default();
38 cfg.connection_timeout_ms = Some(300);
39 cfg.response_timeout_ms = Some(300);
40 let kv = match RedisCache::new(&cfg).await {
41 Ok(kv) => Arc::new(kv),
42 Err(e) => {
43 eprintln!("SKIP: redis unavailable, skipping issues http test: {e}");
44 return None;
45 }
46 };
47 let jwt = JwtState::new(
48 Database::connect("sqlite::memory:").await.unwrap(),
49 JwtSettings::default(),
50 Arc::new(RwLock::new(SigningKeyCache::new())),
51 );
52 let mut local = config::storage::LocalStorageSettings::default();
53 local.set_root_dir(std::env::temp_dir().join("issues-401-test"));
54 let mut settings = config::storage::StorageSettings::default();
55 settings.set_local(local);
56 let storage: Arc<dyn storage::StorageRepository> =
57 Arc::new(storage::local::LocalStorage::from_config(&settings).unwrap());
58 let svc = IssueService::new(
59 Db::from_connection(Database::connect("sqlite::memory:").await.unwrap()),
60 kv,
61 jwt,
62 storage,
63 );
64 Some(issues_router(svc))
65}
66
67/// Send an unauthenticated request and assert the endpoint is reachable and
68/// rejects the caller with 401 (no panic, no 500).
69pub(crate) async fn expect_unauthorized(uri: &str, method: &'static str) {
70 let Some(app) = try_router().await else {
71 return;
72 };
73 let request = Request::builder()
74 .method(method)
75 .uri(uri)
76 .body(Body::empty())
77 .unwrap();
78 let response = app.oneshot(request).await.unwrap();
79 assert_eq!(
80 response.status(),
81 StatusCode::UNAUTHORIZED,
82 "expected 401 for {method} {uri}"
83 );
84}
Modified lib/issues/Cargo.toml lib/issues/Cargo.toml +4 −1 View lib/issues/Cargo.toml
@@ -40,4 +40,7 @@
4040axum.workspace = true
4141axum-extra.workspace = true
4242bytes.workspace = true
43object_store = { workspace = true }
No newline at end of file
43object_store = { workspace = true }
44[dev-dependencies]
45http.workspace = true
46tower = "0.5"
Modified lib/issues/service.rs lib/issues/service.rs +6 −0 View lib/issues/service.rs
@@ -7,6 +7,12 @@
77
88use config::issues::{IssueConfig, SharedIssueConfig};
99
10impl space::SpaceDb for IssueService {
11 fn db(&self) -> &db::conn::Db {
12 &self.db
13 }
14}
15
1016#[derive(Clone)]
1117pub struct IssueService {
1218 pub db: Db,
Modified Cargo.lock Cargo.lock +2 −0 View Cargo.lock
@@ -4182,6 +4182,7 @@
41824182 "db",
41834183 "export",
41844184 "futures",
4185 "http",
41854186 "jwt",
41864187 "log",
41874188 "metrics",
@@ -4195,6 +4196,7 @@
41954196 "thiserror 2.0.19",
41964197 "time",
41974198 "tokio",
4199 "tower",
41984200 "tracing",
41994201 "utoipa",
42004202 "uuid",
Modified openapi.json openapi.json +1 −1 View openapi.json
@@ -1 +1 @@
1{"openapi":"3.1.0","info":{"title":"Untitled API","description":"Unified HTTP API for the untitled platform","license":{"name":""},"version":"1.94.0"},"paths":{"/api/v1/auth/agreements":{"get":{"tags":["auth"],"operationId":"handler","responses":{"200":{"description":"List of agreement documents (terms, privacy).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_AgreementDoc"}}}}}}},"/api/v1/auth/agreements/accept":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AcceptAgreementCmd"}}},"required":true},"responses":{"200":{"description":"Agreement acceptance recorded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_AcceptAgreementResp"}}}},"400":{"description":"Unknown agreement key or version mismatch.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"Missing or invalid access token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/auth/email/reclaim":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ReclaimCmd"}}},"required":true},"responses":{"200":{"description":"A Signup verification code was issued to the mailbox if the account is inactive; otherwise a constant-shaped no-op is returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReclaimResp"}}}},"400":{"description":"Validation / PoW failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/email/resend":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ResendCodeCmd"}}},"required":true},"responses":{"200":{"description":"New code issued (or silently no-op if the email is unknown).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ResendCodeResp"}}}},"400":{"description":"Validation / PoW failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/email/verify":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_VerifyCodeCmd"}}},"required":true},"responses":{"200":{"description":"Code verified; the verification-code row id is returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_VerifyCodeResult"}}}},"400":{"description":"Invalid code, missing temp_key cookie, or expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"Unauthorized.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/login":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_LoginCmd"}}},"required":true},"responses":{"200":{"description":"Authenticated. Returns access/refresh tokens and a public user view.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LoginResp"}}}},"400":{"description":"Validation / PoW failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"Invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"403":{"description":"Account forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/logout":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_LogoutCmd"}}},"required":true},"responses":{"200":{"description":"Refresh token revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LogoutResp"}}}},"401":{"description":"Invalid or expired refresh token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/me":{"get":{"tags":["auth"],"operationId":"handler","responses":{"200":{"description":"Authenticated user profile (full view, including privileged fields).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserMe"}}}},"401":{"description":"Missing or invalid access token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/auth/oauth/authorize":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AuthorizeCmd"}}},"required":true},"responses":{"200":{"description":"Authorization URL. The state-cookie carries the OAuth state value for the callback.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_AuthorizationUrlResp"}}}},"400":{"description":"Validation / PoW failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"Unknown provider.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/oauth/callback":{"get":{"tags":["auth"],"operationId":"handler","parameters":[{"name":"provider","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OAuthProvider"}},{"name":"code","in":"path","required":true,"schema":{"type":"string"}},{"name":"state","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OAuth login completed. Returns token pair and the resolved user_id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_OAuthLoginResp"}}}},"400":{"description":"Missing state cookie or invalid state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"OAuth flow rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/oauth/providers":{"get":{"tags":["auth"],"operationId":"handler","responses":{"200":{"description":"List of enabled OAuth providers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_OAuthProviderInfo"}}}}}}},"/api/v1/auth/password/forgot":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ForgotPasswordCmd"}}},"required":true},"responses":{"200":{"description":"Request accepted. The response shape is constant whether or not the email is known; the temp_key cookie carries the token for the subsequent reset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ForgotPasswordResp"}}}},"400":{"description":"Validation / PoW failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/password/reset":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ResetPasswordCmd"}}},"required":true},"responses":{"200":{"description":"Password updated; all sessions revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ResetPasswordResp"}}}},"400":{"description":"Missing temp_key cookie, weak password, or invalid token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"Unauthorized.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/pow/challenge":{"get":{"tags":["auth"],"operationId":"handler","responses":{"200":{"description":"A fresh PoW challenge bound to this client.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PowChallengeResp"}}}},"400":{"description":"PoW not configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/refresh":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RefreshCmd"}}},"required":true},"responses":{"200":{"description":"Rotated token pair.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RefreshResp"}}}},"401":{"description":"Invalid or expired refresh token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/register":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RegisterCmd"}}},"required":true},"responses":{"200":{"description":"Account created (possibly pending email verification).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RegisterResp"}}}},"400":{"description":"Validation / PoW failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"Email or username already taken.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/health/live":{"get":{"tags":["system"],"operationId":"liveness","responses":{"200":{"description":"Process is alive","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthStatus"}}}}}}},"/api/v1/health/ready":{"get":{"tags":["system"],"operationId":"readiness","responses":{"200":{"description":"Service is ready","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthStatus"}}}}}}},"/api/v1/issues":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"q","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List issue boards (collections)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_CollectionView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateCollectionOption"}}},"required":true},"responses":{"201":{"description":"Create an issue board (collection)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CollectionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"Default issue board OR issue list (when query.state/q/author_id/milestone_id is set)"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateIssueOption"}}},"required":true},"responses":{"201":{"description":"Create an issue in this channel's board","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_IssueView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete default issue board"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateCollectionOption"}}},"required":true},"responses":{"200":{"description":"Update default issue board","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CollectionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/attachments/{owner_type}/{owner_id}":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List attachments"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UploadAttachmentInput"}}},"required":true},"responses":{"201":{"description":"Upload attachment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_AttachmentView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/attachments/{owner_type}/{owner_id}/{att_id}":{"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete attachment"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/labels":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"q","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"is_archived","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List labels"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateLabelOption"}}},"required":true},"responses":{"201":{"description":"Create label","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LabelView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/labels/{label_id}":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"Get label","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LabelView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete label"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateLabelOption"}}},"required":true},"responses":{"200":{"description":"Update label","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LabelView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/milestones":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"is_closed","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"q","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List milestones"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateMilestoneOption"}}},"required":true},"responses":{"201":{"description":"Create milestone","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MilestoneView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/milestones/{milestone_id}":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"Get milestone","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MilestoneView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete milestone"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateMilestoneOption"}}},"required":true},"responses":{"200":{"description":"Update milestone","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MilestoneView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/pins":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"List pinned issues"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreatePinOption"}}},"required":true},"responses":{"201":{"description":"Pin issue","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PinView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/pins/{pin_id}":{"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Unpin issue"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"Get issue","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_IssueView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete issue"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateIssueOption"}}},"required":true},"responses":{"200":{"description":"Update issue","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_IssueView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/close":{"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CloseIssueOption"}}},"required":true},"responses":{"200":{"description":"Open/close issue","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_IssueView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/comments":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"parent_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List comments"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateCommentOption"}}},"required":true},"responses":{"201":{"description":"Create comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommentView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/comments/{comment_id}":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"Get comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommentView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete comment"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateCommentOption"}}},"required":true},"responses":{"200":{"description":"Update comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommentView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/comments/{comment_id}/reactions":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"List comment reactions"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateReactionOption"}}},"required":true},"responses":{"201":{"description":"React to comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReactionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/content_history":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List content history"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/dependencies":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"List dependencies"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateDependencyOption"}}},"required":true},"responses":{"201":{"description":"Create dependency","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DependencyView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/dependencies/{dep_id}":{"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete dependency"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/events":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List issue events"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/labels":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"List labels for issue"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/labels/{label_id}":{"post":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Bind label to issue"}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Unbind label from issue"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/members":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"kind","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List members"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateMemberOption"}}},"required":true},"responses":{"201":{"description":"Create member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MemberView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/members/{member_id}":{"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete member"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/reactions":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"List issue reactions"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateReactionOption"}}},"required":true},"responses":{"201":{"description":"React to issue","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReactionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/reactions/{reaction_id}":{"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete reaction"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/repo_relations":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"List repo relations"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateRepoRelOption"}}},"required":true},"responses":{"201":{"description":"Link repo to issue","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoRelView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/repo_relations/{rel_id}":{"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Unlink repo from issue"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/stopwatch":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"Get my stopwatch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_StopwatchView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","responses":{"201":{"description":"Start stopwatch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_StopwatchView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Stop stopwatch"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/tracked_time":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List tracked time"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/users":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"List issue users"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/users/{uid}":{"patch":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateIssueUserOption"}}},"required":true},"responses":{"200":{"description":"Update issue user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_IssueUserView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{channel_id}/{issue_id}/watch":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"Get my watch state","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_WatchView"}}}}},"security":[{"bearer_auth":[]}]},"put":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpsertWatchOption"}}},"required":true},"responses":{"200":{"description":"Upsert watch state","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_WatchView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete watch state"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"owner_user_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"is_private","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"is_archived","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"q","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List repositories","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateRepoOption"}}},"required":true},"responses":{"201":{"description":"Create a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/search":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"q","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"topic","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"include_desc","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"uid","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"priority_owner_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"team_id","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"starred_by","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"private","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"is_private","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"template","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"archived","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"mode","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"exclusive","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"sort","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"order","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"Search repositories","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SearchResults"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a repository"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateRepoOption"}}},"required":true},"responses":{"200":{"description":"Update a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/archive":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ArchiveRepoOption"}}},"required":true},"responses":{"200":{"description":"Archive / unarchive a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/archive/{archive_format}/{ref_name}":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"format","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"ref_name","in":"path","required":true,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Download an archive"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/assignees/{assignee}":{"get":{"tags":["repo"],"operationId":"check_handler","responses":{"204":{"description":"User is a valid assignee"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/avatar":{"post":{"tags":["repo"],"operationId":"post_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateAvatarOption"}}},"required":true},"responses":{"204":{"description":"Update repo avatar"}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"delete_handler","responses":{"204":{"description":"Delete repo avatar"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/branch_protections":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List branch protections","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchProtectionPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateBranchProtectionOption"}}},"required":true},"responses":{"201":{"description":"Create a branch protection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchProtectionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/branch_protections/priority":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateBranchProtectionPriorities"}}},"required":true},"responses":{"204":{"description":"Update branch protection priorities"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/branch_protections/{policy_id}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a branch protection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchProtectionView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a branch protection"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_EditBranchProtectionOption"}}},"required":true},"responses":{"200":{"description":"Edit a branch protection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchProtectionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/branches":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"keyword","in":"path","required":true,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"List branches","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateBranchOption"}}},"required":true},"responses":{"201":{"description":"Create a branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/branches/{branch_name}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchView"}}}}},"security":[{"bearer_auth":[]}]},"put":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateBranchOption"}}},"required":true},"responses":{"200":{"description":"Update a branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a branch"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/branches/{branch_name}/rename":{"patch":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RenameBranchOption"}}},"required":true},"responses":{"200":{"description":"Rename a branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/collaborators":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List collaborators","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CollaboratorPage"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/collaborators/{user_id}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"User is a collaborator"}},"security":[{"bearer_auth":[]}]},"put":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AddCollaboratorOption"}}},"required":true},"responses":{"204":{"description":"Add or update a collaborator"}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Remove a collaborator"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/collaborators/{user_id}/permission":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get collaborator permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoCollaboratorPermission"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/commits":{"get":{"tags":["repo"],"operationId":"list_handler","parameters":[{"name":"sha","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"path","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"since","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"until","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"stat","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"verification","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"files","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"not","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List commits","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommitsResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/commits/{ref}/status":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get combined status by ref","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CombinedStatusView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/commits/{ref}/statuses":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"sort","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"state","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List commit statuses by ref","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommitStatusPage"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/compare/{base}...{head}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Compare two refs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CompareView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/contents":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"List contents at root","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ContentsListResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/contents-ext":{"get":{"tags":["repo"],"operationId":"list_handler","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"List contents (ext form)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentsExtResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/contents-ext/{path:path}":{"get":{"tags":["repo"],"operationId":"get_handler","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Get contents (ext form)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentsExtResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/contents/change":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ChangeFilesOptions"}}},"required":true},"responses":{"200":{"description":"Multi-file change","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ContentsListResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/contents/{path}":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Get a file or directory","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ContentsResponse"}}}}},"security":[{"bearer_auth":[]}]},"put":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateFileOption"}}},"required":true},"responses":{"200":{"description":"Update a file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ContentsResponse"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateFileOption"}}},"required":true},"responses":{"201":{"description":"Create a file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ContentsResponse"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_DeleteFileOption"}}},"required":true},"responses":{"204":{"description":"Delete a file"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/diffpatch":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ApplyDiffPatchFileOptions"}}},"required":true},"responses":{"200":{"description":"Apply a diff patch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ContentsResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/editorconfig/{filename:path}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get EditorConfig","content":{"text/plain":{}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/file-contents":{"get":{"tags":["repo"],"operationId":"get_handler","responses":{"200":{"description":"Batch read files","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_FilesResponse"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"post_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_Vec_String"}}},"required":true},"responses":{"200":{"description":"Batch read files","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_FileDeleteResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/forks":{"get":{"tags":["repo"],"operationId":"list_handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List forks","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ForksResponse"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ForkRepoOption"}}},"required":true},"responses":{"201":{"description":"Fork a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/generate":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_GenerateRepoOption"}}},"required":true},"responses":{"201":{"description":"Generate a repository from template","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/blobs/{sha}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a blob","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BlobView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/commits/diff/{sha}":{"get":{"tags":["repo"],"operationId":"diff_handler","responses":{"200":{"description":"Get commit diff or patch","content":{"text/plain":{}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/commits/{sha}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a commit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommitView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/commits/{sha}.{diff_type}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get commit diff or patch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitDiffPayload"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/notes/{sha}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a note","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_NoteView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/refs":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List git refs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_GitRef"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/refs/{filter}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Filter git refs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_GitRef"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/tags/{sha}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get an annotated tag","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommitView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/trees/{sha}":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"recursive","in":"path","required":true,"schema":{"type":["boolean","null"]}}],"responses":{"200":{"description":"Get a tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TreeView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/issue_config":{"get":{"tags":["repo"],"operationId":"get_handler","responses":{"200":{"description":"Get issue config","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_IssueConfig"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/issue_config/validate":{"get":{"tags":["repo"],"operationId":"validate_handler","responses":{"200":{"description":"Validate issue config","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_IssueConfigValidation"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/issue_templates":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List issue templates","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_IssueTemplate"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/keys":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"fingerprint","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List deploy keys","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DeployKeyPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateDeployKeyOption"}}},"required":true},"responses":{"201":{"description":"Create a deploy key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DeployKeyView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/keys/{key_id}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a deploy key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DeployKeyView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a deploy key"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/languages":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get repo language stats","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LanguagesResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/licenses":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List detected licenses","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LicensesResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/media/{filepath:path}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get media (raw or LFS pointer)","content":{"application/octet-stream":{}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/merge-upstream":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_MergeUpstreamRequest"}}},"required":true},"responses":{"200":{"description":"Merge upstream","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MergeUpstreamResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/new_pin_allowed":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Whether new issue pins are allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_NewPinAllowedResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"state","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"keyword","in":"path","required":true,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"List pull requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreatePullRequestOption"}}},"required":true},"responses":{"201":{"description":"Create a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestView"}}}}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdatePullRequestOption"}}},"required":true},"responses":{"200":{"description":"Update a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/close":{"post":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Close a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/comments":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List pull request comments","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_PullRequestCommentView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreatePullRequestCommentOption"}}},"required":true},"responses":{"201":{"description":"Create a pull request comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestCommentView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/events":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List pull request events","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_PullRequestEventView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/lock":{"post":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Lock a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/merge":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_MergePullRequestOption"}}},"required":true},"responses":{"200":{"description":"Merge a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MergeView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/reopen":{"post":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Reopen a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/reviews":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List pull request reviews","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_PullRequestReviewView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_SubmitPullRequestReviewOption"}}},"required":true},"responses":{"201":{"description":"Submit a pull request review","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestReviewView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/unlock":{"post":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Unlock a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/raw/{filepath:path}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get raw file content","content":{"application/octet-stream":{}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/releases":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"draft","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"prerelease","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List releases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleasePage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateReleaseOption"}}},"required":true},"responses":{"201":{"description":"Create a release","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleaseView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/releases/latest":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get the latest release","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleaseView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/releases/tags/{tag}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a release by tag","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleaseView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a release by tag"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/releases/{release_id}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a release","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleaseView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a release"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_EditReleaseOption"}}},"required":true},"responses":{"200":{"description":"Edit a release","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleaseView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/releases/{release_id}/assets":{"get":{"tags":["repo"],"operationId":"list_handler","responses":{"200":{"description":"List release attachments","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleaseAttachmentListResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/releases/{release_id}/assets/{attachment_id}":{"get":{"tags":["repo"],"operationId":"get_handler","responses":{"200":{"description":"Get a release attachment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleaseAttachmentView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/rename":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RenameRepoOption"}}},"required":true},"responses":{"200":{"description":"Rename a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/reviewers":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List reviewers","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_UserMini"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/signing-key.gpg":{"get":{"tags":["repo"],"operationId":"gpg_handler","responses":{"200":{"description":"GPG signing key","content":{"text/plain":{}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/signing-key.pub":{"get":{"tags":["repo"],"operationId":"ssh_handler","responses":{"200":{"description":"SSH signing key","content":{"text/plain":{}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/stargazers":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List stargazers","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_UserMini"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/statuses/{sha}":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"sort","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"state","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List commit statuses","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommitStatusPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateStatusOption"}}},"required":true},"responses":{"201":{"description":"Create a commit status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommitStatusView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/subscribers":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List subscribers","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SubscriberPage"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/subscription":{"get":{"tags":["repo"],"operationId":"get_handler","responses":{"200":{"description":"Get current user's subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Subscription"}}}}},"security":[{"bearer_auth":[]}]},"put":{"tags":["repo"],"operationId":"put_handler","responses":{"204":{"description":"Watch the repo"}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"delete_handler","responses":{"204":{"description":"Unwatch the repo"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/sync":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get repo metadata sync status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SyncStatus"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/sync/run":{"post":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Trigger a metadata sync","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SyncResult"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/tag_protections":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List tag protections","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TagProtectionPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateTagProtectionOption"}}},"required":true},"responses":{"201":{"description":"Create a tag protection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TagProtectionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/tag_protections/{policy_id}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a tag protection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TagProtectionView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a tag protection"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_EditTagProtectionOption"}}},"required":true},"responses":{"200":{"description":"Edit a tag protection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TagProtectionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/tags":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List tags","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TagPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateTagOption"}}},"required":true},"responses":{"201":{"description":"Create a tag","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TagView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/tags/{tag_name}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a tag","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TagView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a tag"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/topics":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List repo topics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TopicList"}}}}},"security":[{"bearer_auth":[]}]},"put":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RepoTopicOptions"}}},"required":true},"responses":{"204":{"description":"Replace repo topics"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/topics/{topic}":{"put":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Add a topic"}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Remove a topic"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/transfer":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_TransferRepoOption"}}},"required":true},"responses":{"200":{"description":"Transfer a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repositories/{id}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a repository by id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoSummary"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces":{"get":{"tags":["space"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List spaces owned by the caller","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpacePage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateSpaceCmd"}}},"required":true},"responses":{"200":{"description":"Create a new space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/invites/accept":{"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AcceptInviteCmd"}}},"required":true},"responses":{"200":{"description":"Accept an invite"}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}":{"get":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Get a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceView"}}}}}},"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Delete a space"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateSpaceCmd"}}},"required":true},"responses":{"200":{"description":"Update a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/bans":{"get":{"tags":["space"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List bans in a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceBanPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateBanCmd"}}},"required":true},"responses":{"200":{"description":"Ban a user from a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceBanView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/bans/{uid}":{"get":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Get a ban","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceBanView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Unban a user from a space"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateBanCmd"}}},"required":true},"responses":{"200":{"description":"Update a ban","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceBanView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/channels":{"get":{"tags":["space"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List channels in a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ChannelPage"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/channels/{cid}":{"get":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Get a channel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ChannelView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/channels/{cid}/overwrites/roles":{"get":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"List role overwrites","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_RoleOverwriteView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_SetRoleOverwriteCmd"}}},"required":true},"responses":{"200":{"description":"Set a role overwrite","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RoleOverwriteView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/channels/{cid}/overwrites/roles/{rid}":{"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Remove a role overwrite"}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/channels/{cid}/overwrites/users":{"get":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"List user overwrites","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_UserOverwriteView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_SetUserOverwriteCmd"}}},"required":true},"responses":{"200":{"description":"Set a user overwrite","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserOverwriteView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/channels/{cid}/overwrites/users/{uid}":{"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Remove a user overwrite"}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/invites":{"get":{"tags":["space"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List invites","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceInvitePage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateInviteCmd"}}},"required":true},"responses":{"200":{"description":"Create an invite","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceInviteView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/invites/{iid}":{"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Revoke an invite","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceInviteView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/members":{"get":{"tags":["space"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List members of a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceMemberPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AddMemberCmd"}}},"required":true},"responses":{"200":{"description":"Add a member to a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceMemberView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/members/{uid}":{"get":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Get a space member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceMemberView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Remove a member from a space"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateMemberCmd"}}},"required":true},"responses":{"200":{"description":"Update a space member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceMemberView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/members/{uid}/roles":{"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AssignRoleCmd"}}},"required":true},"responses":{"200":{"description":"Assign a role to a member"}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/members/{uid}/roles/{rid}":{"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Unassign a role from a member"}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/roles":{"get":{"tags":["space"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List roles in a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RolePage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateRoleCmd"}}},"required":true},"responses":{"200":{"description":"Create a role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RoleView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/roles/{rid}":{"get":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Get a role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RoleView"}}}}}},"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Delete a role"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateRoleCmd"}}},"required":true},"responses":{"200":{"description":"Update a role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RoleView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"List projects","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ProjectPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateProjectCmd"}}},"required":true},"responses":{"201":{"description":"Create a project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ProjectView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"Get a project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ProjectView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["project"],"operationId":"handler","responses":{"204":{"description":"Delete a project"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateProjectCmd"}}},"required":true},"responses":{"200":{"description":"Update a project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ProjectView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/activities":{"get":{"tags":["project"],"operationId":"handler","parameters":[{"name":"verb","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"per_page","in":"path","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"List activities","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ActivityPage"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/documents":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"List documents","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DocumentPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateDocumentCmd"}}},"required":true},"responses":{"201":{"description":"Create a document","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DocumentView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/documents/{doc_id}":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"Get a document","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DocumentView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["project"],"operationId":"handler","responses":{"204":{"description":"Delete a document"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateDocumentCmd"}}},"required":true},"responses":{"200":{"description":"Update a document","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DocumentView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/favorites":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"List favorites","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_FavoritePage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AddFavoriteCmd"}}},"required":true},"responses":{"201":{"description":"Add a favorite","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_FavoriteView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/favorites/{favorite_id}":{"delete":{"tags":["project"],"operationId":"handler","responses":{"204":{"description":"Remove a favorite"}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/links":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"List links","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LinkPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AddLinkCmd"}}},"required":true},"responses":{"201":{"description":"Add a link","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LinkView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/links/{link_id}":{"delete":{"tags":["project"],"operationId":"handler","responses":{"204":{"description":"Remove a link"}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/members":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"List members","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MemberPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AddMemberCmd"}}},"required":true},"responses":{"201":{"description":"Add a member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MemberView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/members/{user_id}":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"Get a member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MemberView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["project"],"operationId":"handler","responses":{"204":{"description":"Remove a member"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateMemberCmd"}}},"required":true},"responses":{"200":{"description":"Update a member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MemberView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/views":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"List views","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ViewPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateViewCmd"}}},"required":true},"responses":{"201":{"description":"Create a view","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ViewView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/views/{view_id}":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"Get a view","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ViewView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["project"],"operationId":"handler","responses":{"204":{"description":"Delete a view"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateViewCmd"}}},"required":true},"responses":{"200":{"description":"Update a view","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ViewView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/topics/search":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"q","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"Search topics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TopicSearchResult"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/admin/deletions":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"List pending and scheduled deletion requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_DeletionRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/admin/deletions/{id}/complete":{"post":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Deletion request id.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Deletion completed; sessions revoked."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/admin/suspensions":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"include_revoked","in":"query","description":"Include revoked suspensions (default false).","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"All suspensions (admin view).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_SuspensionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/admin/suspensions/{id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Suspension id.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RevokeSuspensionCmd"}}},"required":true},"responses":{"204":{"description":"Suspension revoked."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/admin/users/{uid}/profile":{"patch":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateProfileCmd"}}},"required":true},"responses":{"200":{"description":"Admin-updated profile.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserMe"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/admin/users/{uid}/suspensions":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"include_revoked","in":"query","description":"Include revoked suspensions (default false).","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Suspensions for the given user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_SuspensionView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_SuspendCmd"}}},"required":true},"responses":{"200":{"description":"Suspension created (also sets users.is_restricted = true).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SuspensionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Authenticated user profile (privileged view).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserMe"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/access-keys":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"List access keys for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_AccessKeyView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateAccessKeyCmd"}}},"required":true},"responses":{"200":{"description":"Access key created (token returned only once).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CreateAccessKeyResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/access-keys/{id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Access key identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Access key deleted."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/avatar":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Current avatar metadata (200 with empty body if none).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Option_AvatarView"}}}}},"security":[{"bearer_auth":[]}]},"put":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UploadAvatarCmd"}}},"required":true},"responses":{"200":{"description":"Avatar uploaded and bound to caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_AvatarView"}}}},"400":{"description":"Invalid content_type or base64 payload."}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["user"],"operationId":"handler","responses":{"204":{"description":"Avatar removed."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/blocks":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"limit","in":"query","description":"Maximum items (default 20).","required":false,"schema":{"type":"integer","minimum":0}},{"name":"cursor","in":"query","description":"Pagination cursor (id).","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Page of blocked users.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_BlockedSummary"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/blocks/{uid}":{"post":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Block succeeded (idempotent; also unfollows both directions)."},"404":{"description":"Target user not found."}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Unblock succeeded."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/deletion":{"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RequestDeletionCmd"}}},"required":true},"responses":{"200":{"description":"Deletion request created or returned (idempotent).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DeletionRequestView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["user"],"operationId":"handler","responses":{"204":{"description":"Active deletion request cancelled."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/deletion/confirm":{"post":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Deletion request scheduled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DeletionRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/devices":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"List devices registered to the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_DeviceView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/devices/{id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Device identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Device removed."}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Device identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateDeviceCmd"}}},"required":true},"responses":{"200":{"description":"Device updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DeviceView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/email-change":{"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RequestChangeBody"}}},"required":true},"responses":{"200":{"description":"Email change ticket created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_EmailChangeTicketView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/email-change/confirm":{"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ConfirmEmailChangeCmd"}}},"required":true},"responses":{"200":{"description":"Ticket status advanced.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_EmailChangeTicketView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/email-change/{ticket_id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"ticket_id","in":"path","description":"Ticket identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Ticket cancelled."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/emails":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"List active emails for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_EmailView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AddEmailCmd"}}},"required":true},"responses":{"200":{"description":"Email added (unverified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_AddEmailResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/emails/{email_id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"email_id","in":"path","description":"Email identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Email soft-deleted."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/emails/{email_id}/primary":{"patch":{"tags":["user"],"operationId":"handler","parameters":[{"name":"email_id","in":"path","description":"Email identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Primary email changed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SetPrimaryEmailResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/memes":{"get":{"tags":["user"],"operationId":"list_handler","parameters":[{"name":"limit","in":"query","description":"Maximum items (default 20).","required":false,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"List the caller's favorite memes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_MemeView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["user"],"operationId":"create_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpsertMemeCmd"}}},"required":true},"responses":{"200":{"description":"Meme created or updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MemeView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/memes/{id}":{"delete":{"tags":["user"],"operationId":"delete_handler","parameters":[{"name":"id","in":"path","description":"Meme identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Meme deleted."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/messages/saved":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Saved messages for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_SavedMessageView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_SaveMessageCmd"}}},"required":true},"responses":{"200":{"description":"Message saved (idempotent).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SavedMessageView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/messages/saved/{message_id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"message_id","in":"path","description":"Message identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Message removed from saved list."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/messages/scheduled":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Scheduled messages for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_ScheduledMessageView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/messages/scheduled/{id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Scheduled message identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Scheduled message cancelled."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/notifications":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"unread_only","in":"query","description":"Only return unread notifications.","required":false,"schema":{"type":"boolean"}},{"name":"notification_type","in":"query","description":"Filter by notification type.","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Maximum items (default 20).","required":false,"schema":{"type":"integer","minimum":0}},{"name":"cursor","in":"query","description":"Pagination cursor (id).","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Notifications for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_NotificationView"}}}}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_MarkReadCmd"}}},"required":true},"responses":{"200":{"description":"Notifications marked as read.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MarkReadResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/notifications/mark-all-read":{"post":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"All notifications marked as read.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MarkAllReadResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/notifications/unread-count":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Number of unread notifications for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UnreadCountResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/preferences":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"User preferences (auto-created if missing).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserPreferences"}}}}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdatePreferencesCmd"}}},"required":true},"responses":{"200":{"description":"Updated preferences.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserPreferences"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/profile":{"patch":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateProfileCmd"}}},"required":true},"responses":{"200":{"description":"Updated self profile.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserMe"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/push-subscriptions":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"List push subscriptions for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_PushSubscriptionView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpsertPushCmd"}}},"required":true},"responses":{"200":{"description":"Push subscription upserted (endpoint-keyed).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PushSubscriptionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/push-subscriptions/{id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Push subscription id.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Push subscription deleted."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/recent-mentions":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"limit","in":"query","description":"Maximum items (default 20).","required":false,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"Recent mentions for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_RecentMentionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/recovery-codes":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"List recovery codes for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_RecoveryCodeView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/recovery-codes/regenerate":{"post":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Recovery codes regenerated (plaintext returned once).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RegenerateRecoveryResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/reports":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Reports submitted by the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_ReportView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/sessions":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"app_id","in":"query","description":"Filter by app id.","required":false,"schema":{"type":"string"}},{"name":"include_revoked","in":"query","description":"Include revoked sessions (default false).","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"List active sessions for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_SessionView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"All sessions revoked for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RevokeAllResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/sessions/{id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Session identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Session revoked."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/ssh-keys":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"List SSH keys for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_SshKeyView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AddSshKeyCmd"}}},"required":true},"responses":{"200":{"description":"SSH key added.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SshKeyView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/ssh-keys/{id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"SSH key identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"SSH key deleted."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/suspensions":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Active suspensions affecting the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_SuspensionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/reports":{"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_SubmitReportCmd"}}},"required":true},"responses":{"200":{"description":"Report submitted (status = Open).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReportView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/users/{uid}":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"User identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Public view of the user (visibility-filtered).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserPublic"}}}},"404":{"description":"User not found."}}}},"/api/v1/user/users/{uid}/follow":{"post":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Follow succeeded (idempotent)."},"404":{"description":"Target user not found."}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Unfollow succeeded."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/users/{uid}/followers":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","description":"Maximum items (default 20).","required":false,"schema":{"type":"integer","minimum":0}},{"name":"cursor","in":"query","description":"Pagination cursor (id).","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Page of followers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_FollowerSummary"}}}}}}},"/api/v1/user/users/{uid}/following":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","description":"Maximum items (default 20).","required":false,"schema":{"type":"integer","minimum":0}},{"name":"cursor","in":"query","description":"Pagination cursor (id).","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Page of accounts the user follows.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_FollowerSummary"}}}}}}},"/api/v1/user/users/{uid}/profile-detail":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"User identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Extended profile record.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ProfileView"}}}},"404":{"description":"Profile not found."}}}}},"components":{"schemas":{"AcceptAgreementCmd":{"type":"object","required":["user_id","agreement_key","agreement_version"],"properties":{"agreement_key":{"type":"string"},"agreement_version":{"type":"string"},"user_id":{"type":"string"}}},"AcceptAgreementResp":{"type":"object","required":["recorded"],"properties":{"recorded":{"type":"boolean"}}},"AcceptInviteCmd":{"type":"object","required":["accept_code"],"properties":{"accept_code":{"type":"string"}}},"AccessKeyScope":{"type":"string","enum":["read","write","repo","admin","all"]},"AccessKeyView":{"type":"object","required":["id","name","token_last_eight","scope","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"scope":{"$ref":"#/components/schemas/AccessKeyScope"},"token_last_eight":{"type":"string"},"updated_at":{"type":"string"}}},"ActivityPage":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ActivityView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"ActivityView":{"type":"object","required":["id","project_id","actor_id","verb","target_kind","created_at"],"properties":{"actor_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"payload":{},"project_id":{"type":"string","format":"uuid"},"target_id":{"type":["string","null"],"format":"uuid"},"target_kind":{"type":"string"},"verb":{"type":"string"}}},"AddCollaboratorOption":{"type":"object","required":["permission"],"properties":{"permission":{"type":"string"}}},"AddEmailCmd":{"type":"object","required":["email"],"properties":{"email":{"type":"string"}}},"AddEmailResp":{"type":"object","required":["email_id"],"properties":{"email_id":{"type":"string","format":"uuid"}}},"AddFavoriteCmd":{"type":"object","properties":{"folder":{"type":["string","null"]}}},"AddLinkCmd":{"type":"object","required":["related_project_id","kind"],"properties":{"kind":{"$ref":"#/components/schemas/LinkKind"},"related_project_id":{"type":"string","format":"uuid"}}},"AddMemberCmd":{"type":"object","required":["user_id"],"properties":{"role":{"$ref":"#/components/schemas/MemberRole"},"user_id":{"type":"string","format":"uuid"}}},"AddSshKeyCmd":{"type":"object","required":["name","content"],"properties":{"content":{"type":"string"},"key_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SshKeyType"}]},"name":{"type":"string"}}},"AgreementDoc":{"type":"object","required":["key","version","updated_at","title","content_md"],"properties":{"content_md":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":"string"},"version":{"type":"string"}}},"AppRequestData_AcceptAgreementCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["user_id","agreement_key","agreement_version"],"properties":{"agreement_key":{"type":"string"},"agreement_version":{"type":"string"},"user_id":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_AcceptInviteCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["accept_code"],"properties":{"accept_code":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_AddCollaboratorOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["permission"],"properties":{"permission":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_AddEmailCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["email"],"properties":{"email":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_AddFavoriteCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"folder":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_AddLinkCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["related_project_id","kind"],"properties":{"kind":{"$ref":"#/components/schemas/LinkKind"},"related_project_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_AddMemberCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["user_id"],"properties":{"role":{"$ref":"#/components/schemas/MemberRole"},"user_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_AddSshKeyCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name","content"],"properties":{"content":{"type":"string"},"key_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SshKeyType"}]},"name":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_ApplyDiffPatchFileOptions":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["content"],"properties":{"content":{"type":"string"},"sha":{"type":["string","null"]}}}]},"request_id":{"type":"string"}}},"AppRequestData_ArchiveRepoOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["archived"],"properties":{"archived":{"type":"boolean"}}},"request_id":{"type":"string"}}},"AppRequestData_AssignRoleCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["role_id"],"properties":{"role_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_AuthorizeCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["provider","code_verifier"],"properties":{"app_id":{"type":["string","null"]},"code_verifier":{"type":"string"},"provider":{"$ref":"#/components/schemas/OAuthProvider"}}},"request_id":{"type":"string"}}},"AppRequestData_ChangeFilesOptions":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"$ref":"#/components/schemas/ChangeFileEntry"}}}}]},"request_id":{"type":"string"}}},"AppRequestData_CloseIssueOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["closed"],"properties":{"closed":{"type":"boolean"}}},"request_id":{"type":"string"}}},"AppRequestData_ConfirmEmailChangeCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["ticket_id"],"properties":{"ticket_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateAccessKeyCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name","scope"],"properties":{"name":{"type":"string"},"scope":{"$ref":"#/components/schemas/AccessKeyScope"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateBanCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["user_id"],"properties":{"allow_agent_join":{"type":["boolean","null"]},"allow_comment_any":{"type":["boolean","null"]},"allow_push_repo":{"type":["boolean","null"]},"allow_speak":{"type":["boolean","null"]},"expires_at":{"type":["string","null"]},"reason":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateBranchOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["new_branch_name"],"properties":{"new_branch_name":{"type":"string"},"old_branch_name":{"type":["string","null"]},"old_ref_name":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreateBranchProtectionOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["branch_name"],"properties":{"approvals_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"approvals_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"block_admin_merge_override":{"type":["boolean","null"]},"block_on_change_requested_reviews":{"type":["boolean","null"]},"block_on_outdated_branch":{"type":["boolean","null"]},"block_on_rejected_reviews":{"type":["boolean","null"]},"branch_name":{"type":"string"},"branch_pattern":{"type":["string","null"]},"bypass_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"bypass_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"dismiss_stale_approvals":{"type":["boolean","null"]},"enable_approvals_whitelist":{"type":["boolean","null"]},"enable_bypass_allowlist":{"type":["boolean","null"]},"enable_force_push":{"type":["boolean","null"]},"enable_force_push_allowlist":{"type":["boolean","null"]},"enable_merge_whitelist":{"type":["boolean","null"]},"enable_push":{"type":["boolean","null"]},"enable_push_whitelist":{"type":["boolean","null"]},"force_push_allowlist_deploy_keys":{"type":["boolean","null"]},"force_push_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"force_push_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"ignore_stale_approvals":{"type":["boolean","null"]},"merge_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"merge_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"priority":{"type":["integer","null"],"format":"int64"},"protected_file_patterns":{"type":["string","null"]},"push_whitelist_deploy_keys":{"type":["boolean","null"]},"push_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"push_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"require_signed_commits":{"type":["boolean","null"]},"required_approvals":{"type":["integer","null"],"format":"int32"},"rule_name":{"type":["string","null"]},"unprotected_file_patterns":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreateCollectionOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["space_id","name"],"properties":{"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"name":{"type":"string"},"parent_dir":{"type":["string","null"],"format":"uuid"},"space_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateCommentOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["content"],"properties":{"content":{"type":"string"},"parent_id":{"type":["string","null"],"format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateDependencyOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["dependency_id"],"properties":{"dependency_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateDeployKeyOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["title","key"],"properties":{"key":{"type":"string"},"read_only":{"type":["boolean","null"]},"title":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateDocumentCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["title","slug"],"properties":{"content":{"type":"string"},"icon":{"type":["string","null"]},"parent_id":{"type":["string","null"],"format":"uuid"},"slug":{"type":"string"},"title":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateFileOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["content"],"properties":{"content":{"type":"string"}}}]},"request_id":{"type":"string"}}},"AppRequestData_CreateInviteCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["role_ids"],"properties":{"email":{"type":["string","null"]},"expires_at":{"type":["string","null"]},"role_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"user_id":{"type":["string","null"],"format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateIssueOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["title","body"],"properties":{"body":{"type":"string"},"description":{"type":["string","null"]},"milestone_id":{"type":["string","null"],"format":"uuid"},"title":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateLabelOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name","color"],"properties":{"color":{"type":"string"},"description":{"type":["string","null"]},"exclusive":{"type":["boolean","null"]},"exclusive_order":{"type":["integer","null"],"format":"int32"},"name":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateMemberOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["user_id","kind"],"properties":{"kind":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateMilestoneOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name"],"properties":{"description":{"type":["string","null"]},"due_at":{"type":["string","null"]},"name":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreatePinOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["issue_id","pin_order"],"properties":{"issue_id":{"type":"string","format":"uuid"},"pin_order":{"type":"integer","format":"int32"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateProjectCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["space_id","name"],"properties":{"color":{"type":["string","null"]},"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"lead_id":{"type":["string","null"],"format":"uuid"},"name":{"type":"string"},"parent_dir":{"type":["string","null"],"format":"uuid"},"space_id":{"type":"string","format":"uuid"},"target_date":{"type":["string","null"],"format":"date"}}},"request_id":{"type":"string"}}},"AppRequestData_CreatePullRequestCommentOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["body"],"properties":{"body":{"type":"string"},"commit_sha":{"type":["string","null"]},"line":{"type":["integer","null"],"format":"int32"},"path":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreatePullRequestOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["title","head","base"],"properties":{"base":{"type":"string"},"body":{"type":["string","null"]},"head":{"type":"string"},"title":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateReactionOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["emoji"],"properties":{"emoji":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateReleaseOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["tag_name","title"],"properties":{"content":{"type":["string","null"]},"is_draft":{"type":["boolean","null"]},"is_prerelease":{"type":["boolean","null"]},"tag_message":{"type":["string","null"]},"tag_name":{"type":"string"},"target":{"type":["string","null"]},"title":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateRepoOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["space_id","name"],"properties":{"auto_init":{"type":["boolean","null"]},"default_branch":{"type":["string","null"]},"description":{"type":["string","null"]},"enable_lfs":{"type":["boolean","null"]},"gitignores":{"type":["string","null"]},"is_private":{"type":["boolean","null"]},"issue_labels":{"type":["string","null"]},"license_name":{"type":["string","null"]},"name":{"type":"string"},"object_format":{"type":["string","null"]},"parent_dir":{"type":["string","null"],"format":"uuid"},"readme":{"type":["string","null"]},"space_id":{"type":"string","format":"uuid"},"template":{"type":["boolean","null"]},"website":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreateRepoRelOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["repo_id"],"properties":{"repo_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateRoleCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name","permissions"],"properties":{"color":{"type":["string","null"]},"icon_hash":{"type":["string","null"]},"name":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"position":{"type":["integer","null"],"format":"int64"},"unicode_emoji":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreateSpaceCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name"],"properties":{"allow_invite":{"type":"boolean"},"allow_join":{"type":"boolean"},"allow_join_level":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpaceAllowJoinLevel"}]},"avatar_url":{"type":["string","null"]},"description":{"type":["string","null"]},"member_must_enable_2fa":{"type":"boolean"},"name":{"type":"string"},"public":{"type":"boolean"},"welcome_message":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreateStatusOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["state","context"],"properties":{"context":{"type":"string"},"description":{"type":["string","null"]},"state":{"type":"string"},"target_url":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreateTagOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["tag_name"],"properties":{"message":{"type":["string","null"]},"tag_name":{"type":"string"},"target":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreateTagProtectionOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name_pattern"],"properties":{"name_pattern":{"type":"string"},"whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"whitelist_usernames":{"type":["array","null"],"items":{"type":"string","format":"uuid"}}}},"request_id":{"type":"string"}}},"AppRequestData_CreateViewCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name"],"properties":{"description":{"type":["string","null"]},"filter":{},"group_by":{"type":["string","null"]},"is_shared":{"type":"boolean"},"layout":{"type":"string"},"name":{"type":"string"},"sort_by":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_DeleteFileOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["sha"],"properties":{"sha":{"type":"string"}}}]},"request_id":{"type":"string"}}},"AppRequestData_EditBranchProtectionOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"approvals_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"approvals_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"block_admin_merge_override":{"type":["boolean","null"]},"block_on_change_requested_reviews":{"type":["boolean","null"]},"block_on_outdated_branch":{"type":["boolean","null"]},"block_on_rejected_reviews":{"type":["boolean","null"]},"branch_pattern":{"type":["string","null"]},"bypass_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"bypass_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"dismiss_stale_approvals":{"type":["boolean","null"]},"enable_approvals_whitelist":{"type":["boolean","null"]},"enable_bypass_allowlist":{"type":["boolean","null"]},"enable_force_push":{"type":["boolean","null"]},"enable_force_push_allowlist":{"type":["boolean","null"]},"enable_merge_whitelist":{"type":["boolean","null"]},"enable_push":{"type":["boolean","null"]},"enable_push_whitelist":{"type":["boolean","null"]},"force_push_allowlist_deploy_keys":{"type":["boolean","null"]},"force_push_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"force_push_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"ignore_stale_approvals":{"type":["boolean","null"]},"merge_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"merge_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"priority":{"type":["integer","null"],"format":"int64"},"protected_file_patterns":{"type":["string","null"]},"push_whitelist_deploy_keys":{"type":["boolean","null"]},"push_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"push_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"require_signed_commits":{"type":["boolean","null"]},"required_approvals":{"type":["integer","null"],"format":"int32"},"unprotected_file_patterns":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_EditReleaseOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"content":{"type":["string","null"]},"is_draft":{"type":["boolean","null"]},"is_prerelease":{"type":["boolean","null"]},"tag_name":{"type":["string","null"]},"target":{"type":["string","null"]},"title":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_EditTagProtectionOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"name_pattern":{"type":["string","null"]},"whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"whitelist_usernames":{"type":["array","null"],"items":{"type":"string","format":"uuid"}}}},"request_id":{"type":"string"}}},"AppRequestData_ForgotPasswordCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["email","pow"],"properties":{"email":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"}}},"request_id":{"type":"string"}}},"AppRequestData_ForkRepoOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["to_channel_id"],"properties":{"description":{"type":["string","null"]},"name":{"type":["string","null"]},"to_channel_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_GenerateRepoOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["to_channel_id","name"],"properties":{"description":{"type":["string","null"]},"is_private":{"type":["boolean","null"]},"name":{"type":"string"},"to_channel_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_LoginCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["identifier","password","pow"],"properties":{"app_id":{"type":["string","null"]},"identifier":{"type":"string"},"password":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"}}},"request_id":{"type":"string"}}},"AppRequestData_LogoutCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["refresh_token"],"properties":{"refresh_token":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_MarkReadCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["notification_ids"],"properties":{"notification_ids":{"type":"array","items":{"type":"string","format":"uuid"}}}},"request_id":{"type":"string"}}},"AppRequestData_MergePullRequestOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["style"],"properties":{"commit_message":{"type":["string","null"]},"commit_title":{"type":["string","null"]},"delete_branch_after_merge":{"type":"boolean"},"style":{"$ref":"#/components/schemas/MergeStyle"}}},"request_id":{"type":"string"}}},"AppRequestData_MergeUpstreamRequest":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["branch"],"properties":{"branch":{"type":"string"},"ff_only":{"type":["boolean","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_ReclaimCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["email","pow"],"properties":{"email":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"}}},"request_id":{"type":"string"}}},"AppRequestData_RefreshCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["refresh_token"],"properties":{"app_id":{"type":["string","null"]},"refresh_token":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_RegisterCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["email","password","pow"],"properties":{"accept_agreements":{"type":"array","items":{"type":"string"}},"email":{"type":"string"},"password":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"},"username":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_RenameBranchOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["new_name"],"properties":{"new_name":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_RenameRepoOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["new_name"],"properties":{"new_name":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_RepoTopicOptions":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["topics"],"properties":{"topics":{"type":"array","items":{"type":"string"}}}},"request_id":{"type":"string"}}},"AppRequestData_RequestChangeBody":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["new_email"],"properties":{"new_email":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_RequestDeletionCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"reason":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_ResendCodeCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["email","pow","purpose"],"properties":{"email":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"},"purpose":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_ResetPasswordCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["email","token","new_password","temp_key_value"],"properties":{"email":{"type":"string"},"new_password":{"type":"string"},"temp_key_value":{"type":"string"},"token":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_RevokeSuspensionCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"reason":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_SaveMessageCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["channel_id","message_id"],"properties":{"channel_id":{"type":"string","format":"uuid"},"message_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_SetRoleOverwriteCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["role_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"deny_mask":{"type":"integer","format":"int64"},"role_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_SetUserOverwriteCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["user_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"deny_mask":{"type":"integer","format":"int64"},"user_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_SubmitPullRequestReviewOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["state"],"properties":{"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"state":{"$ref":"#/components/schemas/ReviewState"}}},"request_id":{"type":"string"}}},"AppRequestData_SubmitReportCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["reported_uid","reason"],"properties":{"evidence":{"type":["string","null"]},"reason":{"type":"string"},"reported_uid":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_SuspendCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["suspension_type"],"properties":{"ends_at":{"type":["string","null"]},"reason":{"type":["string","null"]},"suspension_type":{"$ref":"#/components/schemas/SuspensionType"}}},"request_id":{"type":"string"}}},"AppRequestData_TransferRepoOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["new_channel_id"],"properties":{"new_channel_id":{"type":"string","format":"uuid"},"new_name":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateAvatarOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["image"],"properties":{"image":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateBanCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"allow_agent_join":{"type":["boolean","null"]},"allow_comment_any":{"type":["boolean","null"]},"allow_push_repo":{"type":["boolean","null"]},"allow_speak":{"type":["boolean","null"]},"expires_at":{"type":["string","null"]},"reason":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateBranchOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["new_commit_id"],"properties":{"force":{"type":["boolean","null"]},"new_commit_id":{"type":"string"},"old_commit_id":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateBranchProtectionPriorities":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"}}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateCollectionOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"name":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateCommentOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["content"],"properties":{"content":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateDeviceCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"device_name":{"type":["string","null"]},"is_trusted":{"type":["boolean","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateDocumentCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"content":{"type":["string","null"]},"icon":{"type":["string","null"]},"parent_id":{"type":["string","null"],"format":"uuid"},"slug":{"type":["string","null"]},"title":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateFileOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["content"],"properties":{"content":{"type":"string"},"from_path":{"type":["string","null"]},"sha":{"type":["string","null"]}}}]},"request_id":{"type":"string"}}},"AppRequestData_UpdateIssueOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"body":{"type":["string","null"]},"description":{"type":["string","null"]},"milestone_id":{"type":["string","null"],"format":"uuid"},"title":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateIssueUserOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"is_mentioned":{"type":["boolean","null"]},"is_read":{"type":["boolean","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateLabelOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"color":{"type":["string","null"]},"description":{"type":["string","null"]},"exclusive":{"type":["boolean","null"]},"exclusive_order":{"type":["integer","null"],"format":"int32"},"is_archived":{"type":["boolean","null"]},"name":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateMemberCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["role"],"properties":{"role":{"$ref":"#/components/schemas/MemberRole"}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateMilestoneOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"description":{"type":["string","null"]},"due_at":{"type":["string","null"]},"is_closed":{"type":["boolean","null"]},"name":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdatePreferencesCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"allow_dms_from":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Audience"}]},"allow_mentions_from":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Audience"}]},"diff_view_style":{"type":["string","null"]},"email_digest":{"type":["boolean","null"]},"email_flags":{"type":["integer","null"],"format":"int32"},"in_app_flags":{"type":["integer","null"],"format":"int32"},"mute_until":{"type":["string","null"]},"push_flags":{"type":["integer","null"],"format":"int32"},"show_online_status":{"type":["boolean","null"]},"theme_mode":{"type":["string","null"]},"theme_token":{"type":["string","null"]},"theme_version":{"type":["integer","null"],"format":"int64"}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateProfileCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"avatar":{"type":["string","null"]},"display_name":{"type":["string","null"]},"language":{"type":["string","null"]},"locale":{"type":["string","null"]},"profile":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/UpdateProfileFields"}]},"timezone":{"type":["string","null"]},"visibility":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProfileVisibility"}]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateProjectCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"color":{"type":["string","null"]},"description":{"type":["string","null"]},"health":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectHealth"}]},"icon":{"type":["string","null"]},"lead_id":{"type":["string","null"],"format":"uuid"},"name":{"type":["string","null"]},"sort_order":{"type":["integer","null"],"format":"int32"},"state":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectState"}]},"target_date":{"type":["string","null"],"format":"date"}}},"request_id":{"type":"string"}}},"AppRequestData_UpdatePullRequestOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"base":{"type":["string","null"]},"body":{"type":["string","null"]},"head":{"type":["string","null"]},"title":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateRepoOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"allow_fast_forward_only_merge":{"type":["boolean","null"]},"allow_manual_merge":{"type":["boolean","null"]},"allow_merge_commits":{"type":["boolean","null"]},"allow_merge_update":{"type":["boolean","null"]},"allow_rebase":{"type":["boolean","null"]},"allow_rebase_explicit":{"type":["boolean","null"]},"allow_rebase_update":{"type":["boolean","null"]},"allow_squash_merge":{"type":["boolean","null"]},"archived":{"type":["boolean","null"]},"autodetect_manual_merge":{"type":["boolean","null"]},"default_allow_maintainer_edit":{"type":["boolean","null"]},"default_branch":{"type":["string","null"]},"default_delete_branch_after_merge":{"type":["boolean","null"]},"default_merge_style":{"type":["string","null"]},"default_update_style":{"type":["string","null"]},"description":{"type":["string","null"]},"enable_lfs":{"type":["boolean","null"]},"external_tracker":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExternalTracker"}]},"external_wiki":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExternalWiki"}]},"has_actions":{"type":["boolean","null"]},"has_code":{"type":["boolean","null"]},"has_issues":{"type":["boolean","null"]},"has_packages":{"type":["boolean","null"]},"has_projects":{"type":["boolean","null"]},"has_pull_requests":{"type":["boolean","null"]},"has_releases":{"type":["boolean","null"]},"has_wiki":{"type":["boolean","null"]},"ignore_whitespace_conflicts":{"type":["boolean","null"]},"internal_tracker":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/InternalTracker"}]},"is_private":{"type":["boolean","null"]},"license_name":{"type":["string","null"]},"name":{"type":["string","null"]},"projects_mode":{"type":["string","null"]},"template":{"type":["boolean","null"]},"website":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateRoleCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"color":{"type":["string","null"]},"icon_hash":{"type":["string","null"]},"name":{"type":["string","null"]},"permissions":{"type":["array","null"],"items":{"type":"string"}},"position":{"type":["integer","null"],"format":"int64"},"unicode_emoji":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateSpaceCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"allow_invite":{"type":["boolean","null"]},"allow_join":{"type":["boolean","null"]},"allow_join_level":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpaceAllowJoinLevel"}]},"avatar_url":{"type":["string","null"]},"description":{"type":["string","null"]},"member_must_enable_2fa":{"type":["boolean","null"]},"name":{"type":["string","null"]},"public":{"type":["boolean","null"]},"welcome_message":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateViewCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"description":{"type":["string","null"]},"filter":{},"group_by":{"type":["string","null"]},"is_shared":{"type":["boolean","null"]},"layout":{"type":["string","null"]},"name":{"type":["string","null"]},"sort_by":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UploadAttachmentInput":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["filename","content_type","data"],"properties":{"content_type":{"type":"string"},"data":{"type":"array","items":{"type":"integer","format":"int32","minimum":0}},"filename":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_UploadAvatarCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["content_type","data_base64"],"properties":{"content_type":{"type":"string"},"data_base64":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_UpsertMemeCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name","content_type","url","size"],"properties":{"content_type":{"type":"string"},"height":{"type":["integer","null"],"format":"int32"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"},"url":{"type":"string"},"width":{"type":["integer","null"],"format":"int32"}}},"request_id":{"type":"string"}}},"AppRequestData_UpsertPushCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["endpoint","p256dh_key","auth_key","platform"],"properties":{"auth_key":{"type":"string"},"endpoint":{"type":"string"},"p256dh_key":{"type":"string"},"platform":{"$ref":"#/components/schemas/PushPlatform"},"user_agent":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpsertWatchOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["mode"],"properties":{"mode":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_Vec_String":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"array","items":{"type":"string"}},"request_id":{"type":"string"}}},"AppRequestData_VerifyCodeCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["email","purpose","code","temp_key_value"],"properties":{"code":{"type":"string"},"email":{"type":"string"},"purpose":{"type":"string"},"temp_key_value":{"type":"string"},"user_id":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppResponseData_AcceptAgreementResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["recorded"],"properties":{"recorded":{"type":"boolean"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ActivityPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ActivityView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_AddEmailResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["email_id"],"properties":{"email_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_AttachmentView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","owner_type","owner_id","filename","content_type","size","url","created_at"],"properties":{"content_type":{"type":"string"},"created_at":{"type":"string"},"filename":{"type":"string"},"id":{"type":"string","format":"uuid"},"owner_id":{"type":"string","format":"uuid"},"owner_type":{"type":"string"},"size":{"type":"integer","format":"int64"},"uploaded_by":{"type":["string","null"],"format":"uuid"},"url":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_AuthorizationUrlResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["url","temp_key"],"properties":{"temp_key":{"$ref":"#/components/schemas/TempKey"},"url":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_AvatarView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["uid","url","format","bytes","updated_at"],"properties":{"bytes":{"type":"integer","format":"int64","minimum":0},"format":{"$ref":"#/components/schemas/AvatarFormat"},"uid":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"url":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_BlobView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sha","size","encoding","content"],"properties":{"content":{"type":"string"},"encoding":{"type":"string"},"sha":{"type":"string"},"size":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_BranchPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BranchView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_BranchProtectionPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BranchProtectionView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_BranchProtectionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","repo_id","branch_name","rule_name","priority","enable_push","enable_push_whitelist","push_whitelist_usernames","push_whitelist_teams","push_whitelist_deploy_keys","enable_force_push","enable_force_push_allowlist","force_push_allowlist_usernames","force_push_allowlist_teams","force_push_allowlist_deploy_keys","enable_merge_whitelist","merge_whitelist_usernames","merge_whitelist_teams","enable_bypass_allowlist","bypass_allowlist_usernames","bypass_allowlist_teams","enable_approvals_whitelist","approvals_whitelist_usernames","approvals_whitelist_teams","required_approvals","block_on_rejected_reviews","block_on_change_requested_reviews","block_on_outdated_branch","dismiss_stale_approvals","ignore_stale_approvals","require_signed_commits","block_admin_merge_override","protected_file_patterns","unprotected_file_patterns","created_at","updated_at"],"properties":{"approvals_whitelist_teams":{"type":"array","items":{"type":"string"}},"approvals_whitelist_usernames":{"type":"array","items":{"type":"string"}},"block_admin_merge_override":{"type":"boolean"},"block_on_change_requested_reviews":{"type":"boolean"},"block_on_outdated_branch":{"type":"boolean"},"block_on_rejected_reviews":{"type":"boolean"},"branch_name":{"type":"string"},"branch_pattern":{"type":["string","null"]},"bypass_allowlist_teams":{"type":"array","items":{"type":"string"}},"bypass_allowlist_usernames":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string"},"dismiss_stale_approvals":{"type":"boolean"},"enable_approvals_whitelist":{"type":"boolean"},"enable_bypass_allowlist":{"type":"boolean"},"enable_force_push":{"type":"boolean"},"enable_force_push_allowlist":{"type":"boolean"},"enable_merge_whitelist":{"type":"boolean"},"enable_push":{"type":"boolean"},"enable_push_whitelist":{"type":"boolean"},"force_push_allowlist_deploy_keys":{"type":"boolean"},"force_push_allowlist_teams":{"type":"array","items":{"type":"string"}},"force_push_allowlist_usernames":{"type":"array","items":{"type":"string"}},"id":{"type":"string","format":"uuid"},"ignore_stale_approvals":{"type":"boolean"},"merge_whitelist_teams":{"type":"array","items":{"type":"string"}},"merge_whitelist_usernames":{"type":"array","items":{"type":"string"}},"priority":{"type":"integer","format":"int64"},"protected_file_patterns":{"type":"string"},"push_whitelist_deploy_keys":{"type":"boolean"},"push_whitelist_teams":{"type":"array","items":{"type":"string"}},"push_whitelist_usernames":{"type":"array","items":{"type":"string"}},"repo_id":{"type":"string","format":"uuid"},"require_signed_commits":{"type":"boolean"},"required_approvals":{"type":"integer","format":"int32"},"rule_name":{"type":"string"},"unprotected_file_patterns":{"type":"string"},"updated_at":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_BranchView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","repo_id","name","commit_sha","is_protected","protected","required_approvals","enable_status_check","status_check_contexts","user_can_push","user_can_merge","effective_branch_protection_name","is_deleted","created_at","updated_at"],"properties":{"commit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CommitMeta"}]},"commit_sha":{"type":"string"},"created_at":{"type":"string"},"deleted_at":{"type":["string","null"]},"effective_branch_protection_name":{"type":"string"},"enable_status_check":{"type":"boolean"},"id":{"type":"string","format":"uuid"},"is_deleted":{"type":"boolean"},"is_protected":{"type":"boolean"},"name":{"type":"string"},"protected":{"type":"boolean"},"repo_id":{"type":"string","format":"uuid"},"required_approvals":{"type":"integer","format":"int64"},"status_check_contexts":{"type":"array","items":{"type":"string"}},"updated_at":{"type":"string"},"user_can_merge":{"type":"boolean"},"user_can_push":{"type":"boolean"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ChannelPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ChannelView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ChannelView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","name","kind","position","is_archived","created_at","updated_at","created_by"],"properties":{"archived_at":{"type":["string","null"]},"archived_by":{"type":["string","null"],"format":"uuid"},"color":{"type":["string","null"]},"created_at":{"type":"string"},"created_by":{"type":"string","format":"uuid"},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_archived":{"type":"boolean"},"kind":{"type":"string"},"name":{"type":"string"},"parent_id":{"type":["string","null"],"format":"uuid"},"position":{"type":"integer","format":"int32"},"purpose":{"type":["string","null"]},"space_id":{"type":["string","null"],"format":"uuid"},"topic":{"type":["string","null"]},"updated_at":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CollaboratorPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CollaboratorView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CollectionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","channel_id","name","nums_open_issue","nums_closed_issue","created_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"nums_closed_issue":{"type":"integer","format":"int64"},"nums_open_issue":{"type":"integer","format":"int64"},"updated_at":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CombinedStatusView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sha","state","statuses","total_count"],"properties":{"sha":{"type":"string"},"state":{"type":"string"},"statuses":{"type":"array","items":{"$ref":"#/components/schemas/CommitStatusView"}},"total_count":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CommentView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","poster_id","content","created_at"],"properties":{"content":{"type":"string"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":["string","null"],"format":"uuid"},"parent_id":{"type":["string","null"],"format":"uuid"},"poster_id":{"type":"string","format":"uuid"},"updated_at":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CommitStatusPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CommitStatusView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CommitStatusView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","repo_id","sha","state","context","url","creator","created_at"],"properties":{"context":{"type":"string"},"created_at":{"type":"string"},"creator":{"$ref":"#/components/schemas/CommitUserSummary"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"repo_id":{"type":"string","format":"uuid"},"sha":{"type":"string"},"state":{"type":"string"},"target_url":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"url":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CommitView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sha","message","parent_shas","tree_sha"],"properties":{"author_email":{"type":["string","null"]},"author_name":{"type":["string","null"]},"authored_at":{"type":["string","null"]},"committed_at":{"type":["string","null"]},"committer_email":{"type":["string","null"]},"committer_name":{"type":["string","null"]},"message":{"type":"string"},"parent_shas":{"type":"array","items":{"type":"string"}},"sha":{"type":"string"},"tree_sha":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CommitsResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CommitSummary"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CompareView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["base","head","total_commits","ahead_by","behind_by","files"],"properties":{"ahead_by":{"type":"integer","format":"int64"},"base":{"type":"string"},"behind_by":{"type":"integer","format":"int64"},"files":{"type":"array","items":{"$ref":"#/components/schemas/CompareFileDiff"}},"head":{"type":"string"},"merge_base":{"type":["string","null"]},"total_commits":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ContentsListResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ContentsResponse"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ContentsResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["name","path","sha","type","size"],"properties":{"content":{"type":["string","null"]},"download_url":{"type":["string","null"]},"encoding":{"type":["string","null"]},"git_url":{"type":["string","null"]},"html_url":{"type":["string","null"]},"last_author_date":{"type":["string","null"]},"last_commit_message":{"type":["string","null"]},"last_commit_sha":{"type":["string","null"]},"last_committer_date":{"type":["string","null"]},"lfs_oid":{"type":["string","null"]},"lfs_size":{"type":["integer","null"],"format":"int64"},"links":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FileLinksResponse"}]},"name":{"type":"string"},"path":{"type":"string"},"sha":{"type":"string"},"size":{"type":"integer","format":"int64"},"submodule_git_url":{"type":["string","null"]},"target":{"type":["string","null"]},"type":{"type":"string"},"url":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CreateAccessKeyResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["key","token"],"properties":{"key":{"$ref":"#/components/schemas/AccessKeyView"},"token":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_DeletionRequestView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","user_id","status","created_at","updated_at"],"properties":{"cancelled_at":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"reason":{"type":["string","null"]},"scheduled_for":{"type":["string","null"]},"status":{"$ref":"#/components/schemas/DeletionStatus"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_DependencyView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","issue_id","dependency_id","created_at"],"properties":{"created_at":{"type":"string"},"dependency_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_DeployKeyPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DeployKeyView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_DeployKeyView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","key_id","repo_id","title","key_type","fingerprint","content","url","read_only","created_at"],"properties":{"content":{"type":"string"},"created_at":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string","format":"uuid"},"key_id":{"type":"integer","format":"int64"},"key_type":{"type":"string"},"last_used_at":{"type":["string","null"]},"read_only":{"type":"boolean"},"repo_id":{"type":"string","format":"uuid"},"title":{"type":"string"},"url":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_DeviceView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","is_trusted","first_seen_at","last_seen_at","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"device_name":{"type":["string","null"]},"device_type":{"type":["string","null"]},"first_seen_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_trusted":{"type":"boolean"},"last_seen_at":{"type":"string"},"os":{"type":["string","null"]},"updated_at":{"type":"string"},"user_agent":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_DocumentPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DocumentView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_DocumentView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","project_id","creator_id","title","slug","content","created_at"],"properties":{"content":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"creator_id":{"type":"string","format":"uuid"},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"last_editor_id":{"type":["string","null"],"format":"uuid"},"parent_id":{"type":["string","null"],"format":"uuid"},"project_id":{"type":"string","format":"uuid"},"slug":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_EmailChangeTicketView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","new_email","status","expires_at","created_at"],"properties":{"created_at":{"type":"string"},"expires_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"new_email":{"type":"string"},"status":{"$ref":"#/components/schemas/EmailChangeTicketStatus"},"used_at":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_FavoritePage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/FavoriteView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_FavoriteView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","project_id","user_id","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"folder":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_FileDeleteResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","properties":{"commit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CommitSummary"}]},"content":{}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_FilesResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["files"],"properties":{"commit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CommitSummary"}]},"files":{"type":"array","items":{"$ref":"#/components/schemas/ContentsResponse"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ForgotPasswordResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sent","temp_key"],"properties":{"sent":{"type":"boolean"},"temp_key":{"$ref":"#/components/schemas/TempKey"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ForksResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ForkView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_IssueConfig":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["blank_issues_enabled"],"properties":{"blank_issues_enabled":{"type":"boolean"},"contact_links":{}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_IssueConfigValidation":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["valid"],"properties":{"message":{"type":["string","null"]},"valid":{"type":"boolean"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_IssueUserView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","user_id","issue_id","is_read","is_mentioned","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_mentioned":{"type":"boolean"},"is_read":{"type":"boolean"},"issue_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_IssueView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","collection_id","autoincrement_id","author_id","title","body","state","created_at"],"properties":{"author_id":{"type":"string","format":"uuid"},"autoincrement_id":{"type":"integer","format":"int32"},"body":{"type":"string"},"closed_at":{"type":["string","null"]},"collection_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"milestone_id":{"type":["string","null"],"format":"uuid"},"state":{"$ref":"#/components/schemas/IssueState"},"title":{"type":"string"},"updated_at":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_LabelView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","channel_id","name","exclusive","exclusive_order","color","is_archived","created_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"color":{"type":"string"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"exclusive":{"type":"boolean"},"exclusive_order":{"type":"integer","format":"int32"},"id":{"type":"string","format":"uuid"},"is_archived":{"type":"boolean"},"name":{"type":"string"},"updated_at":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_LanguagesResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["languages"],"properties":{"languages":{"type":"object","additionalProperties":{"type":"integer","format":"int64"},"propertyNames":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_LicensesResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["licenses"],"properties":{"licenses":{"type":"array","items":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_LinkPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/LinkView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_LinkView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","project_id","related_project_id","kind","created_by","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"kind":{"$ref":"#/components/schemas/LinkKind"},"project_id":{"type":"string","format":"uuid"},"related_project_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_LoginResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["access_token","refresh_token","token_type","expires_in","user"],"properties":{"access_token":{"type":"string"},"expires_in":{"type":"integer","format":"int64"},"refresh_token":{"type":"string"},"token_type":{"type":"string"},"user":{"$ref":"#/components/schemas/UserPublic"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_LogoutResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["revoked"],"properties":{"revoked":{"type":"boolean"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MarkAllReadResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["marked"],"properties":{"marked":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MarkReadResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["marked"],"properties":{"marked":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MemberPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MemberView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MemberView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","issue_id","user_id","kind","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"kind":{"type":"string"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MemeView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","name","content_type","url","size","created_at"],"properties":{"content_type":{"type":"string"},"created_at":{"type":"string"},"height":{"type":["integer","null"],"format":"int32"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"},"url":{"type":"string"},"width":{"type":["integer","null"],"format":"int32"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MergeUpstreamResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["merge_type"],"properties":{"merge_type":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MergeView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sha","merged"],"properties":{"merged":{"type":"boolean"},"message":{"type":["string","null"]},"sha":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MilestoneView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","collection_id","name","is_closed","num_issues","num_closed_issues","created_at"],"properties":{"collection_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"due_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_closed":{"type":"boolean"},"name":{"type":"string"},"num_closed_issues":{"type":"integer","format":"int32"},"num_issues":{"type":"integer","format":"int32"},"updated_at":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_NewPinAllowedResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["allowed"],"properties":{"allowed":{"type":"boolean"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_NoteView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sha","message"],"properties":{"message":{"type":"string"},"sha":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_OAuthLoginResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["access_token","refresh_token","token_type","expires_in","user_id","auto_registered"],"properties":{"access_token":{"type":"string"},"auto_registered":{"type":"boolean"},"expires_in":{"type":"integer","format":"int64"},"refresh_token":{"type":"string"},"token_type":{"type":"string"},"user_id":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Option_AvatarView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"oneOf":[{"type":"null"},{"type":"object","required":["uid","url","format","bytes","updated_at"],"properties":{"bytes":{"type":"integer","format":"int64","minimum":0},"format":{"$ref":"#/components/schemas/AvatarFormat"},"uid":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"url":{"type":"string"}}}]},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_PinView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","collection_id","pin_order","created_at"],"properties":{"collection_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":["string","null"],"format":"uuid"},"pin_order":{"type":"integer","format":"int32"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_PowChallengeResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["challenge","ttl_seconds"],"properties":{"challenge":{"type":"string"},"ttl_seconds":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ProfileView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["user_id","show_email","show_location","show_real_name","show_activity","updated_at"],"properties":{"accent_color":{"type":["string","null"]},"banner_color":{"type":["integer","null"],"format":"int32"},"banner_url":{"type":["string","null"]},"bio":{"type":["string","null"]},"company":{"type":["string","null"]},"date_of_birth":{"type":["string","null"],"format":"date"},"location":{"type":["string","null"]},"pronouns":{"type":["string","null"]},"pronouns_privacy":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProfileVisibility"}]},"real_name":{"type":["string","null"]},"show_activity":{"type":"boolean"},"show_email":{"type":"boolean"},"show_location":{"type":"boolean"},"show_real_name":{"type":"boolean"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"},"website":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ProjectPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ProjectView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","space_id","creator_id","name","state","health","sort_order","starred","created_at"],"properties":{"cancelled_at":{"type":["string","null"],"format":"date-time"},"color":{"type":["string","null"]},"completed_at":{"type":["string","null"],"format":"date-time"},"created_at":{"type":"string","format":"date-time"},"creator_id":{"type":"string","format":"uuid"},"description":{"type":["string","null"]},"health":{"$ref":"#/components/schemas/ProjectHealth"},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"lead_id":{"type":["string","null"],"format":"uuid"},"name":{"type":"string"},"sort_order":{"type":"integer","format":"int32"},"space_id":{"type":"string","format":"uuid"},"starred":{"type":"integer","format":"int32"},"started_at":{"type":["string","null"],"format":"date-time"},"state":{"$ref":"#/components/schemas/ProjectState"},"target_date":{"type":["string","null"],"format":"date"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_PullRequestCommentView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","pull_request_id","user_id","body","created_at"],"properties":{"body":{"type":"string"},"commit_sha":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"line":{"type":["integer","null"],"format":"int32"},"path":{"type":["string","null"]},"pull_request_id":{"type":"string","format":"uuid"},"review_id":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_PullRequestPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PullRequestView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_PullRequestReviewView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","pull_request_id","user_id","official","state","created_at"],"properties":{"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"official":{"type":"boolean"},"pull_request_id":{"type":"string","format":"uuid"},"state":{"$ref":"#/components/schemas/ReviewState"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_PullRequestView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","repo_id","number","title","head_branch","base_branch","author_id","state","is_locked","has_merged","created_at","comments_count","reviews_count"],"properties":{"author_id":{"type":"string","format":"uuid"},"base_branch":{"type":"string"},"base_sha":{"type":["string","null"]},"body":{"type":["string","null"]},"closed_at":{"type":["string","null"]},"comments_count":{"type":"integer","format":"int64"},"created_at":{"type":"string"},"has_merged":{"type":"boolean"},"head_branch":{"type":"string"},"head_sha":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_locked":{"type":"boolean"},"mergeable":{"type":["boolean","null"]},"mergeable_state":{"type":["string","null"]},"merged_at":{"type":["string","null"]},"merged_commit_sha":{"type":["string","null"]},"merger_id":{"type":["string","null"]},"number":{"type":"integer","format":"int64"},"repo_id":{"type":"string","format":"uuid"},"reviews_count":{"type":"integer","format":"int64"},"state":{"$ref":"#/components/schemas/PrState"},"title":{"type":"string"},"updated_at":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_PushSubscriptionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","platform","endpoint","created_at"],"properties":{"created_at":{"type":"string"},"endpoint":{"type":"string"},"id":{"type":"string","format":"uuid"},"platform":{"$ref":"#/components/schemas/PushPlatform"},"user_agent":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ReactionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","scope","target_id","user_id","emoji","created_at"],"properties":{"created_at":{"type":"string"},"emoji":{"type":"string"},"id":{"type":"string","format":"uuid"},"scope":{"$ref":"#/components/schemas/ReactionScope"},"target_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ReclaimResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sent","temp_key"],"properties":{"sent":{"type":"boolean"},"temp_key":{"$ref":"#/components/schemas/TempKey"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RefreshResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["access_token","refresh_token","token_type","expires_in"],"properties":{"access_token":{"type":"string"},"expires_in":{"type":"integer","format":"int64"},"refresh_token":{"type":"string"},"token_type":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RegenerateRecoveryResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["codes"],"properties":{"codes":{"type":"array","items":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RegisterResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["uid","pending","temp_key","purpose"],"properties":{"pending":{"type":"boolean"},"purpose":{"type":"string"},"temp_key":{"$ref":"#/components/schemas/TempKey"},"uid":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ReleaseAttachmentListResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseAttachmentView"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ReleaseAttachmentView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","name","size","download_url","created_at"],"properties":{"created_at":{"type":"string"},"download_url":{"type":"string"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ReleasePage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ReleaseView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","repo_id","tag_name","target","title","sha","num_commits","is_draft","is_prerelease","is_tag","url","html_url","tarball_url","zipball_url","upload_url","publisher","attachments","created_at","updated_at"],"properties":{"attachments":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseAttachment"}},"content":{"type":["string","null"]},"created_at":{"type":"string"},"html_url":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_draft":{"type":"boolean"},"is_prerelease":{"type":"boolean"},"is_tag":{"type":"boolean"},"num_commits":{"type":"integer","format":"int32"},"publisher":{"$ref":"#/components/schemas/UserSummary"},"repo_id":{"type":"string","format":"uuid"},"sha":{"type":"string"},"tag_name":{"type":"string"},"tarball_url":{"type":"string"},"target":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":"string"},"upload_url":{"type":"string"},"url":{"type":"string"},"zipball_url":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RepoCollaboratorPermission":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["permission","role","user"],"properties":{"permission":{"type":"string"},"role":{"type":"string"},"user":{"$ref":"#/components/schemas/UserSummary"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RepoPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RepoView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RepoRelView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","issue_id","repo_id","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"repo_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RepoSummary":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","name","full_name","empty","private","fork","template","mirror","size","stars_count","forks_count","watchers_count","open_issues_count"],"properties":{"description":{"type":["string","null"]},"empty":{"type":"boolean"},"fork":{"type":"boolean"},"forks_count":{"type":"integer","format":"int32"},"full_name":{"type":"string"},"id":{"type":"string","format":"uuid"},"mirror":{"type":"boolean"},"name":{"type":"string"},"open_issues_count":{"type":"integer","format":"int32"},"private":{"type":"boolean"},"size":{"type":"integer","format":"int64"},"stars_count":{"type":"integer","format":"int32"},"template":{"type":"boolean"},"watchers_count":{"type":"integer","format":"int32"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RepoView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","channel_id","space_id","name","lower_name","full_name","default_branch","enable_lfs","is_private","is_archived","is_fork","is_template","is_mirror","empty","size","git_size","lfs_size","nums_watch","nums_star","nums_pr","nums_commits","nums_branches","nums_tags","allow_rebase","allow_rebase_explicit","allow_squash_merge","allow_merge_commits","allow_fast_forward_only_merge","allow_rebase_update","allow_merge_update","allow_manual_merge","autodetect_manual_merge","default_delete_branch_after_merge","default_allow_maintainer_edit","ignore_whitespace_conflicts","object_format","has_code","has_issues","has_wiki","has_pull_requests","has_projects","has_releases","has_packages","has_actions","projects_mode","languages","licenses","topics","html_url","url","link","ssh_url","clone_url","created_at","updated_at"],"properties":{"allow_fast_forward_only_merge":{"type":"boolean"},"allow_manual_merge":{"type":"boolean"},"allow_merge_commits":{"type":"boolean"},"allow_merge_update":{"type":"boolean"},"allow_rebase":{"type":"boolean"},"allow_rebase_explicit":{"type":"boolean"},"allow_rebase_update":{"type":"boolean"},"allow_squash_merge":{"type":"boolean"},"archived_at":{"type":["string","null"]},"autodetect_manual_merge":{"type":"boolean"},"avatar_url":{"type":["string","null"]},"channel":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ChannelSummary"}]},"channel_id":{"type":"string","format":"uuid"},"clone_url":{"type":"string"},"created_at":{"type":"string"},"default_allow_maintainer_edit":{"type":"boolean"},"default_branch":{"type":"string"},"default_delete_branch_after_merge":{"type":"boolean"},"description":{"type":["string","null"]},"empty":{"type":"boolean"},"enable_lfs":{"type":"boolean"},"full_name":{"type":"string"},"git_size":{"type":"integer","format":"int64"},"has_actions":{"type":"boolean"},"has_code":{"type":"boolean"},"has_issues":{"type":"boolean"},"has_packages":{"type":"boolean"},"has_projects":{"type":"boolean"},"has_pull_requests":{"type":"boolean"},"has_releases":{"type":"boolean"},"has_wiki":{"type":"boolean"},"html_url":{"type":"string"},"id":{"type":"string","format":"uuid"},"ignore_whitespace_conflicts":{"type":"boolean"},"is_archived":{"type":"boolean"},"is_fork":{"type":"boolean"},"is_mirror":{"type":"boolean"},"is_private":{"type":"boolean"},"is_template":{"type":"boolean"},"languages":{"type":"array","items":{"type":"string"}},"last_pushed_at":{"type":["string","null"]},"lfs_size":{"type":"integer","format":"int64"},"license_name":{"type":["string","null"]},"licenses":{"type":"array","items":{"type":"string"}},"link":{"type":"string"},"lower_name":{"type":"string"},"name":{"type":"string"},"nums_branches":{"type":"integer","format":"int32"},"nums_commits":{"type":"integer","format":"int32"},"nums_pr":{"type":"integer","format":"int32"},"nums_star":{"type":"integer","format":"int32"},"nums_tags":{"type":"integer","format":"int32"},"nums_watch":{"type":"integer","format":"int32"},"object_format":{"type":"string"},"parent":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/RepoView"}]},"primary_language":{"type":["string","null"]},"projects_mode":{"type":"string"},"size":{"type":"integer","format":"int64"},"space":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpaceSummary"}]},"space_id":{"type":"string","format":"uuid"},"ssh_url":{"type":"string"},"storage_limit_size":{"type":["integer","null"],"format":"int64"},"topics":{"type":"array","items":{"type":"string"}},"updated_at":{"type":"string"},"url":{"type":"string"},"website":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ReportView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","reported_uid","reason","status","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"evidence":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"reason":{"type":"string"},"reported_uid":{"type":"string","format":"uuid"},"reporter_uid":{"type":["string","null"],"format":"uuid"},"resolution_note":{"type":["string","null"]},"resolver_uid":{"type":["string","null"],"format":"uuid"},"status":{"$ref":"#/components/schemas/ReportStatus"},"updated_at":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ResendCodeResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sent","temp_key"],"properties":{"sent":{"type":"boolean"},"temp_key":{"$ref":"#/components/schemas/TempKey"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ResetPasswordResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["ok"],"properties":{"ok":{"type":"boolean"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RevokeAllResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["revoked"],"properties":{"revoked":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RoleOverwriteView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","space_id","channel_id","role_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"channel_id":{"type":"string","format":"uuid"},"deny_mask":{"type":"integer","format":"int64"},"id":{"type":"string","format":"uuid"},"role_id":{"type":"string","format":"uuid"},"space_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RolePage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RoleView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RoleView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","space_id","name","position","color","version","created_at","created_by","permissions"],"properties":{"color":{"type":"string"},"created_at":{"type":"string"},"created_by":{"type":"string","format":"uuid"},"icon_hash":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"position":{"type":"integer","format":"int64"},"space_id":{"type":"string","format":"uuid"},"unicode_emoji":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"version":{"type":"integer","format":"int32"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SavedMessageView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","channel_id","message_id","saved_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"message_id":{"type":"string","format":"uuid"},"saved_at":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SearchResults":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["data","ok"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RepoSummary"}},"ok":{"type":"boolean"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SetPrimaryEmailResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["email"],"properties":{"email":{"$ref":"#/components/schemas/EmailView"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpaceBanPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceBanView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpaceBanView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["space_id","user_id","banned_by","created_at","updated_at","allow_agent_join","allow_speak","allow_push_repo","allow_comment_any"],"properties":{"allow_agent_join":{"type":"boolean"},"allow_comment_any":{"type":"boolean"},"allow_push_repo":{"type":"boolean"},"allow_speak":{"type":"boolean"},"banned_by":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"expires_at":{"type":["string","null"]},"reason":{"type":["string","null"]},"space_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpaceInvitePage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceInviteView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpaceInviteView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","space_id","user_id","email","role_ids","created_at"],"properties":{"accepted_at":{"type":["string","null"]},"created_at":{"type":"string"},"email":{"type":"string"},"expires_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"revoked_at":{"type":["string","null"]},"role_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"space_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpaceMemberPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceMemberView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpaceMemberView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["space_id","user_id","status","joined_at","created_at","message_notifications","muted","mobile_push","suppress_everyone","suppress_roles","hide_muted_channels"],"properties":{"alias_avatar_url":{"type":["string","null"]},"alias_name":{"type":["string","null"]},"created_at":{"type":"string"},"hide_muted_channels":{"type":"boolean"},"invited_at":{"type":["string","null"]},"invited_by":{"type":["string","null"],"format":"uuid"},"joined_at":{"type":"string"},"last_active_at":{"type":["string","null"]},"left_at":{"type":["string","null"]},"message_notifications":{"$ref":"#/components/schemas/MessageNotifications"},"mobile_push":{"type":"boolean"},"mute_until":{"type":["string","null"]},"muted":{"type":"boolean"},"space_id":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/SpaceMemberStatus"},"suppress_everyone":{"type":"boolean"},"suppress_roles":{"type":"boolean"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpacePage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpaceView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","name","owner_id","public","is_active","allow_join","allow_invite","member_count","allow_join_level","member_must_enable_2fa","created_at","updated_at"],"properties":{"allow_invite":{"type":"boolean"},"allow_join":{"type":"boolean"},"allow_join_level":{"$ref":"#/components/schemas/SpaceAllowJoinLevel"},"avatar_url":{"type":["string","null"]},"created_at":{"type":"string"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_active":{"type":"boolean"},"member_count":{"type":"integer","format":"int64"},"member_must_enable_2fa":{"type":"boolean"},"name":{"type":"string"},"owner_id":{"type":"string","format":"uuid"},"public":{"type":"boolean"},"updated_at":{"type":"string"},"welcome_message":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SshKeyView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","name","key_type","fingerprint","created_at"],"properties":{"created_at":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string","format":"uuid"},"key_type":{"$ref":"#/components/schemas/SshKeyType"},"last_used_at":{"type":["string","null"]},"name":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_StopwatchView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","issue_id","user_id","started_at","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"started_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SubscriberPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SubscriberView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Subscription":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["user_id","repo_id","mode","created_at"],"properties":{"created_at":{"type":"string"},"mode":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SuspensionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","user_id","suspension_type","starts_at","created_at"],"properties":{"created_at":{"type":"string"},"ends_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"reason":{"type":["string","null"]},"revoked_at":{"type":["string","null"]},"revoked_by":{"type":["string","null"],"format":"uuid"},"starts_at":{"type":"string"},"suspended_by":{"type":["string","null"],"format":"uuid"},"suspension_type":{"$ref":"#/components/schemas/SuspensionType"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SyncResult":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["repo_id","branches_added","tags_added","commits_added","size_bytes"],"properties":{"branches_added":{"type":"integer","format":"int64"},"commits_added":{"type":"integer","format":"int64"},"repo_id":{"type":"string","format":"uuid"},"size_bytes":{"type":"integer","format":"int64"},"tags_added":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SyncStatus":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["repo_id","branches_total","tags_total","commits_total","size","synced_at"],"properties":{"branches_total":{"type":"integer","format":"int64"},"commits_total":{"type":"integer","format":"int64"},"last_pushed_at":{"type":["string","null"]},"primary_language":{"type":["string","null"]},"repo_id":{"type":"string","format":"uuid"},"size":{"type":"integer","format":"int64"},"synced_at":{"type":"string"},"tags_total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_TagPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TagView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_TagProtectionPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TagProtectionView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_TagProtectionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","repo_id","name_pattern","whitelist_usernames","whitelist_teams","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"name_pattern":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"whitelist_teams":{"type":"array","items":{"type":"string"}},"whitelist_usernames":{"type":"array","items":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_TagView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","repo_id","name","tag_type","commit_sha","commit","message","zipball_url","tarball_url","created_at"],"properties":{"commit":{"$ref":"#/components/schemas/CommitMeta"},"commit_sha":{"type":"string"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"message":{"type":"string"},"name":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"tag_type":{"type":"string"},"tarball_url":{"type":"string"},"zipball_url":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_TopicList":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["topics"],"properties":{"topics":{"type":"array","items":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_TopicSearchResult":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["topics"],"properties":{"topics":{"type":"array","items":{"$ref":"#/components/schemas/TopicView"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_TreeView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sha","entries"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/TreeEntryView"}},"sha":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_UnreadCountResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["count"],"properties":{"count":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_UserMe":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["uid","username","display_name","avatar","is_active","is_admin","is_restricted"],"properties":{"avatar":{"type":"string"},"display_name":{"type":"string"},"is_active":{"type":"boolean"},"is_admin":{"type":"boolean"},"is_restricted":{"type":"boolean"},"language":{"type":["string","null"]},"locale":{"type":["string","null"]},"timezone":{"type":["string","null"]},"uid":{"type":"string"},"username":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_UserOverwriteView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["channel_id","user_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"channel_id":{"type":"string","format":"uuid"},"deny_mask":{"type":"integer","format":"int64"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_UserPreferences":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["user_id","theme_mode","in_app_flags","email_flags","push_flags","email_digest","allow_dms_from","allow_mentions_from","show_online_status","created_at","updated_at"],"properties":{"allow_dms_from":{"$ref":"#/components/schemas/Audience"},"allow_mentions_from":{"$ref":"#/components/schemas/Audience"},"created_at":{"type":"string"},"diff_view_style":{"type":["string","null"]},"email_digest":{"type":"boolean"},"email_flags":{"type":"integer","format":"int32"},"in_app_flags":{"type":"integer","format":"int32"},"mute_until":{"type":["string","null"]},"push_flags":{"type":"integer","format":"int32"},"show_online_status":{"type":"boolean"},"theme_mode":{"type":"string"},"theme_token":{"type":["string","null"]},"theme_version":{"type":["integer","null"],"format":"int64"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_UserPublic":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["uid","username","display_name","avatar","visibility","bot","system","created_at"],"properties":{"avatar":{"type":"string"},"bot":{"type":"boolean"},"created_at":{"type":"string"},"display_name":{"type":"string"},"language":{"type":["string","null"]},"locale":{"type":["string","null"]},"system":{"type":"boolean"},"timezone":{"type":["string","null"]},"uid":{"type":"string","format":"uuid"},"username":{"type":"string"},"visibility":{"$ref":"#/components/schemas/ProfileVisibility"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_AccessKeyView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","name","token_last_eight","scope","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"scope":{"$ref":"#/components/schemas/AccessKeyScope"},"token_last_eight":{"type":"string"},"updated_at":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_AgreementDoc":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["key","version","updated_at","title","content_md"],"properties":{"content_md":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":"string"},"version":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_BlockedSummary":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["user","since"],"properties":{"since":{"type":"string"},"user":{"$ref":"#/components/schemas/UserPublic"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_CollectionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","channel_id","name","nums_open_issue","nums_closed_issue","created_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"nums_closed_issue":{"type":"integer","format":"int64"},"nums_open_issue":{"type":"integer","format":"int64"},"updated_at":{"type":["string","null"]}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_DeletionRequestView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","user_id","status","created_at","updated_at"],"properties":{"cancelled_at":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"reason":{"type":["string","null"]},"scheduled_for":{"type":["string","null"]},"status":{"$ref":"#/components/schemas/DeletionStatus"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_DeviceView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","is_trusted","first_seen_at","last_seen_at","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"device_name":{"type":["string","null"]},"device_type":{"type":["string","null"]},"first_seen_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_trusted":{"type":"boolean"},"last_seen_at":{"type":"string"},"os":{"type":["string","null"]},"updated_at":{"type":"string"},"user_agent":{"type":["string","null"]}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_EmailView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","email","is_activated","is_primary","created_at","updated_at"],"properties":{"activated_at":{"type":["string","null"]},"created_at":{"type":"string"},"email":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_activated":{"type":"boolean"},"is_primary":{"type":"boolean"},"updated_at":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_FollowerSummary":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["user","since"],"properties":{"since":{"type":"string"},"user":{"$ref":"#/components/schemas/UserPublic"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_GitRef":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["name","sha","type_"],"properties":{"name":{"type":"string"},"sha":{"type":"string"},"type_":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_IssueTemplate":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["name","title","content","fields"],"properties":{"content":{"type":"string"},"description":{"type":["string","null"]},"fields":{"type":"array","items":{"$ref":"#/components/schemas/IssueTemplateField"}},"name":{"type":"string"},"title":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_MemeView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","name","content_type","url","size","created_at"],"properties":{"content_type":{"type":"string"},"created_at":{"type":"string"},"height":{"type":["integer","null"],"format":"int32"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"},"url":{"type":"string"},"width":{"type":["integer","null"],"format":"int32"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_NotificationView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","notification_type","title","created_at"],"properties":{"actor_uid":{"type":["string","null"],"format":"uuid"},"body":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"notification_type":{"$ref":"#/components/schemas/NotificationType"},"read_at":{"type":["string","null"]},"title":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_OAuthProviderInfo":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["name","display_name","authorize_url"],"properties":{"authorize_url":{"type":"string"},"display_name":{"type":"string"},"name":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_PullRequestCommentView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","pull_request_id","user_id","body","created_at"],"properties":{"body":{"type":"string"},"commit_sha":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"line":{"type":["integer","null"],"format":"int32"},"path":{"type":["string","null"]},"pull_request_id":{"type":"string","format":"uuid"},"review_id":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_PullRequestEventView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","pull_request_id","user_id","event_type","created_at"],"properties":{"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"created_at":{"type":"string"},"event_type":{"type":"string"},"id":{"type":"string","format":"uuid"},"pull_request_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_PullRequestReviewView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","pull_request_id","user_id","official","state","created_at"],"properties":{"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"official":{"type":"boolean"},"pull_request_id":{"type":"string","format":"uuid"},"state":{"$ref":"#/components/schemas/ReviewState"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_PushSubscriptionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","platform","endpoint","created_at"],"properties":{"created_at":{"type":"string"},"endpoint":{"type":"string"},"id":{"type":"string","format":"uuid"},"platform":{"$ref":"#/components/schemas/PushPlatform"},"user_agent":{"type":["string","null"]}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_RecentMentionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","channel_id","message_id","created_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"message_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_RecoveryCodeView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","created_at"],"properties":{"created_at":{"type":"string"},"expires_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"used_at":{"type":["string","null"]}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_ReportView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","reported_uid","reason","status","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"evidence":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"reason":{"type":"string"},"reported_uid":{"type":"string","format":"uuid"},"reporter_uid":{"type":["string","null"],"format":"uuid"},"resolution_note":{"type":["string","null"]},"resolver_uid":{"type":["string","null"],"format":"uuid"},"status":{"$ref":"#/components/schemas/ReportStatus"},"updated_at":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_RoleOverwriteView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","space_id","channel_id","role_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"channel_id":{"type":"string","format":"uuid"},"deny_mask":{"type":"integer","format":"int64"},"id":{"type":"string","format":"uuid"},"role_id":{"type":"string","format":"uuid"},"space_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_SavedMessageView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","channel_id","message_id","saved_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"message_id":{"type":"string","format":"uuid"},"saved_at":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_ScheduledMessageView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","target_channel_id","payload","scheduled_at","status","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"payload":{"type":"string"},"scheduled_at":{"type":"string"},"status":{"$ref":"#/components/schemas/ScheduledMessageStatus"},"target_channel_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_SessionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","kind","is_revoked","created_at","expires_at"],"properties":{"app_id":{"type":["string","null"]},"client_ip_hash":{"type":["string","null"]},"created_at":{"type":"string"},"expires_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_revoked":{"type":"boolean"},"kind":{"$ref":"#/components/schemas/SessionKind"},"replaced_at":{"type":["string","null"]},"user_agent_hash":{"type":["string","null"]}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_SshKeyView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","name","key_type","fingerprint","created_at"],"properties":{"created_at":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string","format":"uuid"},"key_type":{"$ref":"#/components/schemas/SshKeyType"},"last_used_at":{"type":["string","null"]},"name":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_SuspensionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","user_id","suspension_type","starts_at","created_at"],"properties":{"created_at":{"type":"string"},"ends_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"reason":{"type":["string","null"]},"revoked_at":{"type":["string","null"]},"revoked_by":{"type":["string","null"],"format":"uuid"},"starts_at":{"type":"string"},"suspended_by":{"type":["string","null"],"format":"uuid"},"suspension_type":{"$ref":"#/components/schemas/SuspensionType"},"user_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_UserMini":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","login"],"properties":{"avatar_url":{"type":["string","null"]},"email":{"type":["string","null"]},"full_name":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"login":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_UserOverwriteView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["channel_id","user_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"channel_id":{"type":"string","format":"uuid"},"deny_mask":{"type":"integer","format":"int64"},"user_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_VerifyCodeResult":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["code_row_id"],"properties":{"code_row_id":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ViewPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ViewView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ViewView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","project_id","creator_id","name","filter","sort_by","layout","is_shared","sort_order","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"creator_id":{"type":"string","format":"uuid"},"description":{"type":["string","null"]},"filter":{},"group_by":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_shared":{"type":"boolean"},"layout":{"type":"string"},"name":{"type":"string"},"project_id":{"type":"string","format":"uuid"},"sort_by":{"type":"string"},"sort_order":{"type":"integer","format":"int32"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_WatchView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","user_id","mode","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":["string","null"],"format":"uuid"},"mode":{"type":"string"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"ApplyDiffPatchFileOptions":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["content"],"properties":{"content":{"type":"string"},"sha":{"type":["string","null"]}}}]},"ArchiveFormatQuery":{"type":"object","properties":{"format":{"type":["string","null"]},"ref_name":{"type":["string","null"]}}},"ArchiveRepoOption":{"type":"object","required":["archived"],"properties":{"archived":{"type":"boolean"}}},"AssignRoleCmd":{"type":"object","required":["role_id"],"properties":{"role_id":{"type":"string","format":"uuid"}}},"AttachmentPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AttachmentView"}},"total":{"type":"integer","format":"int64"}}},"AttachmentView":{"type":"object","required":["id","owner_type","owner_id","filename","content_type","size","url","created_at"],"properties":{"content_type":{"type":"string"},"created_at":{"type":"string"},"filename":{"type":"string"},"id":{"type":"string","format":"uuid"},"owner_id":{"type":"string","format":"uuid"},"owner_type":{"type":"string"},"size":{"type":"integer","format":"int64"},"uploaded_by":{"type":["string","null"],"format":"uuid"},"url":{"type":"string"}}},"Audience":{"type":"string","enum":["everyone","following_only","nobody"]},"AuthorizationUrlResp":{"type":"object","required":["url","temp_key"],"properties":{"temp_key":{"$ref":"#/components/schemas/TempKey"},"url":{"type":"string"}}},"AuthorizeCmd":{"type":"object","required":["provider","code_verifier"],"properties":{"app_id":{"type":["string","null"]},"code_verifier":{"type":"string"},"provider":{"$ref":"#/components/schemas/OAuthProvider"}}},"AvatarFormat":{"type":"string","enum":["jpg","png","webp","gif"]},"AvatarView":{"type":"object","required":["uid","url","format","bytes","updated_at"],"properties":{"bytes":{"type":"integer","format":"int64","minimum":0},"format":{"$ref":"#/components/schemas/AvatarFormat"},"uid":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"url":{"type":"string"}}},"BlobView":{"type":"object","required":["sha","size","encoding","content"],"properties":{"content":{"type":"string"},"encoding":{"type":"string"},"sha":{"type":"string"},"size":{"type":"integer","format":"int64"}}},"BlockedSummary":{"type":"object","required":["user","since"],"properties":{"since":{"type":"string"},"user":{"$ref":"#/components/schemas/UserPublic"}}},"BranchPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BranchView"}},"total":{"type":"integer","format":"int64"}}},"BranchProtectionPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BranchProtectionView"}},"total":{"type":"integer","format":"int64"}}},"BranchProtectionView":{"type":"object","required":["id","repo_id","branch_name","rule_name","priority","enable_push","enable_push_whitelist","push_whitelist_usernames","push_whitelist_teams","push_whitelist_deploy_keys","enable_force_push","enable_force_push_allowlist","force_push_allowlist_usernames","force_push_allowlist_teams","force_push_allowlist_deploy_keys","enable_merge_whitelist","merge_whitelist_usernames","merge_whitelist_teams","enable_bypass_allowlist","bypass_allowlist_usernames","bypass_allowlist_teams","enable_approvals_whitelist","approvals_whitelist_usernames","approvals_whitelist_teams","required_approvals","block_on_rejected_reviews","block_on_change_requested_reviews","block_on_outdated_branch","dismiss_stale_approvals","ignore_stale_approvals","require_signed_commits","block_admin_merge_override","protected_file_patterns","unprotected_file_patterns","created_at","updated_at"],"properties":{"approvals_whitelist_teams":{"type":"array","items":{"type":"string"}},"approvals_whitelist_usernames":{"type":"array","items":{"type":"string"}},"block_admin_merge_override":{"type":"boolean"},"block_on_change_requested_reviews":{"type":"boolean"},"block_on_outdated_branch":{"type":"boolean"},"block_on_rejected_reviews":{"type":"boolean"},"branch_name":{"type":"string"},"branch_pattern":{"type":["string","null"]},"bypass_allowlist_teams":{"type":"array","items":{"type":"string"}},"bypass_allowlist_usernames":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string"},"dismiss_stale_approvals":{"type":"boolean"},"enable_approvals_whitelist":{"type":"boolean"},"enable_bypass_allowlist":{"type":"boolean"},"enable_force_push":{"type":"boolean"},"enable_force_push_allowlist":{"type":"boolean"},"enable_merge_whitelist":{"type":"boolean"},"enable_push":{"type":"boolean"},"enable_push_whitelist":{"type":"boolean"},"force_push_allowlist_deploy_keys":{"type":"boolean"},"force_push_allowlist_teams":{"type":"array","items":{"type":"string"}},"force_push_allowlist_usernames":{"type":"array","items":{"type":"string"}},"id":{"type":"string","format":"uuid"},"ignore_stale_approvals":{"type":"boolean"},"merge_whitelist_teams":{"type":"array","items":{"type":"string"}},"merge_whitelist_usernames":{"type":"array","items":{"type":"string"}},"priority":{"type":"integer","format":"int64"},"protected_file_patterns":{"type":"string"},"push_whitelist_deploy_keys":{"type":"boolean"},"push_whitelist_teams":{"type":"array","items":{"type":"string"}},"push_whitelist_usernames":{"type":"array","items":{"type":"string"}},"repo_id":{"type":"string","format":"uuid"},"require_signed_commits":{"type":"boolean"},"required_approvals":{"type":"integer","format":"int32"},"rule_name":{"type":"string"},"unprotected_file_patterns":{"type":"string"},"updated_at":{"type":"string"}}},"BranchView":{"type":"object","required":["id","repo_id","name","commit_sha","is_protected","protected","required_approvals","enable_status_check","status_check_contexts","user_can_push","user_can_merge","effective_branch_protection_name","is_deleted","created_at","updated_at"],"properties":{"commit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CommitMeta"}]},"commit_sha":{"type":"string"},"created_at":{"type":"string"},"deleted_at":{"type":["string","null"]},"effective_branch_protection_name":{"type":"string"},"enable_status_check":{"type":"boolean"},"id":{"type":"string","format":"uuid"},"is_deleted":{"type":"boolean"},"is_protected":{"type":"boolean"},"name":{"type":"string"},"protected":{"type":"boolean"},"repo_id":{"type":"string","format":"uuid"},"required_approvals":{"type":"integer","format":"int64"},"status_check_contexts":{"type":"array","items":{"type":"string"}},"updated_at":{"type":"string"},"user_can_merge":{"type":"boolean"},"user_can_push":{"type":"boolean"}}},"CallbackCmd":{"type":"object","required":["provider","code","state","temp_key_value"],"properties":{"app_id":{"type":["string","null"]},"code":{"type":"string"},"provider":{"$ref":"#/components/schemas/OAuthProvider"},"state":{"type":"string"},"temp_key_value":{"type":"string"}}},"ChangeFileEntry":{"type":"object","required":["operation","path"],"properties":{"content":{"type":["string","null"]},"from_path":{"type":["string","null"]},"operation":{"type":"string"},"path":{"type":"string"},"sha":{"type":["string","null"]}}},"ChangeFilesOptions":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"$ref":"#/components/schemas/ChangeFileEntry"}}}}]},"ChannelPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ChannelView"}},"total":{"type":"integer","format":"int64"}}},"ChannelSummary":{"type":"object","required":["id","space_id","name"],"properties":{"display_name":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"space_id":{"type":"string","format":"uuid"}}},"ChannelView":{"type":"object","required":["id","name","kind","position","is_archived","created_at","updated_at","created_by"],"properties":{"archived_at":{"type":["string","null"]},"archived_by":{"type":["string","null"],"format":"uuid"},"color":{"type":["string","null"]},"created_at":{"type":"string"},"created_by":{"type":"string","format":"uuid"},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_archived":{"type":"boolean"},"kind":{"type":"string"},"name":{"type":"string"},"parent_id":{"type":["string","null"],"format":"uuid"},"position":{"type":"integer","format":"int32"},"purpose":{"type":["string","null"]},"space_id":{"type":["string","null"],"format":"uuid"},"topic":{"type":["string","null"]},"updated_at":{"type":"string"}}},"CloseIssueOption":{"type":"object","required":["closed"],"properties":{"closed":{"type":"boolean"}}},"CollaboratorPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CollaboratorView"}},"total":{"type":"integer","format":"int64"}}},"CollaboratorView":{"type":"object","required":["id","repo_id","user_id","mode","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"mode":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"CollectionPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionView"}},"total":{"type":"integer","format":"int64"}}},"CollectionView":{"type":"object","required":["id","channel_id","name","nums_open_issue","nums_closed_issue","created_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"nums_closed_issue":{"type":"integer","format":"int64"},"nums_open_issue":{"type":"integer","format":"int64"},"updated_at":{"type":["string","null"]}}},"CombinedStatusView":{"type":"object","required":["sha","state","statuses","total_count"],"properties":{"sha":{"type":"string"},"state":{"type":"string"},"statuses":{"type":"array","items":{"$ref":"#/components/schemas/CommitStatusView"}},"total_count":{"type":"integer","format":"int64"}}},"CommentPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CommentView"}},"total":{"type":"integer","format":"int64"}}},"CommentView":{"type":"object","required":["id","poster_id","content","created_at"],"properties":{"content":{"type":"string"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":["string","null"],"format":"uuid"},"parent_id":{"type":["string","null"],"format":"uuid"},"poster_id":{"type":"string","format":"uuid"},"updated_at":{"type":["string","null"]}}},"CommitDateOptions":{"type":"object","properties":{"author":{"type":["string","null"]},"committer":{"type":["string","null"]}}},"CommitDiffPayload":{"type":"object","required":["sha","format","content"],"properties":{"content":{"type":"string"},"format":{"type":"string"},"sha":{"type":"string"}}},"CommitMeta":{"type":"object","required":["sha","message"],"properties":{"author_email":{"type":["string","null"]},"author_name":{"type":["string","null"]},"authored_at":{"type":["string","null"]},"committed_at":{"type":["string","null"]},"committer_email":{"type":["string","null"]},"committer_name":{"type":["string","null"]},"message":{"type":"string"},"sha":{"type":"string"},"tree_sha":{"type":["string","null"]}}},"CommitStatusPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CommitStatusView"}},"total":{"type":"integer","format":"int64"}}},"CommitStatusView":{"type":"object","required":["id","repo_id","sha","state","context","url","creator","created_at"],"properties":{"context":{"type":"string"},"created_at":{"type":"string"},"creator":{"$ref":"#/components/schemas/CommitUserSummary"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"repo_id":{"type":"string","format":"uuid"},"sha":{"type":"string"},"state":{"type":"string"},"target_url":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"url":{"type":"string"}}},"CommitSummary":{"type":"object","required":["sha","message","parent_shas","tree_sha"],"properties":{"author":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/UserMini"}]},"authored_at":{"type":["string","null"]},"committed_at":{"type":["string","null"]},"committer":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/UserMini"}]},"message":{"type":"string"},"parent_shas":{"type":"array","items":{"type":"string"}},"sha":{"type":"string"},"tree_sha":{"type":"string"}}},"CommitUserSummary":{"type":"object","required":["id","login"],"properties":{"avatar_url":{"type":["string","null"]},"full_name":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"login":{"type":"string"}}},"CommitView":{"type":"object","required":["sha","message","parent_shas","tree_sha"],"properties":{"author_email":{"type":["string","null"]},"author_name":{"type":["string","null"]},"authored_at":{"type":["string","null"]},"committed_at":{"type":["string","null"]},"committer_email":{"type":["string","null"]},"committer_name":{"type":["string","null"]},"message":{"type":"string"},"parent_shas":{"type":"array","items":{"type":"string"}},"sha":{"type":"string"},"tree_sha":{"type":"string"}}},"CommitsResponse":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CommitSummary"}},"total":{"type":"integer","format":"int64"}}},"CompareFileDiff":{"type":"object","required":["path","additions","deletions","status"],"properties":{"additions":{"type":"integer","format":"int64"},"deletions":{"type":"integer","format":"int64"},"path":{"type":"string"},"status":{"type":"string"}}},"CompareView":{"type":"object","required":["base","head","total_commits","ahead_by","behind_by","files"],"properties":{"ahead_by":{"type":"integer","format":"int64"},"base":{"type":"string"},"behind_by":{"type":"integer","format":"int64"},"files":{"type":"array","items":{"$ref":"#/components/schemas/CompareFileDiff"}},"head":{"type":"string"},"merge_base":{"type":["string","null"]},"total_commits":{"type":"integer","format":"int64"}}},"ConfirmEmailChangeCmd":{"type":"object","required":["ticket_id"],"properties":{"ticket_id":{"type":"string","format":"uuid"}}},"ContentHistoryPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ContentHistoryView"}},"total":{"type":"integer","format":"int64"}}},"ContentHistoryView":{"type":"object","required":["id","issue_id","poster_id","edited_at","created_at"],"properties":{"comment_id":{"type":["string","null"],"format":"uuid"},"content_after":{"type":["string","null"]},"content_before":{"type":["string","null"]},"created_at":{"type":"string"},"edited_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"poster_id":{"type":"string","format":"uuid"}}},"ContentsExtResponse":{"type":"object","required":["dir_contents"],"properties":{"dir_contents":{"type":"array","items":{"$ref":"#/components/schemas/ContentsResponse"}},"file_contents":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ContentsResponse"}]}}},"ContentsListResponse":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ContentsResponse"}}}},"ContentsQuery":{"type":"object","properties":{"ref":{"type":["string","null"]}}},"ContentsResponse":{"type":"object","required":["name","path","sha","type","size"],"properties":{"content":{"type":["string","null"]},"download_url":{"type":["string","null"]},"encoding":{"type":["string","null"]},"git_url":{"type":["string","null"]},"html_url":{"type":["string","null"]},"last_author_date":{"type":["string","null"]},"last_commit_message":{"type":["string","null"]},"last_commit_sha":{"type":["string","null"]},"last_committer_date":{"type":["string","null"]},"lfs_oid":{"type":["string","null"]},"lfs_size":{"type":["integer","null"],"format":"int64"},"links":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FileLinksResponse"}]},"name":{"type":"string"},"path":{"type":"string"},"sha":{"type":"string"},"size":{"type":"integer","format":"int64"},"submodule_git_url":{"type":["string","null"]},"target":{"type":["string","null"]},"type":{"type":"string"},"url":{"type":["string","null"]}}},"CreateAccessKeyCmd":{"type":"object","required":["name","scope"],"properties":{"name":{"type":"string"},"scope":{"$ref":"#/components/schemas/AccessKeyScope"}}},"CreateAccessKeyResp":{"type":"object","required":["key","token"],"properties":{"key":{"$ref":"#/components/schemas/AccessKeyView"},"token":{"type":"string"}}},"CreateBanCmd":{"type":"object","required":["user_id"],"properties":{"allow_agent_join":{"type":["boolean","null"]},"allow_comment_any":{"type":["boolean","null"]},"allow_push_repo":{"type":["boolean","null"]},"allow_speak":{"type":["boolean","null"]},"expires_at":{"type":["string","null"]},"reason":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"CreateBranchOption":{"type":"object","required":["new_branch_name"],"properties":{"new_branch_name":{"type":"string"},"old_branch_name":{"type":["string","null"]},"old_ref_name":{"type":["string","null"]}}},"CreateBranchProtectionOption":{"type":"object","required":["branch_name"],"properties":{"approvals_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"approvals_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"block_admin_merge_override":{"type":["boolean","null"]},"block_on_change_requested_reviews":{"type":["boolean","null"]},"block_on_outdated_branch":{"type":["boolean","null"]},"block_on_rejected_reviews":{"type":["boolean","null"]},"branch_name":{"type":"string"},"branch_pattern":{"type":["string","null"]},"bypass_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"bypass_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"dismiss_stale_approvals":{"type":["boolean","null"]},"enable_approvals_whitelist":{"type":["boolean","null"]},"enable_bypass_allowlist":{"type":["boolean","null"]},"enable_force_push":{"type":["boolean","null"]},"enable_force_push_allowlist":{"type":["boolean","null"]},"enable_merge_whitelist":{"type":["boolean","null"]},"enable_push":{"type":["boolean","null"]},"enable_push_whitelist":{"type":["boolean","null"]},"force_push_allowlist_deploy_keys":{"type":["boolean","null"]},"force_push_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"force_push_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"ignore_stale_approvals":{"type":["boolean","null"]},"merge_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"merge_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"priority":{"type":["integer","null"],"format":"int64"},"protected_file_patterns":{"type":["string","null"]},"push_whitelist_deploy_keys":{"type":["boolean","null"]},"push_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"push_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"require_signed_commits":{"type":["boolean","null"]},"required_approvals":{"type":["integer","null"],"format":"int32"},"rule_name":{"type":["string","null"]},"unprotected_file_patterns":{"type":["string","null"]}}},"CreateCollectionOption":{"type":"object","required":["space_id","name"],"properties":{"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"name":{"type":"string"},"parent_dir":{"type":["string","null"],"format":"uuid"},"space_id":{"type":"string","format":"uuid"}}},"CreateCommentOption":{"type":"object","required":["content"],"properties":{"content":{"type":"string"},"parent_id":{"type":["string","null"],"format":"uuid"}}},"CreateDependencyOption":{"type":"object","required":["dependency_id"],"properties":{"dependency_id":{"type":"string","format":"uuid"}}},"CreateDeployKeyOption":{"type":"object","required":["title","key"],"properties":{"key":{"type":"string"},"read_only":{"type":["boolean","null"]},"title":{"type":"string"}}},"CreateDocumentCmd":{"type":"object","required":["title","slug"],"properties":{"content":{"type":"string"},"icon":{"type":["string","null"]},"parent_id":{"type":["string","null"],"format":"uuid"},"slug":{"type":"string"},"title":{"type":"string"}}},"CreateFileOption":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["content"],"properties":{"content":{"type":"string"}}}]},"CreateInviteCmd":{"type":"object","required":["role_ids"],"properties":{"email":{"type":["string","null"]},"expires_at":{"type":["string","null"]},"role_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"user_id":{"type":["string","null"],"format":"uuid"}}},"CreateIssueOption":{"type":"object","required":["title","body"],"properties":{"body":{"type":"string"},"description":{"type":["string","null"]},"milestone_id":{"type":["string","null"],"format":"uuid"},"title":{"type":"string"}}},"CreateLabelOption":{"type":"object","required":["name","color"],"properties":{"color":{"type":"string"},"description":{"type":["string","null"]},"exclusive":{"type":["boolean","null"]},"exclusive_order":{"type":["integer","null"],"format":"int32"},"name":{"type":"string"}}},"CreateMemberOption":{"type":"object","required":["user_id","kind"],"properties":{"kind":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"CreateMilestoneOption":{"type":"object","required":["name"],"properties":{"description":{"type":["string","null"]},"due_at":{"type":["string","null"]},"name":{"type":"string"}}},"CreatePinOption":{"type":"object","required":["issue_id","pin_order"],"properties":{"issue_id":{"type":"string","format":"uuid"},"pin_order":{"type":"integer","format":"int32"}}},"CreateProjectCmd":{"type":"object","required":["space_id","name"],"properties":{"color":{"type":["string","null"]},"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"lead_id":{"type":["string","null"],"format":"uuid"},"name":{"type":"string"},"parent_dir":{"type":["string","null"],"format":"uuid"},"space_id":{"type":"string","format":"uuid"},"target_date":{"type":["string","null"],"format":"date"}}},"CreatePullRequestCommentOption":{"type":"object","required":["body"],"properties":{"body":{"type":"string"},"commit_sha":{"type":["string","null"]},"line":{"type":["integer","null"],"format":"int32"},"path":{"type":["string","null"]}}},"CreatePullRequestOption":{"type":"object","required":["title","head","base"],"properties":{"base":{"type":"string"},"body":{"type":["string","null"]},"head":{"type":"string"},"title":{"type":"string"}}},"CreateReactionOption":{"type":"object","required":["emoji"],"properties":{"emoji":{"type":"string"}}},"CreateReleaseOption":{"type":"object","required":["tag_name","title"],"properties":{"content":{"type":["string","null"]},"is_draft":{"type":["boolean","null"]},"is_prerelease":{"type":["boolean","null"]},"tag_message":{"type":["string","null"]},"tag_name":{"type":"string"},"target":{"type":["string","null"]},"title":{"type":"string"}}},"CreateRepoOption":{"type":"object","required":["space_id","name"],"properties":{"auto_init":{"type":["boolean","null"]},"default_branch":{"type":["string","null"]},"description":{"type":["string","null"]},"enable_lfs":{"type":["boolean","null"]},"gitignores":{"type":["string","null"]},"is_private":{"type":["boolean","null"]},"issue_labels":{"type":["string","null"]},"license_name":{"type":["string","null"]},"name":{"type":"string"},"object_format":{"type":["string","null"]},"parent_dir":{"type":["string","null"],"format":"uuid"},"readme":{"type":["string","null"]},"space_id":{"type":"string","format":"uuid"},"template":{"type":["boolean","null"]},"website":{"type":["string","null"]}}},"CreateRepoRelOption":{"type":"object","required":["repo_id"],"properties":{"repo_id":{"type":"string","format":"uuid"}}},"CreateRoleCmd":{"type":"object","required":["name","permissions"],"properties":{"color":{"type":["string","null"]},"icon_hash":{"type":["string","null"]},"name":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"position":{"type":["integer","null"],"format":"int64"},"unicode_emoji":{"type":["string","null"]}}},"CreateSpaceCmd":{"type":"object","required":["name"],"properties":{"allow_invite":{"type":"boolean"},"allow_join":{"type":"boolean"},"allow_join_level":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpaceAllowJoinLevel"}]},"avatar_url":{"type":["string","null"]},"description":{"type":["string","null"]},"member_must_enable_2fa":{"type":"boolean"},"name":{"type":"string"},"public":{"type":"boolean"},"welcome_message":{"type":["string","null"]}}},"CreateStatusOption":{"type":"object","required":["state","context"],"properties":{"context":{"type":"string"},"description":{"type":["string","null"]},"state":{"type":"string"},"target_url":{"type":["string","null"]}}},"CreateTagOption":{"type":"object","required":["tag_name"],"properties":{"message":{"type":["string","null"]},"tag_name":{"type":"string"},"target":{"type":["string","null"]}}},"CreateTagProtectionOption":{"type":"object","required":["name_pattern"],"properties":{"name_pattern":{"type":"string"},"whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"whitelist_usernames":{"type":["array","null"],"items":{"type":"string","format":"uuid"}}}},"CreateViewCmd":{"type":"object","required":["name"],"properties":{"description":{"type":["string","null"]},"filter":{},"group_by":{"type":["string","null"]},"is_shared":{"type":"boolean"},"layout":{"type":"string"},"name":{"type":"string"},"sort_by":{"type":"string"}}},"DeleteFileOption":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["sha"],"properties":{"sha":{"type":"string"}}}]},"DeletionRequestView":{"type":"object","required":["id","user_id","status","created_at","updated_at"],"properties":{"cancelled_at":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"reason":{"type":["string","null"]},"scheduled_for":{"type":["string","null"]},"status":{"$ref":"#/components/schemas/DeletionStatus"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"DeletionStatus":{"type":"string","enum":["pending","scheduled","completed","cancelled"]},"DependencyView":{"type":"object","required":["id","issue_id","dependency_id","created_at"],"properties":{"created_at":{"type":"string"},"dependency_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"}}},"DeployKeyPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DeployKeyView"}},"total":{"type":"integer","format":"int64"}}},"DeployKeyView":{"type":"object","required":["id","key_id","repo_id","title","key_type","fingerprint","content","url","read_only","created_at"],"properties":{"content":{"type":"string"},"created_at":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string","format":"uuid"},"key_id":{"type":"integer","format":"int64"},"key_type":{"type":"string"},"last_used_at":{"type":["string","null"]},"read_only":{"type":"boolean"},"repo_id":{"type":"string","format":"uuid"},"title":{"type":"string"},"url":{"type":"string"}}},"DeviceView":{"type":"object","required":["id","is_trusted","first_seen_at","last_seen_at","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"device_name":{"type":["string","null"]},"device_type":{"type":["string","null"]},"first_seen_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_trusted":{"type":"boolean"},"last_seen_at":{"type":"string"},"os":{"type":["string","null"]},"updated_at":{"type":"string"},"user_agent":{"type":["string","null"]}}},"DocumentPage":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DocumentView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"DocumentView":{"type":"object","required":["id","project_id","creator_id","title","slug","content","created_at"],"properties":{"content":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"creator_id":{"type":"string","format":"uuid"},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"last_editor_id":{"type":["string","null"],"format":"uuid"},"parent_id":{"type":["string","null"],"format":"uuid"},"project_id":{"type":"string","format":"uuid"},"slug":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"EditBranchProtectionOption":{"type":"object","properties":{"approvals_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"approvals_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"block_admin_merge_override":{"type":["boolean","null"]},"block_on_change_requested_reviews":{"type":["boolean","null"]},"block_on_outdated_branch":{"type":["boolean","null"]},"block_on_rejected_reviews":{"type":["boolean","null"]},"branch_pattern":{"type":["string","null"]},"bypass_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"bypass_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"dismiss_stale_approvals":{"type":["boolean","null"]},"enable_approvals_whitelist":{"type":["boolean","null"]},"enable_bypass_allowlist":{"type":["boolean","null"]},"enable_force_push":{"type":["boolean","null"]},"enable_force_push_allowlist":{"type":["boolean","null"]},"enable_merge_whitelist":{"type":["boolean","null"]},"enable_push":{"type":["boolean","null"]},"enable_push_whitelist":{"type":["boolean","null"]},"force_push_allowlist_deploy_keys":{"type":["boolean","null"]},"force_push_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"force_push_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"ignore_stale_approvals":{"type":["boolean","null"]},"merge_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"merge_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"priority":{"type":["integer","null"],"format":"int64"},"protected_file_patterns":{"type":["string","null"]},"push_whitelist_deploy_keys":{"type":["boolean","null"]},"push_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"push_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"require_signed_commits":{"type":["boolean","null"]},"required_approvals":{"type":["integer","null"],"format":"int32"},"unprotected_file_patterns":{"type":["string","null"]}}},"EditReleaseOption":{"type":"object","properties":{"content":{"type":["string","null"]},"is_draft":{"type":["boolean","null"]},"is_prerelease":{"type":["boolean","null"]},"tag_name":{"type":["string","null"]},"target":{"type":["string","null"]},"title":{"type":["string","null"]}}},"EditTagProtectionOption":{"type":"object","properties":{"name_pattern":{"type":["string","null"]},"whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"whitelist_usernames":{"type":["array","null"],"items":{"type":"string","format":"uuid"}}}},"EmailChangeTicketStatus":{"type":"string","enum":["pending","verified","completed","cancelled"]},"EmailChangeTicketView":{"type":"object","required":["id","new_email","status","expires_at","created_at"],"properties":{"created_at":{"type":"string"},"expires_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"new_email":{"type":"string"},"status":{"$ref":"#/components/schemas/EmailChangeTicketStatus"},"used_at":{"type":["string","null"]}}},"EmailView":{"type":"object","required":["id","email","is_activated","is_primary","created_at","updated_at"],"properties":{"activated_at":{"type":["string","null"]},"created_at":{"type":"string"},"email":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_activated":{"type":"boolean"},"is_primary":{"type":"boolean"},"updated_at":{"type":"string"}}},"ErrorBody":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}},"EventPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EventView"}},"total":{"type":"integer","format":"int64"}}},"EventView":{"type":"object","required":["id","user_id","event_type","created_at"],"properties":{"comment_id":{"type":["string","null"],"format":"uuid"},"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"created_at":{"type":"string"},"event_type":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":["string","null"],"format":"uuid"},"new_ref":{"type":["string","null"]},"new_title":{"type":["string","null"]},"old_ref":{"type":["string","null"]},"old_title":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"ExternalTracker":{"type":"object","required":["external_tracker_url","external_tracker_format","external_tracker_style"],"properties":{"external_tracker_format":{"type":"string"},"external_tracker_style":{"type":"string"},"external_tracker_url":{"type":"string"}}},"ExternalWiki":{"type":"object","required":["external_wiki_url"],"properties":{"external_wiki_url":{"type":"string"}}},"FavoritePage":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/FavoriteView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"FavoriteView":{"type":"object","required":["id","project_id","user_id","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"folder":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"FileDeleteResponse":{"type":"object","properties":{"commit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CommitSummary"}]},"content":{}}},"FileLinksResponse":{"type":"object","properties":{"git":{"type":["string","null"]},"html":{"type":["string","null"]},"self":{"type":["string","null"]}}},"FileOptions":{"type":"object","properties":{"author":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GitIdentity"}]},"branch":{"type":["string","null"]},"committer":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GitIdentity"}]},"dates":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CommitDateOptions"}]},"force_push":{"type":["boolean","null"]},"message":{"type":["string","null"]},"new_branch":{"type":["string","null"]},"signoff":{"type":["boolean","null"]}}},"FilesResponse":{"type":"object","required":["files"],"properties":{"commit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CommitSummary"}]},"files":{"type":"array","items":{"$ref":"#/components/schemas/ContentsResponse"}}}},"FollowerSummary":{"type":"object","required":["user","since"],"properties":{"since":{"type":"string"},"user":{"$ref":"#/components/schemas/UserPublic"}}},"ForgotPasswordCmd":{"type":"object","required":["email","pow"],"properties":{"email":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"}}},"ForgotPasswordResp":{"type":"object","required":["sent","temp_key"],"properties":{"sent":{"type":"boolean"},"temp_key":{"$ref":"#/components/schemas/TempKey"}}},"ForkRepoOption":{"type":"object","required":["to_channel_id"],"properties":{"description":{"type":["string","null"]},"name":{"type":["string","null"]},"to_channel_id":{"type":"string","format":"uuid"}}},"ForkView":{"type":"object","required":["id","name","full_name","owner","private","fork","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"fork":{"type":"boolean"},"full_name":{"type":"string"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"owner":{"$ref":"#/components/schemas/UserMini"},"private":{"type":"boolean"},"updated_at":{"type":"string"}}},"ForksResponse":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ForkView"}},"total":{"type":"integer","format":"int64"}}},"GenerateRepoOption":{"type":"object","required":["to_channel_id","name"],"properties":{"description":{"type":["string","null"]},"is_private":{"type":["boolean","null"]},"name":{"type":"string"},"to_channel_id":{"type":"string","format":"uuid"}}},"GitIdentity":{"type":"object","required":["name","email"],"properties":{"date":{"type":["string","null"]},"email":{"type":"string"},"name":{"type":"string"}}},"GitRef":{"type":"object","required":["name","sha","type_"],"properties":{"name":{"type":"string"},"sha":{"type":"string"},"type_":{"type":"string"}}},"HealthStatus":{"type":"object","required":["status","service"],"properties":{"service":{"type":"string"},"status":{"type":"string"}}},"InternalTracker":{"type":"object","required":["enable_time_tracker","allow_only_contributors_to_track_time","enable_issue_dependencies"],"properties":{"allow_only_contributors_to_track_time":{"type":"boolean"},"enable_issue_dependencies":{"type":"boolean"},"enable_time_tracker":{"type":"boolean"}}},"IssueConfig":{"type":"object","required":["blank_issues_enabled"],"properties":{"blank_issues_enabled":{"type":"boolean"},"contact_links":{}}},"IssueConfigValidation":{"type":"object","required":["valid"],"properties":{"message":{"type":["string","null"]},"valid":{"type":"boolean"}}},"IssuePage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/IssueView"}},"total":{"type":"integer","format":"int64"}}},"IssueState":{"type":"string","enum":["open","closed"]},"IssueTemplate":{"type":"object","required":["name","title","content","fields"],"properties":{"content":{"type":"string"},"description":{"type":["string","null"]},"fields":{"type":"array","items":{"$ref":"#/components/schemas/IssueTemplateField"}},"name":{"type":"string"},"title":{"type":"string"}}},"IssueTemplateField":{"type":"object","required":["type_","id","name"],"properties":{"description":{"type":["string","null"]},"id":{"type":"string"},"name":{"type":"string"},"required":{"type":["boolean","null"]},"type_":{"type":"string"},"validations":{}}},"IssueUserView":{"type":"object","required":["id","user_id","issue_id","is_read","is_mentioned","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_mentioned":{"type":"boolean"},"is_read":{"type":"boolean"},"issue_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"IssueView":{"type":"object","required":["id","collection_id","autoincrement_id","author_id","title","body","state","created_at"],"properties":{"author_id":{"type":"string","format":"uuid"},"autoincrement_id":{"type":"integer","format":"int32"},"body":{"type":"string"},"closed_at":{"type":["string","null"]},"collection_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"milestone_id":{"type":["string","null"],"format":"uuid"},"state":{"$ref":"#/components/schemas/IssueState"},"title":{"type":"string"},"updated_at":{"type":["string","null"]}}},"LabelPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/LabelView"}},"total":{"type":"integer","format":"int64"}}},"LabelView":{"type":"object","required":["id","channel_id","name","exclusive","exclusive_order","color","is_archived","created_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"color":{"type":"string"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"exclusive":{"type":"boolean"},"exclusive_order":{"type":"integer","format":"int32"},"id":{"type":"string","format":"uuid"},"is_archived":{"type":"boolean"},"name":{"type":"string"},"updated_at":{"type":["string","null"]}}},"LanguagesResponse":{"type":"object","required":["languages"],"properties":{"languages":{"type":"object","additionalProperties":{"type":"integer","format":"int64"},"propertyNames":{"type":"string"}}}},"LicensesResponse":{"type":"object","required":["licenses"],"properties":{"licenses":{"type":"array","items":{"type":"string"}}}},"LinkKind":{"type":"string","enum":["related","duplicate","blocks","blocked_by"]},"LinkPage":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/LinkView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"LinkView":{"type":"object","required":["id","project_id","related_project_id","kind","created_by","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"kind":{"$ref":"#/components/schemas/LinkKind"},"project_id":{"type":"string","format":"uuid"},"related_project_id":{"type":"string","format":"uuid"}}},"ListActivityQuery":{"type":"object","properties":{"page":{"type":"integer","format":"int64","minimum":0},"per_page":{"type":"integer","format":"int64","minimum":0},"verb":{"type":["string","null"]}}},"ListAttachmentQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListBlocksQuery":{"type":"object","properties":{"cursor":{"type":["string","null"],"format":"uuid"},"limit":{"type":"integer","minimum":0}}},"ListBranchProtectionQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListBranchQuery":{"type":"object","properties":{"keyword":{"type":["string","null"]},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListCollaboratorQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListCollectionQuery":{"type":"object","properties":{"channel_id":{"type":["string","null"],"format":"uuid"},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0},"q":{"type":["string","null"]}}},"ListCommentQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0},"parent_id":{"type":["string","null"],"format":"uuid"}}},"ListContentHistoryQuery":{"type":"object","properties":{"comment_id":{"type":["string","null"],"format":"uuid"},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListDeployKeyQuery":{"type":"object","properties":{"fingerprint":{"type":["string","null"]},"key_id":{"type":["string","null"],"format":"uuid"},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListEventQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListFollowersQuery":{"type":"object","required":["target_uid"],"properties":{"cursor":{"type":["string","null"],"format":"uuid"},"limit":{"type":"integer","minimum":0},"target_uid":{"type":"string","format":"uuid"}}},"ListFollowingQuery":{"type":"object","required":["user_uid"],"properties":{"cursor":{"type":["string","null"],"format":"uuid"},"limit":{"type":"integer","minimum":0},"user_uid":{"type":"string","format":"uuid"}}},"ListIssueQuery":{"type":"object","properties":{"author_id":{"type":["string","null"],"format":"uuid"},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"milestone_id":{"type":["string","null"],"format":"uuid"},"offset":{"type":["integer","null"],"format":"int64","minimum":0},"q":{"type":["string","null"]},"state":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/IssueState"}]}}},"ListLabelQuery":{"type":"object","properties":{"is_archived":{"type":["boolean","null"]},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0},"q":{"type":["string","null"]}}},"ListMemberQuery":{"type":"object","properties":{"kind":{"type":["string","null"]},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListMilestoneQuery":{"type":"object","properties":{"is_closed":{"type":["boolean","null"]},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0},"q":{"type":["string","null"]}}},"ListNotificationsQuery":{"type":"object","properties":{"cursor":{"type":["string","null"],"format":"uuid"},"limit":{"type":"integer","minimum":0},"notification_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/NotificationType"}]},"unread_only":{"type":["boolean","null"]}}},"ListProjectQuery":{"type":"object","required":["space_id"],"properties":{"lead_id":{"type":["string","null"],"format":"uuid"},"page":{"type":"integer","format":"int64","minimum":0},"per_page":{"type":"integer","format":"int64","minimum":0},"q":{"type":["string","null"]},"space_id":{"type":"string","format":"uuid"},"starred_only":{"type":["boolean","null"]},"state":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectState"}]}}},"ListPullRequestQuery":{"type":"object","properties":{"keyword":{"type":["string","null"]},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0},"state":{"type":["string","null"]}}},"ListReactionQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListReleaseQuery":{"type":"object","properties":{"draft":{"type":["boolean","null"]},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0},"prerelease":{"type":["boolean","null"]}}},"ListRepoQuery":{"type":"object","properties":{"channel_id":{"type":["string","null"],"format":"uuid"},"is_archived":{"type":["boolean","null"]},"is_private":{"type":["boolean","null"]},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0},"owner_user_id":{"type":["string","null"],"format":"uuid"},"q":{"type":["string","null"]}}},"ListSessionsQuery":{"type":"object","properties":{"app_id":{"type":["string","null"]},"include_revoked":{"type":"boolean"}}},"ListStatusQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0},"sort":{"type":["string","null"]},"state":{"type":["string","null"]}}},"ListSubscriberQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListTagProtectionQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListTagQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListTrackedTimeQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0},"user_id":{"type":["string","null"],"format":"uuid"}}},"LoginCmd":{"type":"object","required":["identifier","password","pow"],"properties":{"app_id":{"type":["string","null"]},"identifier":{"type":"string"},"password":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"}}},"LoginResp":{"type":"object","required":["access_token","refresh_token","token_type","expires_in","user"],"properties":{"access_token":{"type":"string"},"expires_in":{"type":"integer","format":"int64"},"refresh_token":{"type":"string"},"token_type":{"type":"string"},"user":{"$ref":"#/components/schemas/UserPublic"}}},"LogoutCmd":{"type":"object","required":["refresh_token"],"properties":{"refresh_token":{"type":"string"}}},"LogoutResp":{"type":"object","required":["revoked"],"properties":{"revoked":{"type":"boolean"}}},"MarkAllReadResp":{"type":"object","required":["marked"],"properties":{"marked":{"type":"integer","format":"int64","minimum":0}}},"MarkReadCmd":{"type":"object","required":["notification_ids"],"properties":{"notification_ids":{"type":"array","items":{"type":"string","format":"uuid"}}}},"MarkReadResp":{"type":"object","required":["marked"],"properties":{"marked":{"type":"integer","format":"int64","minimum":0}}},"MemberPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MemberView"}},"total":{"type":"integer","format":"int64"}}},"MemberRole":{"type":"string","enum":["owner","lead","contributor","viewer"]},"MemberView":{"type":"object","required":["id","issue_id","user_id","kind","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"kind":{"type":"string"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"MemeView":{"type":"object","required":["id","name","content_type","url","size","created_at"],"properties":{"content_type":{"type":"string"},"created_at":{"type":"string"},"height":{"type":["integer","null"],"format":"int32"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"},"url":{"type":"string"},"width":{"type":["integer","null"],"format":"int32"}}},"MergePullRequestOption":{"type":"object","required":["style"],"properties":{"commit_message":{"type":["string","null"]},"commit_title":{"type":["string","null"]},"delete_branch_after_merge":{"type":"boolean"},"style":{"$ref":"#/components/schemas/MergeStyle"}}},"MergeStyle":{"type":"string","enum":["fast_forward","rebase","rebase_merge","squash","merge","manually_merged"]},"MergeUpstreamRequest":{"type":"object","required":["branch"],"properties":{"branch":{"type":"string"},"ff_only":{"type":["boolean","null"]}}},"MergeUpstreamResponse":{"type":"object","required":["merge_type"],"properties":{"merge_type":{"type":"string"}}},"MergeView":{"type":"object","required":["sha","merged"],"properties":{"merged":{"type":"boolean"},"message":{"type":["string","null"]},"sha":{"type":"string"}}},"MessageNotifications":{"type":"string","enum":["all","mentions","nothing"]},"MilestonePage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MilestoneView"}},"total":{"type":"integer","format":"int64"}}},"MilestoneView":{"type":"object","required":["id","collection_id","name","is_closed","num_issues","num_closed_issues","created_at"],"properties":{"collection_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"due_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_closed":{"type":"boolean"},"name":{"type":"string"},"num_closed_issues":{"type":"integer","format":"int32"},"num_issues":{"type":"integer","format":"int32"},"updated_at":{"type":["string","null"]}}},"NewPinAllowedResponse":{"type":"object","required":["allowed"],"properties":{"allowed":{"type":"boolean"}}},"NoteView":{"type":"object","required":["sha","message"],"properties":{"message":{"type":"string"},"sha":{"type":"string"}}},"NotificationType":{"type":"string","enum":["mention","reply","follow","invite","assignment","system"]},"NotificationView":{"type":"object","required":["id","notification_type","title","created_at"],"properties":{"actor_uid":{"type":["string","null"],"format":"uuid"},"body":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"notification_type":{"$ref":"#/components/schemas/NotificationType"},"read_at":{"type":["string","null"]},"title":{"type":"string"}}},"OAuthLoginResp":{"type":"object","required":["access_token","refresh_token","token_type","expires_in","user_id","auto_registered"],"properties":{"access_token":{"type":"string"},"auto_registered":{"type":"boolean"},"expires_in":{"type":"integer","format":"int64"},"refresh_token":{"type":"string"},"token_type":{"type":"string"},"user_id":{"type":"string"}}},"OAuthProvider":{"type":"string","enum":["google","github","apple"]},"OAuthProviderInfo":{"type":"object","required":["name","display_name","authorize_url"],"properties":{"authorize_url":{"type":"string"},"display_name":{"type":"string"},"name":{"type":"string"}}},"Permission":{"type":"object","required":["admin","push","pull"],"properties":{"admin":{"type":"boolean"},"pull":{"type":"boolean"},"push":{"type":"boolean"}}},"PinView":{"type":"object","required":["id","collection_id","pin_order","created_at"],"properties":{"collection_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":["string","null"],"format":"uuid"},"pin_order":{"type":"integer","format":"int32"}}},"PowChallengeResp":{"type":"object","required":["challenge","ttl_seconds"],"properties":{"challenge":{"type":"string"},"ttl_seconds":{"type":"integer","format":"int64","minimum":0}}},"PowProof":{"type":"object","required":["challenge","solution"],"properties":{"challenge":{"type":"string"},"solution":{"type":"string"}}},"PrState":{"type":"string","enum":["open","closed","merged"]},"ProfileView":{"type":"object","required":["user_id","show_email","show_location","show_real_name","show_activity","updated_at"],"properties":{"accent_color":{"type":["string","null"]},"banner_color":{"type":["integer","null"],"format":"int32"},"banner_url":{"type":["string","null"]},"bio":{"type":["string","null"]},"company":{"type":["string","null"]},"date_of_birth":{"type":["string","null"],"format":"date"},"location":{"type":["string","null"]},"pronouns":{"type":["string","null"]},"pronouns_privacy":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProfileVisibility"}]},"real_name":{"type":["string","null"]},"show_activity":{"type":"boolean"},"show_email":{"type":"boolean"},"show_location":{"type":"boolean"},"show_real_name":{"type":"boolean"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"},"website":{"type":["string","null"]}}},"ProfileVisibility":{"type":"string","enum":["public","registered_only","members_only","private"]},"ProjectHealth":{"type":"string","enum":["on_track","at_risk","off_track","none"]},"ProjectPage":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"ProjectState":{"type":"string","enum":["backlog","planned","in_progress","paused","completed","cancelled"]},"ProjectView":{"type":"object","required":["id","space_id","creator_id","name","state","health","sort_order","starred","created_at"],"properties":{"cancelled_at":{"type":["string","null"],"format":"date-time"},"color":{"type":["string","null"]},"completed_at":{"type":["string","null"],"format":"date-time"},"created_at":{"type":"string","format":"date-time"},"creator_id":{"type":"string","format":"uuid"},"description":{"type":["string","null"]},"health":{"$ref":"#/components/schemas/ProjectHealth"},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"lead_id":{"type":["string","null"],"format":"uuid"},"name":{"type":"string"},"sort_order":{"type":"integer","format":"int32"},"space_id":{"type":"string","format":"uuid"},"starred":{"type":"integer","format":"int32"},"started_at":{"type":["string","null"],"format":"date-time"},"state":{"$ref":"#/components/schemas/ProjectState"},"target_date":{"type":["string","null"],"format":"date"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"PublisherSummary":{"type":"object","required":["id","name","login"],"properties":{"avatar_url":{"type":["string","null"]},"email":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"login":{"type":"string"},"name":{"type":"string"}}},"PullRequestCommentView":{"type":"object","required":["id","pull_request_id","user_id","body","created_at"],"properties":{"body":{"type":"string"},"commit_sha":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"line":{"type":["integer","null"],"format":"int32"},"path":{"type":["string","null"]},"pull_request_id":{"type":"string","format":"uuid"},"review_id":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"PullRequestEventView":{"type":"object","required":["id","pull_request_id","user_id","event_type","created_at"],"properties":{"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"created_at":{"type":"string"},"event_type":{"type":"string"},"id":{"type":"string","format":"uuid"},"pull_request_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"PullRequestPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PullRequestView"}},"total":{"type":"integer","format":"int64"}}},"PullRequestReviewView":{"type":"object","required":["id","pull_request_id","user_id","official","state","created_at"],"properties":{"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"official":{"type":"boolean"},"pull_request_id":{"type":"string","format":"uuid"},"state":{"$ref":"#/components/schemas/ReviewState"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"PullRequestView":{"type":"object","required":["id","repo_id","number","title","head_branch","base_branch","author_id","state","is_locked","has_merged","created_at","comments_count","reviews_count"],"properties":{"author_id":{"type":"string","format":"uuid"},"base_branch":{"type":"string"},"base_sha":{"type":["string","null"]},"body":{"type":["string","null"]},"closed_at":{"type":["string","null"]},"comments_count":{"type":"integer","format":"int64"},"created_at":{"type":"string"},"has_merged":{"type":"boolean"},"head_branch":{"type":"string"},"head_sha":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_locked":{"type":"boolean"},"mergeable":{"type":["boolean","null"]},"mergeable_state":{"type":["string","null"]},"merged_at":{"type":["string","null"]},"merged_commit_sha":{"type":["string","null"]},"merger_id":{"type":["string","null"]},"number":{"type":"integer","format":"int64"},"repo_id":{"type":"string","format":"uuid"},"reviews_count":{"type":"integer","format":"int64"},"state":{"$ref":"#/components/schemas/PrState"},"title":{"type":"string"},"updated_at":{"type":["string","null"]}}},"PushPlatform":{"type":"string","enum":["web_push","android_fcm","ios_apns"]},"PushSubscriptionView":{"type":"object","required":["id","platform","endpoint","created_at"],"properties":{"created_at":{"type":"string"},"endpoint":{"type":"string"},"id":{"type":"string","format":"uuid"},"platform":{"$ref":"#/components/schemas/PushPlatform"},"user_agent":{"type":["string","null"]}}},"ReactionAggView":{"type":"object","required":["emoji","count","user_ids"],"properties":{"count":{"type":"integer","format":"int64"},"emoji":{"type":"string"},"user_ids":{"type":"array","items":{"type":"string","format":"uuid"}}}},"ReactionScope":{"type":"string","enum":["issue","comment"]},"ReactionView":{"type":"object","required":["id","scope","target_id","user_id","emoji","created_at"],"properties":{"created_at":{"type":"string"},"emoji":{"type":"string"},"id":{"type":"string","format":"uuid"},"scope":{"$ref":"#/components/schemas/ReactionScope"},"target_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"RecentMentionView":{"type":"object","required":["id","channel_id","message_id","created_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"message_id":{"type":"string","format":"uuid"}}},"ReclaimCmd":{"type":"object","required":["email","pow"],"properties":{"email":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"}}},"ReclaimResp":{"type":"object","required":["sent","temp_key"],"properties":{"sent":{"type":"boolean"},"temp_key":{"$ref":"#/components/schemas/TempKey"}}},"RecoveryCodeView":{"type":"object","required":["id","created_at"],"properties":{"created_at":{"type":"string"},"expires_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"used_at":{"type":["string","null"]}}},"RefreshCmd":{"type":"object","required":["refresh_token"],"properties":{"app_id":{"type":["string","null"]},"refresh_token":{"type":"string"}}},"RefreshResp":{"type":"object","required":["access_token","refresh_token","token_type","expires_in"],"properties":{"access_token":{"type":"string"},"expires_in":{"type":"integer","format":"int64"},"refresh_token":{"type":"string"},"token_type":{"type":"string"}}},"RegenerateRecoveryResp":{"type":"object","required":["codes"],"properties":{"codes":{"type":"array","items":{"type":"string"}}}},"RegisterCmd":{"type":"object","required":["email","password","pow"],"properties":{"accept_agreements":{"type":"array","items":{"type":"string"}},"email":{"type":"string"},"password":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"},"username":{"type":["string","null"]}}},"RegisterResp":{"type":"object","required":["uid","pending","temp_key","purpose"],"properties":{"pending":{"type":"boolean"},"purpose":{"type":"string"},"temp_key":{"$ref":"#/components/schemas/TempKey"},"uid":{"type":"string"}}},"ReleaseAttachment":{"type":"object","required":["id","name","size","download_url","created_at"],"properties":{"created_at":{"type":"string"},"download_url":{"type":"string"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"}}},"ReleaseAttachmentListResponse":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseAttachmentView"}}}},"ReleaseAttachmentView":{"type":"object","required":["id","name","size","download_url","created_at"],"properties":{"created_at":{"type":"string"},"download_url":{"type":"string"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"}}},"ReleasePage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseView"}},"total":{"type":"integer","format":"int64"}}},"ReleaseView":{"type":"object","required":["id","repo_id","tag_name","target","title","sha","num_commits","is_draft","is_prerelease","is_tag","url","html_url","tarball_url","zipball_url","upload_url","publisher","attachments","created_at","updated_at"],"properties":{"attachments":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseAttachment"}},"content":{"type":["string","null"]},"created_at":{"type":"string"},"html_url":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_draft":{"type":"boolean"},"is_prerelease":{"type":"boolean"},"is_tag":{"type":"boolean"},"num_commits":{"type":"integer","format":"int32"},"publisher":{"$ref":"#/components/schemas/UserSummary"},"repo_id":{"type":"string","format":"uuid"},"sha":{"type":"string"},"tag_name":{"type":"string"},"tarball_url":{"type":"string"},"target":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":"string"},"upload_url":{"type":"string"},"url":{"type":"string"},"zipball_url":{"type":"string"}}},"RenameBranchOption":{"type":"object","required":["new_name"],"properties":{"new_name":{"type":"string"}}},"RenameRepoOption":{"type":"object","required":["new_name"],"properties":{"new_name":{"type":"string"}}},"RepoCollaboratorPermission":{"type":"object","required":["permission","role","user"],"properties":{"permission":{"type":"string"},"role":{"type":"string"},"user":{"$ref":"#/components/schemas/UserSummary"}}},"RepoPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RepoView"}},"total":{"type":"integer","format":"int64"}}},"RepoRelView":{"type":"object","required":["id","issue_id","repo_id","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"repo_id":{"type":"string","format":"uuid"}}},"RepoSummary":{"type":"object","required":["id","name","full_name","empty","private","fork","template","mirror","size","stars_count","forks_count","watchers_count","open_issues_count"],"properties":{"description":{"type":["string","null"]},"empty":{"type":"boolean"},"fork":{"type":"boolean"},"forks_count":{"type":"integer","format":"int32"},"full_name":{"type":"string"},"id":{"type":"string","format":"uuid"},"mirror":{"type":"boolean"},"name":{"type":"string"},"open_issues_count":{"type":"integer","format":"int32"},"private":{"type":"boolean"},"size":{"type":"integer","format":"int64"},"stars_count":{"type":"integer","format":"int32"},"template":{"type":"boolean"},"watchers_count":{"type":"integer","format":"int32"}}},"RepoTopicOptions":{"type":"object","required":["topics"],"properties":{"topics":{"type":"array","items":{"type":"string"}}}},"RepoView":{"type":"object","required":["id","channel_id","space_id","name","lower_name","full_name","default_branch","enable_lfs","is_private","is_archived","is_fork","is_template","is_mirror","empty","size","git_size","lfs_size","nums_watch","nums_star","nums_pr","nums_commits","nums_branches","nums_tags","allow_rebase","allow_rebase_explicit","allow_squash_merge","allow_merge_commits","allow_fast_forward_only_merge","allow_rebase_update","allow_merge_update","allow_manual_merge","autodetect_manual_merge","default_delete_branch_after_merge","default_allow_maintainer_edit","ignore_whitespace_conflicts","object_format","has_code","has_issues","has_wiki","has_pull_requests","has_projects","has_releases","has_packages","has_actions","projects_mode","languages","licenses","topics","html_url","url","link","ssh_url","clone_url","created_at","updated_at"],"properties":{"allow_fast_forward_only_merge":{"type":"boolean"},"allow_manual_merge":{"type":"boolean"},"allow_merge_commits":{"type":"boolean"},"allow_merge_update":{"type":"boolean"},"allow_rebase":{"type":"boolean"},"allow_rebase_explicit":{"type":"boolean"},"allow_rebase_update":{"type":"boolean"},"allow_squash_merge":{"type":"boolean"},"archived_at":{"type":["string","null"]},"autodetect_manual_merge":{"type":"boolean"},"avatar_url":{"type":["string","null"]},"channel":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ChannelSummary"}]},"channel_id":{"type":"string","format":"uuid"},"clone_url":{"type":"string"},"created_at":{"type":"string"},"default_allow_maintainer_edit":{"type":"boolean"},"default_branch":{"type":"string"},"default_delete_branch_after_merge":{"type":"boolean"},"description":{"type":["string","null"]},"empty":{"type":"boolean"},"enable_lfs":{"type":"boolean"},"full_name":{"type":"string"},"git_size":{"type":"integer","format":"int64"},"has_actions":{"type":"boolean"},"has_code":{"type":"boolean"},"has_issues":{"type":"boolean"},"has_packages":{"type":"boolean"},"has_projects":{"type":"boolean"},"has_pull_requests":{"type":"boolean"},"has_releases":{"type":"boolean"},"has_wiki":{"type":"boolean"},"html_url":{"type":"string"},"id":{"type":"string","format":"uuid"},"ignore_whitespace_conflicts":{"type":"boolean"},"is_archived":{"type":"boolean"},"is_fork":{"type":"boolean"},"is_mirror":{"type":"boolean"},"is_private":{"type":"boolean"},"is_template":{"type":"boolean"},"languages":{"type":"array","items":{"type":"string"}},"last_pushed_at":{"type":["string","null"]},"lfs_size":{"type":"integer","format":"int64"},"license_name":{"type":["string","null"]},"licenses":{"type":"array","items":{"type":"string"}},"link":{"type":"string"},"lower_name":{"type":"string"},"name":{"type":"string"},"nums_branches":{"type":"integer","format":"int32"},"nums_commits":{"type":"integer","format":"int32"},"nums_pr":{"type":"integer","format":"int32"},"nums_star":{"type":"integer","format":"int32"},"nums_tags":{"type":"integer","format":"int32"},"nums_watch":{"type":"integer","format":"int32"},"object_format":{"type":"string"},"parent":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/RepoView"}]},"primary_language":{"type":["string","null"]},"projects_mode":{"type":"string"},"size":{"type":"integer","format":"int64"},"space":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpaceSummary"}]},"space_id":{"type":"string","format":"uuid"},"ssh_url":{"type":"string"},"storage_limit_size":{"type":["integer","null"],"format":"int64"},"topics":{"type":"array","items":{"type":"string"}},"updated_at":{"type":"string"},"url":{"type":"string"},"website":{"type":["string","null"]}}},"ReportStatus":{"type":"string","enum":["open","under_review","resolved","dismissed"]},"ReportView":{"type":"object","required":["id","reported_uid","reason","status","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"evidence":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"reason":{"type":"string"},"reported_uid":{"type":"string","format":"uuid"},"reporter_uid":{"type":["string","null"],"format":"uuid"},"resolution_note":{"type":["string","null"]},"resolver_uid":{"type":["string","null"],"format":"uuid"},"status":{"$ref":"#/components/schemas/ReportStatus"},"updated_at":{"type":"string"}}},"RequestChangeBody":{"type":"object","required":["new_email"],"properties":{"new_email":{"type":"string"}}},"RequestDeletionCmd":{"type":"object","properties":{"reason":{"type":["string","null"]}}},"ResendCodeCmd":{"type":"object","required":["email","pow","purpose"],"properties":{"email":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"},"purpose":{"type":"string"}}},"ResendCodeResp":{"type":"object","required":["sent","temp_key"],"properties":{"sent":{"type":"boolean"},"temp_key":{"$ref":"#/components/schemas/TempKey"}}},"ResetPasswordCmd":{"type":"object","required":["email","token","new_password","temp_key_value"],"properties":{"email":{"type":"string"},"new_password":{"type":"string"},"temp_key_value":{"type":"string"},"token":{"type":"string"}}},"ResetPasswordResp":{"type":"object","required":["ok"],"properties":{"ok":{"type":"boolean"}}},"ReviewState":{"type":"string","enum":["approved","changes_requested","commented"]},"RevokeAllResp":{"type":"object","required":["revoked"],"properties":{"revoked":{"type":"integer","format":"int64","minimum":0}}},"RevokeSuspensionCmd":{"type":"object","properties":{"reason":{"type":["string","null"]}}},"RoleOverwriteView":{"type":"object","required":["id","space_id","channel_id","role_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"channel_id":{"type":"string","format":"uuid"},"deny_mask":{"type":"integer","format":"int64"},"id":{"type":"string","format":"uuid"},"role_id":{"type":"string","format":"uuid"},"space_id":{"type":"string","format":"uuid"}}},"RolePage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RoleView"}},"total":{"type":"integer","format":"int64"}}},"RoleView":{"type":"object","required":["id","space_id","name","position","color","version","created_at","created_by","permissions"],"properties":{"color":{"type":"string"},"created_at":{"type":"string"},"created_by":{"type":"string","format":"uuid"},"icon_hash":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"position":{"type":"integer","format":"int64"},"space_id":{"type":"string","format":"uuid"},"unicode_emoji":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"version":{"type":"integer","format":"int32"}}},"SaveMessageCmd":{"type":"object","required":["channel_id","message_id"],"properties":{"channel_id":{"type":"string","format":"uuid"},"message_id":{"type":"string","format":"uuid"}}},"SavedMessageView":{"type":"object","required":["id","channel_id","message_id","saved_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"message_id":{"type":"string","format":"uuid"},"saved_at":{"type":"string"}}},"ScheduledMessageStatus":{"type":"string","enum":["pending","sent","cancelled"]},"ScheduledMessageView":{"type":"object","required":["id","target_channel_id","payload","scheduled_at","status","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"payload":{"type":"string"},"scheduled_at":{"type":"string"},"status":{"$ref":"#/components/schemas/ScheduledMessageStatus"},"target_channel_id":{"type":"string","format":"uuid"}}},"SearchResults":{"type":"object","required":["data","ok"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RepoSummary"}},"ok":{"type":"boolean"}}},"SessionKind":{"type":"string","enum":["web_login","bearer_access"]},"SessionView":{"type":"object","required":["id","kind","is_revoked","created_at","expires_at"],"properties":{"app_id":{"type":["string","null"]},"client_ip_hash":{"type":["string","null"]},"created_at":{"type":"string"},"expires_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_revoked":{"type":"boolean"},"kind":{"$ref":"#/components/schemas/SessionKind"},"replaced_at":{"type":["string","null"]},"user_agent_hash":{"type":["string","null"]}}},"SetPrimaryEmailResp":{"type":"object","required":["email"],"properties":{"email":{"$ref":"#/components/schemas/EmailView"}}},"SetRoleOverwriteCmd":{"type":"object","required":["role_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"deny_mask":{"type":"integer","format":"int64"},"role_id":{"type":"string","format":"uuid"}}},"SetUserOverwriteCmd":{"type":"object","required":["user_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"deny_mask":{"type":"integer","format":"int64"},"user_id":{"type":"string","format":"uuid"}}},"SpaceAllowJoinLevel":{"type":"string","enum":["none","need_mail_active","need_mail_active_and_last_one_mid","need_mail_active_and_last_one_hours","need_mail_active_and_phone_active"]},"SpaceBanPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceBanView"}},"total":{"type":"integer","format":"int64"}}},"SpaceBanView":{"type":"object","required":["space_id","user_id","banned_by","created_at","updated_at","allow_agent_join","allow_speak","allow_push_repo","allow_comment_any"],"properties":{"allow_agent_join":{"type":"boolean"},"allow_comment_any":{"type":"boolean"},"allow_push_repo":{"type":"boolean"},"allow_speak":{"type":"boolean"},"banned_by":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"expires_at":{"type":["string","null"]},"reason":{"type":["string","null"]},"space_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"SpaceInvitePage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceInviteView"}},"total":{"type":"integer","format":"int64"}}},"SpaceInviteView":{"type":"object","required":["id","space_id","user_id","email","role_ids","created_at"],"properties":{"accepted_at":{"type":["string","null"]},"created_at":{"type":"string"},"email":{"type":"string"},"expires_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"revoked_at":{"type":["string","null"]},"role_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"space_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"SpaceMemberPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceMemberView"}},"total":{"type":"integer","format":"int64"}}},"SpaceMemberStatus":{"type":"string","enum":["active","inactive","left","removed"]},"SpaceMemberView":{"type":"object","required":["space_id","user_id","status","joined_at","created_at","message_notifications","muted","mobile_push","suppress_everyone","suppress_roles","hide_muted_channels"],"properties":{"alias_avatar_url":{"type":["string","null"]},"alias_name":{"type":["string","null"]},"created_at":{"type":"string"},"hide_muted_channels":{"type":"boolean"},"invited_at":{"type":["string","null"]},"invited_by":{"type":["string","null"],"format":"uuid"},"joined_at":{"type":"string"},"last_active_at":{"type":["string","null"]},"left_at":{"type":["string","null"]},"message_notifications":{"$ref":"#/components/schemas/MessageNotifications"},"mobile_push":{"type":"boolean"},"mute_until":{"type":["string","null"]},"muted":{"type":"boolean"},"space_id":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/SpaceMemberStatus"},"suppress_everyone":{"type":"boolean"},"suppress_roles":{"type":"boolean"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"SpacePage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceView"}},"total":{"type":"integer","format":"int64"}}},"SpaceSummary":{"type":"object","required":["id","name"],"properties":{"display_name":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"}}},"SpaceView":{"type":"object","required":["id","name","owner_id","public","is_active","allow_join","allow_invite","member_count","allow_join_level","member_must_enable_2fa","created_at","updated_at"],"properties":{"allow_invite":{"type":"boolean"},"allow_join":{"type":"boolean"},"allow_join_level":{"$ref":"#/components/schemas/SpaceAllowJoinLevel"},"avatar_url":{"type":["string","null"]},"created_at":{"type":"string"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_active":{"type":"boolean"},"member_count":{"type":"integer","format":"int64"},"member_must_enable_2fa":{"type":"boolean"},"name":{"type":"string"},"owner_id":{"type":"string","format":"uuid"},"public":{"type":"boolean"},"updated_at":{"type":"string"},"welcome_message":{"type":["string","null"]}}},"SshKeyType":{"type":"string","enum":["ssh_rsa","ssh_ed25519","ecdsa_sha2_nistp256"]},"SshKeyView":{"type":"object","required":["id","name","key_type","fingerprint","created_at"],"properties":{"created_at":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string","format":"uuid"},"key_type":{"$ref":"#/components/schemas/SshKeyType"},"last_used_at":{"type":["string","null"]},"name":{"type":"string"}}},"StopwatchView":{"type":"object","required":["id","issue_id","user_id","started_at","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"started_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"SubmitPullRequestReviewOption":{"type":"object","required":["state"],"properties":{"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"state":{"$ref":"#/components/schemas/ReviewState"}}},"SubmitReportCmd":{"type":"object","required":["reported_uid","reason"],"properties":{"evidence":{"type":["string","null"]},"reason":{"type":"string"},"reported_uid":{"type":"string","format":"uuid"}}},"SubscriberPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SubscriberView"}},"total":{"type":"integer","format":"int64"}}},"SubscriberView":{"type":"object","required":["user_id","repo_id","mode","created_at"],"properties":{"created_at":{"type":"string"},"mode":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"Subscription":{"type":"object","required":["user_id","repo_id","mode","created_at"],"properties":{"created_at":{"type":"string"},"mode":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"SuspendCmd":{"type":"object","required":["suspension_type"],"properties":{"ends_at":{"type":["string","null"]},"reason":{"type":["string","null"]},"suspension_type":{"$ref":"#/components/schemas/SuspensionType"}}},"SuspensionType":{"type":"string","enum":["temporary","permanent"]},"SuspensionView":{"type":"object","required":["id","user_id","suspension_type","starts_at","created_at"],"properties":{"created_at":{"type":"string"},"ends_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"reason":{"type":["string","null"]},"revoked_at":{"type":["string","null"]},"revoked_by":{"type":["string","null"],"format":"uuid"},"starts_at":{"type":"string"},"suspended_by":{"type":["string","null"],"format":"uuid"},"suspension_type":{"$ref":"#/components/schemas/SuspensionType"},"user_id":{"type":"string","format":"uuid"}}},"SyncResult":{"type":"object","required":["repo_id","branches_added","tags_added","commits_added","size_bytes"],"properties":{"branches_added":{"type":"integer","format":"int64"},"commits_added":{"type":"integer","format":"int64"},"repo_id":{"type":"string","format":"uuid"},"size_bytes":{"type":"integer","format":"int64"},"tags_added":{"type":"integer","format":"int64"}}},"SyncStatus":{"type":"object","required":["repo_id","branches_total","tags_total","commits_total","size","synced_at"],"properties":{"branches_total":{"type":"integer","format":"int64"},"commits_total":{"type":"integer","format":"int64"},"last_pushed_at":{"type":["string","null"]},"primary_language":{"type":["string","null"]},"repo_id":{"type":"string","format":"uuid"},"size":{"type":"integer","format":"int64"},"synced_at":{"type":"string"},"tags_total":{"type":"integer","format":"int64"}}},"TagPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TagView"}},"total":{"type":"integer","format":"int64"}}},"TagProtectionPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TagProtectionView"}},"total":{"type":"integer","format":"int64"}}},"TagProtectionView":{"type":"object","required":["id","repo_id","name_pattern","whitelist_usernames","whitelist_teams","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"name_pattern":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"whitelist_teams":{"type":"array","items":{"type":"string"}},"whitelist_usernames":{"type":"array","items":{"type":"string"}}}},"TagView":{"type":"object","required":["id","repo_id","name","tag_type","commit_sha","commit","message","zipball_url","tarball_url","created_at"],"properties":{"commit":{"$ref":"#/components/schemas/CommitMeta"},"commit_sha":{"type":"string"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"message":{"type":"string"},"name":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"tag_type":{"type":"string"},"tarball_url":{"type":"string"},"zipball_url":{"type":"string"}}},"TempKey":{"type":"object","required":["name","value","ttl_seconds","secure","http_only","same_site"],"properties":{"domain":{"type":["string","null"]},"http_only":{"type":"boolean"},"name":{"type":"string"},"path":{"type":["string","null"]},"same_site":{"type":"string"},"secure":{"type":"boolean"},"ttl_seconds":{"type":"integer","format":"int64","minimum":0},"value":{"type":"string"}}},"TopicList":{"type":"object","required":["topics"],"properties":{"topics":{"type":"array","items":{"type":"string"}}}},"TopicSearchQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0},"q":{"type":["string","null"]}}},"TopicSearchResult":{"type":"object","required":["topics"],"properties":{"topics":{"type":"array","items":{"$ref":"#/components/schemas/TopicView"}}}},"TopicView":{"type":"object","required":["id","name","repo_count","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"repo_count":{"type":"integer","format":"int32"},"updated_at":{"type":"string"}}},"TrackedTimePage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TrackedTimeView"}},"total":{"type":"integer","format":"int64"}}},"TrackedTimeView":{"type":"object","required":["id","issue_id","user_id","seconds","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"seconds":{"type":"integer","format":"int64"},"user_id":{"type":"string","format":"uuid"}}},"TransferRepoOption":{"type":"object","required":["new_channel_id"],"properties":{"new_channel_id":{"type":"string","format":"uuid"},"new_name":{"type":["string","null"]}}},"TreeEntryView":{"type":"object","required":["path","mode","type_","sha"],"properties":{"mode":{"type":"string"},"path":{"type":"string"},"sha":{"type":"string"},"size":{"type":["integer","null"],"format":"int64"},"type_":{"type":"string"}}},"TreeView":{"type":"object","required":["sha","entries"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/TreeEntryView"}},"sha":{"type":"string"}}},"UnassignRoleCmd":{"type":"object","required":["role_id"],"properties":{"role_id":{"type":"string","format":"uuid"}}},"UnreadCountResp":{"type":"object","required":["count"],"properties":{"count":{"type":"integer","format":"int64"}}},"UpdateAvatarOption":{"type":"object","required":["image"],"properties":{"image":{"type":"string"}}},"UpdateBanCmd":{"type":"object","properties":{"allow_agent_join":{"type":["boolean","null"]},"allow_comment_any":{"type":["boolean","null"]},"allow_push_repo":{"type":["boolean","null"]},"allow_speak":{"type":["boolean","null"]},"expires_at":{"type":["string","null"]},"reason":{"type":["string","null"]}}},"UpdateBranchOption":{"type":"object","required":["new_commit_id"],"properties":{"force":{"type":["boolean","null"]},"new_commit_id":{"type":"string"},"old_commit_id":{"type":["string","null"]}}},"UpdateBranchProtectionPriorities":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"}}}},"UpdateCollectionOption":{"type":"object","properties":{"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"name":{"type":["string","null"]}}},"UpdateCommentOption":{"type":"object","required":["content"],"properties":{"content":{"type":"string"}}},"UpdateDeviceCmd":{"type":"object","properties":{"device_name":{"type":["string","null"]},"is_trusted":{"type":["boolean","null"]}}},"UpdateDocumentCmd":{"type":"object","properties":{"content":{"type":["string","null"]},"icon":{"type":["string","null"]},"parent_id":{"type":["string","null"],"format":"uuid"},"slug":{"type":["string","null"]},"title":{"type":["string","null"]}}},"UpdateFileOption":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["content"],"properties":{"content":{"type":"string"},"from_path":{"type":["string","null"]},"sha":{"type":["string","null"]}}}]},"UpdateIssueOption":{"type":"object","properties":{"body":{"type":["string","null"]},"description":{"type":["string","null"]},"milestone_id":{"type":["string","null"],"format":"uuid"},"title":{"type":["string","null"]}}},"UpdateIssueUserOption":{"type":"object","properties":{"is_mentioned":{"type":["boolean","null"]},"is_read":{"type":["boolean","null"]}}},"UpdateLabelOption":{"type":"object","properties":{"color":{"type":["string","null"]},"description":{"type":["string","null"]},"exclusive":{"type":["boolean","null"]},"exclusive_order":{"type":["integer","null"],"format":"int32"},"is_archived":{"type":["boolean","null"]},"name":{"type":["string","null"]}}},"UpdateMemberCmd":{"type":"object","required":["role"],"properties":{"role":{"$ref":"#/components/schemas/MemberRole"}}},"UpdateMilestoneOption":{"type":"object","properties":{"description":{"type":["string","null"]},"due_at":{"type":["string","null"]},"is_closed":{"type":["boolean","null"]},"name":{"type":["string","null"]}}},"UpdatePreferencesCmd":{"type":"object","properties":{"allow_dms_from":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Audience"}]},"allow_mentions_from":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Audience"}]},"diff_view_style":{"type":["string","null"]},"email_digest":{"type":["boolean","null"]},"email_flags":{"type":["integer","null"],"format":"int32"},"in_app_flags":{"type":["integer","null"],"format":"int32"},"mute_until":{"type":["string","null"]},"push_flags":{"type":["integer","null"],"format":"int32"},"show_online_status":{"type":["boolean","null"]},"theme_mode":{"type":["string","null"]},"theme_token":{"type":["string","null"]},"theme_version":{"type":["integer","null"],"format":"int64"}}},"UpdateProfileCmd":{"type":"object","properties":{"avatar":{"type":["string","null"]},"display_name":{"type":["string","null"]},"language":{"type":["string","null"]},"locale":{"type":["string","null"]},"profile":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/UpdateProfileFields"}]},"timezone":{"type":["string","null"]},"visibility":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProfileVisibility"}]}}},"UpdateProfileFields":{"type":"object","properties":{"accent_color":{"type":["string","null"]},"banner_color":{"type":["integer","null"],"format":"int32"},"banner_url":{"type":["string","null"]},"bio":{"type":["string","null"]},"company":{"type":["string","null"]},"date_of_birth":{"type":["string","null"],"format":"date"},"location":{"type":["string","null"]},"pronouns":{"type":["string","null"]},"pronouns_privacy":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProfileVisibility"}]},"real_name":{"type":["string","null"]},"show_activity":{"type":["boolean","null"]},"show_email":{"type":["boolean","null"]},"show_location":{"type":["boolean","null"]},"show_real_name":{"type":["boolean","null"]},"website":{"type":["string","null"]}}},"UpdateProjectCmd":{"type":"object","properties":{"color":{"type":["string","null"]},"description":{"type":["string","null"]},"health":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectHealth"}]},"icon":{"type":["string","null"]},"lead_id":{"type":["string","null"],"format":"uuid"},"name":{"type":["string","null"]},"sort_order":{"type":["integer","null"],"format":"int32"},"state":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectState"}]},"target_date":{"type":["string","null"],"format":"date"}}},"UpdatePullRequestOption":{"type":"object","properties":{"base":{"type":["string","null"]},"body":{"type":["string","null"]},"head":{"type":["string","null"]},"title":{"type":["string","null"]}}},"UpdateRepoOption":{"type":"object","properties":{"allow_fast_forward_only_merge":{"type":["boolean","null"]},"allow_manual_merge":{"type":["boolean","null"]},"allow_merge_commits":{"type":["boolean","null"]},"allow_merge_update":{"type":["boolean","null"]},"allow_rebase":{"type":["boolean","null"]},"allow_rebase_explicit":{"type":["boolean","null"]},"allow_rebase_update":{"type":["boolean","null"]},"allow_squash_merge":{"type":["boolean","null"]},"archived":{"type":["boolean","null"]},"autodetect_manual_merge":{"type":["boolean","null"]},"default_allow_maintainer_edit":{"type":["boolean","null"]},"default_branch":{"type":["string","null"]},"default_delete_branch_after_merge":{"type":["boolean","null"]},"default_merge_style":{"type":["string","null"]},"default_update_style":{"type":["string","null"]},"description":{"type":["string","null"]},"enable_lfs":{"type":["boolean","null"]},"external_tracker":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExternalTracker"}]},"external_wiki":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExternalWiki"}]},"has_actions":{"type":["boolean","null"]},"has_code":{"type":["boolean","null"]},"has_issues":{"type":["boolean","null"]},"has_packages":{"type":["boolean","null"]},"has_projects":{"type":["boolean","null"]},"has_pull_requests":{"type":["boolean","null"]},"has_releases":{"type":["boolean","null"]},"has_wiki":{"type":["boolean","null"]},"ignore_whitespace_conflicts":{"type":["boolean","null"]},"internal_tracker":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/InternalTracker"}]},"is_private":{"type":["boolean","null"]},"license_name":{"type":["string","null"]},"name":{"type":["string","null"]},"projects_mode":{"type":["string","null"]},"template":{"type":["boolean","null"]},"website":{"type":["string","null"]}}},"UpdateReportCmd":{"type":"object","required":["status"],"properties":{"resolution_note":{"type":["string","null"]},"status":{"$ref":"#/components/schemas/ReportStatus"}}},"UpdateRoleCmd":{"type":"object","properties":{"color":{"type":["string","null"]},"icon_hash":{"type":["string","null"]},"name":{"type":["string","null"]},"permissions":{"type":["array","null"],"items":{"type":"string"}},"position":{"type":["integer","null"],"format":"int64"},"unicode_emoji":{"type":["string","null"]}}},"UpdateSpaceCmd":{"type":"object","properties":{"allow_invite":{"type":["boolean","null"]},"allow_join":{"type":["boolean","null"]},"allow_join_level":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpaceAllowJoinLevel"}]},"avatar_url":{"type":["string","null"]},"description":{"type":["string","null"]},"member_must_enable_2fa":{"type":["boolean","null"]},"name":{"type":["string","null"]},"public":{"type":["boolean","null"]},"welcome_message":{"type":["string","null"]}}},"UpdateViewCmd":{"type":"object","properties":{"description":{"type":["string","null"]},"filter":{},"group_by":{"type":["string","null"]},"is_shared":{"type":["boolean","null"]},"layout":{"type":["string","null"]},"name":{"type":["string","null"]},"sort_by":{"type":["string","null"]}}},"UploadAttachmentInput":{"type":"object","required":["filename","content_type","data"],"properties":{"content_type":{"type":"string"},"data":{"type":"array","items":{"type":"integer","format":"int32","minimum":0}},"filename":{"type":"string"}}},"UploadAvatarCmd":{"type":"object","required":["content_type","data_base64"],"properties":{"content_type":{"type":"string"},"data_base64":{"type":"string"}}},"UpsertMemeCmd":{"type":"object","required":["name","content_type","url","size"],"properties":{"content_type":{"type":"string"},"height":{"type":["integer","null"],"format":"int32"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"},"url":{"type":"string"},"width":{"type":["integer","null"],"format":"int32"}}},"UpsertPushCmd":{"type":"object","required":["endpoint","p256dh_key","auth_key","platform"],"properties":{"auth_key":{"type":"string"},"endpoint":{"type":"string"},"p256dh_key":{"type":"string"},"platform":{"$ref":"#/components/schemas/PushPlatform"},"user_agent":{"type":["string","null"]}}},"UpsertWatchOption":{"type":"object","required":["mode"],"properties":{"mode":{"type":"string"}}},"UserMe":{"type":"object","required":["uid","username","display_name","avatar","is_active","is_admin","is_restricted"],"properties":{"avatar":{"type":"string"},"display_name":{"type":"string"},"is_active":{"type":"boolean"},"is_admin":{"type":"boolean"},"is_restricted":{"type":"boolean"},"language":{"type":["string","null"]},"locale":{"type":["string","null"]},"timezone":{"type":["string","null"]},"uid":{"type":"string"},"username":{"type":"string"}}},"UserMini":{"type":"object","required":["id","login"],"properties":{"avatar_url":{"type":["string","null"]},"email":{"type":["string","null"]},"full_name":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"login":{"type":"string"}}},"UserOverwriteView":{"type":"object","required":["channel_id","user_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"channel_id":{"type":"string","format":"uuid"},"deny_mask":{"type":"integer","format":"int64"},"user_id":{"type":"string","format":"uuid"}}},"UserPreferences":{"type":"object","required":["user_id","theme_mode","in_app_flags","email_flags","push_flags","email_digest","allow_dms_from","allow_mentions_from","show_online_status","created_at","updated_at"],"properties":{"allow_dms_from":{"$ref":"#/components/schemas/Audience"},"allow_mentions_from":{"$ref":"#/components/schemas/Audience"},"created_at":{"type":"string"},"diff_view_style":{"type":["string","null"]},"email_digest":{"type":"boolean"},"email_flags":{"type":"integer","format":"int32"},"in_app_flags":{"type":"integer","format":"int32"},"mute_until":{"type":["string","null"]},"push_flags":{"type":"integer","format":"int32"},"show_online_status":{"type":"boolean"},"theme_mode":{"type":"string"},"theme_token":{"type":["string","null"]},"theme_version":{"type":["integer","null"],"format":"int64"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"UserPublic":{"type":"object","required":["uid","username","display_name","avatar"],"properties":{"avatar":{"type":"string"},"display_name":{"type":"string"},"language":{"type":["string","null"]},"locale":{"type":["string","null"]},"timezone":{"type":["string","null"]},"uid":{"type":"string"},"username":{"type":"string"}}},"UserSummary":{"type":"object","required":["id","name","login"],"properties":{"email":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"login":{"type":"string"},"name":{"type":"string"}}},"VerifyCodeCmd":{"type":"object","required":["email","purpose","code","temp_key_value"],"properties":{"code":{"type":"string"},"email":{"type":"string"},"purpose":{"type":"string"},"temp_key_value":{"type":"string"},"user_id":{"type":["string","null"]}}},"VerifyCodeResult":{"type":"object","required":["code_row_id"],"properties":{"code_row_id":{"type":"string"}}},"ViewPage":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ViewView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"ViewView":{"type":"object","required":["id","project_id","creator_id","name","filter","sort_by","layout","is_shared","sort_order","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"creator_id":{"type":"string","format":"uuid"},"description":{"type":["string","null"]},"filter":{},"group_by":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_shared":{"type":"boolean"},"layout":{"type":"string"},"name":{"type":"string"},"project_id":{"type":"string","format":"uuid"},"sort_by":{"type":"string"},"sort_order":{"type":"integer","format":"int32"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"WatchView":{"type":"object","required":["id","user_id","mode","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":["string","null"],"format":"uuid"},"mode":{"type":"string"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}}}},"tags":[{"name":"auth","description":"Authentication endpoints"},{"name":"issues","description":"Issue tracking (lib/issues)"},{"name":"project","description":"Project lifecycle, members, views, documents, links, favorites, activities."},{"name":"repo","description":"Repository service (lib/repo)"},{"name":"space","description":"Space, membership, roles, invites, bans, channels, channel members and overwrite endpoints."},{"name":"user","description":"User profile, account, sessions and notifications endpoints."}]}
No newline at end of file
1{"openapi":"3.1.0","info":{"title":"Untitled API","description":"Unified HTTP API for the untitled platform","license":{"name":""},"version":"1.94.0"},"paths":{"/api/v1/auth/agreements":{"get":{"tags":["auth"],"operationId":"handler","responses":{"200":{"description":"List of agreement documents (terms, privacy).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_AgreementDoc"}}}}}}},"/api/v1/auth/agreements/accept":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AcceptAgreementCmd"}}},"required":true},"responses":{"200":{"description":"Agreement acceptance recorded.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_AcceptAgreementResp"}}}},"400":{"description":"Unknown agreement key or version mismatch.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"Missing or invalid access token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/auth/email/reclaim":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ReclaimCmd"}}},"required":true},"responses":{"200":{"description":"A Signup verification code was issued to the mailbox if the account is inactive; otherwise a constant-shaped no-op is returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReclaimResp"}}}},"400":{"description":"Validation / PoW failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/email/resend":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ResendCodeCmd"}}},"required":true},"responses":{"200":{"description":"New code issued (or silently no-op if the email is unknown).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ResendCodeResp"}}}},"400":{"description":"Validation / PoW failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/email/verify":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_VerifyCodeCmd"}}},"required":true},"responses":{"200":{"description":"Code verified; the verification-code row id is returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_VerifyCodeResult"}}}},"400":{"description":"Invalid code, missing temp_key cookie, or expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"Unauthorized.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/login":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_LoginCmd"}}},"required":true},"responses":{"200":{"description":"Authenticated. Returns access/refresh tokens and a public user view.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LoginResp"}}}},"400":{"description":"Validation / PoW failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"Invalid credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"403":{"description":"Account forbidden.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/logout":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_LogoutCmd"}}},"required":true},"responses":{"200":{"description":"Refresh token revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LogoutResp"}}}},"401":{"description":"Invalid or expired refresh token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/me":{"get":{"tags":["auth"],"operationId":"handler","responses":{"200":{"description":"Authenticated user profile (full view, including privileged fields).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserMe"}}}},"401":{"description":"Missing or invalid access token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/auth/oauth/authorize":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AuthorizeCmd"}}},"required":true},"responses":{"200":{"description":"Authorization URL. The state-cookie carries the OAuth state value for the callback.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_AuthorizationUrlResp"}}}},"400":{"description":"Validation / PoW failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"404":{"description":"Unknown provider.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/oauth/callback":{"get":{"tags":["auth"],"operationId":"handler","parameters":[{"name":"provider","in":"path","required":true,"schema":{"$ref":"#/components/schemas/OAuthProvider"}},{"name":"code","in":"path","required":true,"schema":{"type":"string"}},{"name":"state","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OAuth login completed. Returns token pair and the resolved user_id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_OAuthLoginResp"}}}},"400":{"description":"Missing state cookie or invalid state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"OAuth flow rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/oauth/providers":{"get":{"tags":["auth"],"operationId":"handler","responses":{"200":{"description":"List of enabled OAuth providers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_OAuthProviderInfo"}}}}}}},"/api/v1/auth/password/forgot":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ForgotPasswordCmd"}}},"required":true},"responses":{"200":{"description":"Request accepted. The response shape is constant whether or not the email is known; the temp_key cookie carries the token for the subsequent reset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ForgotPasswordResp"}}}},"400":{"description":"Validation / PoW failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/password/reset":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ResetPasswordCmd"}}},"required":true},"responses":{"200":{"description":"Password updated; all sessions revoked.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ResetPasswordResp"}}}},"400":{"description":"Missing temp_key cookie, weak password, or invalid token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"401":{"description":"Unauthorized.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/pow/challenge":{"get":{"tags":["auth"],"operationId":"handler","responses":{"200":{"description":"A fresh PoW challenge bound to this client.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PowChallengeResp"}}}},"400":{"description":"PoW not configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/refresh":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RefreshCmd"}}},"required":true},"responses":{"200":{"description":"Rotated token pair.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RefreshResp"}}}},"401":{"description":"Invalid or expired refresh token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/auth/register":{"post":{"tags":["auth"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RegisterCmd"}}},"required":true},"responses":{"200":{"description":"Account created (possibly pending email verification).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RegisterResp"}}}},"400":{"description":"Validation / PoW failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"409":{"description":"Email or username already taken.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorBody"}}}}}}},"/api/v1/health/live":{"get":{"tags":["system"],"operationId":"liveness","responses":{"200":{"description":"Process is alive","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthStatus"}}}}}}},"/api/v1/health/ready":{"get":{"tags":["system"],"operationId":"readiness","responses":{"200":{"description":"Service is ready","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthStatus"}}}}}}},"/api/v1/issues":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"q","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List issue boards (collections)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_CollectionView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateCollectionOption"}}},"required":true},"responses":{"201":{"description":"Create an issue board (collection)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CollectionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"Default issue board OR issue list (when query.state/q/author_id/milestone_id is set)"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateIssueOption"}}},"required":true},"responses":{"201":{"description":"Create an issue in this channel's board","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_IssueView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete default issue board"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateCollectionOption"}}},"required":true},"responses":{"200":{"description":"Update default issue board","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CollectionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/attachments/{owner_type}/{owner_id}":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List attachments"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UploadAttachmentInput"}}},"required":true},"responses":{"201":{"description":"Upload attachment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_AttachmentView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/attachments/{owner_type}/{owner_id}/{att_id}":{"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete attachment"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/labels":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"q","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"is_archived","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List labels"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateLabelOption"}}},"required":true},"responses":{"201":{"description":"Create label","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LabelView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/labels/{label_id}":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"Get label","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LabelView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete label"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateLabelOption"}}},"required":true},"responses":{"200":{"description":"Update label","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LabelView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/milestones":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"is_closed","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"q","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List milestones"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateMilestoneOption"}}},"required":true},"responses":{"201":{"description":"Create milestone","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MilestoneView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/milestones/{milestone_id}":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"Get milestone","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MilestoneView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete milestone"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateMilestoneOption"}}},"required":true},"responses":{"200":{"description":"Update milestone","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MilestoneView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/pins":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"List pinned issues"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreatePinOption"}}},"required":true},"responses":{"201":{"description":"Pin issue","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PinView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/pins/{pin_id}":{"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Unpin issue"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"Get issue","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_IssueView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete issue"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateIssueOption"}}},"required":true},"responses":{"200":{"description":"Update issue","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_IssueView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/close":{"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CloseIssueOption"}}},"required":true},"responses":{"200":{"description":"Open/close issue","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_IssueView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/comments":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"parent_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List comments"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateCommentOption"}}},"required":true},"responses":{"201":{"description":"Create comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommentView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/comments/{comment_id}":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"Get comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommentView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete comment"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateCommentOption"}}},"required":true},"responses":{"200":{"description":"Update comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommentView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/comments/{comment_id}/reactions":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"List comment reactions"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateReactionOption"}}},"required":true},"responses":{"201":{"description":"React to comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReactionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/content_history":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List content history"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/dependencies":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"List dependencies"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateDependencyOption"}}},"required":true},"responses":{"201":{"description":"Create dependency","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DependencyView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/dependencies/{dep_id}":{"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete dependency"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/events":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List issue events"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/labels":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"List labels for issue"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/labels/{label_id}":{"post":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Bind label to issue"}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Unbind label from issue"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/members":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"kind","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List members"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateMemberOption"}}},"required":true},"responses":{"201":{"description":"Create member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MemberView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/members/{member_id}":{"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete member"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/reactions":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"List issue reactions"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateReactionOption"}}},"required":true},"responses":{"201":{"description":"React to issue","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReactionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/reactions/{reaction_id}":{"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete reaction"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/repo_relations":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"List repo relations"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateRepoRelOption"}}},"required":true},"responses":{"201":{"description":"Link repo to issue","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoRelView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/repo_relations/{rel_id}":{"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Unlink repo from issue"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/stopwatch":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"Get my stopwatch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_StopwatchView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["issues"],"operationId":"handler","responses":{"201":{"description":"Start stopwatch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_StopwatchView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Stop stopwatch"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/tracked_time":{"get":{"tags":["issues"],"operationId":"handler","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List tracked time"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/users":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"List issue users"}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/users/{uid}":{"patch":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateIssueUserOption"}}},"required":true},"responses":{"200":{"description":"Update issue user","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_IssueUserView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/issues/{space_name}/{issue_id}/watch":{"get":{"tags":["issues"],"operationId":"handler","responses":{"200":{"description":"Get my watch state","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_WatchView"}}}}},"security":[{"bearer_auth":[]}]},"put":{"tags":["issues"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpsertWatchOption"}}},"required":true},"responses":{"200":{"description":"Upsert watch state","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_WatchView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["issues"],"operationId":"handler","responses":{"204":{"description":"Delete watch state"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"owner_user_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"is_private","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"is_archived","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"q","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List repositories","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateRepoOption"}}},"required":true},"responses":{"201":{"description":"Create a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/search":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"q","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"topic","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"include_desc","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"uid","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"priority_owner_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"team_id","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"starred_by","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"private","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"is_private","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"template","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"archived","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"mode","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"exclusive","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"sort","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"order","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"Search repositories","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SearchResults"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a repository"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateRepoOption"}}},"required":true},"responses":{"200":{"description":"Update a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/archive":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ArchiveRepoOption"}}},"required":true},"responses":{"200":{"description":"Archive / unarchive a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/archive/{archive_format}/{ref_name}":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"format","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"ref_name","in":"path","required":true,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Download an archive"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/assignees/{assignee}":{"get":{"tags":["repo"],"operationId":"check_handler","responses":{"204":{"description":"User is a valid assignee"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/avatar":{"post":{"tags":["repo"],"operationId":"post_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateAvatarOption"}}},"required":true},"responses":{"204":{"description":"Update repo avatar"}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"delete_handler","responses":{"204":{"description":"Delete repo avatar"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/branch_protections":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List branch protections","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchProtectionPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateBranchProtectionOption"}}},"required":true},"responses":{"201":{"description":"Create a branch protection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchProtectionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/branch_protections/priority":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateBranchProtectionPriorities"}}},"required":true},"responses":{"204":{"description":"Update branch protection priorities"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/branch_protections/{policy_id}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a branch protection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchProtectionView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a branch protection"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_EditBranchProtectionOption"}}},"required":true},"responses":{"200":{"description":"Edit a branch protection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchProtectionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/branches":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"keyword","in":"path","required":true,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"List branches","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateBranchOption"}}},"required":true},"responses":{"201":{"description":"Create a branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/branches/{branch_name}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchView"}}}}},"security":[{"bearer_auth":[]}]},"put":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateBranchOption"}}},"required":true},"responses":{"200":{"description":"Update a branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a branch"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/branches/{branch_name}/rename":{"patch":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RenameBranchOption"}}},"required":true},"responses":{"200":{"description":"Rename a branch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BranchView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/collaborators":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List collaborators","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CollaboratorPage"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/collaborators/{user_id}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"User is a collaborator"}},"security":[{"bearer_auth":[]}]},"put":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AddCollaboratorOption"}}},"required":true},"responses":{"204":{"description":"Add or update a collaborator"}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Remove a collaborator"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/collaborators/{user_id}/permission":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get collaborator permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoCollaboratorPermission"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/commits":{"get":{"tags":["repo"],"operationId":"list_handler","parameters":[{"name":"sha","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"path","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"since","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"until","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"stat","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"verification","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"files","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"not","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List commits","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommitsResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/commits/{ref}/status":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get combined status by ref","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CombinedStatusView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/commits/{ref}/statuses":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"sort","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"state","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List commit statuses by ref","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommitStatusPage"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/compare/{base}...{head}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Compare two refs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CompareView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/contents":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"List contents at root","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ContentsListResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/contents-ext":{"get":{"tags":["repo"],"operationId":"list_handler","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"List contents (ext form)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentsExtResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/contents-ext/{path:path}":{"get":{"tags":["repo"],"operationId":"get_handler","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Get contents (ext form)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentsExtResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/contents/change":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ChangeFilesOptions"}}},"required":true},"responses":{"200":{"description":"Multi-file change","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ContentsListResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/contents/{path}":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Get a file or directory","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ContentsResponse"}}}}},"security":[{"bearer_auth":[]}]},"put":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateFileOption"}}},"required":true},"responses":{"200":{"description":"Update a file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ContentsResponse"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateFileOption"}}},"required":true},"responses":{"201":{"description":"Create a file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ContentsResponse"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_DeleteFileOption"}}},"required":true},"responses":{"204":{"description":"Delete a file"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/diffpatch":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ApplyDiffPatchFileOptions"}}},"required":true},"responses":{"200":{"description":"Apply a diff patch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ContentsResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/editorconfig/{filename:path}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get EditorConfig","content":{"text/plain":{}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/file-contents":{"get":{"tags":["repo"],"operationId":"get_handler","responses":{"200":{"description":"Batch read files","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_FilesResponse"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"post_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_Vec_String"}}},"required":true},"responses":{"200":{"description":"Batch read files","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_FileDeleteResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/forks":{"get":{"tags":["repo"],"operationId":"list_handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List forks","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ForksResponse"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ForkRepoOption"}}},"required":true},"responses":{"201":{"description":"Fork a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/generate":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_GenerateRepoOption"}}},"required":true},"responses":{"201":{"description":"Generate a repository from template","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/blobs/{sha}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a blob","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_BlobView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/commits/diff/{sha}":{"get":{"tags":["repo"],"operationId":"diff_handler","responses":{"200":{"description":"Get commit diff or patch","content":{"text/plain":{}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/commits/{sha}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a commit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommitView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/commits/{sha}.{diff_type}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get commit diff or patch","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitDiffPayload"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/notes/{sha}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a note","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_NoteView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/refs":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List git refs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_GitRef"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/refs/{filter}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Filter git refs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_GitRef"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/tags/{sha}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get an annotated tag","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommitView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/git/trees/{sha}":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"recursive","in":"path","required":true,"schema":{"type":["boolean","null"]}}],"responses":{"200":{"description":"Get a tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TreeView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/issue_config":{"get":{"tags":["repo"],"operationId":"get_handler","responses":{"200":{"description":"Get issue config","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_IssueConfig"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/issue_config/validate":{"get":{"tags":["repo"],"operationId":"validate_handler","responses":{"200":{"description":"Validate issue config","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_IssueConfigValidation"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/issue_templates":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List issue templates","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_IssueTemplate"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/keys":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":["string","null"],"format":"uuid"}},{"name":"fingerprint","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List deploy keys","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DeployKeyPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateDeployKeyOption"}}},"required":true},"responses":{"201":{"description":"Create a deploy key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DeployKeyView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/keys/{key_id}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a deploy key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DeployKeyView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a deploy key"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/languages":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get repo language stats","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LanguagesResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/licenses":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List detected licenses","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LicensesResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/media/{filepath:path}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get media (raw or LFS pointer)","content":{"application/octet-stream":{}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/merge-upstream":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_MergeUpstreamRequest"}}},"required":true},"responses":{"200":{"description":"Merge upstream","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MergeUpstreamResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/new_pin_allowed":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Whether new issue pins are allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_NewPinAllowedResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"state","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"keyword","in":"path","required":true,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"List pull requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreatePullRequestOption"}}},"required":true},"responses":{"201":{"description":"Create a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestView"}}}}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdatePullRequestOption"}}},"required":true},"responses":{"200":{"description":"Update a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/close":{"post":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Close a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/comments":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List pull request comments","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_PullRequestCommentView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreatePullRequestCommentOption"}}},"required":true},"responses":{"201":{"description":"Create a pull request comment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestCommentView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/events":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List pull request events","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_PullRequestEventView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/lock":{"post":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Lock a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/merge":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_MergePullRequestOption"}}},"required":true},"responses":{"200":{"description":"Merge a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MergeView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/reopen":{"post":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Reopen a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/reviews":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List pull request reviews","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_PullRequestReviewView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_SubmitPullRequestReviewOption"}}},"required":true},"responses":{"201":{"description":"Submit a pull request review","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestReviewView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/pulls/{number}/unlock":{"post":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Unlock a pull request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PullRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/raw/{filepath:path}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get raw file content","content":{"application/octet-stream":{}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/releases":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"draft","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"prerelease","in":"path","required":true,"schema":{"type":["boolean","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List releases","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleasePage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateReleaseOption"}}},"required":true},"responses":{"201":{"description":"Create a release","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleaseView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/releases/latest":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get the latest release","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleaseView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/releases/tags/{tag}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a release by tag","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleaseView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a release by tag"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/releases/{release_id}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a release","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleaseView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a release"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_EditReleaseOption"}}},"required":true},"responses":{"200":{"description":"Edit a release","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleaseView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/releases/{release_id}/assets":{"get":{"tags":["repo"],"operationId":"list_handler","responses":{"200":{"description":"List release attachments","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleaseAttachmentListResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/releases/{release_id}/assets/{attachment_id}":{"get":{"tags":["repo"],"operationId":"get_handler","responses":{"200":{"description":"Get a release attachment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReleaseAttachmentView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/rename":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RenameRepoOption"}}},"required":true},"responses":{"200":{"description":"Rename a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/reviewers":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List reviewers","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_UserMini"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/signing-key.gpg":{"get":{"tags":["repo"],"operationId":"gpg_handler","responses":{"200":{"description":"GPG signing key","content":{"text/plain":{}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/signing-key.pub":{"get":{"tags":["repo"],"operationId":"ssh_handler","responses":{"200":{"description":"SSH signing key","content":{"text/plain":{}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/stargazers":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List stargazers","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_UserMini"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/statuses/{sha}":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"sort","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"state","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List commit statuses","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommitStatusPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateStatusOption"}}},"required":true},"responses":{"201":{"description":"Create a commit status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CommitStatusView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/subscribers":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List subscribers","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SubscriberPage"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/subscription":{"get":{"tags":["repo"],"operationId":"get_handler","responses":{"200":{"description":"Get current user's subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Subscription"}}}}},"security":[{"bearer_auth":[]}]},"put":{"tags":["repo"],"operationId":"put_handler","responses":{"204":{"description":"Watch the repo"}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"delete_handler","responses":{"204":{"description":"Unwatch the repo"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/sync":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get repo metadata sync status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SyncStatus"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/sync/run":{"post":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Trigger a metadata sync","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SyncResult"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/tag_protections":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List tag protections","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TagProtectionPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateTagProtectionOption"}}},"required":true},"responses":{"201":{"description":"Create a tag protection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TagProtectionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/tag_protections/{policy_id}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a tag protection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TagProtectionView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a tag protection"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_EditTagProtectionOption"}}},"required":true},"responses":{"200":{"description":"Edit a tag protection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TagProtectionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/tags":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List tags","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TagPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateTagOption"}}},"required":true},"responses":{"201":{"description":"Create a tag","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TagView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/tags/{tag_name}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a tag","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TagView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Delete a tag"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/topics":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"List repo topics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TopicList"}}}}},"security":[{"bearer_auth":[]}]},"put":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RepoTopicOptions"}}},"required":true},"responses":{"204":{"description":"Replace repo topics"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/topics/{topic}":{"put":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Add a topic"}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["repo"],"operationId":"handler","responses":{"204":{"description":"Remove a topic"}},"security":[{"bearer_auth":[]}]}},"/api/v1/repos/{space_name}/{repo_id}/transfer":{"post":{"tags":["repo"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_TransferRepoOption"}}},"required":true},"responses":{"200":{"description":"Transfer a repository","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/repositories/{id}":{"get":{"tags":["repo"],"operationId":"handler","responses":{"200":{"description":"Get a repository by id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RepoSummary"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces":{"get":{"tags":["space"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List spaces owned by the caller","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpacePage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateSpaceCmd"}}},"required":true},"responses":{"200":{"description":"Create a new space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/invites/accept":{"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AcceptInviteCmd"}}},"required":true},"responses":{"200":{"description":"Accept an invite"}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}":{"get":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Get a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceView"}}}}}},"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Delete a space"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateSpaceCmd"}}},"required":true},"responses":{"200":{"description":"Update a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/bans":{"get":{"tags":["space"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List bans in a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceBanPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateBanCmd"}}},"required":true},"responses":{"200":{"description":"Ban a user from a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceBanView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/bans/{uid}":{"get":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Get a ban","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceBanView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Unban a user from a space"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateBanCmd"}}},"required":true},"responses":{"200":{"description":"Update a ban","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceBanView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/channels":{"get":{"tags":["space"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List channels in a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ChannelPage"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/channels/{cid}":{"get":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Get a channel","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ChannelView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/channels/{cid}/overwrites/roles":{"get":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"List role overwrites","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_RoleOverwriteView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_SetRoleOverwriteCmd"}}},"required":true},"responses":{"200":{"description":"Set a role overwrite","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RoleOverwriteView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/channels/{cid}/overwrites/roles/{rid}":{"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Remove a role overwrite"}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/channels/{cid}/overwrites/users":{"get":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"List user overwrites","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_UserOverwriteView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_SetUserOverwriteCmd"}}},"required":true},"responses":{"200":{"description":"Set a user overwrite","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserOverwriteView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/channels/{cid}/overwrites/users/{uid}":{"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Remove a user overwrite"}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/invites":{"get":{"tags":["space"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List invites","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceInvitePage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateInviteCmd"}}},"required":true},"responses":{"200":{"description":"Create an invite","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceInviteView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/invites/{iid}":{"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Revoke an invite","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceInviteView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/members":{"get":{"tags":["space"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List members of a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceMemberPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AddMemberCmd"}}},"required":true},"responses":{"200":{"description":"Add a member to a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceMemberView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/members/{uid}":{"get":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Get a space member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceMemberView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Remove a member from a space"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateMemberCmd"}}},"required":true},"responses":{"200":{"description":"Update a space member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SpaceMemberView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/members/{uid}/roles":{"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AssignRoleCmd"}}},"required":true},"responses":{"200":{"description":"Assign a role to a member"}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/members/{uid}/roles/{rid}":{"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Unassign a role from a member"}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/roles":{"get":{"tags":["space"],"operationId":"handler","parameters":[{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"offset","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"List roles in a space","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RolePage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateRoleCmd"}}},"required":true},"responses":{"200":{"description":"Create a role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RoleView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{sid}/roles/{rid}":{"get":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Get a role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RoleView"}}}}}},"delete":{"tags":["space"],"operationId":"handler","responses":{"200":{"description":"Delete a role"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["space"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateRoleCmd"}}},"required":true},"responses":{"200":{"description":"Update a role","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RoleView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"List projects","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ProjectPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateProjectCmd"}}},"required":true},"responses":{"201":{"description":"Create a project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ProjectView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"Get a project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ProjectView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["project"],"operationId":"handler","responses":{"204":{"description":"Delete a project"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateProjectCmd"}}},"required":true},"responses":{"200":{"description":"Update a project","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ProjectView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/activities":{"get":{"tags":["project"],"operationId":"handler","parameters":[{"name":"verb","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":"integer","format":"int64","minimum":0}},{"name":"per_page","in":"path","required":true,"schema":{"type":"integer","format":"int64","minimum":0}}],"responses":{"200":{"description":"List activities","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ActivityPage"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/documents":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"List documents","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DocumentPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateDocumentCmd"}}},"required":true},"responses":{"201":{"description":"Create a document","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DocumentView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/documents/{doc_id}":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"Get a document","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DocumentView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["project"],"operationId":"handler","responses":{"204":{"description":"Delete a document"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateDocumentCmd"}}},"required":true},"responses":{"200":{"description":"Update a document","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DocumentView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/favorites":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"List favorites","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_FavoritePage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AddFavoriteCmd"}}},"required":true},"responses":{"201":{"description":"Add a favorite","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_FavoriteView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/favorites/{favorite_id}":{"delete":{"tags":["project"],"operationId":"handler","responses":{"204":{"description":"Remove a favorite"}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/links":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"List links","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LinkPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AddLinkCmd"}}},"required":true},"responses":{"201":{"description":"Add a link","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_LinkView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/links/{link_id}":{"delete":{"tags":["project"],"operationId":"handler","responses":{"204":{"description":"Remove a link"}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/members":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"List members","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MemberPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AddMemberCmd"}}},"required":true},"responses":{"201":{"description":"Add a member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MemberView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/members/{user_id}":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"Get a member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MemberView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["project"],"operationId":"handler","responses":{"204":{"description":"Remove a member"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateMemberCmd"}}},"required":true},"responses":{"200":{"description":"Update a member","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MemberView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/views":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"List views","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ViewPage"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateViewCmd"}}},"required":true},"responses":{"201":{"description":"Create a view","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ViewView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/spaces/{space_id}/projects/{project_id}/views/{view_id}":{"get":{"tags":["project"],"operationId":"handler","responses":{"200":{"description":"Get a view","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ViewView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["project"],"operationId":"handler","responses":{"204":{"description":"Delete a view"}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["project"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateViewCmd"}}},"required":true},"responses":{"200":{"description":"Update a view","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ViewView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/topics/search":{"get":{"tags":["repo"],"operationId":"handler","parameters":[{"name":"q","in":"path","required":true,"schema":{"type":["string","null"]}},{"name":"page","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}},{"name":"limit","in":"path","required":true,"schema":{"type":["integer","null"],"format":"int64","minimum":0}}],"responses":{"200":{"description":"Search topics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_TopicSearchResult"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/admin/deletions":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"List pending and scheduled deletion requests.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_DeletionRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/admin/deletions/{id}/complete":{"post":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Deletion request id.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Deletion completed; sessions revoked."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/admin/suspensions":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"include_revoked","in":"query","description":"Include revoked suspensions (default false).","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"All suspensions (admin view).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_SuspensionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/admin/suspensions/{id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Suspension id.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RevokeSuspensionCmd"}}},"required":true},"responses":{"204":{"description":"Suspension revoked."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/admin/users/{uid}/profile":{"patch":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateProfileCmd"}}},"required":true},"responses":{"200":{"description":"Admin-updated profile.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserMe"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/admin/users/{uid}/suspensions":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"include_revoked","in":"query","description":"Include revoked suspensions (default false).","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"Suspensions for the given user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_SuspensionView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_SuspendCmd"}}},"required":true},"responses":{"200":{"description":"Suspension created (also sets users.is_restricted = true).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SuspensionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Authenticated user profile (privileged view).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserMe"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/access-keys":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"List access keys for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_AccessKeyView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_CreateAccessKeyCmd"}}},"required":true},"responses":{"200":{"description":"Access key created (token returned only once).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_CreateAccessKeyResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/access-keys/{id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Access key identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Access key deleted."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/avatar":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Current avatar metadata (200 with empty body if none).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Option_AvatarView"}}}}},"security":[{"bearer_auth":[]}]},"put":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UploadAvatarCmd"}}},"required":true},"responses":{"200":{"description":"Avatar uploaded and bound to caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_AvatarView"}}}},"400":{"description":"Invalid content_type or base64 payload."}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["user"],"operationId":"handler","responses":{"204":{"description":"Avatar removed."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/blocks":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"limit","in":"query","description":"Maximum items (default 20).","required":false,"schema":{"type":"integer","minimum":0}},{"name":"cursor","in":"query","description":"Pagination cursor (id).","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Page of blocked users.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_BlockedSummary"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/blocks/{uid}":{"post":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Block succeeded (idempotent; also unfollows both directions)."},"404":{"description":"Target user not found."}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Unblock succeeded."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/deletion":{"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RequestDeletionCmd"}}},"required":true},"responses":{"200":{"description":"Deletion request created or returned (idempotent).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DeletionRequestView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["user"],"operationId":"handler","responses":{"204":{"description":"Active deletion request cancelled."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/deletion/confirm":{"post":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Deletion request scheduled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DeletionRequestView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/devices":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"List devices registered to the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_DeviceView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/devices/{id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Device identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Device removed."}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Device identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateDeviceCmd"}}},"required":true},"responses":{"200":{"description":"Device updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_DeviceView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/email-change":{"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_RequestChangeBody"}}},"required":true},"responses":{"200":{"description":"Email change ticket created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_EmailChangeTicketView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/email-change/confirm":{"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_ConfirmEmailChangeCmd"}}},"required":true},"responses":{"200":{"description":"Ticket status advanced.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_EmailChangeTicketView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/email-change/{ticket_id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"ticket_id","in":"path","description":"Ticket identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Ticket cancelled."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/emails":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"List active emails for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_EmailView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AddEmailCmd"}}},"required":true},"responses":{"200":{"description":"Email added (unverified).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_AddEmailResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/emails/{email_id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"email_id","in":"path","description":"Email identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Email soft-deleted."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/emails/{email_id}/primary":{"patch":{"tags":["user"],"operationId":"handler","parameters":[{"name":"email_id","in":"path","description":"Email identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Primary email changed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SetPrimaryEmailResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/memes":{"get":{"tags":["user"],"operationId":"list_handler","parameters":[{"name":"limit","in":"query","description":"Maximum items (default 20).","required":false,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"List the caller's favorite memes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_MemeView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["user"],"operationId":"create_handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpsertMemeCmd"}}},"required":true},"responses":{"200":{"description":"Meme created or updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MemeView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/memes/{id}":{"delete":{"tags":["user"],"operationId":"delete_handler","parameters":[{"name":"id","in":"path","description":"Meme identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Meme deleted."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/messages/saved":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Saved messages for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_SavedMessageView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_SaveMessageCmd"}}},"required":true},"responses":{"200":{"description":"Message saved (idempotent).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SavedMessageView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/messages/saved/{message_id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"message_id","in":"path","description":"Message identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Message removed from saved list."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/messages/scheduled":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Scheduled messages for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_ScheduledMessageView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/messages/scheduled/{id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Scheduled message identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Scheduled message cancelled."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/notifications":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"unread_only","in":"query","description":"Only return unread notifications.","required":false,"schema":{"type":"boolean"}},{"name":"notification_type","in":"query","description":"Filter by notification type.","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Maximum items (default 20).","required":false,"schema":{"type":"integer","minimum":0}},{"name":"cursor","in":"query","description":"Pagination cursor (id).","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Notifications for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_NotificationView"}}}}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_MarkReadCmd"}}},"required":true},"responses":{"200":{"description":"Notifications marked as read.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MarkReadResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/notifications/mark-all-read":{"post":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"All notifications marked as read.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_MarkAllReadResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/notifications/unread-count":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Number of unread notifications for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UnreadCountResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/preferences":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"User preferences (auto-created if missing).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserPreferences"}}}}},"security":[{"bearer_auth":[]}]},"patch":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdatePreferencesCmd"}}},"required":true},"responses":{"200":{"description":"Updated preferences.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserPreferences"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/profile":{"patch":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpdateProfileCmd"}}},"required":true},"responses":{"200":{"description":"Updated self profile.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserMe"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/push-subscriptions":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"List push subscriptions for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_PushSubscriptionView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_UpsertPushCmd"}}},"required":true},"responses":{"200":{"description":"Push subscription upserted (endpoint-keyed).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_PushSubscriptionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/push-subscriptions/{id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Push subscription id.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Push subscription deleted."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/recent-mentions":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"limit","in":"query","description":"Maximum items (default 20).","required":false,"schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"Recent mentions for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_RecentMentionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/recovery-codes":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"List recovery codes for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_RecoveryCodeView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/recovery-codes/regenerate":{"post":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Recovery codes regenerated (plaintext returned once).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RegenerateRecoveryResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/reports":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Reports submitted by the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_ReportView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/sessions":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"app_id","in":"query","description":"Filter by app id.","required":false,"schema":{"type":"string"}},{"name":"include_revoked","in":"query","description":"Include revoked sessions (default false).","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"List active sessions for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_SessionView"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"All sessions revoked for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_RevokeAllResp"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/sessions/{id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"Session identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Session revoked."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/ssh-keys":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"List SSH keys for the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_SshKeyView"}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_AddSshKeyCmd"}}},"required":true},"responses":{"200":{"description":"SSH key added.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_SshKeyView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/ssh-keys/{id}":{"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"id","in":"path","description":"SSH key identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"SSH key deleted."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/me/suspensions":{"get":{"tags":["user"],"operationId":"handler","responses":{"200":{"description":"Active suspensions affecting the caller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_SuspensionView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/reports":{"post":{"tags":["user"],"operationId":"handler","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppRequestData_SubmitReportCmd"}}},"required":true},"responses":{"200":{"description":"Report submitted (status = Open).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ReportView"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/users/{uid}":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"User identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Public view of the user (visibility-filtered).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_UserPublic"}}}},"404":{"description":"User not found."}}}},"/api/v1/user/users/{uid}/follow":{"post":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Follow succeeded (idempotent)."},"404":{"description":"Target user not found."}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Unfollow succeeded."}},"security":[{"bearer_auth":[]}]}},"/api/v1/user/users/{uid}/followers":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","description":"Maximum items (default 20).","required":false,"schema":{"type":"integer","minimum":0}},{"name":"cursor","in":"query","description":"Pagination cursor (id).","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Page of followers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_FollowerSummary"}}}}}}},"/api/v1/user/users/{uid}/following":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"Target user identifier.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","description":"Maximum items (default 20).","required":false,"schema":{"type":"integer","minimum":0}},{"name":"cursor","in":"query","description":"Pagination cursor (id).","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Page of accounts the user follows.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_Vec_FollowerSummary"}}}}}}},"/api/v1/user/users/{uid}/profile-detail":{"get":{"tags":["user"],"operationId":"handler","parameters":[{"name":"uid","in":"path","description":"User identifier.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Extended profile record.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppResponseData_ProfileView"}}}},"404":{"description":"Profile not found."}}}}},"components":{"schemas":{"AcceptAgreementCmd":{"type":"object","required":["user_id","agreement_key","agreement_version"],"properties":{"agreement_key":{"type":"string"},"agreement_version":{"type":"string"},"user_id":{"type":"string"}}},"AcceptAgreementResp":{"type":"object","required":["recorded"],"properties":{"recorded":{"type":"boolean"}}},"AcceptInviteCmd":{"type":"object","required":["accept_code"],"properties":{"accept_code":{"type":"string"}}},"AccessKeyScope":{"type":"string","enum":["read","write","repo","admin","all"]},"AccessKeyView":{"type":"object","required":["id","name","token_last_eight","scope","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"scope":{"$ref":"#/components/schemas/AccessKeyScope"},"token_last_eight":{"type":"string"},"updated_at":{"type":"string"}}},"ActivityPage":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ActivityView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"ActivityView":{"type":"object","required":["id","project_id","actor_id","verb","target_kind","created_at"],"properties":{"actor_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"id":{"type":"string","format":"uuid"},"payload":{},"project_id":{"type":"string","format":"uuid"},"target_id":{"type":["string","null"],"format":"uuid"},"target_kind":{"type":"string"},"verb":{"type":"string"}}},"AddCollaboratorOption":{"type":"object","required":["permission"],"properties":{"permission":{"type":"string"}}},"AddEmailCmd":{"type":"object","required":["email"],"properties":{"email":{"type":"string"}}},"AddEmailResp":{"type":"object","required":["email_id"],"properties":{"email_id":{"type":"string","format":"uuid"}}},"AddFavoriteCmd":{"type":"object","properties":{"folder":{"type":["string","null"]}}},"AddLinkCmd":{"type":"object","required":["related_project_id","kind"],"properties":{"kind":{"$ref":"#/components/schemas/LinkKind"},"related_project_id":{"type":"string","format":"uuid"}}},"AddMemberCmd":{"type":"object","required":["user_id"],"properties":{"role":{"$ref":"#/components/schemas/MemberRole"},"user_id":{"type":"string","format":"uuid"}}},"AddSshKeyCmd":{"type":"object","required":["name","content"],"properties":{"content":{"type":"string"},"key_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SshKeyType"}]},"name":{"type":"string"}}},"AgreementDoc":{"type":"object","required":["key","version","updated_at","title","content_md"],"properties":{"content_md":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":"string"},"version":{"type":"string"}}},"AppRequestData_AcceptAgreementCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["user_id","agreement_key","agreement_version"],"properties":{"agreement_key":{"type":"string"},"agreement_version":{"type":"string"},"user_id":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_AcceptInviteCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["accept_code"],"properties":{"accept_code":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_AddCollaboratorOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["permission"],"properties":{"permission":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_AddEmailCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["email"],"properties":{"email":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_AddFavoriteCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"folder":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_AddLinkCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["related_project_id","kind"],"properties":{"kind":{"$ref":"#/components/schemas/LinkKind"},"related_project_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_AddMemberCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["user_id"],"properties":{"role":{"$ref":"#/components/schemas/MemberRole"},"user_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_AddSshKeyCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name","content"],"properties":{"content":{"type":"string"},"key_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SshKeyType"}]},"name":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_ApplyDiffPatchFileOptions":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["content"],"properties":{"content":{"type":"string"},"sha":{"type":["string","null"]}}}]},"request_id":{"type":"string"}}},"AppRequestData_ArchiveRepoOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["archived"],"properties":{"archived":{"type":"boolean"}}},"request_id":{"type":"string"}}},"AppRequestData_AssignRoleCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["role_id"],"properties":{"role_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_AuthorizeCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["provider","code_verifier"],"properties":{"app_id":{"type":["string","null"]},"code_verifier":{"type":"string"},"provider":{"$ref":"#/components/schemas/OAuthProvider"}}},"request_id":{"type":"string"}}},"AppRequestData_ChangeFilesOptions":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"$ref":"#/components/schemas/ChangeFileEntry"}}}}]},"request_id":{"type":"string"}}},"AppRequestData_CloseIssueOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["closed"],"properties":{"closed":{"type":"boolean"}}},"request_id":{"type":"string"}}},"AppRequestData_ConfirmEmailChangeCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["ticket_id"],"properties":{"ticket_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateAccessKeyCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name","scope"],"properties":{"name":{"type":"string"},"scope":{"$ref":"#/components/schemas/AccessKeyScope"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateBanCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["user_id"],"properties":{"allow_agent_join":{"type":["boolean","null"]},"allow_comment_any":{"type":["boolean","null"]},"allow_push_repo":{"type":["boolean","null"]},"allow_speak":{"type":["boolean","null"]},"expires_at":{"type":["string","null"]},"reason":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateBranchOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["new_branch_name"],"properties":{"new_branch_name":{"type":"string"},"old_branch_name":{"type":["string","null"]},"old_ref_name":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreateBranchProtectionOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["branch_name"],"properties":{"approvals_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"approvals_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"block_admin_merge_override":{"type":["boolean","null"]},"block_on_change_requested_reviews":{"type":["boolean","null"]},"block_on_outdated_branch":{"type":["boolean","null"]},"block_on_rejected_reviews":{"type":["boolean","null"]},"branch_name":{"type":"string"},"branch_pattern":{"type":["string","null"]},"bypass_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"bypass_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"dismiss_stale_approvals":{"type":["boolean","null"]},"enable_approvals_whitelist":{"type":["boolean","null"]},"enable_bypass_allowlist":{"type":["boolean","null"]},"enable_force_push":{"type":["boolean","null"]},"enable_force_push_allowlist":{"type":["boolean","null"]},"enable_merge_whitelist":{"type":["boolean","null"]},"enable_push":{"type":["boolean","null"]},"enable_push_whitelist":{"type":["boolean","null"]},"force_push_allowlist_deploy_keys":{"type":["boolean","null"]},"force_push_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"force_push_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"ignore_stale_approvals":{"type":["boolean","null"]},"merge_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"merge_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"priority":{"type":["integer","null"],"format":"int64"},"protected_file_patterns":{"type":["string","null"]},"push_whitelist_deploy_keys":{"type":["boolean","null"]},"push_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"push_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"require_signed_commits":{"type":["boolean","null"]},"required_approvals":{"type":["integer","null"],"format":"int32"},"rule_name":{"type":["string","null"]},"unprotected_file_patterns":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreateCollectionOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["space_id","name"],"properties":{"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"name":{"type":"string"},"parent_dir":{"type":["string","null"],"format":"uuid"},"space_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateCommentOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["content"],"properties":{"content":{"type":"string"},"parent_id":{"type":["string","null"],"format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateDependencyOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["dependency_id"],"properties":{"dependency_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateDeployKeyOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["title","key"],"properties":{"key":{"type":"string"},"read_only":{"type":["boolean","null"]},"title":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateDocumentCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["title","slug"],"properties":{"content":{"type":"string"},"icon":{"type":["string","null"]},"parent_id":{"type":["string","null"],"format":"uuid"},"slug":{"type":"string"},"title":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateFileOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["content"],"properties":{"content":{"type":"string"}}}]},"request_id":{"type":"string"}}},"AppRequestData_CreateInviteCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["role_ids"],"properties":{"email":{"type":["string","null"]},"expires_at":{"type":["string","null"]},"role_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"user_id":{"type":["string","null"],"format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateIssueOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["title","body"],"properties":{"body":{"type":"string"},"description":{"type":["string","null"]},"milestone_id":{"type":["string","null"],"format":"uuid"},"title":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateLabelOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name","color"],"properties":{"color":{"type":"string"},"description":{"type":["string","null"]},"exclusive":{"type":["boolean","null"]},"exclusive_order":{"type":["integer","null"],"format":"int32"},"name":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateMemberOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["user_id","kind"],"properties":{"kind":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateMilestoneOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name"],"properties":{"description":{"type":["string","null"]},"due_at":{"type":["string","null"]},"name":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreatePinOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["issue_id","pin_order"],"properties":{"issue_id":{"type":"string","format":"uuid"},"pin_order":{"type":"integer","format":"int32"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateProjectCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["space_id","name"],"properties":{"color":{"type":["string","null"]},"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"lead_id":{"type":["string","null"],"format":"uuid"},"name":{"type":"string"},"parent_dir":{"type":["string","null"],"format":"uuid"},"space_id":{"type":"string","format":"uuid"},"target_date":{"type":["string","null"],"format":"date"}}},"request_id":{"type":"string"}}},"AppRequestData_CreatePullRequestCommentOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["body"],"properties":{"body":{"type":"string"},"commit_sha":{"type":["string","null"]},"line":{"type":["integer","null"],"format":"int32"},"path":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreatePullRequestOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["title","head","base"],"properties":{"base":{"type":"string"},"body":{"type":["string","null"]},"head":{"type":"string"},"title":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateReactionOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["emoji"],"properties":{"emoji":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateReleaseOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["tag_name","title"],"properties":{"content":{"type":["string","null"]},"is_draft":{"type":["boolean","null"]},"is_prerelease":{"type":["boolean","null"]},"tag_message":{"type":["string","null"]},"tag_name":{"type":"string"},"target":{"type":["string","null"]},"title":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateRepoOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["space_id","name"],"properties":{"auto_init":{"type":["boolean","null"]},"default_branch":{"type":["string","null"]},"description":{"type":["string","null"]},"enable_lfs":{"type":["boolean","null"]},"gitignores":{"type":["string","null"]},"is_private":{"type":["boolean","null"]},"issue_labels":{"type":["string","null"]},"license_name":{"type":["string","null"]},"name":{"type":"string"},"object_format":{"type":["string","null"]},"parent_dir":{"type":["string","null"],"format":"uuid"},"readme":{"type":["string","null"]},"space_id":{"type":"string","format":"uuid"},"template":{"type":["boolean","null"]},"website":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreateRepoRelOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["repo_id"],"properties":{"repo_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_CreateRoleCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name","permissions"],"properties":{"color":{"type":["string","null"]},"icon_hash":{"type":["string","null"]},"name":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"position":{"type":["integer","null"],"format":"int64"},"unicode_emoji":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreateSpaceCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name"],"properties":{"allow_invite":{"type":"boolean"},"allow_join":{"type":"boolean"},"allow_join_level":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpaceAllowJoinLevel"}]},"avatar_url":{"type":["string","null"]},"description":{"type":["string","null"]},"member_must_enable_2fa":{"type":"boolean"},"name":{"type":"string"},"public":{"type":"boolean"},"welcome_message":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreateStatusOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["state","context"],"properties":{"context":{"type":"string"},"description":{"type":["string","null"]},"state":{"type":"string"},"target_url":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreateTagOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["tag_name"],"properties":{"message":{"type":["string","null"]},"tag_name":{"type":"string"},"target":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_CreateTagProtectionOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name_pattern"],"properties":{"name_pattern":{"type":"string"},"whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"whitelist_usernames":{"type":["array","null"],"items":{"type":"string","format":"uuid"}}}},"request_id":{"type":"string"}}},"AppRequestData_CreateViewCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name"],"properties":{"description":{"type":["string","null"]},"filter":{},"group_by":{"type":["string","null"]},"is_shared":{"type":"boolean"},"layout":{"type":"string"},"name":{"type":"string"},"sort_by":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_DeleteFileOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["sha"],"properties":{"sha":{"type":"string"}}}]},"request_id":{"type":"string"}}},"AppRequestData_EditBranchProtectionOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"approvals_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"approvals_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"block_admin_merge_override":{"type":["boolean","null"]},"block_on_change_requested_reviews":{"type":["boolean","null"]},"block_on_outdated_branch":{"type":["boolean","null"]},"block_on_rejected_reviews":{"type":["boolean","null"]},"branch_pattern":{"type":["string","null"]},"bypass_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"bypass_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"dismiss_stale_approvals":{"type":["boolean","null"]},"enable_approvals_whitelist":{"type":["boolean","null"]},"enable_bypass_allowlist":{"type":["boolean","null"]},"enable_force_push":{"type":["boolean","null"]},"enable_force_push_allowlist":{"type":["boolean","null"]},"enable_merge_whitelist":{"type":["boolean","null"]},"enable_push":{"type":["boolean","null"]},"enable_push_whitelist":{"type":["boolean","null"]},"force_push_allowlist_deploy_keys":{"type":["boolean","null"]},"force_push_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"force_push_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"ignore_stale_approvals":{"type":["boolean","null"]},"merge_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"merge_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"priority":{"type":["integer","null"],"format":"int64"},"protected_file_patterns":{"type":["string","null"]},"push_whitelist_deploy_keys":{"type":["boolean","null"]},"push_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"push_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"require_signed_commits":{"type":["boolean","null"]},"required_approvals":{"type":["integer","null"],"format":"int32"},"unprotected_file_patterns":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_EditReleaseOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"content":{"type":["string","null"]},"is_draft":{"type":["boolean","null"]},"is_prerelease":{"type":["boolean","null"]},"tag_name":{"type":["string","null"]},"target":{"type":["string","null"]},"title":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_EditTagProtectionOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"name_pattern":{"type":["string","null"]},"whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"whitelist_usernames":{"type":["array","null"],"items":{"type":"string","format":"uuid"}}}},"request_id":{"type":"string"}}},"AppRequestData_ForgotPasswordCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["email","pow"],"properties":{"email":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"}}},"request_id":{"type":"string"}}},"AppRequestData_ForkRepoOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["to_channel_id"],"properties":{"description":{"type":["string","null"]},"name":{"type":["string","null"]},"to_channel_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_GenerateRepoOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["to_channel_id","name"],"properties":{"description":{"type":["string","null"]},"is_private":{"type":["boolean","null"]},"name":{"type":"string"},"to_channel_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_LoginCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["identifier","password","pow"],"properties":{"app_id":{"type":["string","null"]},"identifier":{"type":"string"},"password":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"}}},"request_id":{"type":"string"}}},"AppRequestData_LogoutCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["refresh_token"],"properties":{"refresh_token":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_MarkReadCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["notification_ids"],"properties":{"notification_ids":{"type":"array","items":{"type":"string","format":"uuid"}}}},"request_id":{"type":"string"}}},"AppRequestData_MergePullRequestOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["style"],"properties":{"commit_message":{"type":["string","null"]},"commit_title":{"type":["string","null"]},"delete_branch_after_merge":{"type":"boolean"},"style":{"$ref":"#/components/schemas/MergeStyle"}}},"request_id":{"type":"string"}}},"AppRequestData_MergeUpstreamRequest":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["branch"],"properties":{"branch":{"type":"string"},"ff_only":{"type":["boolean","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_ReclaimCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["email","pow"],"properties":{"email":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"}}},"request_id":{"type":"string"}}},"AppRequestData_RefreshCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["refresh_token"],"properties":{"app_id":{"type":["string","null"]},"refresh_token":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_RegisterCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["email","password","pow"],"properties":{"accept_agreements":{"type":"array","items":{"type":"string"}},"email":{"type":"string"},"password":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"},"username":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_RenameBranchOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["new_name"],"properties":{"new_name":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_RenameRepoOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["new_name"],"properties":{"new_name":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_RepoTopicOptions":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["topics"],"properties":{"topics":{"type":"array","items":{"type":"string"}}}},"request_id":{"type":"string"}}},"AppRequestData_RequestChangeBody":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["new_email"],"properties":{"new_email":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_RequestDeletionCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"reason":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_ResendCodeCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["email","pow","purpose"],"properties":{"email":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"},"purpose":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_ResetPasswordCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["email","token","new_password","temp_key_value"],"properties":{"email":{"type":"string"},"new_password":{"type":"string"},"temp_key_value":{"type":"string"},"token":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_RevokeSuspensionCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"reason":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_SaveMessageCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["channel_id","message_id"],"properties":{"channel_id":{"type":"string","format":"uuid"},"message_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_SetRoleOverwriteCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["role_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"deny_mask":{"type":"integer","format":"int64"},"role_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_SetUserOverwriteCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["user_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"deny_mask":{"type":"integer","format":"int64"},"user_id":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_SubmitPullRequestReviewOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["state"],"properties":{"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"state":{"$ref":"#/components/schemas/ReviewState"}}},"request_id":{"type":"string"}}},"AppRequestData_SubmitReportCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["reported_uid","reason"],"properties":{"evidence":{"type":["string","null"]},"reason":{"type":"string"},"reported_uid":{"type":"string","format":"uuid"}}},"request_id":{"type":"string"}}},"AppRequestData_SuspendCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["suspension_type"],"properties":{"ends_at":{"type":["string","null"]},"reason":{"type":["string","null"]},"suspension_type":{"$ref":"#/components/schemas/SuspensionType"}}},"request_id":{"type":"string"}}},"AppRequestData_TransferRepoOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["new_channel_id"],"properties":{"new_channel_id":{"type":"string","format":"uuid"},"new_name":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateAvatarOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["image"],"properties":{"image":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateBanCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"allow_agent_join":{"type":["boolean","null"]},"allow_comment_any":{"type":["boolean","null"]},"allow_push_repo":{"type":["boolean","null"]},"allow_speak":{"type":["boolean","null"]},"expires_at":{"type":["string","null"]},"reason":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateBranchOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["new_commit_id"],"properties":{"force":{"type":["boolean","null"]},"new_commit_id":{"type":"string"},"old_commit_id":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateBranchProtectionPriorities":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"}}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateCollectionOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"name":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateCommentOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["content"],"properties":{"content":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateDeviceCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"device_name":{"type":["string","null"]},"is_trusted":{"type":["boolean","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateDocumentCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"content":{"type":["string","null"]},"icon":{"type":["string","null"]},"parent_id":{"type":["string","null"],"format":"uuid"},"slug":{"type":["string","null"]},"title":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateFileOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["content"],"properties":{"content":{"type":"string"},"from_path":{"type":["string","null"]},"sha":{"type":["string","null"]}}}]},"request_id":{"type":"string"}}},"AppRequestData_UpdateIssueOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"body":{"type":["string","null"]},"description":{"type":["string","null"]},"milestone_id":{"type":["string","null"],"format":"uuid"},"title":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateIssueUserOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"is_mentioned":{"type":["boolean","null"]},"is_read":{"type":["boolean","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateLabelOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"color":{"type":["string","null"]},"description":{"type":["string","null"]},"exclusive":{"type":["boolean","null"]},"exclusive_order":{"type":["integer","null"],"format":"int32"},"is_archived":{"type":["boolean","null"]},"name":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateMemberCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["role"],"properties":{"role":{"$ref":"#/components/schemas/MemberRole"}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateMilestoneOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"description":{"type":["string","null"]},"due_at":{"type":["string","null"]},"is_closed":{"type":["boolean","null"]},"name":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdatePreferencesCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"allow_dms_from":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Audience"}]},"allow_mentions_from":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Audience"}]},"diff_view_style":{"type":["string","null"]},"email_digest":{"type":["boolean","null"]},"email_flags":{"type":["integer","null"],"format":"int32"},"in_app_flags":{"type":["integer","null"],"format":"int32"},"mute_until":{"type":["string","null"]},"push_flags":{"type":["integer","null"],"format":"int32"},"show_online_status":{"type":["boolean","null"]},"theme_mode":{"type":["string","null"]},"theme_token":{"type":["string","null"]},"theme_version":{"type":["integer","null"],"format":"int64"}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateProfileCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"avatar":{"type":["string","null"]},"display_name":{"type":["string","null"]},"language":{"type":["string","null"]},"locale":{"type":["string","null"]},"profile":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/UpdateProfileFields"}]},"timezone":{"type":["string","null"]},"visibility":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProfileVisibility"}]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateProjectCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"color":{"type":["string","null"]},"description":{"type":["string","null"]},"health":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectHealth"}]},"icon":{"type":["string","null"]},"lead_id":{"type":["string","null"],"format":"uuid"},"name":{"type":["string","null"]},"sort_order":{"type":["integer","null"],"format":"int32"},"state":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectState"}]},"target_date":{"type":["string","null"],"format":"date"}}},"request_id":{"type":"string"}}},"AppRequestData_UpdatePullRequestOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"base":{"type":["string","null"]},"body":{"type":["string","null"]},"head":{"type":["string","null"]},"title":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateRepoOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"allow_fast_forward_only_merge":{"type":["boolean","null"]},"allow_manual_merge":{"type":["boolean","null"]},"allow_merge_commits":{"type":["boolean","null"]},"allow_merge_update":{"type":["boolean","null"]},"allow_rebase":{"type":["boolean","null"]},"allow_rebase_explicit":{"type":["boolean","null"]},"allow_rebase_update":{"type":["boolean","null"]},"allow_squash_merge":{"type":["boolean","null"]},"archived":{"type":["boolean","null"]},"autodetect_manual_merge":{"type":["boolean","null"]},"default_allow_maintainer_edit":{"type":["boolean","null"]},"default_branch":{"type":["string","null"]},"default_delete_branch_after_merge":{"type":["boolean","null"]},"default_merge_style":{"type":["string","null"]},"default_update_style":{"type":["string","null"]},"description":{"type":["string","null"]},"enable_lfs":{"type":["boolean","null"]},"external_tracker":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExternalTracker"}]},"external_wiki":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExternalWiki"}]},"has_actions":{"type":["boolean","null"]},"has_code":{"type":["boolean","null"]},"has_issues":{"type":["boolean","null"]},"has_packages":{"type":["boolean","null"]},"has_projects":{"type":["boolean","null"]},"has_pull_requests":{"type":["boolean","null"]},"has_releases":{"type":["boolean","null"]},"has_wiki":{"type":["boolean","null"]},"ignore_whitespace_conflicts":{"type":["boolean","null"]},"internal_tracker":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/InternalTracker"}]},"is_private":{"type":["boolean","null"]},"license_name":{"type":["string","null"]},"name":{"type":["string","null"]},"projects_mode":{"type":["string","null"]},"template":{"type":["boolean","null"]},"website":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateRoleCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"color":{"type":["string","null"]},"icon_hash":{"type":["string","null"]},"name":{"type":["string","null"]},"permissions":{"type":["array","null"],"items":{"type":"string"}},"position":{"type":["integer","null"],"format":"int64"},"unicode_emoji":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateSpaceCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"allow_invite":{"type":["boolean","null"]},"allow_join":{"type":["boolean","null"]},"allow_join_level":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpaceAllowJoinLevel"}]},"avatar_url":{"type":["string","null"]},"description":{"type":["string","null"]},"member_must_enable_2fa":{"type":["boolean","null"]},"name":{"type":["string","null"]},"public":{"type":["boolean","null"]},"welcome_message":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpdateViewCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","properties":{"description":{"type":["string","null"]},"filter":{},"group_by":{"type":["string","null"]},"is_shared":{"type":["boolean","null"]},"layout":{"type":["string","null"]},"name":{"type":["string","null"]},"sort_by":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UploadAttachmentInput":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["filename","content_type","data"],"properties":{"content_type":{"type":"string"},"data":{"type":"array","items":{"type":"integer","format":"int32","minimum":0}},"filename":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_UploadAvatarCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["content_type","data_base64"],"properties":{"content_type":{"type":"string"},"data_base64":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_UpsertMemeCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["name","content_type","url","size"],"properties":{"content_type":{"type":"string"},"height":{"type":["integer","null"],"format":"int32"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"},"url":{"type":"string"},"width":{"type":["integer","null"],"format":"int32"}}},"request_id":{"type":"string"}}},"AppRequestData_UpsertPushCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["endpoint","p256dh_key","auth_key","platform"],"properties":{"auth_key":{"type":"string"},"endpoint":{"type":"string"},"p256dh_key":{"type":"string"},"platform":{"$ref":"#/components/schemas/PushPlatform"},"user_agent":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppRequestData_UpsertWatchOption":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["mode"],"properties":{"mode":{"type":"string"}}},"request_id":{"type":"string"}}},"AppRequestData_Vec_String":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"array","items":{"type":"string"}},"request_id":{"type":"string"}}},"AppRequestData_VerifyCodeCmd":{"type":"object","required":["request_id","at"],"properties":{"at":{"type":"string"},"data":{"type":"object","required":["email","purpose","code","temp_key_value"],"properties":{"code":{"type":"string"},"email":{"type":"string"},"purpose":{"type":"string"},"temp_key_value":{"type":"string"},"user_id":{"type":["string","null"]}}},"request_id":{"type":"string"}}},"AppResponseData_AcceptAgreementResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["recorded"],"properties":{"recorded":{"type":"boolean"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ActivityPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ActivityView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_AddEmailResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["email_id"],"properties":{"email_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_AttachmentView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","owner_type","owner_id","filename","content_type","size","url","created_at"],"properties":{"content_type":{"type":"string"},"created_at":{"type":"string"},"filename":{"type":"string"},"id":{"type":"string","format":"uuid"},"owner_id":{"type":"string","format":"uuid"},"owner_type":{"type":"string"},"size":{"type":"integer","format":"int64"},"uploaded_by":{"type":["string","null"],"format":"uuid"},"url":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_AuthorizationUrlResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["url","temp_key"],"properties":{"temp_key":{"$ref":"#/components/schemas/TempKey"},"url":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_AvatarView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["uid","url","format","bytes","updated_at"],"properties":{"bytes":{"type":"integer","format":"int64","minimum":0},"format":{"$ref":"#/components/schemas/AvatarFormat"},"uid":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"url":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_BlobView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sha","size","encoding","content"],"properties":{"content":{"type":"string"},"encoding":{"type":"string"},"sha":{"type":"string"},"size":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_BranchPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BranchView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_BranchProtectionPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BranchProtectionView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_BranchProtectionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","repo_id","branch_name","rule_name","priority","enable_push","enable_push_whitelist","push_whitelist_usernames","push_whitelist_teams","push_whitelist_deploy_keys","enable_force_push","enable_force_push_allowlist","force_push_allowlist_usernames","force_push_allowlist_teams","force_push_allowlist_deploy_keys","enable_merge_whitelist","merge_whitelist_usernames","merge_whitelist_teams","enable_bypass_allowlist","bypass_allowlist_usernames","bypass_allowlist_teams","enable_approvals_whitelist","approvals_whitelist_usernames","approvals_whitelist_teams","required_approvals","block_on_rejected_reviews","block_on_change_requested_reviews","block_on_outdated_branch","dismiss_stale_approvals","ignore_stale_approvals","require_signed_commits","block_admin_merge_override","protected_file_patterns","unprotected_file_patterns","created_at","updated_at"],"properties":{"approvals_whitelist_teams":{"type":"array","items":{"type":"string"}},"approvals_whitelist_usernames":{"type":"array","items":{"type":"string"}},"block_admin_merge_override":{"type":"boolean"},"block_on_change_requested_reviews":{"type":"boolean"},"block_on_outdated_branch":{"type":"boolean"},"block_on_rejected_reviews":{"type":"boolean"},"branch_name":{"type":"string"},"branch_pattern":{"type":["string","null"]},"bypass_allowlist_teams":{"type":"array","items":{"type":"string"}},"bypass_allowlist_usernames":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string"},"dismiss_stale_approvals":{"type":"boolean"},"enable_approvals_whitelist":{"type":"boolean"},"enable_bypass_allowlist":{"type":"boolean"},"enable_force_push":{"type":"boolean"},"enable_force_push_allowlist":{"type":"boolean"},"enable_merge_whitelist":{"type":"boolean"},"enable_push":{"type":"boolean"},"enable_push_whitelist":{"type":"boolean"},"force_push_allowlist_deploy_keys":{"type":"boolean"},"force_push_allowlist_teams":{"type":"array","items":{"type":"string"}},"force_push_allowlist_usernames":{"type":"array","items":{"type":"string"}},"id":{"type":"string","format":"uuid"},"ignore_stale_approvals":{"type":"boolean"},"merge_whitelist_teams":{"type":"array","items":{"type":"string"}},"merge_whitelist_usernames":{"type":"array","items":{"type":"string"}},"priority":{"type":"integer","format":"int64"},"protected_file_patterns":{"type":"string"},"push_whitelist_deploy_keys":{"type":"boolean"},"push_whitelist_teams":{"type":"array","items":{"type":"string"}},"push_whitelist_usernames":{"type":"array","items":{"type":"string"}},"repo_id":{"type":"string","format":"uuid"},"require_signed_commits":{"type":"boolean"},"required_approvals":{"type":"integer","format":"int32"},"rule_name":{"type":"string"},"unprotected_file_patterns":{"type":"string"},"updated_at":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_BranchView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","repo_id","name","commit_sha","is_protected","protected","required_approvals","enable_status_check","status_check_contexts","user_can_push","user_can_merge","effective_branch_protection_name","is_deleted","created_at","updated_at"],"properties":{"commit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CommitMeta"}]},"commit_sha":{"type":"string"},"created_at":{"type":"string"},"deleted_at":{"type":["string","null"]},"effective_branch_protection_name":{"type":"string"},"enable_status_check":{"type":"boolean"},"id":{"type":"string","format":"uuid"},"is_deleted":{"type":"boolean"},"is_protected":{"type":"boolean"},"name":{"type":"string"},"protected":{"type":"boolean"},"repo_id":{"type":"string","format":"uuid"},"required_approvals":{"type":"integer","format":"int64"},"status_check_contexts":{"type":"array","items":{"type":"string"}},"updated_at":{"type":"string"},"user_can_merge":{"type":"boolean"},"user_can_push":{"type":"boolean"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ChannelPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ChannelView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ChannelView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","name","kind","position","is_archived","created_at","updated_at","created_by"],"properties":{"archived_at":{"type":["string","null"]},"archived_by":{"type":["string","null"],"format":"uuid"},"color":{"type":["string","null"]},"created_at":{"type":"string"},"created_by":{"type":"string","format":"uuid"},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_archived":{"type":"boolean"},"kind":{"type":"string"},"name":{"type":"string"},"parent_id":{"type":["string","null"],"format":"uuid"},"position":{"type":"integer","format":"int32"},"purpose":{"type":["string","null"]},"space_id":{"type":["string","null"],"format":"uuid"},"topic":{"type":["string","null"]},"updated_at":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CollaboratorPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CollaboratorView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CollectionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","channel_id","name","nums_open_issue","nums_closed_issue","created_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"nums_closed_issue":{"type":"integer","format":"int64"},"nums_open_issue":{"type":"integer","format":"int64"},"updated_at":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CombinedStatusView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sha","state","statuses","total_count"],"properties":{"sha":{"type":"string"},"state":{"type":"string"},"statuses":{"type":"array","items":{"$ref":"#/components/schemas/CommitStatusView"}},"total_count":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CommentView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","poster_id","content","created_at"],"properties":{"content":{"type":"string"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":["string","null"],"format":"uuid"},"parent_id":{"type":["string","null"],"format":"uuid"},"poster_id":{"type":"string","format":"uuid"},"updated_at":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CommitStatusPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CommitStatusView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CommitStatusView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","repo_id","sha","state","context","url","creator","created_at"],"properties":{"context":{"type":"string"},"created_at":{"type":"string"},"creator":{"$ref":"#/components/schemas/CommitUserSummary"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"repo_id":{"type":"string","format":"uuid"},"sha":{"type":"string"},"state":{"type":"string"},"target_url":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"url":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CommitView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sha","message","parent_shas","tree_sha"],"properties":{"author_email":{"type":["string","null"]},"author_name":{"type":["string","null"]},"authored_at":{"type":["string","null"]},"committed_at":{"type":["string","null"]},"committer_email":{"type":["string","null"]},"committer_name":{"type":["string","null"]},"message":{"type":"string"},"parent_shas":{"type":"array","items":{"type":"string"}},"sha":{"type":"string"},"tree_sha":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CommitsResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CommitSummary"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CompareView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["base","head","total_commits","ahead_by","behind_by","files"],"properties":{"ahead_by":{"type":"integer","format":"int64"},"base":{"type":"string"},"behind_by":{"type":"integer","format":"int64"},"files":{"type":"array","items":{"$ref":"#/components/schemas/CompareFileDiff"}},"head":{"type":"string"},"merge_base":{"type":["string","null"]},"total_commits":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ContentsListResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ContentsResponse"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ContentsResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["name","path","sha","type","size"],"properties":{"content":{"type":["string","null"]},"download_url":{"type":["string","null"]},"encoding":{"type":["string","null"]},"git_url":{"type":["string","null"]},"html_url":{"type":["string","null"]},"last_author_date":{"type":["string","null"]},"last_commit_message":{"type":["string","null"]},"last_commit_sha":{"type":["string","null"]},"last_committer_date":{"type":["string","null"]},"lfs_oid":{"type":["string","null"]},"lfs_size":{"type":["integer","null"],"format":"int64"},"links":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FileLinksResponse"}]},"name":{"type":"string"},"path":{"type":"string"},"sha":{"type":"string"},"size":{"type":"integer","format":"int64"},"submodule_git_url":{"type":["string","null"]},"target":{"type":["string","null"]},"type":{"type":"string"},"url":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_CreateAccessKeyResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["key","token"],"properties":{"key":{"$ref":"#/components/schemas/AccessKeyView"},"token":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_DeletionRequestView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","user_id","status","created_at","updated_at"],"properties":{"cancelled_at":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"reason":{"type":["string","null"]},"scheduled_for":{"type":["string","null"]},"status":{"$ref":"#/components/schemas/DeletionStatus"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_DependencyView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","issue_id","dependency_id","created_at"],"properties":{"created_at":{"type":"string"},"dependency_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_DeployKeyPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DeployKeyView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_DeployKeyView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","key_id","repo_id","title","key_type","fingerprint","content","url","read_only","created_at"],"properties":{"content":{"type":"string"},"created_at":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string","format":"uuid"},"key_id":{"type":"integer","format":"int64"},"key_type":{"type":"string"},"last_used_at":{"type":["string","null"]},"read_only":{"type":"boolean"},"repo_id":{"type":"string","format":"uuid"},"title":{"type":"string"},"url":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_DeviceView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","is_trusted","first_seen_at","last_seen_at","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"device_name":{"type":["string","null"]},"device_type":{"type":["string","null"]},"first_seen_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_trusted":{"type":"boolean"},"last_seen_at":{"type":"string"},"os":{"type":["string","null"]},"updated_at":{"type":"string"},"user_agent":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_DocumentPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DocumentView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_DocumentView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","project_id","creator_id","title","slug","content","created_at"],"properties":{"content":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"creator_id":{"type":"string","format":"uuid"},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"last_editor_id":{"type":["string","null"],"format":"uuid"},"parent_id":{"type":["string","null"],"format":"uuid"},"project_id":{"type":"string","format":"uuid"},"slug":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_EmailChangeTicketView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","new_email","status","expires_at","created_at"],"properties":{"created_at":{"type":"string"},"expires_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"new_email":{"type":"string"},"status":{"$ref":"#/components/schemas/EmailChangeTicketStatus"},"used_at":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_FavoritePage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/FavoriteView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_FavoriteView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","project_id","user_id","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"folder":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_FileDeleteResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","properties":{"commit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CommitSummary"}]},"content":{}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_FilesResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["files"],"properties":{"commit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CommitSummary"}]},"files":{"type":"array","items":{"$ref":"#/components/schemas/ContentsResponse"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ForgotPasswordResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sent","temp_key"],"properties":{"sent":{"type":"boolean"},"temp_key":{"$ref":"#/components/schemas/TempKey"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ForksResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ForkView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_IssueConfig":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["blank_issues_enabled"],"properties":{"blank_issues_enabled":{"type":"boolean"},"contact_links":{}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_IssueConfigValidation":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["valid"],"properties":{"message":{"type":["string","null"]},"valid":{"type":"boolean"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_IssueUserView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","user_id","issue_id","is_read","is_mentioned","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_mentioned":{"type":"boolean"},"is_read":{"type":"boolean"},"issue_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_IssueView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","collection_id","autoincrement_id","author_id","title","body","state","created_at"],"properties":{"author_id":{"type":"string","format":"uuid"},"autoincrement_id":{"type":"integer","format":"int32"},"body":{"type":"string"},"closed_at":{"type":["string","null"]},"collection_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"milestone_id":{"type":["string","null"],"format":"uuid"},"state":{"$ref":"#/components/schemas/IssueState"},"title":{"type":"string"},"updated_at":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_LabelView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","channel_id","name","exclusive","exclusive_order","color","is_archived","created_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"color":{"type":"string"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"exclusive":{"type":"boolean"},"exclusive_order":{"type":"integer","format":"int32"},"id":{"type":"string","format":"uuid"},"is_archived":{"type":"boolean"},"name":{"type":"string"},"updated_at":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_LanguagesResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["languages"],"properties":{"languages":{"type":"object","additionalProperties":{"type":"integer","format":"int64"},"propertyNames":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_LicensesResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["licenses"],"properties":{"licenses":{"type":"array","items":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_LinkPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/LinkView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_LinkView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","project_id","related_project_id","kind","created_by","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"kind":{"$ref":"#/components/schemas/LinkKind"},"project_id":{"type":"string","format":"uuid"},"related_project_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_LoginResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["access_token","refresh_token","token_type","expires_in","user"],"properties":{"access_token":{"type":"string"},"expires_in":{"type":"integer","format":"int64"},"refresh_token":{"type":"string"},"token_type":{"type":"string"},"user":{"$ref":"#/components/schemas/UserPublic"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_LogoutResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["revoked"],"properties":{"revoked":{"type":"boolean"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MarkAllReadResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["marked"],"properties":{"marked":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MarkReadResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["marked"],"properties":{"marked":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MemberPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MemberView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MemberView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","issue_id","user_id","kind","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"kind":{"type":"string"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MemeView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","name","content_type","url","size","created_at"],"properties":{"content_type":{"type":"string"},"created_at":{"type":"string"},"height":{"type":["integer","null"],"format":"int32"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"},"url":{"type":"string"},"width":{"type":["integer","null"],"format":"int32"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MergeUpstreamResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["merge_type"],"properties":{"merge_type":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MergeView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sha","merged"],"properties":{"merged":{"type":"boolean"},"message":{"type":["string","null"]},"sha":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_MilestoneView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","collection_id","name","is_closed","num_issues","num_closed_issues","created_at"],"properties":{"collection_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"due_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_closed":{"type":"boolean"},"name":{"type":"string"},"num_closed_issues":{"type":"integer","format":"int32"},"num_issues":{"type":"integer","format":"int32"},"updated_at":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_NewPinAllowedResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["allowed"],"properties":{"allowed":{"type":"boolean"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_NoteView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sha","message"],"properties":{"message":{"type":"string"},"sha":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_OAuthLoginResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["access_token","refresh_token","token_type","expires_in","user_id","auto_registered"],"properties":{"access_token":{"type":"string"},"auto_registered":{"type":"boolean"},"expires_in":{"type":"integer","format":"int64"},"refresh_token":{"type":"string"},"token_type":{"type":"string"},"user_id":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Option_AvatarView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"oneOf":[{"type":"null"},{"type":"object","required":["uid","url","format","bytes","updated_at"],"properties":{"bytes":{"type":"integer","format":"int64","minimum":0},"format":{"$ref":"#/components/schemas/AvatarFormat"},"uid":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"url":{"type":"string"}}}]},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_PinView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","collection_id","pin_order","created_at"],"properties":{"collection_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":["string","null"],"format":"uuid"},"pin_order":{"type":"integer","format":"int32"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_PowChallengeResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["challenge","ttl_seconds"],"properties":{"challenge":{"type":"string"},"ttl_seconds":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ProfileView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["user_id","show_email","show_location","show_real_name","show_activity","updated_at"],"properties":{"accent_color":{"type":["string","null"]},"banner_color":{"type":["integer","null"],"format":"int32"},"banner_url":{"type":["string","null"]},"bio":{"type":["string","null"]},"company":{"type":["string","null"]},"date_of_birth":{"type":["string","null"],"format":"date"},"location":{"type":["string","null"]},"pronouns":{"type":["string","null"]},"pronouns_privacy":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProfileVisibility"}]},"real_name":{"type":["string","null"]},"show_activity":{"type":"boolean"},"show_email":{"type":"boolean"},"show_location":{"type":"boolean"},"show_real_name":{"type":"boolean"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"},"website":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ProjectPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ProjectView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","space_id","creator_id","name","state","health","sort_order","starred","created_at"],"properties":{"cancelled_at":{"type":["string","null"],"format":"date-time"},"color":{"type":["string","null"]},"completed_at":{"type":["string","null"],"format":"date-time"},"created_at":{"type":"string","format":"date-time"},"creator_id":{"type":"string","format":"uuid"},"description":{"type":["string","null"]},"health":{"$ref":"#/components/schemas/ProjectHealth"},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"lead_id":{"type":["string","null"],"format":"uuid"},"name":{"type":"string"},"sort_order":{"type":"integer","format":"int32"},"space_id":{"type":"string","format":"uuid"},"starred":{"type":"integer","format":"int32"},"started_at":{"type":["string","null"],"format":"date-time"},"state":{"$ref":"#/components/schemas/ProjectState"},"target_date":{"type":["string","null"],"format":"date"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_PullRequestCommentView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","pull_request_id","user_id","body","created_at"],"properties":{"body":{"type":"string"},"commit_sha":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"line":{"type":["integer","null"],"format":"int32"},"path":{"type":["string","null"]},"pull_request_id":{"type":"string","format":"uuid"},"review_id":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_PullRequestPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PullRequestView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_PullRequestReviewView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","pull_request_id","user_id","official","state","created_at"],"properties":{"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"official":{"type":"boolean"},"pull_request_id":{"type":"string","format":"uuid"},"state":{"$ref":"#/components/schemas/ReviewState"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_PullRequestView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","repo_id","number","title","head_branch","base_branch","author_id","state","is_locked","has_merged","created_at","comments_count","reviews_count"],"properties":{"author_id":{"type":"string","format":"uuid"},"base_branch":{"type":"string"},"base_sha":{"type":["string","null"]},"body":{"type":["string","null"]},"closed_at":{"type":["string","null"]},"comments_count":{"type":"integer","format":"int64"},"created_at":{"type":"string"},"has_merged":{"type":"boolean"},"head_branch":{"type":"string"},"head_sha":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_locked":{"type":"boolean"},"mergeable":{"type":["boolean","null"]},"mergeable_state":{"type":["string","null"]},"merged_at":{"type":["string","null"]},"merged_commit_sha":{"type":["string","null"]},"merger_id":{"type":["string","null"]},"number":{"type":"integer","format":"int64"},"repo_id":{"type":"string","format":"uuid"},"reviews_count":{"type":"integer","format":"int64"},"state":{"$ref":"#/components/schemas/PrState"},"title":{"type":"string"},"updated_at":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_PushSubscriptionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","platform","endpoint","created_at"],"properties":{"created_at":{"type":"string"},"endpoint":{"type":"string"},"id":{"type":"string","format":"uuid"},"platform":{"$ref":"#/components/schemas/PushPlatform"},"user_agent":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ReactionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","scope","target_id","user_id","emoji","created_at"],"properties":{"created_at":{"type":"string"},"emoji":{"type":"string"},"id":{"type":"string","format":"uuid"},"scope":{"$ref":"#/components/schemas/ReactionScope"},"target_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ReclaimResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sent","temp_key"],"properties":{"sent":{"type":"boolean"},"temp_key":{"$ref":"#/components/schemas/TempKey"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RefreshResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["access_token","refresh_token","token_type","expires_in"],"properties":{"access_token":{"type":"string"},"expires_in":{"type":"integer","format":"int64"},"refresh_token":{"type":"string"},"token_type":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RegenerateRecoveryResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["codes"],"properties":{"codes":{"type":"array","items":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RegisterResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["uid","pending","temp_key","purpose"],"properties":{"pending":{"type":"boolean"},"purpose":{"type":"string"},"temp_key":{"$ref":"#/components/schemas/TempKey"},"uid":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ReleaseAttachmentListResponse":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseAttachmentView"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ReleaseAttachmentView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","name","size","download_url","created_at"],"properties":{"created_at":{"type":"string"},"download_url":{"type":"string"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ReleasePage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ReleaseView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","repo_id","tag_name","target","title","sha","num_commits","is_draft","is_prerelease","is_tag","url","html_url","tarball_url","zipball_url","upload_url","publisher","attachments","created_at","updated_at"],"properties":{"attachments":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseAttachment"}},"content":{"type":["string","null"]},"created_at":{"type":"string"},"html_url":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_draft":{"type":"boolean"},"is_prerelease":{"type":"boolean"},"is_tag":{"type":"boolean"},"num_commits":{"type":"integer","format":"int32"},"publisher":{"$ref":"#/components/schemas/UserSummary"},"repo_id":{"type":"string","format":"uuid"},"sha":{"type":"string"},"tag_name":{"type":"string"},"tarball_url":{"type":"string"},"target":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":"string"},"upload_url":{"type":"string"},"url":{"type":"string"},"zipball_url":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RepoCollaboratorPermission":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["permission","role","user"],"properties":{"permission":{"type":"string"},"role":{"type":"string"},"user":{"$ref":"#/components/schemas/UserSummary"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RepoPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RepoView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RepoRelView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","issue_id","repo_id","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"repo_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RepoSummary":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","name","full_name","empty","private","fork","template","mirror","size","stars_count","forks_count","watchers_count","open_issues_count"],"properties":{"description":{"type":["string","null"]},"empty":{"type":"boolean"},"fork":{"type":"boolean"},"forks_count":{"type":"integer","format":"int32"},"full_name":{"type":"string"},"id":{"type":"string","format":"uuid"},"mirror":{"type":"boolean"},"name":{"type":"string"},"open_issues_count":{"type":"integer","format":"int32"},"private":{"type":"boolean"},"size":{"type":"integer","format":"int64"},"stars_count":{"type":"integer","format":"int32"},"template":{"type":"boolean"},"watchers_count":{"type":"integer","format":"int32"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RepoView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","channel_id","space_id","name","lower_name","full_name","default_branch","enable_lfs","is_private","is_archived","is_fork","is_template","is_mirror","empty","size","git_size","lfs_size","nums_watch","nums_star","nums_pr","nums_commits","nums_branches","nums_tags","allow_rebase","allow_rebase_explicit","allow_squash_merge","allow_merge_commits","allow_fast_forward_only_merge","allow_rebase_update","allow_merge_update","allow_manual_merge","autodetect_manual_merge","default_delete_branch_after_merge","default_allow_maintainer_edit","ignore_whitespace_conflicts","object_format","has_code","has_issues","has_wiki","has_pull_requests","has_projects","has_releases","has_packages","has_actions","projects_mode","languages","licenses","topics","html_url","url","link","ssh_url","clone_url","created_at","updated_at"],"properties":{"allow_fast_forward_only_merge":{"type":"boolean"},"allow_manual_merge":{"type":"boolean"},"allow_merge_commits":{"type":"boolean"},"allow_merge_update":{"type":"boolean"},"allow_rebase":{"type":"boolean"},"allow_rebase_explicit":{"type":"boolean"},"allow_rebase_update":{"type":"boolean"},"allow_squash_merge":{"type":"boolean"},"archived_at":{"type":["string","null"]},"autodetect_manual_merge":{"type":"boolean"},"avatar_url":{"type":["string","null"]},"channel":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ChannelSummary"}]},"channel_id":{"type":"string","format":"uuid"},"clone_url":{"type":"string"},"created_at":{"type":"string"},"default_allow_maintainer_edit":{"type":"boolean"},"default_branch":{"type":"string"},"default_delete_branch_after_merge":{"type":"boolean"},"description":{"type":["string","null"]},"empty":{"type":"boolean"},"enable_lfs":{"type":"boolean"},"full_name":{"type":"string"},"git_size":{"type":"integer","format":"int64"},"has_actions":{"type":"boolean"},"has_code":{"type":"boolean"},"has_issues":{"type":"boolean"},"has_packages":{"type":"boolean"},"has_projects":{"type":"boolean"},"has_pull_requests":{"type":"boolean"},"has_releases":{"type":"boolean"},"has_wiki":{"type":"boolean"},"html_url":{"type":"string"},"id":{"type":"string","format":"uuid"},"ignore_whitespace_conflicts":{"type":"boolean"},"is_archived":{"type":"boolean"},"is_fork":{"type":"boolean"},"is_mirror":{"type":"boolean"},"is_private":{"type":"boolean"},"is_template":{"type":"boolean"},"languages":{"type":"array","items":{"type":"string"}},"last_pushed_at":{"type":["string","null"]},"lfs_size":{"type":"integer","format":"int64"},"license_name":{"type":["string","null"]},"licenses":{"type":"array","items":{"type":"string"}},"link":{"type":"string"},"lower_name":{"type":"string"},"name":{"type":"string"},"nums_branches":{"type":"integer","format":"int32"},"nums_commits":{"type":"integer","format":"int32"},"nums_pr":{"type":"integer","format":"int32"},"nums_star":{"type":"integer","format":"int32"},"nums_tags":{"type":"integer","format":"int32"},"nums_watch":{"type":"integer","format":"int32"},"object_format":{"type":"string"},"parent":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/RepoView"}]},"primary_language":{"type":["string","null"]},"projects_mode":{"type":"string"},"size":{"type":"integer","format":"int64"},"space":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpaceSummary"}]},"space_id":{"type":"string","format":"uuid"},"ssh_url":{"type":"string"},"storage_limit_size":{"type":["integer","null"],"format":"int64"},"topics":{"type":"array","items":{"type":"string"}},"updated_at":{"type":"string"},"url":{"type":"string"},"website":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ReportView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","reported_uid","reason","status","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"evidence":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"reason":{"type":"string"},"reported_uid":{"type":"string","format":"uuid"},"reporter_uid":{"type":["string","null"],"format":"uuid"},"resolution_note":{"type":["string","null"]},"resolver_uid":{"type":["string","null"],"format":"uuid"},"status":{"$ref":"#/components/schemas/ReportStatus"},"updated_at":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ResendCodeResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sent","temp_key"],"properties":{"sent":{"type":"boolean"},"temp_key":{"$ref":"#/components/schemas/TempKey"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ResetPasswordResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["ok"],"properties":{"ok":{"type":"boolean"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RevokeAllResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["revoked"],"properties":{"revoked":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RoleOverwriteView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","space_id","channel_id","role_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"channel_id":{"type":"string","format":"uuid"},"deny_mask":{"type":"integer","format":"int64"},"id":{"type":"string","format":"uuid"},"role_id":{"type":"string","format":"uuid"},"space_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RolePage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RoleView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_RoleView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","space_id","name","position","color","version","created_at","created_by","permissions"],"properties":{"color":{"type":"string"},"created_at":{"type":"string"},"created_by":{"type":"string","format":"uuid"},"icon_hash":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"position":{"type":"integer","format":"int64"},"space_id":{"type":"string","format":"uuid"},"unicode_emoji":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"version":{"type":"integer","format":"int32"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SavedMessageView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","channel_id","message_id","saved_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"message_id":{"type":"string","format":"uuid"},"saved_at":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SearchResults":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["data","ok"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RepoSummary"}},"ok":{"type":"boolean"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SetPrimaryEmailResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["email"],"properties":{"email":{"$ref":"#/components/schemas/EmailView"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpaceBanPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceBanView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpaceBanView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["space_id","user_id","banned_by","created_at","updated_at","allow_agent_join","allow_speak","allow_push_repo","allow_comment_any"],"properties":{"allow_agent_join":{"type":"boolean"},"allow_comment_any":{"type":"boolean"},"allow_push_repo":{"type":"boolean"},"allow_speak":{"type":"boolean"},"banned_by":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"expires_at":{"type":["string","null"]},"reason":{"type":["string","null"]},"space_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpaceInvitePage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceInviteView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpaceInviteView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","space_id","user_id","email","role_ids","created_at"],"properties":{"accepted_at":{"type":["string","null"]},"created_at":{"type":"string"},"email":{"type":"string"},"expires_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"revoked_at":{"type":["string","null"]},"role_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"space_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpaceMemberPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceMemberView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpaceMemberView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["space_id","user_id","status","joined_at","created_at","message_notifications","muted","mobile_push","suppress_everyone","suppress_roles","hide_muted_channels"],"properties":{"alias_avatar_url":{"type":["string","null"]},"alias_name":{"type":["string","null"]},"created_at":{"type":"string"},"hide_muted_channels":{"type":"boolean"},"invited_at":{"type":["string","null"]},"invited_by":{"type":["string","null"],"format":"uuid"},"joined_at":{"type":"string"},"last_active_at":{"type":["string","null"]},"left_at":{"type":["string","null"]},"message_notifications":{"$ref":"#/components/schemas/MessageNotifications"},"mobile_push":{"type":"boolean"},"mute_until":{"type":["string","null"]},"muted":{"type":"boolean"},"space_id":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/SpaceMemberStatus"},"suppress_everyone":{"type":"boolean"},"suppress_roles":{"type":"boolean"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpacePage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SpaceView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","name","owner_id","public","is_active","allow_join","allow_invite","member_count","allow_join_level","member_must_enable_2fa","created_at","updated_at"],"properties":{"allow_invite":{"type":"boolean"},"allow_join":{"type":"boolean"},"allow_join_level":{"$ref":"#/components/schemas/SpaceAllowJoinLevel"},"avatar_url":{"type":["string","null"]},"created_at":{"type":"string"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_active":{"type":"boolean"},"member_count":{"type":"integer","format":"int64"},"member_must_enable_2fa":{"type":"boolean"},"name":{"type":"string"},"owner_id":{"type":"string","format":"uuid"},"public":{"type":"boolean"},"updated_at":{"type":"string"},"welcome_message":{"type":["string","null"]}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SshKeyView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","name","key_type","fingerprint","created_at"],"properties":{"created_at":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string","format":"uuid"},"key_type":{"$ref":"#/components/schemas/SshKeyType"},"last_used_at":{"type":["string","null"]},"name":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_StopwatchView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","issue_id","user_id","started_at","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"started_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SubscriberPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SubscriberView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Subscription":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["user_id","repo_id","mode","created_at"],"properties":{"created_at":{"type":"string"},"mode":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SuspensionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","user_id","suspension_type","starts_at","created_at"],"properties":{"created_at":{"type":"string"},"ends_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"reason":{"type":["string","null"]},"revoked_at":{"type":["string","null"]},"revoked_by":{"type":["string","null"],"format":"uuid"},"starts_at":{"type":"string"},"suspended_by":{"type":["string","null"],"format":"uuid"},"suspension_type":{"$ref":"#/components/schemas/SuspensionType"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SyncResult":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["repo_id","branches_added","tags_added","commits_added","size_bytes"],"properties":{"branches_added":{"type":"integer","format":"int64"},"commits_added":{"type":"integer","format":"int64"},"repo_id":{"type":"string","format":"uuid"},"size_bytes":{"type":"integer","format":"int64"},"tags_added":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_SyncStatus":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["repo_id","branches_total","tags_total","commits_total","size","synced_at"],"properties":{"branches_total":{"type":"integer","format":"int64"},"commits_total":{"type":"integer","format":"int64"},"last_pushed_at":{"type":["string","null"]},"primary_language":{"type":["string","null"]},"repo_id":{"type":"string","format":"uuid"},"size":{"type":"integer","format":"int64"},"synced_at":{"type":"string"},"tags_total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_TagPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TagView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_TagProtectionPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TagProtectionView"}},"total":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_TagProtectionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","repo_id","name_pattern","whitelist_usernames","whitelist_teams","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"name_pattern":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"whitelist_teams":{"type":"array","items":{"type":"string"}},"whitelist_usernames":{"type":"array","items":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_TagView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","repo_id","name","tag_type","commit_sha","commit","message","zipball_url","tarball_url","created_at"],"properties":{"commit":{"$ref":"#/components/schemas/CommitMeta"},"commit_sha":{"type":"string"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"message":{"type":"string"},"name":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"tag_type":{"type":"string"},"tarball_url":{"type":"string"},"zipball_url":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_TopicList":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["topics"],"properties":{"topics":{"type":"array","items":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_TopicSearchResult":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["topics"],"properties":{"topics":{"type":"array","items":{"$ref":"#/components/schemas/TopicView"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_TreeView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["sha","entries"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/TreeEntryView"}},"sha":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_UnreadCountResp":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["count"],"properties":{"count":{"type":"integer","format":"int64"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_UserMe":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["uid","username","display_name","avatar","is_active","is_admin","is_restricted"],"properties":{"avatar":{"type":"string"},"display_name":{"type":"string"},"is_active":{"type":"boolean"},"is_admin":{"type":"boolean"},"is_restricted":{"type":"boolean"},"language":{"type":["string","null"]},"locale":{"type":["string","null"]},"timezone":{"type":["string","null"]},"uid":{"type":"string"},"username":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_UserOverwriteView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["channel_id","user_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"channel_id":{"type":"string","format":"uuid"},"deny_mask":{"type":"integer","format":"int64"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_UserPreferences":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["user_id","theme_mode","in_app_flags","email_flags","push_flags","email_digest","allow_dms_from","allow_mentions_from","show_online_status","created_at","updated_at"],"properties":{"allow_dms_from":{"$ref":"#/components/schemas/Audience"},"allow_mentions_from":{"$ref":"#/components/schemas/Audience"},"created_at":{"type":"string"},"diff_view_style":{"type":["string","null"]},"email_digest":{"type":"boolean"},"email_flags":{"type":"integer","format":"int32"},"in_app_flags":{"type":"integer","format":"int32"},"mute_until":{"type":["string","null"]},"push_flags":{"type":"integer","format":"int32"},"show_online_status":{"type":"boolean"},"theme_mode":{"type":"string"},"theme_token":{"type":["string","null"]},"theme_version":{"type":["integer","null"],"format":"int64"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_UserPublic":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["uid","username","display_name","avatar","visibility","bot","system","created_at"],"properties":{"avatar":{"type":"string"},"bot":{"type":"boolean"},"created_at":{"type":"string"},"display_name":{"type":"string"},"language":{"type":["string","null"]},"locale":{"type":["string","null"]},"system":{"type":"boolean"},"timezone":{"type":["string","null"]},"uid":{"type":"string","format":"uuid"},"username":{"type":"string"},"visibility":{"$ref":"#/components/schemas/ProfileVisibility"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_AccessKeyView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","name","token_last_eight","scope","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"scope":{"$ref":"#/components/schemas/AccessKeyScope"},"token_last_eight":{"type":"string"},"updated_at":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_AgreementDoc":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["key","version","updated_at","title","content_md"],"properties":{"content_md":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":"string"},"version":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_BlockedSummary":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["user","since"],"properties":{"since":{"type":"string"},"user":{"$ref":"#/components/schemas/UserPublic"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_CollectionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","channel_id","name","nums_open_issue","nums_closed_issue","created_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"nums_closed_issue":{"type":"integer","format":"int64"},"nums_open_issue":{"type":"integer","format":"int64"},"updated_at":{"type":["string","null"]}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_DeletionRequestView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","user_id","status","created_at","updated_at"],"properties":{"cancelled_at":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"reason":{"type":["string","null"]},"scheduled_for":{"type":["string","null"]},"status":{"$ref":"#/components/schemas/DeletionStatus"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_DeviceView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","is_trusted","first_seen_at","last_seen_at","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"device_name":{"type":["string","null"]},"device_type":{"type":["string","null"]},"first_seen_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_trusted":{"type":"boolean"},"last_seen_at":{"type":"string"},"os":{"type":["string","null"]},"updated_at":{"type":"string"},"user_agent":{"type":["string","null"]}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_EmailView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","email","is_activated","is_primary","created_at","updated_at"],"properties":{"activated_at":{"type":["string","null"]},"created_at":{"type":"string"},"email":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_activated":{"type":"boolean"},"is_primary":{"type":"boolean"},"updated_at":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_FollowerSummary":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["user","since"],"properties":{"since":{"type":"string"},"user":{"$ref":"#/components/schemas/UserPublic"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_GitRef":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["name","sha","type_"],"properties":{"name":{"type":"string"},"sha":{"type":"string"},"type_":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_IssueTemplate":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["name","title","content","fields"],"properties":{"content":{"type":"string"},"description":{"type":["string","null"]},"fields":{"type":"array","items":{"$ref":"#/components/schemas/IssueTemplateField"}},"name":{"type":"string"},"title":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_MemeView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","name","content_type","url","size","created_at"],"properties":{"content_type":{"type":"string"},"created_at":{"type":"string"},"height":{"type":["integer","null"],"format":"int32"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"},"url":{"type":"string"},"width":{"type":["integer","null"],"format":"int32"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_NotificationView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","notification_type","title","created_at"],"properties":{"actor_uid":{"type":["string","null"],"format":"uuid"},"body":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"notification_type":{"$ref":"#/components/schemas/NotificationType"},"read_at":{"type":["string","null"]},"title":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_OAuthProviderInfo":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["name","display_name","authorize_url"],"properties":{"authorize_url":{"type":"string"},"display_name":{"type":"string"},"name":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_PullRequestCommentView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","pull_request_id","user_id","body","created_at"],"properties":{"body":{"type":"string"},"commit_sha":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"line":{"type":["integer","null"],"format":"int32"},"path":{"type":["string","null"]},"pull_request_id":{"type":"string","format":"uuid"},"review_id":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_PullRequestEventView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","pull_request_id","user_id","event_type","created_at"],"properties":{"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"created_at":{"type":"string"},"event_type":{"type":"string"},"id":{"type":"string","format":"uuid"},"pull_request_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_PullRequestReviewView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","pull_request_id","user_id","official","state","created_at"],"properties":{"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"official":{"type":"boolean"},"pull_request_id":{"type":"string","format":"uuid"},"state":{"$ref":"#/components/schemas/ReviewState"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_PushSubscriptionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","platform","endpoint","created_at"],"properties":{"created_at":{"type":"string"},"endpoint":{"type":"string"},"id":{"type":"string","format":"uuid"},"platform":{"$ref":"#/components/schemas/PushPlatform"},"user_agent":{"type":["string","null"]}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_RecentMentionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","channel_id","message_id","created_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"message_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_RecoveryCodeView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","created_at"],"properties":{"created_at":{"type":"string"},"expires_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"used_at":{"type":["string","null"]}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_ReportView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","reported_uid","reason","status","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"evidence":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"reason":{"type":"string"},"reported_uid":{"type":"string","format":"uuid"},"reporter_uid":{"type":["string","null"],"format":"uuid"},"resolution_note":{"type":["string","null"]},"resolver_uid":{"type":["string","null"],"format":"uuid"},"status":{"$ref":"#/components/schemas/ReportStatus"},"updated_at":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_RoleOverwriteView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","space_id","channel_id","role_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"channel_id":{"type":"string","format":"uuid"},"deny_mask":{"type":"integer","format":"int64"},"id":{"type":"string","format":"uuid"},"role_id":{"type":"string","format":"uuid"},"space_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_SavedMessageView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","channel_id","message_id","saved_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"message_id":{"type":"string","format":"uuid"},"saved_at":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_ScheduledMessageView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","target_channel_id","payload","scheduled_at","status","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"payload":{"type":"string"},"scheduled_at":{"type":"string"},"status":{"$ref":"#/components/schemas/ScheduledMessageStatus"},"target_channel_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_SessionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","kind","is_revoked","created_at","expires_at"],"properties":{"app_id":{"type":["string","null"]},"client_ip_hash":{"type":["string","null"]},"created_at":{"type":"string"},"expires_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_revoked":{"type":"boolean"},"kind":{"$ref":"#/components/schemas/SessionKind"},"replaced_at":{"type":["string","null"]},"user_agent_hash":{"type":["string","null"]}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_SshKeyView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","name","key_type","fingerprint","created_at"],"properties":{"created_at":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string","format":"uuid"},"key_type":{"$ref":"#/components/schemas/SshKeyType"},"last_used_at":{"type":["string","null"]},"name":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_SuspensionView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","user_id","suspension_type","starts_at","created_at"],"properties":{"created_at":{"type":"string"},"ends_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"reason":{"type":["string","null"]},"revoked_at":{"type":["string","null"]},"revoked_by":{"type":["string","null"],"format":"uuid"},"starts_at":{"type":"string"},"suspended_by":{"type":["string","null"],"format":"uuid"},"suspension_type":{"$ref":"#/components/schemas/SuspensionType"},"user_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_UserMini":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["id","login"],"properties":{"avatar_url":{"type":["string","null"]},"email":{"type":["string","null"]},"full_name":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"login":{"type":"string"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_Vec_UserOverwriteView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"type":"object","required":["channel_id","user_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"channel_id":{"type":"string","format":"uuid"},"deny_mask":{"type":"integer","format":"int64"},"user_id":{"type":"string","format":"uuid"}}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_VerifyCodeResult":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["code_row_id"],"properties":{"code_row_id":{"type":"string"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ViewPage":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ViewView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_ViewView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","project_id","creator_id","name","filter","sort_by","layout","is_shared","sort_order","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"creator_id":{"type":"string","format":"uuid"},"description":{"type":["string","null"]},"filter":{},"group_by":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_shared":{"type":"boolean"},"layout":{"type":"string"},"name":{"type":"string"},"project_id":{"type":"string","format":"uuid"},"sort_by":{"type":"string"},"sort_order":{"type":"integer","format":"int32"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"AppResponseData_WatchView":{"type":"object","required":["code","message","duration","request_id","at","log_id"],"properties":{"at":{"type":"string"},"code":{"type":"integer","format":"int32"},"data":{"type":"object","required":["id","user_id","mode","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":["string","null"],"format":"uuid"},"mode":{"type":"string"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"duration":{"type":"string"},"error":{"type":["string","null"]},"log_id":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}}},"ApplyDiffPatchFileOptions":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["content"],"properties":{"content":{"type":"string"},"sha":{"type":["string","null"]}}}]},"ArchiveFormatQuery":{"type":"object","properties":{"format":{"type":["string","null"]},"ref_name":{"type":["string","null"]}}},"ArchiveRepoOption":{"type":"object","required":["archived"],"properties":{"archived":{"type":"boolean"}}},"AssignRoleCmd":{"type":"object","required":["role_id"],"properties":{"role_id":{"type":"string","format":"uuid"}}},"AttachmentPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AttachmentView"}},"total":{"type":"integer","format":"int64"}}},"AttachmentView":{"type":"object","required":["id","owner_type","owner_id","filename","content_type","size","url","created_at"],"properties":{"content_type":{"type":"string"},"created_at":{"type":"string"},"filename":{"type":"string"},"id":{"type":"string","format":"uuid"},"owner_id":{"type":"string","format":"uuid"},"owner_type":{"type":"string"},"size":{"type":"integer","format":"int64"},"uploaded_by":{"type":["string","null"],"format":"uuid"},"url":{"type":"string"}}},"Audience":{"type":"string","enum":["everyone","following_only","nobody"]},"AuthorizationUrlResp":{"type":"object","required":["url","temp_key"],"properties":{"temp_key":{"$ref":"#/components/schemas/TempKey"},"url":{"type":"string"}}},"AuthorizeCmd":{"type":"object","required":["provider","code_verifier"],"properties":{"app_id":{"type":["string","null"]},"code_verifier":{"type":"string"},"provider":{"$ref":"#/components/schemas/OAuthProvider"}}},"AvatarFormat":{"type":"string","enum":["jpg","png","webp","gif"]},"AvatarView":{"type":"object","required":["uid","url","format","bytes","updated_at"],"properties":{"bytes":{"type":"integer","format":"int64","minimum":0},"format":{"$ref":"#/components/schemas/AvatarFormat"},"uid":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"url":{"type":"string"}}},"BlobView":{"type":"object","required":["sha","size","encoding","content"],"properties":{"content":{"type":"string"},"encoding":{"type":"string"},"sha":{"type":"string"},"size":{"type":"integer","format":"int64"}}},"BlockedSummary":{"type":"object","required":["user","since"],"properties":{"since":{"type":"string"},"user":{"$ref":"#/components/schemas/UserPublic"}}},"BranchPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BranchView"}},"total":{"type":"integer","format":"int64"}}},"BranchProtectionPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BranchProtectionView"}},"total":{"type":"integer","format":"int64"}}},"BranchProtectionView":{"type":"object","required":["id","repo_id","branch_name","rule_name","priority","enable_push","enable_push_whitelist","push_whitelist_usernames","push_whitelist_teams","push_whitelist_deploy_keys","enable_force_push","enable_force_push_allowlist","force_push_allowlist_usernames","force_push_allowlist_teams","force_push_allowlist_deploy_keys","enable_merge_whitelist","merge_whitelist_usernames","merge_whitelist_teams","enable_bypass_allowlist","bypass_allowlist_usernames","bypass_allowlist_teams","enable_approvals_whitelist","approvals_whitelist_usernames","approvals_whitelist_teams","required_approvals","block_on_rejected_reviews","block_on_change_requested_reviews","block_on_outdated_branch","dismiss_stale_approvals","ignore_stale_approvals","require_signed_commits","block_admin_merge_override","protected_file_patterns","unprotected_file_patterns","created_at","updated_at"],"properties":{"approvals_whitelist_teams":{"type":"array","items":{"type":"string"}},"approvals_whitelist_usernames":{"type":"array","items":{"type":"string"}},"block_admin_merge_override":{"type":"boolean"},"block_on_change_requested_reviews":{"type":"boolean"},"block_on_outdated_branch":{"type":"boolean"},"block_on_rejected_reviews":{"type":"boolean"},"branch_name":{"type":"string"},"branch_pattern":{"type":["string","null"]},"bypass_allowlist_teams":{"type":"array","items":{"type":"string"}},"bypass_allowlist_usernames":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string"},"dismiss_stale_approvals":{"type":"boolean"},"enable_approvals_whitelist":{"type":"boolean"},"enable_bypass_allowlist":{"type":"boolean"},"enable_force_push":{"type":"boolean"},"enable_force_push_allowlist":{"type":"boolean"},"enable_merge_whitelist":{"type":"boolean"},"enable_push":{"type":"boolean"},"enable_push_whitelist":{"type":"boolean"},"force_push_allowlist_deploy_keys":{"type":"boolean"},"force_push_allowlist_teams":{"type":"array","items":{"type":"string"}},"force_push_allowlist_usernames":{"type":"array","items":{"type":"string"}},"id":{"type":"string","format":"uuid"},"ignore_stale_approvals":{"type":"boolean"},"merge_whitelist_teams":{"type":"array","items":{"type":"string"}},"merge_whitelist_usernames":{"type":"array","items":{"type":"string"}},"priority":{"type":"integer","format":"int64"},"protected_file_patterns":{"type":"string"},"push_whitelist_deploy_keys":{"type":"boolean"},"push_whitelist_teams":{"type":"array","items":{"type":"string"}},"push_whitelist_usernames":{"type":"array","items":{"type":"string"}},"repo_id":{"type":"string","format":"uuid"},"require_signed_commits":{"type":"boolean"},"required_approvals":{"type":"integer","format":"int32"},"rule_name":{"type":"string"},"unprotected_file_patterns":{"type":"string"},"updated_at":{"type":"string"}}},"BranchView":{"type":"object","required":["id","repo_id","name","commit_sha","is_protected","protected","required_approvals","enable_status_check","status_check_contexts","user_can_push","user_can_merge","effective_branch_protection_name","is_deleted","created_at","updated_at"],"properties":{"commit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CommitMeta"}]},"commit_sha":{"type":"string"},"created_at":{"type":"string"},"deleted_at":{"type":["string","null"]},"effective_branch_protection_name":{"type":"string"},"enable_status_check":{"type":"boolean"},"id":{"type":"string","format":"uuid"},"is_deleted":{"type":"boolean"},"is_protected":{"type":"boolean"},"name":{"type":"string"},"protected":{"type":"boolean"},"repo_id":{"type":"string","format":"uuid"},"required_approvals":{"type":"integer","format":"int64"},"status_check_contexts":{"type":"array","items":{"type":"string"}},"updated_at":{"type":"string"},"user_can_merge":{"type":"boolean"},"user_can_push":{"type":"boolean"}}},"CallbackCmd":{"type":"object","required":["provider","code","state","temp_key_value"],"properties":{"app_id":{"type":["string","null"]},"code":{"type":"string"},"provider":{"$ref":"#/components/schemas/OAuthProvider"},"state":{"type":"string"},"temp_key_value":{"type":"string"}}},"ChangeFileEntry":{"type":"object","required":["operation","path"],"properties":{"content":{"type":["string","null"]},"from_path":{"type":["string","null"]},"operation":{"type":"string"},"path":{"type":"string"},"sha":{"type":["string","null"]}}},"ChangeFilesOptions":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["files"],"properties":{"files":{"type":"array","items":{"$ref":"#/components/schemas/ChangeFileEntry"}}}}]},"ChannelPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ChannelView"}},"total":{"type":"integer","format":"int64"}}},"ChannelSummary":{"type":"object","required":["id","space_id","name"],"properties":{"display_name":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"space_id":{"type":"string","format":"uuid"}}},"ChannelView":{"type":"object","required":["id","name","kind","position","is_archived","created_at","updated_at","created_by"],"properties":{"archived_at":{"type":["string","null"]},"archived_by":{"type":["string","null"],"format":"uuid"},"color":{"type":["string","null"]},"created_at":{"type":"string"},"created_by":{"type":"string","format":"uuid"},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_archived":{"type":"boolean"},"kind":{"type":"string"},"name":{"type":"string"},"parent_id":{"type":["string","null"],"format":"uuid"},"position":{"type":"integer","format":"int32"},"purpose":{"type":["string","null"]},"space_id":{"type":["string","null"],"format":"uuid"},"topic":{"type":["string","null"]},"updated_at":{"type":"string"}}},"CloseIssueOption":{"type":"object","required":["closed"],"properties":{"closed":{"type":"boolean"}}},"CollaboratorPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CollaboratorView"}},"total":{"type":"integer","format":"int64"}}},"CollaboratorView":{"type":"object","required":["id","repo_id","user_id","mode","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"mode":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"CollectionPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CollectionView"}},"total":{"type":"integer","format":"int64"}}},"CollectionView":{"type":"object","required":["id","channel_id","name","nums_open_issue","nums_closed_issue","created_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"nums_closed_issue":{"type":"integer","format":"int64"},"nums_open_issue":{"type":"integer","format":"int64"},"updated_at":{"type":["string","null"]}}},"CombinedStatusView":{"type":"object","required":["sha","state","statuses","total_count"],"properties":{"sha":{"type":"string"},"state":{"type":"string"},"statuses":{"type":"array","items":{"$ref":"#/components/schemas/CommitStatusView"}},"total_count":{"type":"integer","format":"int64"}}},"CommentPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CommentView"}},"total":{"type":"integer","format":"int64"}}},"CommentView":{"type":"object","required":["id","poster_id","content","created_at"],"properties":{"content":{"type":"string"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":["string","null"],"format":"uuid"},"parent_id":{"type":["string","null"],"format":"uuid"},"poster_id":{"type":"string","format":"uuid"},"updated_at":{"type":["string","null"]}}},"CommitDateOptions":{"type":"object","properties":{"author":{"type":["string","null"]},"committer":{"type":["string","null"]}}},"CommitDiffPayload":{"type":"object","required":["sha","format","content"],"properties":{"content":{"type":"string"},"format":{"type":"string"},"sha":{"type":"string"}}},"CommitMeta":{"type":"object","required":["sha","message"],"properties":{"author_email":{"type":["string","null"]},"author_name":{"type":["string","null"]},"authored_at":{"type":["string","null"]},"committed_at":{"type":["string","null"]},"committer_email":{"type":["string","null"]},"committer_name":{"type":["string","null"]},"message":{"type":"string"},"sha":{"type":"string"},"tree_sha":{"type":["string","null"]}}},"CommitStatusPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CommitStatusView"}},"total":{"type":"integer","format":"int64"}}},"CommitStatusView":{"type":"object","required":["id","repo_id","sha","state","context","url","creator","created_at"],"properties":{"context":{"type":"string"},"created_at":{"type":"string"},"creator":{"$ref":"#/components/schemas/CommitUserSummary"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"repo_id":{"type":"string","format":"uuid"},"sha":{"type":"string"},"state":{"type":"string"},"target_url":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"url":{"type":"string"}}},"CommitSummary":{"type":"object","required":["sha","message","parent_shas","tree_sha"],"properties":{"author":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/UserMini"}]},"authored_at":{"type":["string","null"]},"committed_at":{"type":["string","null"]},"committer":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/UserMini"}]},"message":{"type":"string"},"parent_shas":{"type":"array","items":{"type":"string"}},"sha":{"type":"string"},"tree_sha":{"type":"string"}}},"CommitUserSummary":{"type":"object","required":["id","login"],"properties":{"avatar_url":{"type":["string","null"]},"full_name":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"login":{"type":"string"}}},"CommitView":{"type":"object","required":["sha","message","parent_shas","tree_sha"],"properties":{"author_email":{"type":["string","null"]},"author_name":{"type":["string","null"]},"authored_at":{"type":["string","null"]},"committed_at":{"type":["string","null"]},"committer_email":{"type":["string","null"]},"committer_name":{"type":["string","null"]},"message":{"type":"string"},"parent_shas":{"type":"array","items":{"type":"string"}},"sha":{"type":"string"},"tree_sha":{"type":"string"}}},"CommitsResponse":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/CommitSummary"}},"total":{"type":"integer","format":"int64"}}},"CompareFileDiff":{"type":"object","required":["path","additions","deletions","status"],"properties":{"additions":{"type":"integer","format":"int64"},"deletions":{"type":"integer","format":"int64"},"path":{"type":"string"},"status":{"type":"string"}}},"CompareView":{"type":"object","required":["base","head","total_commits","ahead_by","behind_by","files"],"properties":{"ahead_by":{"type":"integer","format":"int64"},"base":{"type":"string"},"behind_by":{"type":"integer","format":"int64"},"files":{"type":"array","items":{"$ref":"#/components/schemas/CompareFileDiff"}},"head":{"type":"string"},"merge_base":{"type":["string","null"]},"total_commits":{"type":"integer","format":"int64"}}},"ConfirmEmailChangeCmd":{"type":"object","required":["ticket_id"],"properties":{"ticket_id":{"type":"string","format":"uuid"}}},"ContentHistoryPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ContentHistoryView"}},"total":{"type":"integer","format":"int64"}}},"ContentHistoryView":{"type":"object","required":["id","issue_id","poster_id","edited_at","created_at"],"properties":{"comment_id":{"type":["string","null"],"format":"uuid"},"content_after":{"type":["string","null"]},"content_before":{"type":["string","null"]},"created_at":{"type":"string"},"edited_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"poster_id":{"type":"string","format":"uuid"}}},"ContentsExtResponse":{"type":"object","required":["dir_contents"],"properties":{"dir_contents":{"type":"array","items":{"$ref":"#/components/schemas/ContentsResponse"}},"file_contents":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ContentsResponse"}]}}},"ContentsListResponse":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ContentsResponse"}}}},"ContentsQuery":{"type":"object","properties":{"ref":{"type":["string","null"]}}},"ContentsResponse":{"type":"object","required":["name","path","sha","type","size"],"properties":{"content":{"type":["string","null"]},"download_url":{"type":["string","null"]},"encoding":{"type":["string","null"]},"git_url":{"type":["string","null"]},"html_url":{"type":["string","null"]},"last_author_date":{"type":["string","null"]},"last_commit_message":{"type":["string","null"]},"last_commit_sha":{"type":["string","null"]},"last_committer_date":{"type":["string","null"]},"lfs_oid":{"type":["string","null"]},"lfs_size":{"type":["integer","null"],"format":"int64"},"links":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/FileLinksResponse"}]},"name":{"type":"string"},"path":{"type":"string"},"sha":{"type":"string"},"size":{"type":"integer","format":"int64"},"submodule_git_url":{"type":["string","null"]},"target":{"type":["string","null"]},"type":{"type":"string"},"url":{"type":["string","null"]}}},"CreateAccessKeyCmd":{"type":"object","required":["name","scope"],"properties":{"name":{"type":"string"},"scope":{"$ref":"#/components/schemas/AccessKeyScope"}}},"CreateAccessKeyResp":{"type":"object","required":["key","token"],"properties":{"key":{"$ref":"#/components/schemas/AccessKeyView"},"token":{"type":"string"}}},"CreateBanCmd":{"type":"object","required":["user_id"],"properties":{"allow_agent_join":{"type":["boolean","null"]},"allow_comment_any":{"type":["boolean","null"]},"allow_push_repo":{"type":["boolean","null"]},"allow_speak":{"type":["boolean","null"]},"expires_at":{"type":["string","null"]},"reason":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"CreateBranchOption":{"type":"object","required":["new_branch_name"],"properties":{"new_branch_name":{"type":"string"},"old_branch_name":{"type":["string","null"]},"old_ref_name":{"type":["string","null"]}}},"CreateBranchProtectionOption":{"type":"object","required":["branch_name"],"properties":{"approvals_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"approvals_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"block_admin_merge_override":{"type":["boolean","null"]},"block_on_change_requested_reviews":{"type":["boolean","null"]},"block_on_outdated_branch":{"type":["boolean","null"]},"block_on_rejected_reviews":{"type":["boolean","null"]},"branch_name":{"type":"string"},"branch_pattern":{"type":["string","null"]},"bypass_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"bypass_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"dismiss_stale_approvals":{"type":["boolean","null"]},"enable_approvals_whitelist":{"type":["boolean","null"]},"enable_bypass_allowlist":{"type":["boolean","null"]},"enable_force_push":{"type":["boolean","null"]},"enable_force_push_allowlist":{"type":["boolean","null"]},"enable_merge_whitelist":{"type":["boolean","null"]},"enable_push":{"type":["boolean","null"]},"enable_push_whitelist":{"type":["boolean","null"]},"force_push_allowlist_deploy_keys":{"type":["boolean","null"]},"force_push_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"force_push_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"ignore_stale_approvals":{"type":["boolean","null"]},"merge_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"merge_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"priority":{"type":["integer","null"],"format":"int64"},"protected_file_patterns":{"type":["string","null"]},"push_whitelist_deploy_keys":{"type":["boolean","null"]},"push_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"push_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"require_signed_commits":{"type":["boolean","null"]},"required_approvals":{"type":["integer","null"],"format":"int32"},"rule_name":{"type":["string","null"]},"unprotected_file_patterns":{"type":["string","null"]}}},"CreateCollectionOption":{"type":"object","required":["space_id","name"],"properties":{"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"name":{"type":"string"},"parent_dir":{"type":["string","null"],"format":"uuid"},"space_id":{"type":"string","format":"uuid"}}},"CreateCommentOption":{"type":"object","required":["content"],"properties":{"content":{"type":"string"},"parent_id":{"type":["string","null"],"format":"uuid"}}},"CreateDependencyOption":{"type":"object","required":["dependency_id"],"properties":{"dependency_id":{"type":"string","format":"uuid"}}},"CreateDeployKeyOption":{"type":"object","required":["title","key"],"properties":{"key":{"type":"string"},"read_only":{"type":["boolean","null"]},"title":{"type":"string"}}},"CreateDocumentCmd":{"type":"object","required":["title","slug"],"properties":{"content":{"type":"string"},"icon":{"type":["string","null"]},"parent_id":{"type":["string","null"],"format":"uuid"},"slug":{"type":"string"},"title":{"type":"string"}}},"CreateFileOption":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["content"],"properties":{"content":{"type":"string"}}}]},"CreateInviteCmd":{"type":"object","required":["role_ids"],"properties":{"email":{"type":["string","null"]},"expires_at":{"type":["string","null"]},"role_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"user_id":{"type":["string","null"],"format":"uuid"}}},"CreateIssueOption":{"type":"object","required":["title","body"],"properties":{"body":{"type":"string"},"description":{"type":["string","null"]},"milestone_id":{"type":["string","null"],"format":"uuid"},"title":{"type":"string"}}},"CreateLabelOption":{"type":"object","required":["name","color"],"properties":{"color":{"type":"string"},"description":{"type":["string","null"]},"exclusive":{"type":["boolean","null"]},"exclusive_order":{"type":["integer","null"],"format":"int32"},"name":{"type":"string"}}},"CreateMemberOption":{"type":"object","required":["user_id","kind"],"properties":{"kind":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"CreateMilestoneOption":{"type":"object","required":["name"],"properties":{"description":{"type":["string","null"]},"due_at":{"type":["string","null"]},"name":{"type":"string"}}},"CreatePinOption":{"type":"object","required":["issue_id","pin_order"],"properties":{"issue_id":{"type":"string","format":"uuid"},"pin_order":{"type":"integer","format":"int32"}}},"CreateProjectCmd":{"type":"object","required":["space_id","name"],"properties":{"color":{"type":["string","null"]},"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"lead_id":{"type":["string","null"],"format":"uuid"},"name":{"type":"string"},"parent_dir":{"type":["string","null"],"format":"uuid"},"space_id":{"type":"string","format":"uuid"},"target_date":{"type":["string","null"],"format":"date"}}},"CreatePullRequestCommentOption":{"type":"object","required":["body"],"properties":{"body":{"type":"string"},"commit_sha":{"type":["string","null"]},"line":{"type":["integer","null"],"format":"int32"},"path":{"type":["string","null"]}}},"CreatePullRequestOption":{"type":"object","required":["title","head","base"],"properties":{"base":{"type":"string"},"body":{"type":["string","null"]},"head":{"type":"string"},"title":{"type":"string"}}},"CreateReactionOption":{"type":"object","required":["emoji"],"properties":{"emoji":{"type":"string"}}},"CreateReleaseOption":{"type":"object","required":["tag_name","title"],"properties":{"content":{"type":["string","null"]},"is_draft":{"type":["boolean","null"]},"is_prerelease":{"type":["boolean","null"]},"tag_message":{"type":["string","null"]},"tag_name":{"type":"string"},"target":{"type":["string","null"]},"title":{"type":"string"}}},"CreateRepoOption":{"type":"object","required":["space_id","name"],"properties":{"auto_init":{"type":["boolean","null"]},"default_branch":{"type":["string","null"]},"description":{"type":["string","null"]},"enable_lfs":{"type":["boolean","null"]},"gitignores":{"type":["string","null"]},"is_private":{"type":["boolean","null"]},"issue_labels":{"type":["string","null"]},"license_name":{"type":["string","null"]},"name":{"type":"string"},"object_format":{"type":["string","null"]},"parent_dir":{"type":["string","null"],"format":"uuid"},"readme":{"type":["string","null"]},"space_id":{"type":"string","format":"uuid"},"template":{"type":["boolean","null"]},"website":{"type":["string","null"]}}},"CreateRepoRelOption":{"type":"object","required":["repo_id"],"properties":{"repo_id":{"type":"string","format":"uuid"}}},"CreateRoleCmd":{"type":"object","required":["name","permissions"],"properties":{"color":{"type":["string","null"]},"icon_hash":{"type":["string","null"]},"name":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"position":{"type":["integer","null"],"format":"int64"},"unicode_emoji":{"type":["string","null"]}}},"CreateSpaceCmd":{"type":"object","required":["name"],"properties":{"allow_invite":{"type":"boolean"},"allow_join":{"type":"boolean"},"allow_join_level":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpaceAllowJoinLevel"}]},"avatar_url":{"type":["string","null"]},"description":{"type":["string","null"]},"member_must_enable_2fa":{"type":"boolean"},"name":{"type":"string"},"public":{"type":"boolean"},"welcome_message":{"type":["string","null"]}}},"CreateStatusOption":{"type":"object","required":["state","context"],"properties":{"context":{"type":"string"},"description":{"type":["string","null"]},"state":{"type":"string"},"target_url":{"type":["string","null"]}}},"CreateTagOption":{"type":"object","required":["tag_name"],"properties":{"message":{"type":["string","null"]},"tag_name":{"type":"string"},"target":{"type":["string","null"]}}},"CreateTagProtectionOption":{"type":"object","required":["name_pattern"],"properties":{"name_pattern":{"type":"string"},"whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"whitelist_usernames":{"type":["array","null"],"items":{"type":"string","format":"uuid"}}}},"CreateViewCmd":{"type":"object","required":["name"],"properties":{"description":{"type":["string","null"]},"filter":{},"group_by":{"type":["string","null"]},"is_shared":{"type":"boolean"},"layout":{"type":"string"},"name":{"type":"string"},"sort_by":{"type":"string"}}},"DeleteFileOption":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["sha"],"properties":{"sha":{"type":"string"}}}]},"DeletionRequestView":{"type":"object","required":["id","user_id","status","created_at","updated_at"],"properties":{"cancelled_at":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"reason":{"type":["string","null"]},"scheduled_for":{"type":["string","null"]},"status":{"$ref":"#/components/schemas/DeletionStatus"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"DeletionStatus":{"type":"string","enum":["pending","scheduled","completed","cancelled"]},"DependencyView":{"type":"object","required":["id","issue_id","dependency_id","created_at"],"properties":{"created_at":{"type":"string"},"dependency_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"}}},"DeployKeyPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DeployKeyView"}},"total":{"type":"integer","format":"int64"}}},"DeployKeyView":{"type":"object","required":["id","key_id","repo_id","title","key_type","fingerprint","content","url","read_only","created_at"],"properties":{"content":{"type":"string"},"created_at":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string","format":"uuid"},"key_id":{"type":"integer","format":"int64"},"key_type":{"type":"string"},"last_used_at":{"type":["string","null"]},"read_only":{"type":"boolean"},"repo_id":{"type":"string","format":"uuid"},"title":{"type":"string"},"url":{"type":"string"}}},"DeviceView":{"type":"object","required":["id","is_trusted","first_seen_at","last_seen_at","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"device_name":{"type":["string","null"]},"device_type":{"type":["string","null"]},"first_seen_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_trusted":{"type":"boolean"},"last_seen_at":{"type":"string"},"os":{"type":["string","null"]},"updated_at":{"type":"string"},"user_agent":{"type":["string","null"]}}},"DocumentPage":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/DocumentView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"DocumentView":{"type":"object","required":["id","project_id","creator_id","title","slug","content","created_at"],"properties":{"content":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"creator_id":{"type":"string","format":"uuid"},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"last_editor_id":{"type":["string","null"],"format":"uuid"},"parent_id":{"type":["string","null"],"format":"uuid"},"project_id":{"type":"string","format":"uuid"},"slug":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"EditBranchProtectionOption":{"type":"object","properties":{"approvals_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"approvals_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"block_admin_merge_override":{"type":["boolean","null"]},"block_on_change_requested_reviews":{"type":["boolean","null"]},"block_on_outdated_branch":{"type":["boolean","null"]},"block_on_rejected_reviews":{"type":["boolean","null"]},"branch_pattern":{"type":["string","null"]},"bypass_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"bypass_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"dismiss_stale_approvals":{"type":["boolean","null"]},"enable_approvals_whitelist":{"type":["boolean","null"]},"enable_bypass_allowlist":{"type":["boolean","null"]},"enable_force_push":{"type":["boolean","null"]},"enable_force_push_allowlist":{"type":["boolean","null"]},"enable_merge_whitelist":{"type":["boolean","null"]},"enable_push":{"type":["boolean","null"]},"enable_push_whitelist":{"type":["boolean","null"]},"force_push_allowlist_deploy_keys":{"type":["boolean","null"]},"force_push_allowlist_teams":{"type":["array","null"],"items":{"type":"string"}},"force_push_allowlist_usernames":{"type":["array","null"],"items":{"type":"string"}},"ignore_stale_approvals":{"type":["boolean","null"]},"merge_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"merge_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"priority":{"type":["integer","null"],"format":"int64"},"protected_file_patterns":{"type":["string","null"]},"push_whitelist_deploy_keys":{"type":["boolean","null"]},"push_whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"push_whitelist_usernames":{"type":["array","null"],"items":{"type":"string"}},"require_signed_commits":{"type":["boolean","null"]},"required_approvals":{"type":["integer","null"],"format":"int32"},"unprotected_file_patterns":{"type":["string","null"]}}},"EditReleaseOption":{"type":"object","properties":{"content":{"type":["string","null"]},"is_draft":{"type":["boolean","null"]},"is_prerelease":{"type":["boolean","null"]},"tag_name":{"type":["string","null"]},"target":{"type":["string","null"]},"title":{"type":["string","null"]}}},"EditTagProtectionOption":{"type":"object","properties":{"name_pattern":{"type":["string","null"]},"whitelist_teams":{"type":["array","null"],"items":{"type":"string"}},"whitelist_usernames":{"type":["array","null"],"items":{"type":"string","format":"uuid"}}}},"EmailChangeTicketStatus":{"type":"string","enum":["pending","verified","completed","cancelled"]},"EmailChangeTicketView":{"type":"object","required":["id","new_email","status","expires_at","created_at"],"properties":{"created_at":{"type":"string"},"expires_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"new_email":{"type":"string"},"status":{"$ref":"#/components/schemas/EmailChangeTicketStatus"},"used_at":{"type":["string","null"]}}},"EmailView":{"type":"object","required":["id","email","is_activated","is_primary","created_at","updated_at"],"properties":{"activated_at":{"type":["string","null"]},"created_at":{"type":"string"},"email":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_activated":{"type":"boolean"},"is_primary":{"type":"boolean"},"updated_at":{"type":"string"}}},"ErrorBody":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}},"EventPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/EventView"}},"total":{"type":"integer","format":"int64"}}},"EventView":{"type":"object","required":["id","user_id","event_type","created_at"],"properties":{"comment_id":{"type":["string","null"],"format":"uuid"},"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"created_at":{"type":"string"},"event_type":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":["string","null"],"format":"uuid"},"new_ref":{"type":["string","null"]},"new_title":{"type":["string","null"]},"old_ref":{"type":["string","null"]},"old_title":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"ExternalTracker":{"type":"object","required":["external_tracker_url","external_tracker_format","external_tracker_style"],"properties":{"external_tracker_format":{"type":"string"},"external_tracker_style":{"type":"string"},"external_tracker_url":{"type":"string"}}},"ExternalWiki":{"type":"object","required":["external_wiki_url"],"properties":{"external_wiki_url":{"type":"string"}}},"FavoritePage":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/FavoriteView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"FavoriteView":{"type":"object","required":["id","project_id","user_id","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"folder":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"FileDeleteResponse":{"type":"object","properties":{"commit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CommitSummary"}]},"content":{}}},"FileLinksResponse":{"type":"object","properties":{"git":{"type":["string","null"]},"html":{"type":["string","null"]},"self":{"type":["string","null"]}}},"FileOptions":{"type":"object","properties":{"author":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GitIdentity"}]},"branch":{"type":["string","null"]},"committer":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/GitIdentity"}]},"dates":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CommitDateOptions"}]},"force_push":{"type":["boolean","null"]},"message":{"type":["string","null"]},"new_branch":{"type":["string","null"]},"signoff":{"type":["boolean","null"]}}},"FilesResponse":{"type":"object","required":["files"],"properties":{"commit":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CommitSummary"}]},"files":{"type":"array","items":{"$ref":"#/components/schemas/ContentsResponse"}}}},"FollowerSummary":{"type":"object","required":["user","since"],"properties":{"since":{"type":"string"},"user":{"$ref":"#/components/schemas/UserPublic"}}},"ForgotPasswordCmd":{"type":"object","required":["email","pow"],"properties":{"email":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"}}},"ForgotPasswordResp":{"type":"object","required":["sent","temp_key"],"properties":{"sent":{"type":"boolean"},"temp_key":{"$ref":"#/components/schemas/TempKey"}}},"ForkRepoOption":{"type":"object","required":["to_channel_id"],"properties":{"description":{"type":["string","null"]},"name":{"type":["string","null"]},"to_channel_id":{"type":"string","format":"uuid"}}},"ForkView":{"type":"object","required":["id","name","full_name","owner","private","fork","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"fork":{"type":"boolean"},"full_name":{"type":"string"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"owner":{"$ref":"#/components/schemas/UserMini"},"private":{"type":"boolean"},"updated_at":{"type":"string"}}},"ForksResponse":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ForkView"}},"total":{"type":"integer","format":"int64"}}},"GenerateRepoOption":{"type":"object","required":["to_channel_id","name"],"properties":{"description":{"type":["string","null"]},"is_private":{"type":["boolean","null"]},"name":{"type":"string"},"to_channel_id":{"type":"string","format":"uuid"}}},"GitIdentity":{"type":"object","required":["name","email"],"properties":{"date":{"type":["string","null"]},"email":{"type":"string"},"name":{"type":"string"}}},"GitRef":{"type":"object","required":["name","sha","type_"],"properties":{"name":{"type":"string"},"sha":{"type":"string"},"type_":{"type":"string"}}},"HealthStatus":{"type":"object","required":["status","service"],"properties":{"service":{"type":"string"},"status":{"type":"string"}}},"InternalTracker":{"type":"object","required":["enable_time_tracker","allow_only_contributors_to_track_time","enable_issue_dependencies"],"properties":{"allow_only_contributors_to_track_time":{"type":"boolean"},"enable_issue_dependencies":{"type":"boolean"},"enable_time_tracker":{"type":"boolean"}}},"IssueConfig":{"type":"object","required":["blank_issues_enabled"],"properties":{"blank_issues_enabled":{"type":"boolean"},"contact_links":{}}},"IssueConfigValidation":{"type":"object","required":["valid"],"properties":{"message":{"type":["string","null"]},"valid":{"type":"boolean"}}},"IssuePage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/IssueView"}},"total":{"type":"integer","format":"int64"}}},"IssueState":{"type":"string","enum":["open","closed"]},"IssueTemplate":{"type":"object","required":["name","title","content","fields"],"properties":{"content":{"type":"string"},"description":{"type":["string","null"]},"fields":{"type":"array","items":{"$ref":"#/components/schemas/IssueTemplateField"}},"name":{"type":"string"},"title":{"type":"string"}}},"IssueTemplateField":{"type":"object","required":["type_","id","name"],"properties":{"description":{"type":["string","null"]},"id":{"type":"string"},"name":{"type":"string"},"required":{"type":["boolean","null"]},"type_":{"type":"string"},"validations":{}}},"IssueUserView":{"type":"object","required":["id","user_id","issue_id","is_read","is_mentioned","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_mentioned":{"type":"boolean"},"is_read":{"type":"boolean"},"issue_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"IssueView":{"type":"object","required":["id","collection_id","autoincrement_id","author_id","title","body","state","created_at"],"properties":{"author_id":{"type":"string","format":"uuid"},"autoincrement_id":{"type":"integer","format":"int32"},"body":{"type":"string"},"closed_at":{"type":["string","null"]},"collection_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"milestone_id":{"type":["string","null"],"format":"uuid"},"state":{"$ref":"#/components/schemas/IssueState"},"title":{"type":"string"},"updated_at":{"type":["string","null"]}}},"LabelPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/LabelView"}},"total":{"type":"integer","format":"int64"}}},"LabelView":{"type":"object","required":["id","channel_id","name","exclusive","exclusive_order","color","is_archived","created_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"color":{"type":"string"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"exclusive":{"type":"boolean"},"exclusive_order":{"type":"integer","format":"int32"},"id":{"type":"string","format":"uuid"},"is_archived":{"type":"boolean"},"name":{"type":"string"},"updated_at":{"type":["string","null"]}}},"LanguagesResponse":{"type":"object","required":["languages"],"properties":{"languages":{"type":"object","additionalProperties":{"type":"integer","format":"int64"},"propertyNames":{"type":"string"}}}},"LicensesResponse":{"type":"object","required":["licenses"],"properties":{"licenses":{"type":"array","items":{"type":"string"}}}},"LinkKind":{"type":"string","enum":["related","duplicate","blocks","blocked_by"]},"LinkPage":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/LinkView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"LinkView":{"type":"object","required":["id","project_id","related_project_id","kind","created_by","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"kind":{"$ref":"#/components/schemas/LinkKind"},"project_id":{"type":"string","format":"uuid"},"related_project_id":{"type":"string","format":"uuid"}}},"ListActivityQuery":{"type":"object","properties":{"page":{"type":"integer","format":"int64","minimum":0},"per_page":{"type":"integer","format":"int64","minimum":0},"verb":{"type":["string","null"]}}},"ListAttachmentQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListBlocksQuery":{"type":"object","properties":{"cursor":{"type":["string","null"],"format":"uuid"},"limit":{"type":"integer","minimum":0}}},"ListBranchProtectionQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListBranchQuery":{"type":"object","properties":{"keyword":{"type":["string","null"]},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListCollaboratorQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListCollectionQuery":{"type":"object","properties":{"channel_id":{"type":["string","null"],"format":"uuid"},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0},"q":{"type":["string","null"]}}},"ListCommentQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0},"parent_id":{"type":["string","null"],"format":"uuid"}}},"ListContentHistoryQuery":{"type":"object","properties":{"comment_id":{"type":["string","null"],"format":"uuid"},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListDeployKeyQuery":{"type":"object","properties":{"fingerprint":{"type":["string","null"]},"key_id":{"type":["string","null"],"format":"uuid"},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListEventQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListFollowersQuery":{"type":"object","required":["target_uid"],"properties":{"cursor":{"type":["string","null"],"format":"uuid"},"limit":{"type":"integer","minimum":0},"target_uid":{"type":"string","format":"uuid"}}},"ListFollowingQuery":{"type":"object","required":["user_uid"],"properties":{"cursor":{"type":["string","null"],"format":"uuid"},"limit":{"type":"integer","minimum":0},"user_uid":{"type":"string","format":"uuid"}}},"ListIssueQuery":{"type":"object","properties":{"author_id":{"type":["string","null"],"format":"uuid"},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"milestone_id":{"type":["string","null"],"format":"uuid"},"offset":{"type":["integer","null"],"format":"int64","minimum":0},"q":{"type":["string","null"]},"state":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/IssueState"}]}}},"ListLabelQuery":{"type":"object","properties":{"is_archived":{"type":["boolean","null"]},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0},"q":{"type":["string","null"]}}},"ListMemberQuery":{"type":"object","properties":{"kind":{"type":["string","null"]},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListMilestoneQuery":{"type":"object","properties":{"is_closed":{"type":["boolean","null"]},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0},"q":{"type":["string","null"]}}},"ListNotificationsQuery":{"type":"object","properties":{"cursor":{"type":["string","null"],"format":"uuid"},"limit":{"type":"integer","minimum":0},"notification_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/NotificationType"}]},"unread_only":{"type":["boolean","null"]}}},"ListProjectQuery":{"type":"object","required":["space_id"],"properties":{"lead_id":{"type":["string","null"],"format":"uuid"},"page":{"type":"integer","format":"int64","minimum":0},"per_page":{"type":"integer","format":"int64","minimum":0},"q":{"type":["string","null"]},"space_id":{"type":"string","format":"uuid"},"starred_only":{"type":["boolean","null"]},"state":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectState"}]}}},"ListPullRequestQuery":{"type":"object","properties":{"keyword":{"type":["string","null"]},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0},"state":{"type":["string","null"]}}},"ListReactionQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListReleaseQuery":{"type":"object","properties":{"draft":{"type":["boolean","null"]},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0},"prerelease":{"type":["boolean","null"]}}},"ListRepoQuery":{"type":"object","properties":{"channel_id":{"type":["string","null"],"format":"uuid"},"is_archived":{"type":["boolean","null"]},"is_private":{"type":["boolean","null"]},"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0},"owner_user_id":{"type":["string","null"],"format":"uuid"},"q":{"type":["string","null"]}}},"ListSessionsQuery":{"type":"object","properties":{"app_id":{"type":["string","null"]},"include_revoked":{"type":"boolean"}}},"ListStatusQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0},"sort":{"type":["string","null"]},"state":{"type":["string","null"]}}},"ListSubscriberQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListTagProtectionQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListTagQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0}}},"ListTrackedTimeQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"offset":{"type":["integer","null"],"format":"int64","minimum":0},"user_id":{"type":["string","null"],"format":"uuid"}}},"LoginCmd":{"type":"object","required":["identifier","password","pow"],"properties":{"app_id":{"type":["string","null"]},"identifier":{"type":"string"},"password":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"}}},"LoginResp":{"type":"object","required":["access_token","refresh_token","token_type","expires_in","user"],"properties":{"access_token":{"type":"string"},"expires_in":{"type":"integer","format":"int64"},"refresh_token":{"type":"string"},"token_type":{"type":"string"},"user":{"$ref":"#/components/schemas/UserPublic"}}},"LogoutCmd":{"type":"object","required":["refresh_token"],"properties":{"refresh_token":{"type":"string"}}},"LogoutResp":{"type":"object","required":["revoked"],"properties":{"revoked":{"type":"boolean"}}},"MarkAllReadResp":{"type":"object","required":["marked"],"properties":{"marked":{"type":"integer","format":"int64","minimum":0}}},"MarkReadCmd":{"type":"object","required":["notification_ids"],"properties":{"notification_ids":{"type":"array","items":{"type":"string","format":"uuid"}}}},"MarkReadResp":{"type":"object","required":["marked"],"properties":{"marked":{"type":"integer","format":"int64","minimum":0}}},"MemberPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MemberView"}},"total":{"type":"integer","format":"int64"}}},"MemberRole":{"type":"string","enum":["owner","lead","contributor","viewer"]},"MemberView":{"type":"object","required":["id","issue_id","user_id","kind","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"kind":{"type":"string"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"MemeView":{"type":"object","required":["id","name","content_type","url","size","created_at"],"properties":{"content_type":{"type":"string"},"created_at":{"type":"string"},"height":{"type":["integer","null"],"format":"int32"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"},"url":{"type":"string"},"width":{"type":["integer","null"],"format":"int32"}}},"MergePullRequestOption":{"type":"object","required":["style"],"properties":{"commit_message":{"type":["string","null"]},"commit_title":{"type":["string","null"]},"delete_branch_after_merge":{"type":"boolean"},"style":{"$ref":"#/components/schemas/MergeStyle"}}},"MergeStyle":{"type":"string","enum":["fast_forward","rebase","rebase_merge","squash","merge","manually_merged"]},"MergeUpstreamRequest":{"type":"object","required":["branch"],"properties":{"branch":{"type":"string"},"ff_only":{"type":["boolean","null"]}}},"MergeUpstreamResponse":{"type":"object","required":["merge_type"],"properties":{"merge_type":{"type":"string"}}},"MergeView":{"type":"object","required":["sha","merged"],"properties":{"merged":{"type":"boolean"},"message":{"type":["string","null"]},"sha":{"type":"string"}}},"MessageNotifications":{"type":"string","enum":["all","mentions","nothing"]},"MilestonePage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/MilestoneView"}},"total":{"type":"integer","format":"int64"}}},"MilestoneView":{"type":"object","required":["id","collection_id","name","is_closed","num_issues","num_closed_issues","created_at"],"properties":{"collection_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"description":{"type":["string","null"]},"due_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_closed":{"type":"boolean"},"name":{"type":"string"},"num_closed_issues":{"type":"integer","format":"int32"},"num_issues":{"type":"integer","format":"int32"},"updated_at":{"type":["string","null"]}}},"NewPinAllowedResponse":{"type":"object","required":["allowed"],"properties":{"allowed":{"type":"boolean"}}},"NoteView":{"type":"object","required":["sha","message"],"properties":{"message":{"type":"string"},"sha":{"type":"string"}}},"NotificationType":{"type":"string","enum":["mention","reply","follow","invite","assignment","system"]},"NotificationView":{"type":"object","required":["id","notification_type","title","created_at"],"properties":{"actor_uid":{"type":["string","null"],"format":"uuid"},"body":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"notification_type":{"$ref":"#/components/schemas/NotificationType"},"read_at":{"type":["string","null"]},"title":{"type":"string"}}},"OAuthLoginResp":{"type":"object","required":["access_token","refresh_token","token_type","expires_in","user_id","auto_registered"],"properties":{"access_token":{"type":"string"},"auto_registered":{"type":"boolean"},"expires_in":{"type":"integer","format":"int64"},"refresh_token":{"type":"string"},"token_type":{"type":"string"},"user_id":{"type":"string"}}},"OAuthProvider":{"type":"string","enum":["google","github","apple"]},"OAuthProviderInfo":{"type":"object","required":["name","display_name","authorize_url"],"properties":{"authorize_url":{"type":"string"},"display_name":{"type":"string"},"name":{"type":"string"}}},"Permission":{"type":"object","required":["admin","push","pull"],"properties":{"admin":{"type":"boolean"},"pull":{"type":"boolean"},"push":{"type":"boolean"}}},"PinView":{"type":"object","required":["id","collection_id","pin_order","created_at"],"properties":{"collection_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":["string","null"],"format":"uuid"},"pin_order":{"type":"integer","format":"int32"}}},"PowChallengeResp":{"type":"object","required":["challenge","ttl_seconds"],"properties":{"challenge":{"type":"string"},"ttl_seconds":{"type":"integer","format":"int64","minimum":0}}},"PowProof":{"type":"object","required":["challenge","solution"],"properties":{"challenge":{"type":"string"},"solution":{"type":"string"}}},"PrState":{"type":"string","enum":["open","closed","merged"]},"ProfileView":{"type":"object","required":["user_id","show_email","show_location","show_real_name","show_activity","updated_at"],"properties":{"accent_color":{"type":["string","null"]},"banner_color":{"type":["integer","null"],"format":"int32"},"banner_url":{"type":["string","null"]},"bio":{"type":["string","null"]},"company":{"type":["string","null"]},"date_of_birth":{"type":["string","null"],"format":"date"},"location":{"type":["string","null"]},"pronouns":{"type":["string","null"]},"pronouns_privacy":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProfileVisibility"}]},"real_name":{"type":["string","null"]},"show_activity":{"type":"boolean"},"show_email":{"type":"boolean"},"show_location":{"type":"boolean"},"show_real_name":{"type":"boolean"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"},"website":{"type":["string","null"]}}},"ProfileVisibility":{"type":"string","enum":["public","registered_only","members_only","private"]},"ProjectHealth":{"type":"string","enum":["on_track","at_risk","off_track","none"]},"ProjectPage":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"ProjectState":{"type":"string","enum":["backlog","planned","in_progress","paused","completed","cancelled"]},"ProjectView":{"type":"object","required":["id","space_id","creator_id","name","state","health","sort_order","starred","created_at"],"properties":{"cancelled_at":{"type":["string","null"],"format":"date-time"},"color":{"type":["string","null"]},"completed_at":{"type":["string","null"],"format":"date-time"},"created_at":{"type":"string","format":"date-time"},"creator_id":{"type":"string","format":"uuid"},"description":{"type":["string","null"]},"health":{"$ref":"#/components/schemas/ProjectHealth"},"icon":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"lead_id":{"type":["string","null"],"format":"uuid"},"name":{"type":"string"},"sort_order":{"type":"integer","format":"int32"},"space_id":{"type":"string","format":"uuid"},"starred":{"type":"integer","format":"int32"},"started_at":{"type":["string","null"],"format":"date-time"},"state":{"$ref":"#/components/schemas/ProjectState"},"target_date":{"type":["string","null"],"format":"date"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"PublisherSummary":{"type":"object","required":["id","name","login"],"properties":{"avatar_url":{"type":["string","null"]},"email":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"login":{"type":"string"},"name":{"type":"string"}}},"PullRequestCommentView":{"type":"object","required":["id","pull_request_id","user_id","body","created_at"],"properties":{"body":{"type":"string"},"commit_sha":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"line":{"type":["integer","null"],"format":"int32"},"path":{"type":["string","null"]},"pull_request_id":{"type":"string","format":"uuid"},"review_id":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"PullRequestEventView":{"type":"object","required":["id","pull_request_id","user_id","event_type","created_at"],"properties":{"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"created_at":{"type":"string"},"event_type":{"type":"string"},"id":{"type":"string","format":"uuid"},"pull_request_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"PullRequestPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PullRequestView"}},"total":{"type":"integer","format":"int64"}}},"PullRequestReviewView":{"type":"object","required":["id","pull_request_id","user_id","official","state","created_at"],"properties":{"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"official":{"type":"boolean"},"pull_request_id":{"type":"string","format":"uuid"},"state":{"$ref":"#/components/schemas/ReviewState"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"PullRequestView":{"type":"object","required":["id","repo_id","number","title","head_branch","base_branch","author_id","state","is_locked","has_merged","created_at","comments_count","reviews_count"],"properties":{"author_id":{"type":"string","format":"uuid"},"base_branch":{"type":"string"},"base_sha":{"type":["string","null"]},"body":{"type":["string","null"]},"closed_at":{"type":["string","null"]},"comments_count":{"type":"integer","format":"int64"},"created_at":{"type":"string"},"has_merged":{"type":"boolean"},"head_branch":{"type":"string"},"head_sha":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_locked":{"type":"boolean"},"mergeable":{"type":["boolean","null"]},"mergeable_state":{"type":["string","null"]},"merged_at":{"type":["string","null"]},"merged_commit_sha":{"type":["string","null"]},"merger_id":{"type":["string","null"]},"number":{"type":"integer","format":"int64"},"repo_id":{"type":"string","format":"uuid"},"reviews_count":{"type":"integer","format":"int64"},"state":{"$ref":"#/components/schemas/PrState"},"title":{"type":"string"},"updated_at":{"type":["string","null"]}}},"PushPlatform":{"type":"string","enum":["web_push","android_fcm","ios_apns"]},"PushSubscriptionView":{"type":"object","required":["id","platform","endpoint","created_at"],"properties":{"created_at":{"type":"string"},"endpoint":{"type":"string"},"id":{"type":"string","format":"uuid"},"platform":{"$ref":"#/components/schemas/PushPlatform"},"user_agent":{"type":["string","null"]}}},"ReactionAggView":{"type":"object","required":["emoji","count","user_ids"],"properties":{"count":{"type":"integer","format":"int64"},"emoji":{"type":"string"},"user_ids":{"type":"array","items":{"type":"string","format":"uuid"}}}},"ReactionScope":{"type":"string","enum":["issue","comment"]},"ReactionView":{"type":"object","required":["id","scope","target_id","user_id","emoji","created_at"],"properties":{"created_at":{"type":"string"},"emoji":{"type":"string"},"id":{"type":"string","format":"uuid"},"scope":{"$ref":"#/components/schemas/ReactionScope"},"target_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"RecentMentionView":{"type":"object","required":["id","channel_id","message_id","created_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"message_id":{"type":"string","format":"uuid"}}},"ReclaimCmd":{"type":"object","required":["email","pow"],"properties":{"email":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"}}},"ReclaimResp":{"type":"object","required":["sent","temp_key"],"properties":{"sent":{"type":"boolean"},"temp_key":{"$ref":"#/components/schemas/TempKey"}}},"RecoveryCodeView":{"type":"object","required":["id","created_at"],"properties":{"created_at":{"type":"string"},"expires_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"used_at":{"type":["string","null"]}}},"RefreshCmd":{"type":"object","required":["refresh_token"],"properties":{"app_id":{"type":["string","null"]},"refresh_token":{"type":"string"}}},"RefreshResp":{"type":"object","required":["access_token","refresh_token","token_type","expires_in"],"properties":{"access_token":{"type":"string"},"expires_in":{"type":"integer","format":"int64"},"refresh_token":{"type":"string"},"token_type":{"type":"string"}}},"RegenerateRecoveryResp":{"type":"object","required":["codes"],"properties":{"codes":{"type":"array","items":{"type":"string"}}}},"RegisterCmd":{"type":"object","required":["email","password","pow"],"properties":{"accept_agreements":{"type":"array","items":{"type":"string"}},"email":{"type":"string"},"password":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"},"username":{"type":["string","null"]}}},"RegisterResp":{"type":"object","required":["uid","pending","temp_key","purpose"],"properties":{"pending":{"type":"boolean"},"purpose":{"type":"string"},"temp_key":{"$ref":"#/components/schemas/TempKey"},"uid":{"type":"string"}}},"ReleaseAttachment":{"type":"object","required":["id","name","size","download_url","created_at"],"properties":{"created_at":{"type":"string"},"download_url":{"type":"string"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"}}},"ReleaseAttachmentListResponse":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseAttachmentView"}}}},"ReleaseAttachmentView":{"type":"object","required":["id","name","size","download_url","created_at"],"properties":{"created_at":{"type":"string"},"download_url":{"type":"string"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"}}},"ReleasePage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseView"}},"total":{"type":"integer","format":"int64"}}},"ReleaseView":{"type":"object","required":["id","repo_id","tag_name","target","title","sha","num_commits","is_draft","is_prerelease","is_tag","url","html_url","tarball_url","zipball_url","upload_url","publisher","attachments","created_at","updated_at"],"properties":{"attachments":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseAttachment"}},"content":{"type":["string","null"]},"created_at":{"type":"string"},"html_url":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_draft":{"type":"boolean"},"is_prerelease":{"type":"boolean"},"is_tag":{"type":"boolean"},"num_commits":{"type":"integer","format":"int32"},"publisher":{"$ref":"#/components/schemas/UserSummary"},"repo_id":{"type":"string","format":"uuid"},"sha":{"type":"string"},"tag_name":{"type":"string"},"tarball_url":{"type":"string"},"target":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":"string"},"upload_url":{"type":"string"},"url":{"type":"string"},"zipball_url":{"type":"string"}}},"RenameBranchOption":{"type":"object","required":["new_name"],"properties":{"new_name":{"type":"string"}}},"RenameRepoOption":{"type":"object","required":["new_name"],"properties":{"new_name":{"type":"string"}}},"RepoCollaboratorPermission":{"type":"object","required":["permission","role","user"],"properties":{"permission":{"type":"string"},"role":{"type":"string"},"user":{"$ref":"#/components/schemas/UserSummary"}}},"RepoPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RepoView"}},"total":{"type":"integer","format":"int64"}}},"RepoRelView":{"type":"object","required":["id","issue_id","repo_id","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"repo_id":{"type":"string","format":"uuid"}}},"RepoSummary":{"type":"object","required":["id","name","full_name","empty","private","fork","template","mirror","size","stars_count","forks_count","watchers_count","open_issues_count"],"properties":{"description":{"type":["string","null"]},"empty":{"type":"boolean"},"fork":{"type":"boolean"},"forks_count":{"type":"integer","format":"int32"},"full_name":{"type":"string"},"id":{"type":"string","format":"uuid"},"mirror":{"type":"boolean"},"name":{"type":"string"},"open_issues_count":{"type":"integer","format":"int32"},"private":{"type":"boolean"},"size":{"type":"integer","format":"int64"},"stars_count":{"type":"integer","format":"int32"},"template":{"type":"boolean"},"watchers_count":{"type":"integer","format":"int32"}}},"RepoTopicOptions":{"type":"object","required":["topics"],"properties":{"topics":{"type":"array","items":{"type":"string"}}}},"RepoView":{"type":"object","required":["id","channel_id","space_id","name","lower_name","full_name","default_branch","enable_lfs","is_private","is_archived","is_fork","is_template","is_mirror","empty","size","git_size","lfs_size","nums_watch","nums_star","nums_pr","nums_commits","nums_branches","nums_tags","allow_rebase","allow_rebase_explicit","allow_squash_merge","allow_merge_commits","allow_fast_forward_only_merge","allow_rebase_update","allow_merge_update","allow_manual_merge","autodetect_manual_merge","default_delete_branch_after_merge","default_allow_maintainer_edit","ignore_whitespace_conflicts","object_format","has_code","has_issues","has_wiki","has_pull_requests","has_projects","has_releases","has_packages","has_actions","projects_mode","languages","licenses","topics","html_url","url","link","ssh_url","clone_url","created_at","updated_at"],"properties":{"allow_fast_forward_only_merge":{"type":"boolean"},"allow_manual_merge":{"type":"boolean"},"allow_merge_commits":{"type":"boolean"},"allow_merge_update":{"type":"boolean"},"allow_rebase":{"type":"boolean"},"allow_rebase_explicit":{"type":"boolean"},"allow_rebase_update":{"type":"boolean"},"allow_squash_merge":{"type":"boolean"},"archived_at":{"type":["string","null"]},"autodetect_manual_merge":{"type":"boolean"},"avatar_url":{"type":["string","null"]},"channel":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ChannelSummary"}]},"channel_id":{"type":"string","format":"uuid"},"clone_url":{"type":"string"},"created_at":{"type":"string"},"default_allow_maintainer_edit":{"type":"boolean"},"default_branch":{"type":"string"},"default_delete_branch_after_merge":{"type":"boolean"},"description":{"type":["string","null"]},"empty":{"type":"boolean"},"enable_lfs":{"type":"boolean"},"full_name":{"type":"string"},"git_size":{"type":"integer","format":"int64"},"has_actions":{"type":"boolean"},"has_code":{"type":"boolean"},"has_issues":{"type":"boolean"},"has_packages":{"type":"boolean"},"has_projects":{"type":"boolean"},"has_pull_requests":{"type":"boolean"},"has_releases":{"type":"boolean"},"has_wiki":{"type":"boolean"},"html_url":{"type":"string"},"id":{"type":"string","format":"uuid"},"ignore_whitespace_conflicts":{"type":"boolean"},"is_archived":{"type":"boolean"},"is_fork":{"type":"boolean"},"is_mirror":{"type":"boolean"},"is_private":{"type":"boolean"},"is_template":{"type":"boolean"},"languages":{"type":"array","items":{"type":"string"}},"last_pushed_at":{"type":["string","null"]},"lfs_size":{"type":"integer","format":"int64"},"license_name":{"type":["string","null"]},"licenses":{"type":"array","items":{"type":"string"}},"link":{"type":"string"},"lower_name":{"type":"string"},"name":{"type":"string"},"nums_branches":{"type":"integer","format":"int32"},"nums_commits":{"type":"integer","format":"int32"},"nums_pr":{"type":"integer","format":"int32"},"nums_star":{"type":"integer","format":"int32"},"nums_tags":{"type":"integer","format":"int32"},"nums_watch":{"type":"integer","format":"int32"},"object_format":{"type":"string"},"parent":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/RepoView"}]},"primary_language":{"type":["string","null"]},"projects_mode":{"type":"string"},"size":{"type":"integer","format":"int64"},"space":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpaceSummary"}]},"space_id":{"type":"string","format":"uuid"},"ssh_url":{"type":"string"},"storage_limit_size":{"type":["integer","null"],"format":"int64"},"topics":{"type":"array","items":{"type":"string"}},"updated_at":{"type":"string"},"url":{"type":"string"},"website":{"type":["string","null"]}}},"ReportStatus":{"type":"string","enum":["open","under_review","resolved","dismissed"]},"ReportView":{"type":"object","required":["id","reported_uid","reason","status","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"evidence":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"reason":{"type":"string"},"reported_uid":{"type":"string","format":"uuid"},"reporter_uid":{"type":["string","null"],"format":"uuid"},"resolution_note":{"type":["string","null"]},"resolver_uid":{"type":["string","null"],"format":"uuid"},"status":{"$ref":"#/components/schemas/ReportStatus"},"updated_at":{"type":"string"}}},"RequestChangeBody":{"type":"object","required":["new_email"],"properties":{"new_email":{"type":"string"}}},"RequestDeletionCmd":{"type":"object","properties":{"reason":{"type":["string","null"]}}},"ResendCodeCmd":{"type":"object","required":["email","pow","purpose"],"properties":{"email":{"type":"string"},"pow":{"$ref":"#/components/schemas/PowProof"},"purpose":{"type":"string"}}},"ResendCodeResp":{"type":"object","required":["sent","temp_key"],"properties":{"sent":{"type":"boolean"},"temp_key":{"$ref":"#/components/schemas/TempKey"}}},"ResetPasswordCmd":{"type":"object","required":["email","token","new_password","temp_key_value"],"properties":{"email":{"type":"string"},"new_password":{"type":"string"},"temp_key_value":{"type":"string"},"token":{"type":"string"}}},"ResetPasswordResp":{"type":"object","required":["ok"],"properties":{"ok":{"type":"boolean"}}},"ReviewState":{"type":"string","enum":["approved","changes_requested","commented"]},"RevokeAllResp":{"type":"object","required":["revoked"],"properties":{"revoked":{"type":"integer","format":"int64","minimum":0}}},"RevokeSuspensionCmd":{"type":"object","properties":{"reason":{"type":["string","null"]}}},"RoleOverwriteView":{"type":"object","required":["id","space_id","channel_id","role_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"channel_id":{"type":"string","format":"uuid"},"deny_mask":{"type":"integer","format":"int64"},"id":{"type":"string","format":"uuid"},"role_id":{"type":"string","format":"uuid"},"space_id":{"type":"string","format":"uuid"}}},"RolePage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/RoleView"}},"total":{"type":"integer","format":"int64"}}},"RoleView":{"type":"object","required":["id","space_id","name","position","color","version","created_at","created_by","permissions"],"properties":{"color":{"type":"string"},"created_at":{"type":"string"},"created_by":{"type":"string","format":"uuid"},"icon_hash":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"position":{"type":"integer","format":"int64"},"space_id":{"type":"string","format":"uuid"},"unicode_emoji":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"version":{"type":"integer","format":"int32"}}},"SaveMessageCmd":{"type":"object","required":["channel_id","message_id"],"properties":{"channel_id":{"type":"string","format":"uuid"},"message_id":{"type":"string","format":"uuid"}}},"SavedMessageView":{"type":"object","required":["id","channel_id","message_id","saved_at"],"properties":{"channel_id":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"message_id":{"type":"string","format":"uuid"},"saved_at":{"type":"string"}}},"ScheduledMessageStatus":{"type":"string","enum":["pending","sent","cancelled"]},"ScheduledMessageView":{"type":"object","required":["id","target_channel_id","payload","scheduled_at","status","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"payload":{"type":"string"},"scheduled_at":{"type":"string"},"status":{"$ref":"#/components/schemas/ScheduledMessageStatus"},"target_channel_id":{"type":"string","format":"uuid"}}},"SearchResults":{"type":"object","required":["data","ok"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RepoSummary"}},"ok":{"type":"boolean"}}},"SessionKind":{"type":"string","enum":["web_login","bearer_access"]},"SessionView":{"type":"object","required":["id","kind","is_revoked","created_at","expires_at"],"properties":{"app_id":{"type":["string","null"]},"client_ip_hash":{"type":["string","null"]},"created_at":{"type":"string"},"expires_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_revoked":{"type":"boolean"},"kind":{"$ref":"#/components/schemas/SessionKind"},"replaced_at":{"type":["string","null"]},"user_agent_hash":{"type":["string","null"]}}},"SetPrimaryEmailResp":{"type":"object","required":["email"],"properties":{"email":{"$ref":"#/components/schemas/EmailView"}}},"SetRoleOverwriteCmd":{"type":"object","required":["role_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"deny_mask":{"type":"integer","format":"int64"},"role_id":{"type":"string","format":"uuid"}}},"SetUserOverwriteCmd":{"type":"object","required":["user_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"deny_mask":{"type":"integer","format":"int64"},"user_id":{"type":"string","format":"uuid"}}},"SpaceAllowJoinLevel":{"type":"string","enum":["none","need_mail_active","need_mail_active_and_last_one_mid","need_mail_active_and_last_one_hours","need_mail_active_and_phone_active"]},"SpaceBanPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceBanView"}},"total":{"type":"integer","format":"int64"}}},"SpaceBanView":{"type":"object","required":["space_id","user_id","banned_by","created_at","updated_at","allow_agent_join","allow_speak","allow_push_repo","allow_comment_any"],"properties":{"allow_agent_join":{"type":"boolean"},"allow_comment_any":{"type":"boolean"},"allow_push_repo":{"type":"boolean"},"allow_speak":{"type":"boolean"},"banned_by":{"type":"string","format":"uuid"},"created_at":{"type":"string"},"expires_at":{"type":["string","null"]},"reason":{"type":["string","null"]},"space_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"SpaceInvitePage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceInviteView"}},"total":{"type":"integer","format":"int64"}}},"SpaceInviteView":{"type":"object","required":["id","space_id","user_id","email","role_ids","created_at"],"properties":{"accepted_at":{"type":["string","null"]},"created_at":{"type":"string"},"email":{"type":"string"},"expires_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"revoked_at":{"type":["string","null"]},"role_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"space_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"SpaceMemberPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceMemberView"}},"total":{"type":"integer","format":"int64"}}},"SpaceMemberStatus":{"type":"string","enum":["active","inactive","left","removed"]},"SpaceMemberView":{"type":"object","required":["space_id","user_id","status","joined_at","created_at","message_notifications","muted","mobile_push","suppress_everyone","suppress_roles","hide_muted_channels"],"properties":{"alias_avatar_url":{"type":["string","null"]},"alias_name":{"type":["string","null"]},"created_at":{"type":"string"},"hide_muted_channels":{"type":"boolean"},"invited_at":{"type":["string","null"]},"invited_by":{"type":["string","null"],"format":"uuid"},"joined_at":{"type":"string"},"last_active_at":{"type":["string","null"]},"left_at":{"type":["string","null"]},"message_notifications":{"$ref":"#/components/schemas/MessageNotifications"},"mobile_push":{"type":"boolean"},"mute_until":{"type":["string","null"]},"muted":{"type":"boolean"},"space_id":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/SpaceMemberStatus"},"suppress_everyone":{"type":"boolean"},"suppress_roles":{"type":"boolean"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}},"SpacePage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SpaceView"}},"total":{"type":"integer","format":"int64"}}},"SpaceSummary":{"type":"object","required":["id","name"],"properties":{"display_name":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"name":{"type":"string"}}},"SpaceView":{"type":"object","required":["id","name","owner_id","public","is_active","allow_join","allow_invite","member_count","allow_join_level","member_must_enable_2fa","created_at","updated_at"],"properties":{"allow_invite":{"type":"boolean"},"allow_join":{"type":"boolean"},"allow_join_level":{"$ref":"#/components/schemas/SpaceAllowJoinLevel"},"avatar_url":{"type":["string","null"]},"created_at":{"type":"string"},"description":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_active":{"type":"boolean"},"member_count":{"type":"integer","format":"int64"},"member_must_enable_2fa":{"type":"boolean"},"name":{"type":"string"},"owner_id":{"type":"string","format":"uuid"},"public":{"type":"boolean"},"updated_at":{"type":"string"},"welcome_message":{"type":["string","null"]}}},"SshKeyType":{"type":"string","enum":["ssh_rsa","ssh_ed25519","ecdsa_sha2_nistp256"]},"SshKeyView":{"type":"object","required":["id","name","key_type","fingerprint","created_at"],"properties":{"created_at":{"type":"string"},"fingerprint":{"type":"string"},"id":{"type":"string","format":"uuid"},"key_type":{"$ref":"#/components/schemas/SshKeyType"},"last_used_at":{"type":["string","null"]},"name":{"type":"string"}}},"StopwatchView":{"type":"object","required":["id","issue_id","user_id","started_at","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"started_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"SubmitPullRequestReviewOption":{"type":"object","required":["state"],"properties":{"commit_sha":{"type":["string","null"]},"content":{"type":["string","null"]},"state":{"$ref":"#/components/schemas/ReviewState"}}},"SubmitReportCmd":{"type":"object","required":["reported_uid","reason"],"properties":{"evidence":{"type":["string","null"]},"reason":{"type":"string"},"reported_uid":{"type":"string","format":"uuid"}}},"SubscriberPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/SubscriberView"}},"total":{"type":"integer","format":"int64"}}},"SubscriberView":{"type":"object","required":["user_id","repo_id","mode","created_at"],"properties":{"created_at":{"type":"string"},"mode":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"Subscription":{"type":"object","required":["user_id","repo_id","mode","created_at"],"properties":{"created_at":{"type":"string"},"mode":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"}}},"SuspendCmd":{"type":"object","required":["suspension_type"],"properties":{"ends_at":{"type":["string","null"]},"reason":{"type":["string","null"]},"suspension_type":{"$ref":"#/components/schemas/SuspensionType"}}},"SuspensionType":{"type":"string","enum":["temporary","permanent"]},"SuspensionView":{"type":"object","required":["id","user_id","suspension_type","starts_at","created_at"],"properties":{"created_at":{"type":"string"},"ends_at":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"reason":{"type":["string","null"]},"revoked_at":{"type":["string","null"]},"revoked_by":{"type":["string","null"],"format":"uuid"},"starts_at":{"type":"string"},"suspended_by":{"type":["string","null"],"format":"uuid"},"suspension_type":{"$ref":"#/components/schemas/SuspensionType"},"user_id":{"type":"string","format":"uuid"}}},"SyncResult":{"type":"object","required":["repo_id","branches_added","tags_added","commits_added","size_bytes"],"properties":{"branches_added":{"type":"integer","format":"int64"},"commits_added":{"type":"integer","format":"int64"},"repo_id":{"type":"string","format":"uuid"},"size_bytes":{"type":"integer","format":"int64"},"tags_added":{"type":"integer","format":"int64"}}},"SyncStatus":{"type":"object","required":["repo_id","branches_total","tags_total","commits_total","size","synced_at"],"properties":{"branches_total":{"type":"integer","format":"int64"},"commits_total":{"type":"integer","format":"int64"},"last_pushed_at":{"type":["string","null"]},"primary_language":{"type":["string","null"]},"repo_id":{"type":"string","format":"uuid"},"size":{"type":"integer","format":"int64"},"synced_at":{"type":"string"},"tags_total":{"type":"integer","format":"int64"}}},"TagPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TagView"}},"total":{"type":"integer","format":"int64"}}},"TagProtectionPage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TagProtectionView"}},"total":{"type":"integer","format":"int64"}}},"TagProtectionView":{"type":"object","required":["id","repo_id","name_pattern","whitelist_usernames","whitelist_teams","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"name_pattern":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"updated_at":{"type":"string"},"whitelist_teams":{"type":"array","items":{"type":"string"}},"whitelist_usernames":{"type":"array","items":{"type":"string"}}}},"TagView":{"type":"object","required":["id","repo_id","name","tag_type","commit_sha","commit","message","zipball_url","tarball_url","created_at"],"properties":{"commit":{"$ref":"#/components/schemas/CommitMeta"},"commit_sha":{"type":"string"},"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"message":{"type":"string"},"name":{"type":"string"},"repo_id":{"type":"string","format":"uuid"},"tag_type":{"type":"string"},"tarball_url":{"type":"string"},"zipball_url":{"type":"string"}}},"TempKey":{"type":"object","required":["name","value","ttl_seconds","secure","http_only","same_site"],"properties":{"domain":{"type":["string","null"]},"http_only":{"type":"boolean"},"name":{"type":"string"},"path":{"type":["string","null"]},"same_site":{"type":"string"},"secure":{"type":"boolean"},"ttl_seconds":{"type":"integer","format":"int64","minimum":0},"value":{"type":"string"}}},"TopicList":{"type":"object","required":["topics"],"properties":{"topics":{"type":"array","items":{"type":"string"}}}},"TopicSearchQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"page":{"type":["integer","null"],"format":"int64","minimum":0},"q":{"type":["string","null"]}}},"TopicSearchResult":{"type":"object","required":["topics"],"properties":{"topics":{"type":"array","items":{"$ref":"#/components/schemas/TopicView"}}}},"TopicView":{"type":"object","required":["id","name","repo_count","created_at","updated_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"repo_count":{"type":"integer","format":"int32"},"updated_at":{"type":"string"}}},"TrackedTimePage":{"type":"object","required":["items","total"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TrackedTimeView"}},"total":{"type":"integer","format":"int64"}}},"TrackedTimeView":{"type":"object","required":["id","issue_id","user_id","seconds","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":"string","format":"uuid"},"seconds":{"type":"integer","format":"int64"},"user_id":{"type":"string","format":"uuid"}}},"TransferRepoOption":{"type":"object","required":["new_channel_id"],"properties":{"new_channel_id":{"type":"string","format":"uuid"},"new_name":{"type":["string","null"]}}},"TreeEntryView":{"type":"object","required":["path","mode","type_","sha"],"properties":{"mode":{"type":"string"},"path":{"type":"string"},"sha":{"type":"string"},"size":{"type":["integer","null"],"format":"int64"},"type_":{"type":"string"}}},"TreeView":{"type":"object","required":["sha","entries"],"properties":{"entries":{"type":"array","items":{"$ref":"#/components/schemas/TreeEntryView"}},"sha":{"type":"string"}}},"UnassignRoleCmd":{"type":"object","required":["role_id"],"properties":{"role_id":{"type":"string","format":"uuid"}}},"UnreadCountResp":{"type":"object","required":["count"],"properties":{"count":{"type":"integer","format":"int64"}}},"UpdateAvatarOption":{"type":"object","required":["image"],"properties":{"image":{"type":"string"}}},"UpdateBanCmd":{"type":"object","properties":{"allow_agent_join":{"type":["boolean","null"]},"allow_comment_any":{"type":["boolean","null"]},"allow_push_repo":{"type":["boolean","null"]},"allow_speak":{"type":["boolean","null"]},"expires_at":{"type":["string","null"]},"reason":{"type":["string","null"]}}},"UpdateBranchOption":{"type":"object","required":["new_commit_id"],"properties":{"force":{"type":["boolean","null"]},"new_commit_id":{"type":"string"},"old_commit_id":{"type":["string","null"]}}},"UpdateBranchProtectionPriorities":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"}}}},"UpdateCollectionOption":{"type":"object","properties":{"description":{"type":["string","null"]},"icon":{"type":["string","null"]},"name":{"type":["string","null"]}}},"UpdateCommentOption":{"type":"object","required":["content"],"properties":{"content":{"type":"string"}}},"UpdateDeviceCmd":{"type":"object","properties":{"device_name":{"type":["string","null"]},"is_trusted":{"type":["boolean","null"]}}},"UpdateDocumentCmd":{"type":"object","properties":{"content":{"type":["string","null"]},"icon":{"type":["string","null"]},"parent_id":{"type":["string","null"],"format":"uuid"},"slug":{"type":["string","null"]},"title":{"type":["string","null"]}}},"UpdateFileOption":{"allOf":[{"$ref":"#/components/schemas/FileOptions"},{"type":"object","required":["content"],"properties":{"content":{"type":"string"},"from_path":{"type":["string","null"]},"sha":{"type":["string","null"]}}}]},"UpdateIssueOption":{"type":"object","properties":{"body":{"type":["string","null"]},"description":{"type":["string","null"]},"milestone_id":{"type":["string","null"],"format":"uuid"},"title":{"type":["string","null"]}}},"UpdateIssueUserOption":{"type":"object","properties":{"is_mentioned":{"type":["boolean","null"]},"is_read":{"type":["boolean","null"]}}},"UpdateLabelOption":{"type":"object","properties":{"color":{"type":["string","null"]},"description":{"type":["string","null"]},"exclusive":{"type":["boolean","null"]},"exclusive_order":{"type":["integer","null"],"format":"int32"},"is_archived":{"type":["boolean","null"]},"name":{"type":["string","null"]}}},"UpdateMemberCmd":{"type":"object","required":["role"],"properties":{"role":{"$ref":"#/components/schemas/MemberRole"}}},"UpdateMilestoneOption":{"type":"object","properties":{"description":{"type":["string","null"]},"due_at":{"type":["string","null"]},"is_closed":{"type":["boolean","null"]},"name":{"type":["string","null"]}}},"UpdatePreferencesCmd":{"type":"object","properties":{"allow_dms_from":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Audience"}]},"allow_mentions_from":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Audience"}]},"diff_view_style":{"type":["string","null"]},"email_digest":{"type":["boolean","null"]},"email_flags":{"type":["integer","null"],"format":"int32"},"in_app_flags":{"type":["integer","null"],"format":"int32"},"mute_until":{"type":["string","null"]},"push_flags":{"type":["integer","null"],"format":"int32"},"show_online_status":{"type":["boolean","null"]},"theme_mode":{"type":["string","null"]},"theme_token":{"type":["string","null"]},"theme_version":{"type":["integer","null"],"format":"int64"}}},"UpdateProfileCmd":{"type":"object","properties":{"avatar":{"type":["string","null"]},"display_name":{"type":["string","null"]},"language":{"type":["string","null"]},"locale":{"type":["string","null"]},"profile":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/UpdateProfileFields"}]},"timezone":{"type":["string","null"]},"visibility":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProfileVisibility"}]}}},"UpdateProfileFields":{"type":"object","properties":{"accent_color":{"type":["string","null"]},"banner_color":{"type":["integer","null"],"format":"int32"},"banner_url":{"type":["string","null"]},"bio":{"type":["string","null"]},"company":{"type":["string","null"]},"date_of_birth":{"type":["string","null"],"format":"date"},"location":{"type":["string","null"]},"pronouns":{"type":["string","null"]},"pronouns_privacy":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProfileVisibility"}]},"real_name":{"type":["string","null"]},"show_activity":{"type":["boolean","null"]},"show_email":{"type":["boolean","null"]},"show_location":{"type":["boolean","null"]},"show_real_name":{"type":["boolean","null"]},"website":{"type":["string","null"]}}},"UpdateProjectCmd":{"type":"object","properties":{"color":{"type":["string","null"]},"description":{"type":["string","null"]},"health":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectHealth"}]},"icon":{"type":["string","null"]},"lead_id":{"type":["string","null"],"format":"uuid"},"name":{"type":["string","null"]},"sort_order":{"type":["integer","null"],"format":"int32"},"state":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ProjectState"}]},"target_date":{"type":["string","null"],"format":"date"}}},"UpdatePullRequestOption":{"type":"object","properties":{"base":{"type":["string","null"]},"body":{"type":["string","null"]},"head":{"type":["string","null"]},"title":{"type":["string","null"]}}},"UpdateRepoOption":{"type":"object","properties":{"allow_fast_forward_only_merge":{"type":["boolean","null"]},"allow_manual_merge":{"type":["boolean","null"]},"allow_merge_commits":{"type":["boolean","null"]},"allow_merge_update":{"type":["boolean","null"]},"allow_rebase":{"type":["boolean","null"]},"allow_rebase_explicit":{"type":["boolean","null"]},"allow_rebase_update":{"type":["boolean","null"]},"allow_squash_merge":{"type":["boolean","null"]},"archived":{"type":["boolean","null"]},"autodetect_manual_merge":{"type":["boolean","null"]},"default_allow_maintainer_edit":{"type":["boolean","null"]},"default_branch":{"type":["string","null"]},"default_delete_branch_after_merge":{"type":["boolean","null"]},"default_merge_style":{"type":["string","null"]},"default_update_style":{"type":["string","null"]},"description":{"type":["string","null"]},"enable_lfs":{"type":["boolean","null"]},"external_tracker":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExternalTracker"}]},"external_wiki":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ExternalWiki"}]},"has_actions":{"type":["boolean","null"]},"has_code":{"type":["boolean","null"]},"has_issues":{"type":["boolean","null"]},"has_packages":{"type":["boolean","null"]},"has_projects":{"type":["boolean","null"]},"has_pull_requests":{"type":["boolean","null"]},"has_releases":{"type":["boolean","null"]},"has_wiki":{"type":["boolean","null"]},"ignore_whitespace_conflicts":{"type":["boolean","null"]},"internal_tracker":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/InternalTracker"}]},"is_private":{"type":["boolean","null"]},"license_name":{"type":["string","null"]},"name":{"type":["string","null"]},"projects_mode":{"type":["string","null"]},"template":{"type":["boolean","null"]},"website":{"type":["string","null"]}}},"UpdateReportCmd":{"type":"object","required":["status"],"properties":{"resolution_note":{"type":["string","null"]},"status":{"$ref":"#/components/schemas/ReportStatus"}}},"UpdateRoleCmd":{"type":"object","properties":{"color":{"type":["string","null"]},"icon_hash":{"type":["string","null"]},"name":{"type":["string","null"]},"permissions":{"type":["array","null"],"items":{"type":"string"}},"position":{"type":["integer","null"],"format":"int64"},"unicode_emoji":{"type":["string","null"]}}},"UpdateSpaceCmd":{"type":"object","properties":{"allow_invite":{"type":["boolean","null"]},"allow_join":{"type":["boolean","null"]},"allow_join_level":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SpaceAllowJoinLevel"}]},"avatar_url":{"type":["string","null"]},"description":{"type":["string","null"]},"member_must_enable_2fa":{"type":["boolean","null"]},"name":{"type":["string","null"]},"public":{"type":["boolean","null"]},"welcome_message":{"type":["string","null"]}}},"UpdateViewCmd":{"type":"object","properties":{"description":{"type":["string","null"]},"filter":{},"group_by":{"type":["string","null"]},"is_shared":{"type":["boolean","null"]},"layout":{"type":["string","null"]},"name":{"type":["string","null"]},"sort_by":{"type":["string","null"]}}},"UploadAttachmentInput":{"type":"object","required":["filename","content_type","data"],"properties":{"content_type":{"type":"string"},"data":{"type":"array","items":{"type":"integer","format":"int32","minimum":0}},"filename":{"type":"string"}}},"UploadAvatarCmd":{"type":"object","required":["content_type","data_base64"],"properties":{"content_type":{"type":"string"},"data_base64":{"type":"string"}}},"UpsertMemeCmd":{"type":"object","required":["name","content_type","url","size"],"properties":{"content_type":{"type":"string"},"height":{"type":["integer","null"],"format":"int32"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"},"url":{"type":"string"},"width":{"type":["integer","null"],"format":"int32"}}},"UpsertPushCmd":{"type":"object","required":["endpoint","p256dh_key","auth_key","platform"],"properties":{"auth_key":{"type":"string"},"endpoint":{"type":"string"},"p256dh_key":{"type":"string"},"platform":{"$ref":"#/components/schemas/PushPlatform"},"user_agent":{"type":["string","null"]}}},"UpsertWatchOption":{"type":"object","required":["mode"],"properties":{"mode":{"type":"string"}}},"UserMe":{"type":"object","required":["uid","username","display_name","avatar","is_active","is_admin","is_restricted"],"properties":{"avatar":{"type":"string"},"display_name":{"type":"string"},"is_active":{"type":"boolean"},"is_admin":{"type":"boolean"},"is_restricted":{"type":"boolean"},"language":{"type":["string","null"]},"locale":{"type":["string","null"]},"timezone":{"type":["string","null"]},"uid":{"type":"string"},"username":{"type":"string"}}},"UserMini":{"type":"object","required":["id","login"],"properties":{"avatar_url":{"type":["string","null"]},"email":{"type":["string","null"]},"full_name":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"login":{"type":"string"}}},"UserOverwriteView":{"type":"object","required":["channel_id","user_id","allow_mask","deny_mask"],"properties":{"allow_mask":{"type":"integer","format":"int64"},"channel_id":{"type":"string","format":"uuid"},"deny_mask":{"type":"integer","format":"int64"},"user_id":{"type":"string","format":"uuid"}}},"UserPreferences":{"type":"object","required":["user_id","theme_mode","in_app_flags","email_flags","push_flags","email_digest","allow_dms_from","allow_mentions_from","show_online_status","created_at","updated_at"],"properties":{"allow_dms_from":{"$ref":"#/components/schemas/Audience"},"allow_mentions_from":{"$ref":"#/components/schemas/Audience"},"created_at":{"type":"string"},"diff_view_style":{"type":["string","null"]},"email_digest":{"type":"boolean"},"email_flags":{"type":"integer","format":"int32"},"in_app_flags":{"type":"integer","format":"int32"},"mute_until":{"type":["string","null"]},"push_flags":{"type":"integer","format":"int32"},"show_online_status":{"type":"boolean"},"theme_mode":{"type":"string"},"theme_token":{"type":["string","null"]},"theme_version":{"type":["integer","null"],"format":"int64"},"updated_at":{"type":"string"},"user_id":{"type":"string","format":"uuid"}}},"UserPublic":{"type":"object","required":["uid","username","display_name","avatar"],"properties":{"avatar":{"type":"string"},"display_name":{"type":"string"},"language":{"type":["string","null"]},"locale":{"type":["string","null"]},"timezone":{"type":["string","null"]},"uid":{"type":"string"},"username":{"type":"string"}}},"UserSummary":{"type":"object","required":["id","name","login"],"properties":{"email":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"login":{"type":"string"},"name":{"type":"string"}}},"VerifyCodeCmd":{"type":"object","required":["email","purpose","code","temp_key_value"],"properties":{"code":{"type":"string"},"email":{"type":"string"},"purpose":{"type":"string"},"temp_key_value":{"type":"string"},"user_id":{"type":["string","null"]}}},"VerifyCodeResult":{"type":"object","required":["code_row_id"],"properties":{"code_row_id":{"type":"string"}}},"ViewPage":{"type":"object","required":["total","items"],"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ViewView"}},"total":{"type":"integer","format":"int64","minimum":0}}},"ViewView":{"type":"object","required":["id","project_id","creator_id","name","filter","sort_by","layout","is_shared","sort_order","created_at"],"properties":{"created_at":{"type":"string","format":"date-time"},"creator_id":{"type":"string","format":"uuid"},"description":{"type":["string","null"]},"filter":{},"group_by":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"is_shared":{"type":"boolean"},"layout":{"type":"string"},"name":{"type":"string"},"project_id":{"type":"string","format":"uuid"},"sort_by":{"type":"string"},"sort_order":{"type":"integer","format":"int32"},"updated_at":{"type":["string","null"],"format":"date-time"}}},"WatchView":{"type":"object","required":["id","user_id","mode","created_at"],"properties":{"created_at":{"type":"string"},"id":{"type":"string","format":"uuid"},"issue_id":{"type":["string","null"],"format":"uuid"},"mode":{"type":"string"},"updated_at":{"type":["string","null"]},"user_id":{"type":"string","format":"uuid"}}}}},"tags":[{"name":"auth","description":"Authentication endpoints"},{"name":"issues","description":"Issue tracking (lib/issues)"},{"name":"project","description":"Project lifecycle, members, views, documents, links, favorites, activities."},{"name":"repo","description":"Repository service (lib/repo)"},{"name":"space","description":"Space, membership, roles, invites, bans, channels, channel members and overwrite endpoints."},{"name":"user","description":"User profile, account, sessions and notifications endpoints."}]}
No newline at end of file