/// /* tslint:disable */ /* eslint-disable */ /** * gitdata api - version 1.0 * * ## Conventions ### Response envelope Every JSON response uses the same envelope: | field | meaning | |---|---| | `code` | always equal to the HTTP status code | | `message` | human-readable result / error summary | | `data` | payload, `null` for errors and empty results | | `error` | field-level / technical detail (e.g. validation errors), may be `null` | | `error_code` | stable machine-readable code on 4xx (e.g. `conflict`, `rate_limited`), may be `null` | | `request_id` / `log_id` | correlation ids, also returned as `X-Request-Id` / `X-Log-Id` headers | Successful `POST` creation returns `200` (not `201`); empty results use `200` with `data: null`. - `POST /auth/logout` is idempotent: repeating it always succeeds with `200`. ### Authentication - `session_cookie`: primary web session auth (cookie `gitdata_session`). - `basic_access_key`: HTTP Basic auth with an access key created via `POST /auth/access-keys` (id as user, secret as password). **Scope: git repository endpoints only** (`/repos/*`, `/graphql`); it is NOT accepted by chat/issues/space/user endpoints. ### URL & parameter style - Paths are `kebab-case`, plural nouns, nesting expresses ownership. - Query/path/JSON field names are `snake_case`; enum values are `snake_case`. - All endpoints are versioned under `/api/v1`. `/api/v1/internal/*` requires a session belonging to a configured platform admin and is NOT documented here. - State-transition actions use `POST {resource}/{id}/{verb}` (close/reopen); idempotent whole-resource state uses `PUT` (default branch, pin, read-state); partial updates use `PATCH`. ### Pagination - Offset style: `?limit=&offset=` (default 50, max 100 unless stated), response `data` is `{ items, total, limit, offset }`. - Cursor style (chat message/sequence data): `?before_seq=&after_seq=&limit=`, response contains `has_more`. ### PATCH semantics (three-state fields) Update commands use `Option<Option<T>>` for clearable fields: - field **absent** → unchanged - field `null` → cleared - field value → set Example: `{"milestone_id": null}` unassigns the milestone; omitting `milestone_id` leaves it untouched. ### 2FA login exchange `POST /auth/login` responds with `needs_2fa` and an opaque one-time `challenge` string; pass it to `POST /auth/login/2fa` together with the TOTP/recovery code. The challenge is single-use and short-lived. ### Operations - `GET /healthz` — liveness probe (no auth, outside `/api/v1`). - `GET /readyz` — readiness probe: database + redis check, `503` when down. - Runtime metrics are pushed to the configured OTLP collector (30s interval); there is no scrape endpoint. - Cross-origin browser access is disabled by default; the API expects a same-origin reverse proxy. Enable `web.cors_allow_origins` to allowlist other origins. ### Abuse controls - Creation endpoints are subject to per-user rolling 24h quotas (`[quota]` config; 0 disables). Exceeding a quota returns `429` with `error_code: "rate_limited"`. ### Idempotency - `POST /chat/rooms/{room_id}/messages` accepts `nonce`: unique per room; retrying with the same nonce returns the original message instead of a duplicate. ### Resource references - User references in responses embed a `user` object (`UserDto`) wherever a single person is shown; raw uuid fields are named `*_id` consistently. - Viewer-specific state is embedded, not fetched separately: `RepoDto.me` carries `starred`/`watch_mode`, `IssueDto.viewer_watch` carries the caller watch mode. `PUT /repos/{space}/{repo}/star|unstar` style reads do not exist. ### Identifiers - Issues are addressable by UUID **or** board-scoped number (e.g. `/issues/{space}/boards/{board}/issues/123`). - Binary uploads use raw request bodies with a content-type header (e.g. `PUT /me/avatar` accepts `image/*` bytes, not base64 JSON). * * OpenAPI version: 3.1.0 * * * NOTE: This file is auto generated by the alova's vscode plugin. * * https://alova.js.org/devtools/vscode * * **Do not edit the file manually.** */ export default { 'auth.totp_disable': ['POST', '/auth/2fa/disable'], 'auth.totp_enable': ['POST', '/auth/2fa/enable'], 'auth.recovery_codes': ['GET', '/auth/2fa/recovery-codes'], 'auth.regenerate_recovery_codes': ['PUT', '/auth/2fa/recovery-codes'], 'auth.totp_setup': ['POST', '/auth/2fa/setup'], 'auth.totp_status': ['GET', '/auth/2fa/status'], 'security.list_access_keys': ['GET', '/auth/access-keys'], 'security.create_access_key': ['POST', '/auth/access-keys'], 'security.delete_access_key': ['DELETE', '/auth/access-keys/{key_id}'], 'auth.update_access_key': ['PATCH', '/auth/access-keys/{key_id}'], 'auth.rotate_access_key': ['POST', '/auth/access-keys/{key_id}/rotate'], 'account.list_agreements': ['GET', '/auth/agreements'], 'auth.request_email_change': ['POST', '/auth/email/change'], 'auth.confirm_email_change': ['POST', '/auth/email/change/confirm'], 'auth.cancel_email_change': ['DELETE', '/auth/email/change/{ticket_id}'], 'auth.reclaim': ['POST', '/auth/email/reclaim'], 'auth.resend_code': ['POST', '/auth/email/resend'], 'auth.verify_email': ['POST', '/auth/email/verify'], 'auth.jwt_request': ['GET', '/auth/jwt-request'], 'auth.login': ['POST', '/auth/login'], 'auth.login_2fa': ['POST', '/auth/login/2fa'], 'auth.logout': ['POST', '/auth/logout'], 'auth.change_password': ['POST', '/auth/password/change'], 'auth.forgot_password': ['POST', '/auth/password/forgot'], 'auth.reset_password': ['POST', '/auth/password/reset'], 'auth.pow_challenge': ['GET', '/auth/pow/challenge'], 'auth.register': ['POST', '/auth/register'], 'security.list_ssh_keys': ['GET', '/auth/ssh-keys'], 'security.add_ssh_key': ['POST', '/auth/ssh-keys'], 'security.delete_ssh_key': ['DELETE', '/auth/ssh-keys/{key_id}'], 'chat.create_attachment': ['POST', '/chat/attachments'], 'chat.get_attachment': ['GET', '/chat/attachments/{attachment_id}'], 'chat.download_attachment': ['GET', '/chat/attachments/{attachment_id}/file'], 'chat.finalize_attachment': ['POST', '/chat/attachments/{attachment_id}/finalize'], 'chat.list_dms': ['GET', '/chat/dms'], 'chat.open_dm': ['POST', '/chat/dms'], 'chat.close_dm': ['DELETE', '/chat/dms/{room_id}'], 'chat.list_my_drafts': ['GET', '/chat/drafts'], 'chat.post_via_webhook': ['POST', '/chat/hooks/{token}'], 'chat.accept_room_invite': ['POST', '/chat/invites/accept'], 'chat.reject_room_invite': ['POST', '/chat/invites/reject'], 'chat.livekit_webhook': ['POST', '/chat/livekit/webhook'], 'chat.set_presence': ['PUT', '/chat/presence'], 'chat.list_reminders': ['GET', '/chat/reminders'], 'chat.cancel_reminder': ['DELETE', '/chat/reminders/{reminder_id}'], 'chat.update_reminder': ['PATCH', '/chat/reminders/{reminder_id}'], 'chat.get_room': ['GET', '/chat/rooms/{room_id}'], 'chat.delete_room': ['DELETE', '/chat/rooms/{room_id}'], 'chat.update_room': ['PATCH', '/chat/rooms/{room_id}'], 'chat.list_room_bans': ['GET', '/chat/rooms/{room_id}/bans'], 'chat.ban_room_member': ['POST', '/chat/rooms/{room_id}/bans'], 'chat.unban_room_member': ['DELETE', '/chat/rooms/{room_id}/bans/{user_id}'], 'chat.list_bookmarks': ['GET', '/chat/rooms/{room_id}/bookmarks'], 'chat.create_bookmark': ['POST', '/chat/rooms/{room_id}/bookmarks'], 'chat.delete_bookmark': ['DELETE', '/chat/rooms/{room_id}/bookmarks/{bookmark_id}'], 'chat.update_bookmark': ['PATCH', '/chat/rooms/{room_id}/bookmarks/{bookmark_id}'], 'chat.get_draft': ['GET', '/chat/rooms/{room_id}/draft'], 'chat.upsert_draft': ['PUT', '/chat/rooms/{room_id}/draft'], 'chat.delete_draft': ['DELETE', '/chat/rooms/{room_id}/draft'], 'chat.list_room_invites': ['GET', '/chat/rooms/{room_id}/invites'], 'chat.create_room_invite': ['POST', '/chat/rooms/{room_id}/invites'], 'chat.revoke_room_invite': ['DELETE', '/chat/rooms/{room_id}/invites/{invite_id}'], 'chat.list_room_members': ['GET', '/chat/rooms/{room_id}/members'], 'chat.add_room_members': ['POST', '/chat/rooms/{room_id}/members'], 'chat.join_room': ['PUT', '/chat/rooms/{room_id}/members/@me'], 'chat.leave_room': ['DELETE', '/chat/rooms/{room_id}/members/@me'], 'chat.get_room_member': ['GET', '/chat/rooms/{room_id}/members/{user_id}'], 'chat.kick_room_member': ['DELETE', '/chat/rooms/{room_id}/members/{user_id}'], 'chat.update_room_member': ['PATCH', '/chat/rooms/{room_id}/members/{user_id}'], 'chat.list_messages': ['GET', '/chat/rooms/{room_id}/messages'], 'chat.send_message': ['POST', '/chat/rooms/{room_id}/messages'], 'chat.bulk_delete_messages': ['POST', '/chat/rooms/{room_id}/messages/bulk-delete'], 'chat.get_message': ['GET', '/chat/rooms/{room_id}/messages/{message_id}'], 'chat.delete_message': ['DELETE', '/chat/rooms/{room_id}/messages/{message_id}'], 'chat.update_message': ['PATCH', '/chat/rooms/{room_id}/messages/{message_id}'], 'chat.forward_message': ['POST', '/chat/rooms/{room_id}/messages/{message_id}/forward'], 'chat.list_message_history': ['GET', '/chat/rooms/{room_id}/messages/{message_id}/history'], 'chat.set_message_pin': ['PUT', '/chat/rooms/{room_id}/messages/{message_id}/pin'], 'chat.list_reactions': ['GET', '/chat/rooms/{room_id}/messages/{message_id}/reactions'], 'chat.add_reaction': ['PUT', '/chat/rooms/{room_id}/messages/{message_id}/reactions/@me'], 'chat.remove_reaction': ['DELETE', '/chat/rooms/{room_id}/messages/{message_id}/reactions/@me'], 'chat.create_reminder': ['POST', '/chat/rooms/{room_id}/messages/{message_id}/reminders'], 'chat.create_thread': ['POST', '/chat/rooms/{room_id}/messages/{message_id}/threads'], 'chat.list_outbound_webhooks': ['GET', '/chat/rooms/{room_id}/outbound-webhooks'], 'chat.create_outbound_webhook': ['POST', '/chat/rooms/{room_id}/outbound-webhooks'], 'chat.delete_outbound_webhook': ['DELETE', '/chat/rooms/{room_id}/outbound-webhooks/{webhook_id}'], 'chat.update_outbound_webhook': ['PATCH', '/chat/rooms/{room_id}/outbound-webhooks/{webhook_id}'], 'chat.transfer_room_owner': ['PUT', '/chat/rooms/{room_id}/owner'], 'chat.list_pins': ['GET', '/chat/rooms/{room_id}/pins'], 'chat.get_read_state': ['GET', '/chat/rooms/{room_id}/read-state'], 'chat.mark_read': ['PUT', '/chat/rooms/{room_id}/read-state'], 'chat.get_room_setting': ['GET', '/chat/rooms/{room_id}/settings'], 'chat.update_room_setting': ['PUT', '/chat/rooms/{room_id}/settings'], 'chat.list_threads': ['GET', '/chat/rooms/{room_id}/threads'], 'chat.list_hands': ['GET', '/chat/rooms/{room_id}/voice/hands'], 'chat.raise_hand': ['POST', '/chat/rooms/{room_id}/voice/hands'], 'chat.cancel_hand': ['DELETE', '/chat/rooms/{room_id}/voice/hands/@me'], 'chat.approve_hand': ['POST', '/chat/rooms/{room_id}/voice/hands/{user_id}/approve'], 'chat.deny_hand': ['POST', '/chat/rooms/{room_id}/voice/hands/{user_id}/deny'], 'chat.revoke_hand': ['POST', '/chat/rooms/{room_id}/voice/hands/{user_id}/revoke'], 'chat.get_voice_layout': ['GET', '/chat/rooms/{room_id}/voice/layout'], 'chat.save_voice_layout': ['PUT', '/chat/rooms/{room_id}/voice/layout'], 'chat.voice_participants': ['GET', '/chat/rooms/{room_id}/voice/participants'], 'chat.kick_participant': ['DELETE', '/chat/rooms/{room_id}/voice/participants/{user_id}'], 'chat.moderate_mute': ['POST', '/chat/rooms/{room_id}/voice/participants/{user_id}/mute'], 'chat.start_recording': ['POST', '/chat/rooms/{room_id}/voice/recording/start'], 'chat.stop_recording': ['POST', '/chat/rooms/{room_id}/voice/recording/stop'], 'chat.voice_token': ['POST', '/chat/rooms/{room_id}/voice/token'], 'chat.list_webhooks': ['GET', '/chat/rooms/{room_id}/webhooks'], 'chat.create_webhook': ['POST', '/chat/rooms/{room_id}/webhooks'], 'chat.delete_webhook': ['DELETE', '/chat/rooms/{room_id}/webhooks/{webhook_id}'], 'chat.update_webhook': ['PATCH', '/chat/rooms/{room_id}/webhooks/{webhook_id}'], 'chat.list_emojis': ['GET', '/chat/spaces/{space_name}/emojis'], 'chat.upload_emoji': ['POST', '/chat/spaces/{space_name}/emojis'], 'chat.get_emoji': ['GET', '/chat/spaces/{space_name}/emojis/{emoji_id}'], 'chat.delete_emoji': ['DELETE', '/chat/spaces/{space_name}/emojis/{emoji_id}'], 'chat.emoji_image': ['GET', '/chat/spaces/{space_name}/emojis/{emoji_id}/image'], 'chat.search_messages': ['GET', '/chat/spaces/{space_name}/messages/search'], 'chat.list_space_presences': ['GET', '/chat/spaces/{space_name}/presences'], 'chat.list_space_read_states': ['GET', '/chat/spaces/{space_name}/read-states'], 'chat.list_space_rooms': ['GET', '/chat/spaces/{space_name}/rooms'], 'chat.create_room': ['POST', '/chat/spaces/{space_name}/rooms'], 'chat.voice_space_states': ['GET', '/chat/spaces/{space_name}/voice-states'], 'chat.list_my_threads': ['GET', '/chat/threads'], 'chat.get_thread': ['GET', '/chat/threads/{thread_id}'], 'chat.update_thread': ['PATCH', '/chat/threads/{thread_id}'], 'chat.follow_thread': ['PUT', '/chat/threads/{thread_id}/members/@me'], 'chat.unfollow_thread': ['DELETE', '/chat/threads/{thread_id}/members/@me'], 'chat.mark_thread_read': ['PUT', '/chat/threads/{thread_id}/read-state'], 'chat.get_presence': ['GET', '/chat/users/{user_id}/presence'], 'chat.voice_config': ['GET', '/chat/voice/config'], 'graphql.graphql_get': ['GET', '/graphql'], 'graphql.graphql_post': ['POST', '/graphql'], 'imports.list_imports': ['GET', '/imports/{space_name}'], 'imports.create_import': ['POST', '/imports/{space_name}'], 'imports.probe_import': ['POST', '/imports/{space_name}/probe'], 'imports.get_import': ['GET', '/imports/{space_name}/{job_id}'], 'imports.cancel_import': ['POST', '/imports/{space_name}/{job_id}/cancel'], 'imports.retry_import': ['POST', '/imports/{space_name}/{job_id}/retry'], 'issues.create_issue_attachment': ['POST', '/issues/attachments'], 'issues.delete_issue_attachment': ['DELETE', '/issues/attachments/{attachment_id}'], 'issues.download_issue_attachment': ['GET', '/issues/attachments/{attachment_id}/file'], 'issues.finalize_issue_attachment': ['POST', '/issues/attachments/{attachment_id}/finalize'], 'issues.list_boards': ['GET', '/issues/{space_name}/boards'], 'issues.create_board': ['POST', '/issues/{space_name}/boards'], 'issues.get_board': ['GET', '/issues/{space_name}/boards/{board_id}'], 'issues.delete_board': ['DELETE', '/issues/{space_name}/boards/{board_id}'], 'issues.update_board': ['PATCH', '/issues/{space_name}/boards/{board_id}'], 'issues.list_issues': ['GET', '/issues/{space_name}/boards/{board_id}/issues'], 'issues.create_issue': ['POST', '/issues/{space_name}/boards/{board_id}/issues'], 'issues.bulk_issues': ['POST', '/issues/{space_name}/boards/{board_id}/issues/bulk'], 'issues.get_issue': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}'], 'issues.delete_issue': ['DELETE', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}'], 'issues.update_issue': ['PATCH', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}'], 'issues.list_issue_attachments': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/attachments'], 'issues.close_issue': ['POST', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/close'], 'issues.list_comments': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments'], 'issues.create_comment': ['POST', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments'], 'issues.list_comments_tree': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments/tree'], 'issues.get_comment': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments/{comment_id}'], 'issues.delete_comment': ['DELETE', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments/{comment_id}'], 'issues.update_comment': ['PATCH', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments/{comment_id}'], 'issues.list_comment_reactions': [ 'GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments/{comment_id}/reactions' ], 'issues.add_comment_reaction': [ 'PUT', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments/{comment_id}/reactions/@me' ], 'issues.remove_comment_reaction': [ 'DELETE', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments/{comment_id}/reactions/@me' ], 'issues.list_dependencies': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/dependencies'], 'issues.create_dependency': ['POST', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/dependencies'], 'issues.delete_dependency': [ 'DELETE', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/dependencies/{dep_id}' ], 'issues.list_dependents': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/dependents'], 'issues.list_events': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/events'], 'issues.list_content_history': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/history'], 'issues.list_labels_for_issue': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/labels'], 'issues.bind_label': ['POST', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/labels/{label_id}'], 'issues.unbind_label': ['DELETE', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/labels/{label_id}'], 'issues.list_issue_members': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/members'], 'issues.create_member': ['POST', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/members'], 'issues.delete_member': ['DELETE', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/members/{member_id}'], 'pulls.list_issue_pulls': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/pulls'], 'pulls.link_issue_pull': ['POST', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/pulls'], 'pulls.unlink_issue_pull': ['DELETE', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/pulls/{relation_id}'], 'issues.list_issue_reactions': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/reactions'], 'issues.add_issue_reaction': ['PUT', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/reactions/@me'], 'issues.remove_issue_reaction': ['DELETE', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/reactions/@me'], 'issues.mark_issue_read': ['PUT', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/read-state'], 'issues.reopen_issue': ['POST', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/reopen'], 'issues.list_repo_relations': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/repos'], 'issues.create_repo_relation': ['POST', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/repos'], 'issues.delete_repo_relation': ['DELETE', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/repos/{rel_id}'], 'issues.get_stopwatch': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/stopwatch'], 'issues.start_stopwatch': ['POST', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/stopwatch/start'], 'issues.stop_stopwatch': ['POST', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/stopwatch/stop'], 'issues.list_tracked_time': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/times'], 'issues.create_tracked_time': ['POST', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/times'], 'issues.delete_tracked_time': ['DELETE', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/times/{time_id}'], 'issues.update_tracked_time': ['PATCH', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/times/{time_id}'], 'issues.list_issue_users': ['GET', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/users'], 'issues.upsert_issue_watch': ['PUT', '/issues/{space_name}/boards/{board_id}/issues/{issue_id}/watch'], 'issues.list_labels': ['GET', '/issues/{space_name}/boards/{board_id}/labels'], 'issues.create_label': ['POST', '/issues/{space_name}/boards/{board_id}/labels'], 'issues.get_label': ['GET', '/issues/{space_name}/boards/{board_id}/labels/{label_id}'], 'issues.delete_label': ['DELETE', '/issues/{space_name}/boards/{board_id}/labels/{label_id}'], 'issues.update_label': ['PATCH', '/issues/{space_name}/boards/{board_id}/labels/{label_id}'], 'issues.list_milestones': ['GET', '/issues/{space_name}/boards/{board_id}/milestones'], 'issues.create_milestone': ['POST', '/issues/{space_name}/boards/{board_id}/milestones'], 'issues.get_milestone': ['GET', '/issues/{space_name}/boards/{board_id}/milestones/{milestone_id}'], 'issues.delete_milestone': ['DELETE', '/issues/{space_name}/boards/{board_id}/milestones/{milestone_id}'], 'issues.update_milestone': ['PATCH', '/issues/{space_name}/boards/{board_id}/milestones/{milestone_id}'], 'issues.list_board_pins': ['GET', '/issues/{space_name}/boards/{board_id}/pins'], 'issues.create_pin': ['POST', '/issues/{space_name}/boards/{board_id}/pins'], 'issues.delete_pin': ['DELETE', '/issues/{space_name}/boards/{board_id}/pins/{pin_id}'], 'issues.update_pin': ['PATCH', '/issues/{space_name}/boards/{board_id}/pins/{pin_id}'], 'licenses.list_licenses': ['GET', '/licenses'], 'licenses.get_license': ['GET', '/licenses/{name}'], 'account.me': ['GET', '/me'], 'account.update_profile': ['PATCH', '/me'], 'account.accept_agreement': ['PUT', '/me/agreements/{key}'], 'user.get_avatar': ['GET', '/me/avatar'], 'user.upload_avatar': ['PUT', '/me/avatar'], 'user.delete_avatar': ['DELETE', '/me/avatar'], 'deletion.deletion_status': ['GET', '/me/deletion'], 'deletion.request_deletion': ['POST', '/me/deletion'], 'deletion.cancel_deletion': ['DELETE', '/me/deletion'], 'account.list_devices': ['GET', '/me/devices'], 'account.delete_device': ['DELETE', '/me/devices/{device_id}'], 'account.update_device': ['PATCH', '/me/devices/{device_id}'], 'user.list_emails': ['GET', '/me/emails'], 'user.add_email': ['POST', '/me/emails'], 'user.verify_add_email': ['POST', '/me/emails/verify'], 'user.delete_email': ['DELETE', '/me/emails/{email_id}'], 'user.set_primary_email': ['PATCH', '/me/emails/{email_id}/primary'], 'user.list_memes': ['GET', '/me/memes'], 'user.create_meme': ['POST', '/me/memes'], 'user.update_meme': ['PUT', '/me/memes/{meme_id}'], 'user.delete_meme': ['DELETE', '/me/memes/{meme_id}'], 'user.list_saved_messages': ['GET', '/me/messages/saved'], 'user.save_message': ['POST', '/me/messages/saved'], 'user.unsave_message': ['DELETE', '/me/messages/saved/{message_id}'], 'notifications.list_notifications': ['GET', '/me/notifications'], 'account.mark_notifications_read': ['PUT', '/me/notifications/read'], 'notifications.unread_notifications_count': ['GET', '/me/notifications/unread-count'], 'notifications.delete_notification': ['DELETE', '/me/notifications/{notification_id}'], 'account.get_preferences': ['GET', '/me/preferences'], 'account.update_preferences': ['PATCH', '/me/preferences'], 'user.list_push_subscriptions': ['GET', '/me/push-subscriptions'], 'user.upsert_push_subscription': ['POST', '/me/push-subscriptions'], 'user.delete_push_subscription': ['DELETE', '/me/push-subscriptions/{push_id}'], 'user.recent_mentions': ['GET', '/me/recent-mentions'], 'user.my_reports': ['GET', '/me/reports'], 'reports.create_report': ['POST', '/me/reports'], 'user.list_sessions': ['GET', '/me/sessions'], 'user.revoke_all_sessions': ['DELETE', '/me/sessions'], 'user.revoke_session': ['DELETE', '/me/sessions/{session_id}'], 'user.my_spaces': ['GET', '/me/spaces'], 'user.my_suspensions': ['GET', '/me/suspensions'], 'account.update_username': ['PUT', '/me/username'], 'pulls.list_my_pulls': ['GET', '/pulls/@me/{scope}'], 'push.push_config': ['GET', '/push/config'], 'content.caller_signature': ['POST', '/repos/utils/commit-signature'], 'patches.patch_parse': ['POST', '/repos/utils/patch/parse'], 'repos.list_repos': ['GET', '/repos/{space_name}'], 'repos.create_repo': ['POST', '/repos/{space_name}'], 'repos.get_repo': ['GET', '/repos/{space_name}/{repo_name}'], 'repos.update_repo': ['PATCH', '/repos/{space_name}/{repo_name}'], 'analysis.code_activity': ['GET', '/repos/{space_name}/{repo_name}/analysis/code-activity'], 'analysis.contributors': ['GET', '/repos/{space_name}/{repo_name}/analysis/contributors'], 'analysis.languages_read': ['GET', '/repos/{space_name}/{repo_name}/analysis/languages'], 'analysis.languages': ['POST', '/repos/{space_name}/{repo_name}/analysis/languages'], 'repos.archive_repo': ['POST', '/repos/{space_name}/{repo_name}/archive'], 'archives.create_archive': ['POST', '/repos/{space_name}/{repo_name}/archives'], 'archives.create_bundle': ['POST', '/repos/{space_name}/{repo_name}/archives/bundle'], 'archives.get_archive': ['GET', '/repos/{space_name}/{repo_name}/archives/{revision}'], 'blame.blame': ['GET', '/repos/{space_name}/{repo_name}/blame'], 'blobs.blob_content': ['GET', '/repos/{space_name}/{repo_name}/blobs/{oid}/content'], 'blobs.blob_metadata': ['GET', '/repos/{space_name}/{repo_name}/blobs/{oid}/metadata'], 'protection.list_policies': ['GET', '/repos/{space_name}/{repo_name}/branch-protection'], 'protection.create_policy': ['POST', '/repos/{space_name}/{repo_name}/branch-protection'], 'protection.get_policy': ['GET', '/repos/{space_name}/{repo_name}/branch-protection/{policy_id}'], 'protection.delete_policy': ['DELETE', '/repos/{space_name}/{repo_name}/branch-protection/{policy_id}'], 'protection.update_policy': ['PATCH', '/repos/{space_name}/{repo_name}/branch-protection/{policy_id}'], 'branch_protection.list_branch_whitelists': [ 'GET', '/repos/{space_name}/{repo_name}/branch-protection/{policy_id}/whitelists' ], 'branch_protection.add_branch_whitelist': [ 'POST', '/repos/{space_name}/{repo_name}/branch-protection/{policy_id}/whitelists' ], 'branch_protection.remove_branch_whitelist': [ 'DELETE', '/repos/{space_name}/{repo_name}/branch-protection/{policy_id}/whitelists/{whitelist_id}' ], 'branches.list_branches': ['GET', '/repos/{space_name}/{repo_name}/branches'], 'branches.create_branch': ['POST', '/repos/{space_name}/{repo_name}/branches'], 'branches.get_branch': ['GET', '/repos/{space_name}/{repo_name}/branches/{name}'], 'branches.delete_branch': ['DELETE', '/repos/{space_name}/{repo_name}/branches/{name}'], 'branches.rename_branch': ['PATCH', '/repos/{space_name}/{repo_name}/branches/{name}'], 'branches.set_default_branch': ['PUT', '/repos/{space_name}/{repo_name}/branches/{name}/default'], 'codeComments.list_code_comments': ['GET', '/repos/{space_name}/{repo_name}/code-comments'], 'codeComments.create_code_comment': ['POST', '/repos/{space_name}/{repo_name}/code-comments'], 'codeComments.delete_code_comment': ['DELETE', '/repos/{space_name}/{repo_name}/code-comments/{comment_id}'], 'codeComments.update_code_comment': ['PATCH', '/repos/{space_name}/{repo_name}/code-comments/{comment_id}'], 'codeComments.resolve_code_comment': ['PUT', '/repos/{space_name}/{repo_name}/code-comments/{comment_id}/resolve'], 'codeComments.unresolve_code_comment': [ 'DELETE', '/repos/{space_name}/{repo_name}/code-comments/{comment_id}/resolve' ], 'commits.set_commit_status': ['POST', '/repos/{space_name}/{repo_name}/commit-statuses'], 'commits.list_commit_statuses': ['GET', '/repos/{space_name}/{repo_name}/commit-statuses/{sha}'], 'commits.list_commits': ['GET', '/repos/{space_name}/{repo_name}/commits'], 'commits.is_ancestor': ['GET', '/repos/{space_name}/{repo_name}/commits/ancestor'], 'commits.commit_stats': ['GET', '/repos/{space_name}/{repo_name}/commits/stats'], 'commits.get_commit': ['GET', '/repos/{space_name}/{repo_name}/commits/{revision}'], 'conflicts.get_conflicts': ['GET', '/repos/{space_name}/{repo_name}/conflicts'], 'conflicts.conflict_detail': ['GET', '/repos/{space_name}/{repo_name}/conflicts/detail'], 'diffs.get_diff': ['GET', '/repos/{space_name}/{repo_name}/diff'], 'diffs.diff_for_commit': ['GET', '/repos/{space_name}/{repo_name}/diff/for-commit/{commit}'], 'diffs.range_diff': ['GET', '/repos/{space_name}/{repo_name}/diff/range'], 'diffs.diff_raw': ['GET', '/repos/{space_name}/{repo_name}/diff/raw'], 'pipelines.environments': ['GET', '/repos/{space_name}/{repo_name}/environments'], 'pipelines.upsert_environment': ['PUT', '/repos/{space_name}/{repo_name}/environments/{name}'], 'hooks.execute_script': ['POST', '/repos/{space_name}/{repo_name}/hooks/{script}'], 'blobs.list_lfs_pointers': ['GET', '/repos/{space_name}/{repo_name}/lfs-pointers'], 'lfs.list_locks': ['GET', '/repos/{space_name}/{repo_name}/lfs/locks'], 'lfs.lock': ['POST', '/repos/{space_name}/{repo_name}/lfs/locks'], 'lfs.unlock': ['DELETE', '/repos/{space_name}/{repo_name}/lfs/locks'], 'lfs.verify_locks': ['POST', '/repos/{space_name}/{repo_name}/lfs/locks/verify'], 'lfs.unlock_by_id': ['DELETE', '/repos/{space_name}/{repo_name}/lfs/locks/{lock_id}'], 'patches.patch_generate': ['GET', '/repos/{space_name}/{repo_name}/patch/generate'], 'logs.path_log': ['GET', '/repos/{space_name}/{repo_name}/path-log'], 'pipelines.list_runs': ['GET', '/repos/{space_name}/{repo_name}/pipelines'], 'pipelines.download_actions_artifact': [ 'GET', '/repos/{space_name}/{repo_name}/pipelines/actions-artifacts/{artifact_id}/download' ], 'pipelines.download_artifact': ['GET', '/repos/{space_name}/{repo_name}/pipelines/artifacts/{artifact_id}/download'], 'pipelines.dispatch': ['POST', '/repos/{space_name}/{repo_name}/pipelines/dispatches'], 'pipelines.trigger': ['POST', '/repos/{space_name}/{repo_name}/pipelines/trigger'], 'pipelines.list_workflows': ['GET', '/repos/{space_name}/{repo_name}/pipelines/workflows'], 'pipelines.get_run': ['GET', '/repos/{space_name}/{repo_name}/pipelines/{run_id}'], 'pipelines.approvals': ['GET', '/repos/{space_name}/{repo_name}/pipelines/{run_id}/approvals'], 'pipelines.review': ['POST', '/repos/{space_name}/{repo_name}/pipelines/{run_id}/approvals/{review_id}'], 'pipelines.list_artifacts': ['GET', '/repos/{space_name}/{repo_name}/pipelines/{run_id}/artifacts'], 'pipelines.cancel_run': ['POST', '/repos/{space_name}/{repo_name}/pipelines/{run_id}/cancel'], 'pipelines.read_logs': ['GET', '/repos/{space_name}/{repo_name}/pipelines/{run_id}/jobs/{job_id}/logs'], 'pipelines.rerun': ['POST', '/repos/{space_name}/{repo_name}/pipelines/{run_id}/rerun'], 'pulls.list_pulls': ['GET', '/repos/{space_name}/{repo_name}/pulls'], 'pulls.create_pull': ['POST', '/repos/{space_name}/{repo_name}/pulls'], 'pulls.list_label_options': ['GET', '/repos/{space_name}/{repo_name}/pulls/label-options'], 'pulls.get_pull': ['GET', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}'], 'pulls.delete_pull': ['DELETE', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}'], 'pulls.update_pull': ['PATCH', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}'], 'pulls.list_pull_assignees': ['GET', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/assignees'], 'pulls.add_pull_assignee': ['POST', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/assignees/{user_ref}'], 'pulls.remove_pull_assignee': ['DELETE', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/assignees/{user_ref}'], 'pulls.get_pull_checks': ['GET', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/checks'], 'pulls.close_pull': ['POST', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/close'], 'pulls.list_pull_comments': ['GET', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/comments'], 'pulls.create_pull_comment': ['POST', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/comments'], 'pulls.list_pull_comment_tree': ['GET', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/comments/tree'], 'pulls.delete_pull_comment': ['DELETE', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/comments/{comment_id}'], 'pulls.update_pull_comment': ['PATCH', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/comments/{comment_id}'], 'pulls.resolve_pull_comment': [ 'PUT', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/comments/{comment_id}/resolve' ], 'pulls.unresolve_pull_comment': [ 'DELETE', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/comments/{comment_id}/resolve' ], 'pulls.list_pull_commits': ['GET', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/commits'], 'pulls.list_pull_events': ['GET', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/events'], 'pulls.get_pull_files': ['GET', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/files'], 'pulls.get_pull_gate': ['GET', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/gate'], 'pulls.list_pull_labels': ['GET', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/labels'], 'pulls.attach_pull_label': ['POST', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/labels'], 'pulls.detach_pull_label': ['DELETE', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/labels/{label_ref}'], 'pulls.lock_pull': ['PUT', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/lock'], 'pulls.unlock_pull': ['DELETE', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/lock'], 'pulls.merge_pull': ['POST', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/merge'], 'pulls.get_pull_patch': ['GET', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/patch'], 'pulls.reopen_pull': ['POST', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/reopen'], 'reviews.list_requested_reviewers': ['GET', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/requested-reviewers'], 'reviews.request_reviewers': ['POST', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/requested-reviewers'], 'reviews.delete_requested_reviewer': [ 'DELETE', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/requested-reviewers/{user_id}' ], 'reviews.list_reviews': ['GET', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/reviews'], 'reviews.submit_review': ['POST', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/reviews'], 'reviews.get_review': ['GET', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/reviews/{review_id}'], 'reviews.dismiss_review': ['PUT', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/reviews/{review_id}/dismiss'], 'reviews.publish_review': ['POST', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/reviews/{review_id}/submit'], 'pulls.refresh_pull_summary': ['POST', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/summary'], 'pulls.update_branch_pull': ['POST', '/repos/{space_name}/{repo_name}/pulls/{pull_ref}/update-branch'], 'releases.list_releases': ['GET', '/repos/{space_name}/{repo_name}/releases'], 'releases.create_release': ['POST', '/repos/{space_name}/{repo_name}/releases'], 'releases.get_release': ['GET', '/repos/{space_name}/{repo_name}/releases/{tag}'], 'releases.delete_release': ['DELETE', '/repos/{space_name}/{repo_name}/releases/{tag}'], 'releases.update_release': ['PATCH', '/repos/{space_name}/{repo_name}/releases/{tag}'], 'remotes.list_remotes': ['GET', '/repos/{space_name}/{repo_name}/remotes'], 'remotes.fetch': ['POST', '/repos/{space_name}/{repo_name}/remotes/fetch'], 'remotes.clone_import': ['POST', '/repos/{space_name}/{repo_name}/remotes/import'], 'remotes.push': ['POST', '/repos/{space_name}/{repo_name}/remotes/push'], 'remotes.upsert_remote': ['PUT', '/repos/{space_name}/{repo_name}/remotes/{name}'], 'remotes.remove': ['DELETE', '/repos/{space_name}/{repo_name}/remotes/{name}'], 'commits.rev_parse': ['GET', '/repos/{space_name}/{repo_name}/rev/{revision}'], 'pipelines.list_repo_secrets': ['GET', '/repos/{space_name}/{repo_name}/secrets'], 'pipelines.upsert_repo_secret': ['PUT', '/repos/{space_name}/{repo_name}/secrets/{name}'], 'pipelines.delete_repo_secret': ['DELETE', '/repos/{space_name}/{repo_name}/secrets/{name}'], 'signatures.verify_commit': ['GET', '/repos/{space_name}/{repo_name}/signatures/commit/{sha}'], 'signatures.verify_tag': ['GET', '/repos/{space_name}/{repo_name}/signatures/tag/{name}'], 'repos.star_repo': ['PUT', '/repos/{space_name}/{repo_name}/star'], 'repos.unstar_repo': ['DELETE', '/repos/{space_name}/{repo_name}/star'], 'repos.list_stargazers': ['GET', '/repos/{space_name}/{repo_name}/stargazers'], 'submodules.submodule_list': ['GET', '/repos/{space_name}/{repo_name}/submodules'], 'submodules.submodule_resolve': ['GET', '/repos/{space_name}/{repo_name}/submodules/resolve'], 'search.repo_symbols': ['GET', '/repos/{space_name}/{repo_name}/symbols'], 'search.symbol_references': ['GET', '/repos/{space_name}/{repo_name}/symbols/{symbol_name}/references'], 'tag_protection.list_policies': ['GET', '/repos/{space_name}/{repo_name}/tag-protection'], 'tag_protection.create_policy': ['POST', '/repos/{space_name}/{repo_name}/tag-protection'], 'tag_protection.get_policy': ['GET', '/repos/{space_name}/{repo_name}/tag-protection/{policy_id}'], 'tag_protection.delete_policy': ['DELETE', '/repos/{space_name}/{repo_name}/tag-protection/{policy_id}'], 'tag_protection.update_policy': ['PATCH', '/repos/{space_name}/{repo_name}/tag-protection/{policy_id}'], 'tag_protection.list_tag_whitelists': [ 'GET', '/repos/{space_name}/{repo_name}/tag-protection/{policy_id}/whitelists' ], 'tag_protection.add_tag_whitelist': ['POST', '/repos/{space_name}/{repo_name}/tag-protection/{policy_id}/whitelists'], 'tag_protection.remove_tag_whitelist': [ 'DELETE', '/repos/{space_name}/{repo_name}/tag-protection/{policy_id}/whitelists/{user_id}' ], 'tags.list_tags': ['GET', '/repos/{space_name}/{repo_name}/tags'], 'tags.create_tag': ['POST', '/repos/{space_name}/{repo_name}/tags'], 'tags.get_tag': ['GET', '/repos/{space_name}/{repo_name}/tags/{name}'], 'tags.delete_tag': ['DELETE', '/repos/{space_name}/{repo_name}/tags/{name}'], 'repos.list_repo_topics': ['GET', '/repos/{space_name}/{repo_name}/topics'], 'repos.add_topic_to_repo': ['PUT', '/repos/{space_name}/{repo_name}/topics/{topic_name}'], 'repos.remove_topic_from_repo': ['DELETE', '/repos/{space_name}/{repo_name}/topics/{topic_name}'], 'trees.get_tree': ['GET', '/repos/{space_name}/{repo_name}/tree/{revision}'], 'repos.unarchive_repo': ['POST', '/repos/{space_name}/{repo_name}/unarchive'], 'pipelines.variables': ['GET', '/repos/{space_name}/{repo_name}/variables'], 'pipelines.upsert_variable': ['PUT', '/repos/{space_name}/{repo_name}/variables/{name}'], 'pipelines.delete_variable': ['DELETE', '/repos/{space_name}/{repo_name}/variables/{name}'], 'repos.upsert_watch': ['PUT', '/repos/{space_name}/{repo_name}/watch'], 'repos.list_watchers': ['GET', '/repos/{space_name}/{repo_name}/watchers'], 'search.global_search': ['GET', '/search'], 'space.list_spaces': ['GET', '/spaces'], 'space.create_space': ['POST', '/spaces'], 'space.explore_spaces': ['GET', '/spaces/explore'], 'space.accept_invite': ['POST', '/spaces/invites/accept'], 'space.reject_invite': ['POST', '/spaces/invites/reject'], 'space.get_space': ['GET', '/spaces/{space_name}'], 'space.delete_space': ['DELETE', '/spaces/{space_name}'], 'space.update_space': ['PATCH', '/spaces/{space_name}'], 'space.list_bans': ['GET', '/spaces/{space_name}/bans'], 'space.ban_user': ['POST', '/spaces/{space_name}/bans'], 'space.get_ban': ['GET', '/spaces/{space_name}/bans/{user_id}'], 'space.unban_user': ['DELETE', '/spaces/{space_name}/bans/{user_id}'], 'space.update_ban': ['PATCH', '/spaces/{space_name}/bans/{user_id}'], 'cleanup.list_cleanup_objects': ['GET', '/spaces/{space_name}/cleanup'], 'cleanup.delete_cleanup_object': ['DELETE', '/spaces/{space_name}/cleanup/{kind}/{object_id}'], 'cleanup.set_cleanup_archive': ['POST', '/spaces/{space_name}/cleanup/{kind}/{object_id}/archive'], 'cleanup.clear_cleanup_overwrites': ['DELETE', '/spaces/{space_name}/cleanup/{kind}/{object_id}/overwrites'], 'cleanup.set_cleanup_visibility': ['POST', '/spaces/{space_name}/cleanup/{kind}/{object_id}/visibility'], 'space.get_space_dir_tree': ['GET', '/spaces/{space_name}/dir'], 'space.create_dir_node': ['POST', '/spaces/{space_name}/dir'], 'space.repair_dir_parents': ['POST', '/spaces/{space_name}/dir/repair-parents'], 'space.update_dir_node': ['PATCH', '/spaces/{space_name}/dir/{dir_id}'], 'space.list_dir_group_overwrites': ['GET', '/spaces/{space_name}/dir/{dir_id}/overwrites/groups'], 'space.set_dir_group_overwrite': ['PUT', '/spaces/{space_name}/dir/{dir_id}/overwrites/groups/{group_id}'], 'space.remove_dir_group_overwrite': ['DELETE', '/spaces/{space_name}/dir/{dir_id}/overwrites/groups/{group_id}'], 'space.list_dir_user_overwrites': ['GET', '/spaces/{space_name}/dir/{dir_id}/overwrites/users'], 'space.set_dir_user_overwrite': ['PUT', '/spaces/{space_name}/dir/{dir_id}/overwrites/users/{user_id}'], 'space.remove_dir_user_overwrite': ['DELETE', '/spaces/{space_name}/dir/{dir_id}/overwrites/users/{user_id}'], 'space.move_dir_node': ['PATCH', '/spaces/{space_name}/dir/{dir_id}/position'], 'pipelines.list_environments': ['GET', '/spaces/{space_name}/environments'], 'pipelines.list_deployments': ['GET', '/spaces/{space_name}/environments/{name}/deployments'], 'space.list_groups': ['GET', '/spaces/{space_name}/groups'], 'space.create_group': ['POST', '/spaces/{space_name}/groups'], 'space.get_group': ['GET', '/spaces/{space_name}/groups/{group_id}'], 'space.delete_group': ['DELETE', '/spaces/{space_name}/groups/{group_id}'], 'space.update_group': ['PATCH', '/spaces/{space_name}/groups/{group_id}'], 'space.join_group_self': ['POST', '/spaces/{space_name}/groups/{group_id}/join'], 'space.leave_group_self': ['DELETE', '/spaces/{space_name}/groups/{group_id}/join'], 'space.get_space_image': ['GET', '/spaces/{space_name}/images/{kind}'], 'space.upload_space_image': ['PUT', '/spaces/{space_name}/images/{kind}'], 'space.delete_space_image': ['DELETE', '/spaces/{space_name}/images/{kind}'], 'space.get_space_image_file': ['GET', '/spaces/{space_name}/images/{kind}/file'], 'space.list_invites': ['GET', '/spaces/{space_name}/invites'], 'space.create_invite': ['POST', '/spaces/{space_name}/invites'], 'space.revoke_invite': ['DELETE', '/spaces/{space_name}/invites/{invite_id}'], 'space.list_join_requests': ['GET', '/spaces/{space_name}/join-requests'], 'space.create_join_request': ['POST', '/spaces/{space_name}/join-requests'], 'space.withdraw_join_request': ['DELETE', '/spaces/{space_name}/join-requests/{request_id}'], 'space.approve_join_request': ['POST', '/spaces/{space_name}/join-requests/{request_id}/approve'], 'space.reject_join_request': ['POST', '/spaces/{space_name}/join-requests/{request_id}/reject'], 'space.list_join_rules': ['GET', '/spaces/{space_name}/join-rules'], 'space.create_join_rule': ['POST', '/spaces/{space_name}/join-rules'], 'space.delete_join_rule': ['DELETE', '/spaces/{space_name}/join-rules/{rule_id}'], 'space.update_join_rule': ['PATCH', '/spaces/{space_name}/join-rules/{rule_id}'], 'space.list_space_members': ['GET', '/spaces/{space_name}/members'], 'space.add_member': ['POST', '/spaces/{space_name}/members'], 'space.leave_space': ['DELETE', '/spaces/{space_name}/members/@me'], 'space.update_self_member': ['PATCH', '/spaces/{space_name}/members/@me'], 'space.get_member': ['GET', '/spaces/{space_name}/members/{user_id}'], 'space.remove_member': ['DELETE', '/spaces/{space_name}/members/{user_id}'], 'space.update_member': ['PATCH', '/spaces/{space_name}/members/{user_id}'], 'space.assign_group': ['POST', '/spaces/{space_name}/members/{user_id}/groups'], 'space.unassign_group': ['DELETE', '/spaces/{space_name}/members/{user_id}/groups/{group_id}'], 'pipelines.list_space_secrets': ['GET', '/spaces/{space_name}/secrets'], 'topics.list_topics': ['GET', '/topics'], 'topics.create_topic': ['POST', '/topics'], 'topics.get_topic': ['GET', '/topics/{name}'], 'topics.list_repos_by_topic': ['GET', '/topics/{name}/repos'], 'users.list_users_batch': ['GET', '/users'], 'users.get_user_by_username': ['GET', '/users/by-username/{username}'], 'users.get_user': ['GET', '/users/{user_id}'], 'users.get_user_avatar': ['GET', '/users/{user_id}/avatar'], 'user.get_profile_detail': ['GET', '/users/{user_id}/profile-detail'] };