openapi: 3.1.0 info: title: Codit Backend API version: 0.1.0 description: 'Backend API contract for Codit. This file is a generated baseline from the Go route table and frontend API wrapper. JSON schemas are intentionally extensible; refine individual request/response schemas as endpoints stabilize. ' servers: - url: http://127.0.0.1:1080 description: Local development server security: - cookieAuth: [] - apiKeyAuth: [] tags: - name: System description: Health and diagnostics - name: Auth description: Login, logout, OIDC, and current user - name: Users and Groups description: Users, groups, and permissions - name: API Keys description: Current-user API keys - name: Admin Principals description: Admin API keys and service principals - name: Admin Auth description: Site authentication settings - name: Admin TLS description: TLS listeners and auth policies - name: Public PKI description: Unauthenticated PKI publishing endpoints - name: Admin PKI description: Administrative PKI, client cert, and ACME APIs - name: PKI Self Service description: Authenticated client certificate self-service - name: Admin SSH description: Administrative SSH CA, grant, server, profile, and session APIs - name: SSH Self Service description: Authenticated SSH certificate and server/session self-service - name: Projects and Repositories description: Projects, repositories, Git, RPM, and Docker metadata APIs - name: Issues description: Issue APIs - name: Wiki description: Wiki page APIs - name: Uploads description: Project upload APIs - name: Admin RPM description: Administrative RPM mirror status paths: /api/health: get: tags: - System summary: Health operationId: Health x-codit-handler: Health security: [] responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/HealthResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /api/app-info: get: tags: - System summary: Application Info operationId: AppInfo x-codit-handler: AppInfo security: [] responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AppInfo' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /api/login: post: tags: - Auth summary: Login operationId: Login x-codit-handler: Login security: [] requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/LoginRequest' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/User' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /api/logout: post: tags: - Auth summary: Logout operationId: Logout x-codit-handler: Logout requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/auth/oidc/enabled: get: tags: - Auth summary: OIDCEnabled operationId: OIDCEnabled x-codit-handler: OIDCEnabled security: [] responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /api/auth/oidc/login: get: tags: - Auth summary: OIDCLogin operationId: OIDCLogin x-codit-handler: OIDCLogin security: [] responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /api/auth/oidc/callback: get: tags: - Auth summary: OIDCCallback operationId: OIDCCallback x-codit-handler: OIDCCallback security: [] responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /api/me: get: tags: - Auth summary: Me operationId: Me x-codit-handler: Me responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/User' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' patch: tags: - Auth summary: Update Me operationId: UpdateMe x-codit-handler: UpdateMe requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/User' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/me/totp: get: tags: - Auth summary: Get My TOTP Status operationId: GetMyTOTP x-codit-handler: GetMyTOTP responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/TOTPStatus' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/me/totp/setup: post: tags: - Auth summary: Start My TOTP Setup operationId: SetupMyTOTP x-codit-handler: SetupMyTOTP responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/TOTPSetup' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/me/totp/enable: post: tags: - Auth summary: Enable My TOTP operationId: EnableMyTOTP x-codit-handler: EnableMyTOTP requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TOTPCodeRequest' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/TOTPStatus' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/me/totp/verify: post: tags: - Auth summary: Verify My TOTP For Current Session operationId: VerifyMyTOTP x-codit-handler: VerifyMyTOTP requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TOTPCodeRequest' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/TOTPStatus' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/me/totp/disable: post: tags: - Auth summary: Disable My TOTP operationId: DisableMyTOTP x-codit-handler: DisableMyTOTP requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TOTPDisableRequest' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/TOTPStatus' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/users: get: tags: - Users and Groups summary: List Users operationId: ListUsers x-codit-handler: ListUsers parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/User' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: tags: - Users and Groups summary: Create User operationId: CreateUser x-codit-handler: CreateUser requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/User' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/users/{id}: patch: tags: - Users and Groups summary: Update User operationId: UpdateUser x-codit-handler: UpdateUser requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/User' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: tags: - Users and Groups summary: Delete User operationId: DeleteUser x-codit-handler: DeleteUser parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/users/{id}/disable: post: tags: - Users and Groups summary: Disable User operationId: DisableUser x-codit-handler: DisableUser requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/users/{id}/enable: post: tags: - Users and Groups summary: Enable User operationId: EnableUser x-codit-handler: EnableUser requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/users/{id}/totp/reset: post: tags: - Users and Groups summary: Reset User TOTP operationId: ResetUserTOTPAdmin x-codit-handler: ResetUserTOTPAdmin parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/user-groups: get: tags: - Users and Groups summary: List User Groups operationId: ListUserGroups x-codit-handler: ListUserGroups parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/UserGroup' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Users and Groups summary: Create User Group operationId: CreateUserGroup x-codit-handler: CreateUserGroup requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/UserGroup' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/user-groups/{id}: patch: tags: - Users and Groups summary: Update User Group operationId: UpdateUserGroup x-codit-handler: UpdateUserGroup requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/UserGroup' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Users and Groups summary: Delete User Group operationId: DeleteUserGroup x-codit-handler: DeleteUserGroup parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/user-groups/{id}/members: get: tags: - Users and Groups summary: List User Group Members operationId: ListUserGroupMembers x-codit-handler: ListUserGroupMembers parameters: - name: id in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/UserGroup' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Users and Groups summary: Add User Group Member operationId: AddUserGroupMember x-codit-handler: AddUserGroupMember requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/UserGroup' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/user-groups/{id}/members/{userId}: delete: tags: - Users and Groups summary: Remove User Group Member operationId: RemoveUserGroupMember x-codit-handler: RemoveUserGroupMember parameters: - name: id in: path required: true schema: type: string - name: userId in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/permissions: get: tags: - Users and Groups summary: List Subject Permissions operationId: ListSubjectPermissions x-codit-handler: ListSubjectPermissions parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SubjectPermission' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Users and Groups summary: Create Subject Permissions operationId: CreateSubjectPermissions x-codit-handler: CreateSubjectPermissions requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SubjectPermission' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/permissions/{permission}/{subjectType}/{subjectID}: delete: tags: - Users and Groups summary: Delete Subject Permission operationId: DeleteSubjectPermission x-codit-handler: DeleteSubjectPermission parameters: - name: permission in: path required: true schema: type: string - name: subjectType in: path required: true schema: type: string - name: subjectID in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/auth: get: tags: - Admin Auth summary: Get Auth Settings operationId: GetAuthSettings_Get_api_admin_auth x-codit-handler: GetAuthSettings responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Admin Auth summary: Update Auth Settings operationId: UpdateAuthSettings_Patch_api_admin_auth x-codit-handler: UpdateAuthSettings requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/auth/test: post: tags: - Admin Auth summary: Test LDAPSettings operationId: TestLDAPSettings_Post_api_admin_auth_test x-codit-handler: TestLDAPSettings requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/tls: get: tags: - Admin TLS summary: Get TLSSettings operationId: GetTLSSettings x-codit-handler: GetTLSSettings responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/TLSObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Admin TLS summary: Update TLSSettings operationId: UpdateTLSSettings x-codit-handler: UpdateTLSSettings requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/TLSObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/tls/auth-policies: get: tags: - Admin TLS summary: List TLSAuth Policies operationId: ListTLSAuthPolicies x-codit-handler: ListTLSAuthPolicies parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/TLSObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin TLS summary: Create TLSAuth Policy operationId: CreateTLSAuthPolicy x-codit-handler: CreateTLSAuthPolicy requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/TLSObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/tls/auth-policies/{id}: patch: tags: - Admin TLS summary: Update TLSAuth Policy operationId: UpdateTLSAuthPolicy x-codit-handler: UpdateTLSAuthPolicy requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/TLSObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Admin TLS summary: Delete TLSAuth Policy operationId: DeleteTLSAuthPolicy x-codit-handler: DeleteTLSAuthPolicy parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/tls/listeners: get: tags: - Admin TLS summary: List TLSListeners operationId: ListTLSListeners x-codit-handler: ListTLSListeners parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/TLSObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin TLS summary: Create TLSListener operationId: CreateTLSListener x-codit-handler: CreateTLSListener requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/TLSObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/tls/listeners/runtime: get: tags: - Admin TLS summary: Get TLSListener Runtime Status operationId: GetTLSListenerRuntimeStatus x-codit-handler: GetTLSListenerRuntimeStatus parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/TLSObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/tls/listeners/{id}: patch: tags: - Admin TLS summary: Update TLSListener operationId: UpdateTLSListener x-codit-handler: UpdateTLSListener requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/TLSObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Admin TLS summary: Delete TLSListener operationId: DeleteTLSListener x-codit-handler: DeleteTLSListener parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/service-principals: get: tags: - Admin Principals summary: List Service Principals operationId: ListServicePrincipals x-codit-handler: ListServicePrincipals parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ServicePrincipal' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin Principals summary: Create Service Principal operationId: CreateServicePrincipal x-codit-handler: CreateServicePrincipal requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ServicePrincipal' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/service-principals/{id}: patch: tags: - Admin Principals summary: Update Service Principal operationId: UpdateServicePrincipal x-codit-handler: UpdateServicePrincipal requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ServicePrincipal' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Admin Principals summary: Delete Service Principal operationId: DeleteServicePrincipal x-codit-handler: DeleteServicePrincipal parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/service-principals/{id}/api-keys: get: tags: - Admin Principals summary: List Service Principal APIKeys operationId: ListServicePrincipalAPIKeys x-codit-handler: ListServicePrincipalAPIKeys parameters: - name: id in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/APIKey' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin Principals summary: Create Service Principal APIKey operationId: CreateServicePrincipalAPIKey x-codit-handler: CreateServicePrincipalAPIKey requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/APIKeyCreateRequest' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/APIKey' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/service-principals/{id}/api-keys/{keyId}: delete: tags: - Admin Principals summary: Delete Service Principal APIKey operationId: DeleteServicePrincipalAPIKey x-codit-handler: DeleteServicePrincipalAPIKey parameters: - name: id in: path required: true schema: type: string - name: keyId in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/service-principals/{id}/api-keys/{keyId}/disable: post: tags: - Admin Principals summary: Disable Service Principal APIKey operationId: DisableServicePrincipalAPIKey x-codit-handler: DisableServicePrincipalAPIKey requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string - name: keyId in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/service-principals/{id}/api-keys/{keyId}/enable: post: tags: - Admin Principals summary: Enable Service Principal APIKey operationId: EnableServicePrincipalAPIKey x-codit-handler: EnableServicePrincipalAPIKey requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string - name: keyId in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/service-principals/{id}/roles: get: tags: - Admin Principals summary: List Principal Project Roles operationId: ListPrincipalProjectRoles x-codit-handler: ListPrincipalProjectRoles parameters: - name: id in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Project' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin Principals summary: Upsert Principal Project Role operationId: UpsertPrincipalProjectRole x-codit-handler: UpsertPrincipalProjectRole requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Project' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/service-principals/{id}/roles/{projectId}: delete: tags: - Admin Principals summary: Delete Principal Project Role operationId: DeletePrincipalProjectRole x-codit-handler: DeletePrincipalProjectRole parameters: - name: id in: path required: true schema: type: string - name: projectId in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/cert-principal-bindings: get: tags: - Admin Principals summary: List Cert Principal Bindings operationId: ListCertPrincipalBindings x-codit-handler: ListCertPrincipalBindings parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin Principals summary: Upsert Cert Principal Binding operationId: UpsertCertPrincipalBinding x-codit-handler: UpsertCertPrincipalBinding requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/cert-principal-bindings/{fingerprint}: delete: tags: - Admin Principals summary: Delete Cert Principal Binding operationId: DeleteCertPrincipalBinding x-codit-handler: DeleteCertPrincipalBinding parameters: - name: fingerprint in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/auth/ldap: get: tags: - Admin Auth summary: Get Auth Settings operationId: GetAuthSettings_Get_api_admin_auth_ldap x-codit-handler: GetAuthSettings responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Admin Auth summary: Update Auth Settings operationId: UpdateAuthSettings_Patch_api_admin_auth_ldap x-codit-handler: UpdateAuthSettings requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/auth/ldap/test: post: tags: - Admin Auth summary: Test LDAPSettings operationId: TestLDAPSettings_Post_api_admin_auth_ldap_test x-codit-handler: TestLDAPSettings requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/cas: get: tags: - Admin PKI summary: List PKICAs operationId: ListPKICAs x-codit-handler: ListPKICAs parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKICA' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/cas/{id}: get: tags: - Admin PKI summary: Get PKICA operationId: GetPKICA x-codit-handler: GetPKICA parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKICA' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Admin PKI summary: Update PKICA operationId: UpdatePKICA x-codit-handler: UpdatePKICA requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKICA' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Admin PKI summary: Delete PKICA operationId: DeletePKICA x-codit-handler: DeletePKICA parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/cas/{id}/bundle: get: tags: - Admin PKI summary: Download PKICABundle operationId: DownloadPKICABundle x-codit-handler: DownloadPKICABundle parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/octet-stream: schema: type: string format: binary '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/cas/root: post: tags: - Admin PKI summary: Create PKIRoot CA operationId: CreatePKIRootCA x-codit-handler: CreatePKIRootCA requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/cas/intermediate: post: tags: - Admin PKI summary: Create PKIIntermediate CA operationId: CreatePKIIntermediateCA x-codit-handler: CreatePKIIntermediateCA requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/cas/{id}/crl: get: tags: - Admin PKI summary: Get PKICRL operationId: GetPKICRL x-codit-handler: GetPKICRL parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKICA' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/certs: get: tags: - Admin PKI summary: List PKICerts operationId: ListPKICerts x-codit-handler: ListPKICerts parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKICert' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin PKI summary: Issue PKICert operationId: IssuePKICert x-codit-handler: IssuePKICert requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKICert' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/certs/{id}: get: tags: - Admin PKI summary: Get PKICert operationId: GetPKICert x-codit-handler: GetPKICert parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKICert' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Admin PKI summary: Delete PKICert operationId: DeletePKICert x-codit-handler: DeletePKICert parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/certs/{id}/inspect: get: tags: - Admin PKI summary: Get PKICert Inspect operationId: GetPKICertInspect x-codit-handler: GetPKICertInspect parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKICert' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/certs/{id}/renew-acme: post: tags: - Admin PKI summary: Renew PKICert With ACME operationId: RenewPKICertWithACME x-codit-handler: RenewPKICertWithACME requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKICert' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/certs/{id}/bundle: get: tags: - Admin PKI summary: Download PKICert Bundle operationId: DownloadPKICertBundle x-codit-handler: DownloadPKICertBundle parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/octet-stream: schema: type: string format: binary '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/certs/import: post: tags: - Admin PKI summary: Import PKICert operationId: ImportPKICert x-codit-handler: ImportPKICert requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKICert' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/certs/{id}/revoke: post: tags: - Admin PKI summary: Revoke PKICert operationId: RevokePKICert x-codit-handler: RevokePKICert requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKICert' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/client/profiles: get: tags: - Admin PKI summary: List PKIClient Profiles operationId: ListPKIClientProfiles x-codit-handler: ListPKIClientProfiles parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKIClientProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin PKI summary: Create PKIClient Profile operationId: CreatePKIClientProfile x-codit-handler: CreatePKIClientProfile requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKIClientProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/client/profiles/{id}: patch: tags: - Admin PKI summary: Update PKIClient Profile operationId: UpdatePKIClientProfile x-codit-handler: UpdatePKIClientProfile requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKIClientProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Admin PKI summary: Delete PKIClient Profile operationId: DeletePKIClientProfile x-codit-handler: DeletePKIClientProfile parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/acme/profiles: get: tags: - Admin PKI summary: List ACMEProfiles operationId: ListACMEProfiles x-codit-handler: ListACMEProfiles parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ACMEProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin PKI summary: Create ACMEProfile operationId: CreateACMEProfile x-codit-handler: CreateACMEProfile requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ACMEProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/acme/profiles/{id}: patch: tags: - Admin PKI summary: Update ACMEProfile operationId: UpdateACMEProfile x-codit-handler: UpdateACMEProfile requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ACMEProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Admin PKI summary: Delete ACMEProfile operationId: DeleteACMEProfile x-codit-handler: DeleteACMEProfile parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/acme/orders: get: tags: - Admin PKI summary: List ACMEOrders operationId: ListACMEOrders x-codit-handler: ListACMEOrders parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ACMEOrder' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin PKI summary: Create ACMEOrder operationId: CreateACMEOrder x-codit-handler: CreateACMEOrder requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ACMEOrder' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/acme/orders/{id}/finalize: post: tags: - Admin PKI summary: Finalize ACMEOrder operationId: FinalizeACMEOrder x-codit-handler: FinalizeACMEOrder requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ACMEOrder' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/pki/acme/orders/{id}: delete: tags: - Admin PKI summary: Delete ACMEOrder operationId: DeleteACMEOrder x-codit-handler: DeleteACMEOrder parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/rpm/mirrors: get: tags: - Admin RPM summary: List Admin RPMMirrors operationId: ListAdminRPMMirrors x-codit-handler: ListAdminRPMMirrors parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/user-cas: get: tags: - Admin SSH summary: List SSHUser CAs operationId: ListSSHUserCAs x-codit-handler: ListSSHUserCAs parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHUserCA' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin SSH summary: Create SSHUser CA operationId: CreateSSHUserCA x-codit-handler: CreateSSHUserCA requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHUserCA' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/user-cas/{id}: get: tags: - Admin SSH summary: Get SSHUser CA operationId: GetSSHUserCA x-codit-handler: GetSSHUserCA parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHUserCA' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Admin SSH summary: Update SSHUser CA operationId: UpdateSSHUserCA x-codit-handler: UpdateSSHUserCA requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHUserCA' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Admin SSH summary: Delete SSHUser CA operationId: DeleteSSHUserCA x-codit-handler: DeleteSSHUserCA parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/user-cas/{id}/public-key: get: tags: - Admin SSH summary: Download SSHUser CAPublic Key operationId: DownloadSSHUserCAPublicKey x-codit-handler: DownloadSSHUserCAPublicKey parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: text/plain: schema: type: string '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/user-cas/{id}/private-key: get: tags: - Admin SSH summary: Download SSHUser CAPrivate Key operationId: DownloadSSHUserCAPrivateKey x-codit-handler: DownloadSSHUserCAPrivateKey parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: text/plain: schema: type: string '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/user-cas/{id}/sign: post: tags: - Admin SSH summary: Sign SSHUser Key operationId: SignSSHUserKey x-codit-handler: SignSSHUserKey requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/user-cas/{id}/issuances: get: tags: - Admin SSH summary: List SSHUser CAIssuances operationId: ListSSHUserCAIssuances x-codit-handler: ListSSHUserCAIssuances parameters: - name: id in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHUserCAIssuance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/issuances: get: tags: - Admin SSH summary: List SSHUser CAIssuances All operationId: ListSSHUserCAIssuancesAll x-codit-handler: ListSSHUserCAIssuancesAll parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHUserCAIssuance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/principal-grants: get: tags: - Admin SSH summary: List SSHPrincipal Grants operationId: ListSSHPrincipalGrants x-codit-handler: ListSSHPrincipalGrants parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHPrincipalGrant' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin SSH summary: Create SSHPrincipal Grant operationId: CreateSSHPrincipalGrant x-codit-handler: CreateSSHPrincipalGrant requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHPrincipalGrant' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/principal-grants/{id}: get: tags: - Admin SSH summary: Get SSHPrincipal Grant operationId: GetSSHPrincipalGrant x-codit-handler: GetSSHPrincipalGrant parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHPrincipalGrant' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Admin SSH summary: Update SSHPrincipal Grant operationId: UpdateSSHPrincipalGrant x-codit-handler: UpdateSSHPrincipalGrant requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHPrincipalGrant' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Admin SSH summary: Delete SSHPrincipal Grant operationId: DeleteSSHPrincipalGrant x-codit-handler: DeleteSSHPrincipalGrant parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/server-groups: get: tags: - Admin SSH summary: List SSH Server Groups Admin operationId: ListSSHServerGroupsAdmin x-codit-handler: ListSSHServerGroupsAdmin responses: '200': description: Successful response. content: application/json: schema: type: array items: $ref: '#/components/schemas/SSHServerGroup' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin SSH summary: Create SSH Server Group Admin operationId: CreateSSHServerGroupAdmin x-codit-handler: CreateSSHServerGroupAdmin requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SSHServerGroupRequest' responses: '201': description: Created. content: application/json: schema: $ref: '#/components/schemas/SSHServerGroup' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/server-groups/{id}: patch: tags: - Admin SSH summary: Update SSH Server Group Admin operationId: UpdateSSHServerGroupAdmin x-codit-handler: UpdateSSHServerGroupAdmin parameters: - name: id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SSHServerGroupRequest' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServerGroup' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Admin SSH summary: Delete SSH Server Group Admin operationId: DeleteSSHServerGroupAdmin x-codit-handler: DeleteSSHServerGroupAdmin parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/server-groups/{id}/servers: get: tags: - Admin SSH summary: List SSH Server Group Members Admin operationId: ListSSHServerGroupMembersAdmin x-codit-handler: ListSSHServerGroupMembersAdmin parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: type: array items: $ref: '#/components/schemas/SSHServer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin SSH summary: Add SSH Server Group Member Admin operationId: AddSSHServerGroupMemberAdmin x-codit-handler: AddSSHServerGroupMemberAdmin parameters: - name: id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SSHServerGroupMemberRequest' responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/server-groups/{id}/servers/{serverId}: delete: tags: - Admin SSH summary: Delete SSH Server Group Member Admin operationId: DeleteSSHServerGroupMemberAdmin x-codit-handler: DeleteSSHServerGroupMemberAdmin parameters: - name: id in: path required: true schema: type: string - name: serverId in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/credentials: get: tags: - Admin SSH summary: List SSH Credentials Admin operationId: ListSSHCredentialsAdmin x-codit-handler: ListSSHCredentialsAdmin responses: '200': description: Successful response. content: application/json: schema: type: array items: $ref: '#/components/schemas/SSHCredential' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin SSH summary: Create SSH Credential Admin operationId: CreateSSHCredentialAdmin x-codit-handler: CreateSSHCredentialAdmin description: Imports an admin-owned SSH private key credential. The private key is encrypted at rest with the local SSH broker secret key before it is stored. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SSHCredentialRequest' responses: '201': description: Created. content: application/json: schema: $ref: '#/components/schemas/SSHCredential' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/credentials/{id}: patch: tags: - Admin SSH summary: Update SSH Credential Admin operationId: UpdateSSHCredentialAdmin x-codit-handler: UpdateSSHCredentialAdmin parameters: - name: id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SSHCredentialRequest' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHCredential' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Admin SSH summary: Delete SSH Credential Admin operationId: DeleteSSHCredentialAdmin x-codit-handler: DeleteSSHCredentialAdmin parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/servers: get: tags: - Admin SSH summary: List SSHServers Admin operationId: ListSSHServersAdmin x-codit-handler: ListSSHServersAdmin parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin SSH summary: Create SSHServer Admin operationId: CreateSSHServerAdmin x-codit-handler: CreateSSHServerAdmin requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SSHServerRequest' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/servers/{id}: get: tags: - Admin SSH summary: Get SSHServer Admin operationId: GetSSHServerAdmin x-codit-handler: GetSSHServerAdmin parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Admin SSH summary: Update SSHServer Admin operationId: UpdateSSHServerAdmin x-codit-handler: UpdateSSHServerAdmin requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SSHServerRequest' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Admin SSH summary: Delete SSHServer Admin operationId: DeleteSSHServerAdmin x-codit-handler: DeleteSSHServerAdmin parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/servers/{id}/host-keys: get: tags: - Admin SSH summary: List SSHServer Host Keys Admin operationId: ListSSHServerHostKeysAdmin x-codit-handler: ListSSHServerHostKeysAdmin parameters: - name: id in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServerHostKey' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin SSH summary: Create SSHServer Host Key Admin operationId: CreateSSHServerHostKeyAdmin x-codit-handler: CreateSSHServerHostKeyAdmin requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServerHostKey' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/servers/{id}/host-keys/discover: post: tags: - Admin SSH summary: Discover SSHServer Host Key Admin operationId: DiscoverSSHServerHostKeyAdmin x-codit-handler: DiscoverSSHServerHostKeyAdmin requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServerHostKey' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/servers/{id}/host-keys/{hostKeyId}: delete: tags: - Admin SSH summary: Delete SSHServer Host Key Admin operationId: DeleteSSHServerHostKeyAdmin x-codit-handler: DeleteSSHServerHostKeyAdmin parameters: - name: id in: path required: true schema: type: string - name: hostKeyId in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/access-profiles: get: tags: - Admin SSH summary: List SSHAccess Profiles Admin operationId: ListSSHAccessProfilesAdmin x-codit-handler: ListSSHAccessProfilesAdmin parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHAccessProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' post: tags: - Admin SSH summary: Create SSHAccess Profile Admin operationId: CreateSSHAccessProfileAdmin x-codit-handler: CreateSSHAccessProfileAdmin requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHAccessProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/access-profiles/{id}: get: tags: - Admin SSH summary: Get SSHAccess Profile Admin operationId: GetSSHAccessProfileAdmin x-codit-handler: GetSSHAccessProfileAdmin parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHAccessProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' patch: tags: - Admin SSH summary: Update SSHAccess Profile Admin operationId: UpdateSSHAccessProfileAdmin x-codit-handler: UpdateSSHAccessProfileAdmin requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHAccessProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' delete: tags: - Admin SSH summary: Delete SSHAccess Profile Admin operationId: DeleteSSHAccessProfileAdmin x-codit-handler: DeleteSSHAccessProfileAdmin parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/sessions: get: tags: - Admin SSH summary: List SSHSessions Admin operationId: ListSSHSessionsAdmin x-codit-handler: ListSSHSessionsAdmin parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHSessionListResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/ssh/sessions/{id}/transcript: get: tags: - Admin SSH summary: Get SSHSession Transcript Admin operationId: GetSSHSessionTranscriptAdmin x-codit-handler: GetSSHSessionTranscriptAdmin parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: text/plain: schema: type: string '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/ssh/user-cas: get: tags: - SSH Self Service summary: List SSHUser CAs For Self operationId: ListSSHUserCAsForSelf x-codit-handler: ListSSHUserCAsForSelf parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHUserCA' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/user-cas/{id}: get: tags: - SSH Self Service summary: Get SSHUser CAFor Self operationId: GetSSHUserCAForSelf x-codit-handler: GetSSHUserCAForSelf parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHUserCA' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/user-cas/{id}/public-key: get: tags: - SSH Self Service summary: Download SSHUser CAPublic Key For Self operationId: DownloadSSHUserCAPublicKeyForSelf x-codit-handler: DownloadSSHUserCAPublicKeyForSelf parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: text/plain: schema: type: string '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/principal-grants: get: tags: - SSH Self Service summary: List SSHPrincipal Grants For Self operationId: ListSSHPrincipalGrantsForSelf x-codit-handler: ListSSHPrincipalGrantsForSelf parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHPrincipalGrant' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/credentials: get: tags: - SSH Self Service summary: List SSH Credentials For Self operationId: ListSSHCredentialsForSelf x-codit-handler: ListSSHCredentialsForSelf responses: '200': description: Successful response. content: application/json: schema: type: array items: $ref: '#/components/schemas/SSHCredential' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: tags: - SSH Self Service summary: Create SSH Credential For Self operationId: CreateSSHCredentialForSelf x-codit-handler: CreateSSHCredentialForSelf description: Imports a user-owned SSH private key credential. The private key is encrypted at rest with the local SSH broker secret key before it is stored. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SSHCredentialRequest' responses: '201': description: Created. content: application/json: schema: $ref: '#/components/schemas/SSHCredential' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/credentials/{id}: patch: tags: - SSH Self Service summary: Update SSH Credential For Self operationId: UpdateSSHCredentialForSelf x-codit-handler: UpdateSSHCredentialForSelf parameters: - name: id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SSHCredentialRequest' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHCredential' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: tags: - SSH Self Service summary: Delete SSH Credential For Self operationId: DeleteSSHCredentialForSelf x-codit-handler: DeleteSSHCredentialForSelf parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/servers: get: tags: - SSH Self Service summary: List SSHServers For Self operationId: ListSSHServersForSelf x-codit-handler: ListSSHServersForSelf parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: tags: - SSH Self Service summary: Create SSHServer For Self operationId: CreateSSHServerForSelf x-codit-handler: CreateSSHServerForSelf requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SSHServerRequest' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/servers/{id}: get: tags: - SSH Self Service summary: Get SSHServer For Self operationId: GetSSHServerForSelf x-codit-handler: GetSSHServerForSelf parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' patch: tags: - SSH Self Service summary: Update SSHServer For Self operationId: UpdateSSHServerForSelf x-codit-handler: UpdateSSHServerForSelf requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SSHServerRequest' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: tags: - SSH Self Service summary: Delete SSHServer For Self operationId: DeleteSSHServerForSelf x-codit-handler: DeleteSSHServerForSelf parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/servers/{id}/host-keys: get: tags: - SSH Self Service summary: List SSHServer Host Keys For Self operationId: ListSSHServerHostKeysForSelf x-codit-handler: ListSSHServerHostKeysForSelf parameters: - name: id in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServerHostKey' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: tags: - SSH Self Service summary: Create SSHServer Host Key For Self operationId: CreateSSHServerHostKeyForSelf x-codit-handler: CreateSSHServerHostKeyForSelf requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServerHostKey' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/servers/{id}/host-keys/discover: post: tags: - SSH Self Service summary: Discover SSHServer Host Key For Self operationId: DiscoverSSHServerHostKeyForSelf x-codit-handler: DiscoverSSHServerHostKeyForSelf requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHServerHostKey' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/servers/{id}/host-keys/{hostKeyId}: delete: tags: - SSH Self Service summary: Delete SSHServer Host Key For Self operationId: DeleteSSHServerHostKeyForSelf x-codit-handler: DeleteSSHServerHostKeyForSelf parameters: - name: id in: path required: true schema: type: string - name: hostKeyId in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/access-profiles: get: tags: - SSH Self Service summary: List SSHAccess Profiles For Self operationId: ListSSHAccessProfilesForSelf x-codit-handler: ListSSHAccessProfilesForSelf parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHAccessProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: tags: - SSH Self Service summary: Create SSHAccess Profile For Self operationId: CreateSSHAccessProfileForSelf x-codit-handler: CreateSSHAccessProfileForSelf requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHAccessProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/access-profiles/{id}: get: tags: - SSH Self Service summary: Get SSHAccess Profile For Self operationId: GetSSHAccessProfileForSelf x-codit-handler: GetSSHAccessProfileForSelf parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHAccessProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' patch: tags: - SSH Self Service summary: Update SSHAccess Profile For Self operationId: UpdateSSHAccessProfileForSelf x-codit-handler: UpdateSSHAccessProfileForSelf requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHAccessProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: tags: - SSH Self Service summary: Delete SSHAccess Profile For Self operationId: DeleteSSHAccessProfileForSelf x-codit-handler: DeleteSSHAccessProfileForSelf parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/access-profiles/{id}/credential: get: tags: - SSH Self Service summary: Get SSH Access Profile Credential For Self operationId: GetSSHAccessProfileCredentialForSelf x-codit-handler: GetSSHAccessProfileCredentialForSelf parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHCredential' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/access-profiles/{id}/servers: get: tags: - SSH Self Service summary: List SSH Access Profile Servers For Self operationId: ListSSHAccessProfileServersForSelf x-codit-handler: ListSSHAccessProfileServersForSelf parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: type: array items: $ref: '#/components/schemas/SSHServer' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/access-profiles/{id}/connect: post: tags: - SSH Self Service summary: Create SSHSession For Self operationId: CreateSSHSessionForSelf x-codit-handler: CreateSSHSessionForSelf requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/SSHConnectRequest' parameters: - name: id in: path required: true schema: type: string responses: '201': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHSessionConnectResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/sessions: get: tags: - SSH Self Service summary: List SSHSessions For Self operationId: ListSSHSessionsForSelf x-codit-handler: ListSSHSessionsForSelf parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHSessionListResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/stream: get: tags: - SSH Self Service summary: Stream SSHWorkspace For Self operationId: StreamSSHWorkspaceForSelf x-codit-handler: StreamSSHWorkspaceForSelf description: WebSocket stream endpoint. The HTTP request upgrades to a WebSocket connection. responses: '200': description: Successful response. content: text/plain: schema: type: string '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/sessions/{id}: get: tags: - SSH Self Service summary: Get SSHSession For Self operationId: GetSSHSessionForSelf x-codit-handler: GetSSHSessionForSelf parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHSession' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/sessions/{id}/transcript: get: tags: - SSH Self Service summary: Get SSHSession Transcript For Self operationId: GetSSHSessionTranscriptForSelf x-codit-handler: GetSSHSessionTranscriptForSelf parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: text/plain: schema: type: string '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/sessions/{id}/disconnect: post: tags: - SSH Self Service summary: Disconnect SSHSession For Self operationId: DisconnectSSHSessionForSelf x-codit-handler: DisconnectSSHSessionForSelf requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/SSHConnectRequest' parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/sessions/{id}/files/upload: post: tags: - SSH Self Service summary: Upload Files To SSH Session operationId: UploadSSHSessionFilesForSelf x-codit-handler: UploadSSHSessionFilesForSelf description: Uploads one or more files over SFTP using the SSH session profile credentials. parameters: - name: id in: path required: true schema: type: string requestBody: required: true content: multipart/form-data: schema: type: object properties: files: type: array items: type: string format: binary target_dir: type: string overwrite: type: boolean password: type: string format: password otp_code: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHSessionFileUploadResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/sessions/{id}/files/download: post: tags: - SSH Self Service summary: Download Files From SSH Session operationId: DownloadSSHSessionFilesForSelf x-codit-handler: DownloadSSHSessionFilesForSelf description: Downloads one file as octet-stream or multiple files as a zip archive over SFTP using the SSH session profile credentials. parameters: - name: id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SSHSessionFileDownloadRequest' responses: '200': description: Successful response. content: application/octet-stream: schema: type: string format: binary application/zip: schema: type: string format: binary '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/sessions/{id}/files/copy-to: post: tags: - SSH Self Service summary: Copy Files Between SSH Sessions operationId: CopySSHSessionFilesForSelf x-codit-handler: CopySSHSessionFilesForSelf description: Copies files from one connected SSH session to another connected SSH session over SFTP. File data is relayed by the backend and does not pass through the browser. parameters: - name: id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SSHSessionFileCopyRequest' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHSessionFileCopyResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/cert/inspect: post: tags: - SSH Self Service summary: Inspect SSHCertificate operationId: InspectSSHCertificate x-codit-handler: InspectSSHCertificate requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/user-cas/{id}/sign: post: tags: - SSH Self Service summary: Sign SSHUser Key For Self operationId: SignSSHUserKeyForSelf x-codit-handler: SignSSHUserKeyForSelf requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/ssh/issuances: get: tags: - SSH Self Service summary: List SSHUser CAIssuances For Self operationId: ListSSHUserCAIssuancesForSelf x-codit-handler: ListSSHUserCAIssuancesForSelf parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/SSHUserCAIssuance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/pki/cas/{id}/crl: get: tags: - PKI Self Service summary: Get PKICRLFor Self operationId: GetPKICRLForSelf x-codit-handler: GetPKICRLForSelf parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKICA' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/pki/cas/{id}: get: tags: - PKI Self Service summary: Get PKICAFor Self operationId: GetPKICAForSelf x-codit-handler: GetPKICAForSelf parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKICA' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/pki/client/profiles: get: tags: - PKI Self Service summary: List PKIClient Profiles For Self operationId: ListPKIClientProfilesForSelf x-codit-handler: ListPKIClientProfilesForSelf parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKIClientProfile' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/pki/client/issuances: get: tags: - PKI Self Service summary: List PKIClient Issuances For Self operationId: ListPKIClientIssuancesForSelf x-codit-handler: ListPKIClientIssuancesForSelf parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/PKIClientIssuance' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/pki/client/certs: post: tags: - PKI Self Service summary: Issue PKIClient Cert For Self operationId: IssuePKIClientCertForSelf x-codit-handler: IssuePKIClientCertForSelf requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Issue' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/pki/client/certs/{id}: get: tags: - PKI Self Service summary: Get PKIClient Cert For Self operationId: GetPKIClientCertForSelf x-codit-handler: GetPKIClientCertForSelf parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/pki/client/certs/{id}/inspect: get: tags: - PKI Self Service summary: Get PKIClient Cert Inspect For Self operationId: GetPKIClientCertInspectForSelf x-codit-handler: GetPKIClientCertInspectForSelf parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/pki/client/certs/{id}/bundle: get: tags: - PKI Self Service summary: Download PKIClient Cert Bundle For Self operationId: DownloadPKIClientCertBundleForSelf x-codit-handler: DownloadPKIClientCertBundleForSelf parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/octet-stream: schema: type: string format: binary '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/pki/client/certs/{id}/revoke: post: tags: - PKI Self Service summary: Revoke PKIClient Cert For Self operationId: RevokePKIClientCertForSelf x-codit-handler: RevokePKIClientCertForSelf requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/AnyObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/projects: get: tags: - Projects and Repositories summary: List Projects operationId: ListProjects x-codit-handler: ListProjects parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/ProjectListPage' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: tags: - Projects and Repositories summary: Create Project operationId: CreateProject x-codit-handler: CreateProject requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Project' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/projects/{id}: get: tags: - Projects and Repositories summary: Get Project operationId: GetProject x-codit-handler: GetProject parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Project' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' patch: tags: - Projects and Repositories summary: Update Project operationId: UpdateProject x-codit-handler: UpdateProject requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Project' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: tags: - Projects and Repositories summary: Delete Project operationId: DeleteProject x-codit-handler: DeleteProject parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/projects/{projectId}/members: get: tags: - Projects and Repositories summary: List Project Members operationId: ListProjectMembers x-codit-handler: ListProjectMembers parameters: - name: projectId in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Project' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: tags: - Projects and Repositories summary: Add Project Member operationId: AddProjectMember x-codit-handler: AddProjectMember requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: projectId in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Project' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' patch: tags: - Projects and Repositories summary: Update Project Member operationId: UpdateProjectMember x-codit-handler: UpdateProjectMember requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: projectId in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Project' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/projects/{projectId}/member-candidates: get: tags: - Projects and Repositories summary: List Project Member Candidates operationId: ListProjectMemberCandidates x-codit-handler: ListProjectMemberCandidates parameters: - name: projectId in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Project' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/projects/{projectId}/group-candidates: get: tags: - Projects and Repositories summary: List Project Group Candidates operationId: ListProjectGroupCandidates x-codit-handler: ListProjectGroupCandidates parameters: - name: projectId in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Project' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/projects/{projectId}/members/{userId}: delete: tags: - Projects and Repositories summary: Remove Project Member operationId: RemoveProjectMember x-codit-handler: RemoveProjectMember parameters: - name: projectId in: path required: true schema: type: string - name: userId in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/projects/{projectId}/group-roles: get: tags: - Projects and Repositories summary: List Project Group Roles operationId: ListProjectGroupRoles x-codit-handler: ListProjectGroupRoles parameters: - name: projectId in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Project' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: tags: - Projects and Repositories summary: Upsert Project Group Role operationId: UpsertProjectGroupRole x-codit-handler: UpsertProjectGroupRole requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: projectId in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Project' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/projects/{projectId}/group-roles/{groupId}: delete: tags: - Projects and Repositories summary: Remove Project Group Role operationId: RemoveProjectGroupRole x-codit-handler: RemoveProjectGroupRole parameters: - name: projectId in: path required: true schema: type: string - name: groupId in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/projects/{projectId}/repos: get: tags: - Projects and Repositories summary: List Repos operationId: ListRepos x-codit-handler: ListRepos parameters: - name: projectId in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: tags: - Projects and Repositories summary: Create Repo operationId: CreateRepo x-codit-handler: CreateRepo requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: projectId in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/types: get: tags: - Projects and Repositories summary: Repo Types operationId: RepoTypes x-codit-handler: RepoTypes responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos: get: tags: - Projects and Repositories summary: List All Repos operationId: ListAllRepos x-codit-handler: ListAllRepos parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/projects/{projectId}/foreign-repos/available: get: tags: - Projects and Repositories summary: List Available Repos operationId: ListAvailableRepos x-codit-handler: ListAvailableRepos parameters: - name: projectId in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/projects/{projectId}/foreign-repos: post: tags: - Projects and Repositories summary: Attach Foreign Repo operationId: AttachForeignRepo x-codit-handler: AttachForeignRepo requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: projectId in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/projects/{projectId}/foreign-repos/{repoId}: delete: tags: - Projects and Repositories summary: Detach Foreign Repo operationId: DetachForeignRepo x-codit-handler: DetachForeignRepo parameters: - name: projectId in: path required: true schema: type: string - name: repoId in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}: get: tags: - Projects and Repositories summary: Get Repo operationId: GetRepo x-codit-handler: GetRepo parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' patch: tags: - Projects and Repositories summary: Update Repo operationId: UpdateRepo x-codit-handler: UpdateRepo requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: tags: - Projects and Repositories summary: Delete Repo operationId: DeleteRepo x-codit-handler: DeleteRepo parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/branches: get: tags: - Projects and Repositories summary: Repo Branches operationId: RepoBranches x-codit-handler: RepoBranches parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/branches/info: get: tags: - Projects and Repositories summary: Repo Branches Info operationId: RepoBranchesInfo x-codit-handler: RepoBranchesInfo parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/branches/default: put: tags: - Projects and Repositories summary: Repo Set Default Branch operationId: RepoSetDefaultBranch x-codit-handler: RepoSetDefaultBranch requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/branches/rename: post: tags: - Projects and Repositories summary: Repo Rename Branch operationId: RepoRenameBranch x-codit-handler: RepoRenameBranch requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/branches/delete: post: tags: - Projects and Repositories summary: Repo Delete Branch operationId: RepoDeleteBranch x-codit-handler: RepoDeleteBranch requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/branches/create: post: tags: - Projects and Repositories summary: Repo Create Branch operationId: RepoCreateBranch x-codit-handler: RepoCreateBranch requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/commits: get: tags: - Projects and Repositories summary: Repo Commits operationId: RepoCommits x-codit-handler: RepoCommits parameters: - name: id in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/tree: get: tags: - Projects and Repositories summary: Repo Tree operationId: RepoTree x-codit-handler: RepoTree parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/blob: get: tags: - Projects and Repositories summary: Repo Blob operationId: RepoBlob x-codit-handler: RepoBlob parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/blob/raw: get: tags: - Projects and Repositories summary: Repo Blob Raw operationId: RepoBlobRaw x-codit-handler: RepoBlobRaw parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: text/plain: schema: type: string '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/history: get: tags: - Projects and Repositories summary: Repo File History operationId: RepoFileHistory x-codit-handler: RepoFileHistory parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/diff: get: tags: - Projects and Repositories summary: Repo File Diff operationId: RepoFileDiff x-codit-handler: RepoFileDiff parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/commit: get: tags: - Projects and Repositories summary: Repo Commit Detail operationId: RepoCommitDetail x-codit-handler: RepoCommitDetail parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/commit/diff: get: tags: - Projects and Repositories summary: Repo Commit Diff operationId: RepoCommitDiff x-codit-handler: RepoCommitDiff parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/compare: get: tags: - Projects and Repositories summary: Repo Compare operationId: RepoCompare x-codit-handler: RepoCompare parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/stats: get: tags: - Projects and Repositories summary: Repo Stats operationId: RepoStats x-codit-handler: RepoStats parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/packages: get: tags: - Projects and Repositories summary: Repo RPMPackages operationId: RepoRPMPackages x-codit-handler: RepoRPMPackages parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/package: get: tags: - Projects and Repositories summary: Repo RPMPackage operationId: RepoRPMPackage x-codit-handler: RepoRPMPackage parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/subdirs: post: tags: - Projects and Repositories summary: Repo RPMCreate Subdir operationId: RepoRPMCreateSubdir x-codit-handler: RepoRPMCreateSubdir requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/subdir: get: tags: - Projects and Repositories summary: Repo RPMGet Subdir operationId: RepoRPMGetSubdir x-codit-handler: RepoRPMGetSubdir parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: tags: - Projects and Repositories summary: Repo RPMDelete Subdir operationId: RepoRPMDeleteSubdir x-codit-handler: RepoRPMDeleteSubdir parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/subdir/update: post: tags: - Projects and Repositories summary: Repo RPMRename Subdir operationId: RepoRPMRenameSubdir_Post_api_repos_id_rpm_subdir_update x-codit-handler: RepoRPMRenameSubdir requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/subdir/rename: post: tags: - Projects and Repositories summary: Repo RPMRename Subdir operationId: RepoRPMRenameSubdir_Post_api_repos_id_rpm_subdir_rename x-codit-handler: RepoRPMRenameSubdir requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/subdir/sync: post: tags: - Projects and Repositories summary: Repo RPMSync Subdir operationId: RepoRPMSyncSubdir x-codit-handler: RepoRPMSyncSubdir requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/subdir/suspend: post: tags: - Projects and Repositories summary: Repo RPMSuspend Subdir operationId: RepoRPMSuspendSubdir x-codit-handler: RepoRPMSuspendSubdir requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/subdir/resume: post: tags: - Projects and Repositories summary: Repo RPMResume Subdir operationId: RepoRPMResumeSubdir x-codit-handler: RepoRPMResumeSubdir requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/subdir/rebuild-metadata: post: tags: - Projects and Repositories summary: Repo RPMRebuild Subdir Metadata operationId: RepoRPMRebuildSubdirMetadata x-codit-handler: RepoRPMRebuildSubdirMetadata requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/subdir/cancel: post: tags: - Projects and Repositories summary: Repo RPMCancel Subdir Sync operationId: RepoRPMCancelSubdirSync x-codit-handler: RepoRPMCancelSubdirSync requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/subdir/runs: get: tags: - Projects and Repositories summary: Repo RPMMirror Runs operationId: RepoRPMMirrorRuns x-codit-handler: RepoRPMMirrorRuns parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: tags: - Projects and Repositories summary: Repo RPMClear Mirror Runs operationId: RepoRPMClearMirrorRuns x-codit-handler: RepoRPMClearMirrorRuns parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/file: delete: tags: - Projects and Repositories summary: Repo RPMDelete File operationId: RepoRPMDeleteFile x-codit-handler: RepoRPMDeleteFile parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' get: tags: - Projects and Repositories summary: Repo RPMFile operationId: RepoRPMFile x-codit-handler: RepoRPMFile parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/octet-stream: schema: type: string format: binary '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/tree: get: tags: - Projects and Repositories summary: Repo RPMTree operationId: RepoRPMTree x-codit-handler: RepoRPMTree parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/rpm/upload: post: tags: - Projects and Repositories summary: Repo RPMUpload operationId: RepoRPMUpload x-codit-handler: RepoRPMUpload requestBody: required: false content: multipart/form-data: schema: $ref: '#/components/schemas/MultipartUpload' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/docker/images: get: tags: - Projects and Repositories summary: Repo Docker Images operationId: RepoDockerImages x-codit-handler: RepoDockerImages parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/docker/tags: get: tags: - Projects and Repositories summary: Repo Docker Tags operationId: RepoDockerTags x-codit-handler: RepoDockerTags parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/docker/manifest: get: tags: - Projects and Repositories summary: Repo Docker Manifest operationId: RepoDockerManifest x-codit-handler: RepoDockerManifest parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/docker/tag: delete: tags: - Projects and Repositories summary: Repo Docker Delete Tag operationId: RepoDockerDeleteTag x-codit-handler: RepoDockerDeleteTag parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/docker/image: delete: tags: - Projects and Repositories summary: Repo Docker Delete Image operationId: RepoDockerDeleteImage x-codit-handler: RepoDockerDeleteImage parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/docker/tag/rename: post: tags: - Projects and Repositories summary: Repo Docker Rename Tag operationId: RepoDockerRenameTag x-codit-handler: RepoDockerRenameTag requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/repos/{id}/docker/image/rename: post: tags: - Projects and Repositories summary: Repo Docker Rename Image operationId: RepoDockerRenameImage x-codit-handler: RepoDockerRenameImage requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/RepositoryObject' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/me/keys: get: tags: - API Keys summary: List APIKeys operationId: ListAPIKeys x-codit-handler: ListAPIKeys parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/APIKey' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: tags: - API Keys summary: Create APIKey operationId: CreateAPIKey x-codit-handler: CreateAPIKey requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/APIKeyCreateRequest' responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/APIKey' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/me/keys/{id}: delete: tags: - API Keys summary: Delete APIKey operationId: DeleteAPIKey x-codit-handler: DeleteAPIKey parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/me/keys/{id}/disable: post: tags: - API Keys summary: Disable APIKey operationId: DisableAPIKey x-codit-handler: DisableAPIKey requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/me/keys/{id}/enable: post: tags: - API Keys summary: Enable APIKey operationId: EnableAPIKey x-codit-handler: EnableAPIKey requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/admin/api-keys: get: tags: - Admin Principals summary: List Admin APIKeys operationId: ListAdminAPIKeys x-codit-handler: ListAdminAPIKeys parameters: - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/APIKey' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/api-keys/{id}: delete: tags: - Admin Principals summary: Delete Admin APIKey operationId: DeleteAdminAPIKey x-codit-handler: DeleteAdminAPIKey parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/api-keys/{id}/disable: post: tags: - Admin Principals summary: Disable Admin APIKey operationId: DisableAdminAPIKey x-codit-handler: DisableAdminAPIKey requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/admin/api-keys/{id}/enable: post: tags: - Admin Principals summary: Enable Admin APIKey operationId: EnableAdminAPIKey x-codit-handler: EnableAdminAPIKey requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '204': description: Completed successfully. '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /api/projects/{projectId}/issues: get: tags: - Issues summary: List Issues operationId: ListIssues x-codit-handler: ListIssues parameters: - name: projectId in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Issue' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: tags: - Issues summary: Create Issue operationId: CreateIssue x-codit-handler: CreateIssue requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: projectId in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Issue' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/issues/{id}: patch: tags: - Issues summary: Update Issue operationId: UpdateIssue x-codit-handler: UpdateIssue requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Issue' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/issues/{id}/comments: post: tags: - Issues summary: Add Issue Comment operationId: AddIssueComment x-codit-handler: AddIssueComment requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Issue' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/projects/{projectId}/wiki/pages: get: tags: - Wiki summary: List Wiki Pages operationId: ListWikiPages x-codit-handler: ListWikiPages parameters: - name: projectId in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/WikiPage' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' post: tags: - Wiki summary: Create Wiki Page operationId: CreateWikiPage x-codit-handler: CreateWikiPage requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: projectId in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/WikiPage' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/wiki/pages/{id}: patch: tags: - Wiki summary: Update Wiki Page operationId: UpdateWikiPage x-codit-handler: UpdateWikiPage requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/RequestObject' parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/WikiPage' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/projects/{projectId}/uploads: post: tags: - Uploads summary: Upload File operationId: UploadFile x-codit-handler: UploadFile requestBody: required: false content: multipart/form-data: schema: $ref: '#/components/schemas/MultipartUpload' parameters: - name: projectId in: path required: true schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Upload' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' get: tags: - Uploads summary: List Uploads operationId: ListUploads x-codit-handler: ListUploads parameters: - name: projectId in: path required: true schema: type: string - name: limit in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: q in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: type in: query required: false schema: type: string - name: ca_id in: query required: false schema: type: string - name: profile_id in: query required: false schema: type: string - name: target_type in: query required: false schema: type: string - name: target_id in: query required: false schema: type: string - name: ref in: query required: false schema: type: string - name: path in: query required: false schema: type: string responses: '200': description: Successful response. content: application/json: schema: $ref: '#/components/schemas/Upload' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /api/uploads/{id}: get: tags: - Uploads summary: Download File operationId: DownloadFile x-codit-handler: DownloadFile parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successful response. content: text/plain: schema: type: string '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /pki/crl/{ca_id}: get: tags: - Public PKI summary: Serve PKICRL operationId: ServePKICRL x-codit-handler: ServePKICRL security: [] parameters: - name: ca_id in: path required: true schema: type: string responses: '200': description: Successful response. content: text/plain: schema: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' components: securitySchemes: cookieAuth: type: apiKey in: cookie name: codit_session description: Browser session cookie established by /api/login or OIDC login. apiKeyAuth: type: apiKey in: header name: X-API-Key description: API key token for user or service-principal authentication. responses: BadRequest: description: Invalid request. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Authentication required or failed. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Forbidden: description: Authenticated subject is not allowed to perform this action. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: Requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: ErrorResponse: type: object properties: error: type: string additionalProperties: true RequestObject: type: object additionalProperties: true AnyObject: type: object additionalProperties: true MultipartUpload: type: object properties: file: type: string format: binary additionalProperties: true AppInfo: type: object properties: server_id: type: string server_title: type: string site_name: type: string additionalProperties: true TOTPStatus: type: object properties: enabled: type: boolean required: type: boolean setup_required: type: boolean verify_required: type: boolean additionalProperties: true TOTPSetup: type: object properties: secret: type: string otpauth_url: type: string additionalProperties: true TOTPCodeRequest: type: object properties: otp_code: type: string additionalProperties: false TOTPDisableRequest: type: object properties: password: type: string format: password otp_code: type: string additionalProperties: false LoginRequest: type: object required: - username - password properties: username: type: string password: type: string format: password otp_code: type: string APIKeyCreateRequest: type: object required: - name properties: name: type: string expires_at: type: integer format: int64 description: Unix timestamp; 0 means no expiration. SSHConnectRequest: type: object properties: cols: type: integer rows: type: integer term: type: string server_id: type: string description: Required when connecting with a server-group-based access profile. password: type: string format: password otp_code: type: string SSHSessionConnectResponse: type: object properties: session_id: type: string status: type: string server_name: type: string host: type: string port: type: integer remote_username: type: string host_key_fingerprint: type: string HealthResponse: type: object properties: status: type: string examples: - ok additionalProperties: true User: type: object properties: id: type: string username: type: string display_name: type: string email: type: string is_admin: type: boolean disabled: type: boolean auth_source: type: string totp_enabled: type: boolean totp_required: type: boolean totp_effective_required: type: boolean totp_setup_required: type: boolean totp_verify_required: type: boolean permissions: type: array items: type: string additionalProperties: true UserGroup: type: object properties: id: type: string name: type: string description: type: string disabled: type: boolean totp_required: type: boolean scope: type: string enum: - explicit - all_users created_at: type: integer format: int64 updated_at: type: integer format: int64 additionalProperties: true SubjectPermission: type: object properties: permission: type: string subject_type: type: string enum: - user - group - principal subject_id: type: string subject_name: type: string additionalProperties: true APIKey: type: object properties: id: type: string user_id: type: string principal_id: type: string subject_type: type: string subject_id: type: string name: type: string prefix: type: string token: type: string description: One-time token returned only on creation. created_at: type: integer format: int64 last_used_at: type: integer format: int64 expires_at: type: integer format: int64 disabled: type: boolean additionalProperties: true ServicePrincipal: type: object properties: id: type: string name: type: string description: type: string is_admin: type: boolean disabled: type: boolean created_at: type: integer format: int64 updated_at: type: integer format: int64 additionalProperties: true TLSObject: type: object additionalProperties: true Project: type: object properties: id: type: string slug: type: string name: type: string description: type: string home_page: type: string enum: - info - repos - issues - wiki - files created_at: type: integer format: int64 updated_at: type: integer format: int64 additionalProperties: true ProjectListPage: type: object properties: items: type: array items: $ref: '#/components/schemas/Project' total: type: integer additionalProperties: true RepositoryObject: type: object properties: id: type: string project_id: type: string name: type: string type: type: string enum: - git - rpm - docker additionalProperties: true Issue: type: object properties: id: type: string project_id: type: string title: type: string body: type: string status: type: string additionalProperties: true WikiPage: type: object properties: id: type: string project_id: type: string title: type: string slug: type: string body: type: string additionalProperties: true Upload: type: object properties: id: type: string project_id: type: string filename: type: string content_type: type: string size: type: integer format: int64 additionalProperties: true PKICA: type: object properties: id: type: string name: type: string parent_ca_id: type: string is_root: type: boolean cert_pem: type: string key_pem: type: string status: type: string serial_counter: type: integer created_at: type: integer format: int64 updated_at: type: integer format: int64 additionalProperties: true PKICert: type: object properties: id: type: string ca_id: type: string ca_name: type: string serial_hex: type: string common_name: type: string san_dns: type: string san_ips: type: string is_ca: type: boolean cert_pem: type: string key_pem: type: string not_before: type: integer format: int64 not_after: type: integer format: int64 status: type: string additionalProperties: true PKIClientProfile: type: object properties: id: type: string name: type: string ca_id: type: string ca_name: type: string default_valid_seconds: type: integer max_valid_seconds: type: integer enabled: type: boolean additionalProperties: true PKIClientIssuance: type: object properties: id: type: string cert_id: type: string user_id: type: string username: type: string profile_id: type: string common_name: type: string status: type: string additionalProperties: true ACMEProfile: type: object properties: id: type: string name: type: string directory_url: type: string email: type: string solver_type: type: string enum: - manual - acme_dns enabled: type: boolean additionalProperties: true ACMEOrder: type: object properties: id: type: string profile_id: type: string common_name: type: string san_dns: type: string status: type: string cert_id: type: string additionalProperties: true SSHUserCA: type: object properties: id: type: string name: type: string algorithm: type: string public_key: type: string fingerprint: type: string serial_counter: type: integer enabled: type: boolean allow_user_sign: type: boolean max_user_valid_seconds: type: integer additionalProperties: true SSHUserCAIssuance: type: object properties: id: type: string ca_id: type: string ca_name: type: string certificate: type: string key_id: type: string principals: type: array items: type: string grant_ids: type: array items: type: string serial: type: integer additionalProperties: true SSHPrincipalGrant: type: object properties: id: type: string name: type: string principal: type: string principals: type: array items: type: string disabled: type: boolean max_uses: type: integer used_count: type: integer additionalProperties: true SSHServer: type: object properties: id: type: string name: type: string host: type: string port: type: integer description: type: string tags: type: array items: type: string enabled: type: boolean host_key_policy: type: string enum: - strict - trust_on_first_use editable: type: boolean additionalProperties: true SSHServerRequest: type: object description: 'Request payload for creating or updating an SSH server. host_key_policy defaults to strict if omitted or invalid.' properties: name: type: string host: type: string port: type: integer default: 22 description: type: string tags: type: array items: type: string enabled: type: boolean host_key_policy: type: string enum: - strict - trust_on_first_use default: strict description: 'strict requires a pinned host key before connecting. trust_on_first_use accepts the first observed host key and stores it as a pinned key.' additionalProperties: false SSHServerGroup: type: object properties: id: type: string name: type: string description: type: string enabled: type: boolean created_by_kind: type: string created_by_subject_id: type: string created_by_subject_name: type: string created_at: type: integer format: int64 updated_at: type: integer format: int64 additionalProperties: true SSHServerGroupRequest: type: object properties: name: type: string description: type: string enabled: type: boolean additionalProperties: false SSHServerGroupMemberRequest: type: object properties: server_id: type: string additionalProperties: false SSHServerHostKey: type: object properties: id: type: string server_id: type: string algorithm: type: string public_key: type: string fingerprint: type: string created_at: type: integer format: int64 additionalProperties: true SSHCredentialRequest: type: object description: Request used to import or update SSH private key credentials. On create, name and private_key_pem are required. On update, the key material is not changed. properties: name: type: string description: type: string private_key_pem: type: string description: Private key PEM supplied for import. The API does not return this value; it is encrypted using the local ssh-broker.secret key before storage. enabled: type: boolean additionalProperties: false SSHCredential: type: object description: SSH credential metadata. Secret private key material is not returned by the API; it is stored encrypted in ssh_secrets using the local SSH broker secret key. properties: id: type: string name: type: string description: type: string type: type: string enum: - private_key public_key: type: string fingerprint: type: string enabled: type: boolean owner_scope: type: string enum: - admin - user owner_user_id: type: string created_by_kind: type: string created_by_subject_id: type: string created_by_subject_name: type: string created_at: type: integer format: int64 updated_at: type: integer format: int64 additionalProperties: true SSHAccessProfile: type: object properties: id: type: string server_id: type: string server_target_type: type: string enum: - server - group server_group_id: type: string server_group_name: type: string name: type: string description: type: string remote_username: type: string auth_method: type: string enum: - managed_ssh_cert - prompted_password - stored_password - stored_private_key second_factor_mode: type: string enum: - none - prompted_totp owner_scope: type: string enum: - admin_shared - user ssh_credential_id: type: string auth_public_key_fingerprint: type: string ssh_user_ca_id: type: string enabled: type: boolean editable: type: boolean additionalProperties: true SSHSessionFileDownloadRequest: type: object properties: paths: type: array items: type: string password: type: string format: password otp_code: type: string additionalProperties: false SSHSessionFileCopyRequest: type: object properties: target_session_id: type: string paths: type: array items: type: string target_dir: type: string overwrite: type: boolean source_password: type: string format: password source_otp_code: type: string target_password: type: string format: password target_otp_code: type: string additionalProperties: false SSHSessionFileCopyItem: type: object properties: source_path: type: string target_path: type: string size: type: integer format: int64 error: type: string additionalProperties: true SSHSessionFileCopyResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/SSHSessionFileCopyItem' copied: type: integer failed: type: integer additionalProperties: true SSHSessionFileUploadItem: type: object properties: name: type: string path: type: string size: type: integer format: int64 error: type: string additionalProperties: true SSHSessionFileUploadResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/SSHSessionFileUploadItem' uploaded: type: integer failed: type: integer additionalProperties: true SSHSession: type: object properties: id: type: string profile_id: type: string server_id: type: string server_name: type: string username: type: string remote_username: type: string auth_method: type: string status: type: string host_key_fingerprint: type: string transcript_available: type: boolean additionalProperties: true SSHSessionListResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/SSHSession' limit: type: integer offset: type: integer has_more: type: boolean additionalProperties: true