openapi: 3.0.1 info: title: yatai api server admin api v1 auth API description: This is yatai api server. version: 1.0.0 tags: - name: auth description: auth api paths: /api/v1/auth/airtable_event: post: tags: - auth summary: Airtable event callback operationId: Airtable event callback requestBody: content: application/json: schema: $ref: '#/components/schemas/Airtable Event CallbackInput' responses: '200': description: OK content: application/json: schema: type: object /api/v1/auth/code: get: tags: - auth summary: Get auth code operationId: Get auth code responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Schemasv1CodeSchema' /api/v1/auth/current: get: tags: - auth summary: Get current user operationId: Get current user responses: '200': description: OK content: application/json: schema: type: object properties: application_status: type: string avatar_url: type: string created_at: type: string format: date-time deleted_at: type: string format: date-time nullable: true email: type: string first_name: type: string from_sso: type: boolean is_super_admin: type: boolean labels: type: array items: $ref: '#/components/schemas/ModelschemasLabelItemSchema' last_name: type: string name: type: string perm: type: string register_stage: type: string resource_type: type: string enum: - user - organization - cluster - host_cluster - bento_repository - bento - deployment - deployment_revision - model_repository - model - api_token uid: type: string updated_at: type: string format: date-time put: tags: - auth summary: Put infos for current user operationId: Put infos for current user requestBody: content: application/json: schema: $ref: '#/components/schemas/Put Infos For Current UserInput' responses: '200': description: OK content: application/json: schema: type: object properties: application_status: type: string avatar_url: type: string created_at: type: string format: date-time deleted_at: type: string format: date-time nullable: true email: type: string first_name: type: string from_sso: type: boolean is_super_admin: type: boolean labels: type: array items: $ref: '#/components/schemas/ModelschemasLabelItemSchema' last_name: type: string name: type: string perm: type: string register_stage: type: string resource_type: type: string enum: - user - organization - cluster - host_cluster - bento_repository - bento - deployment - deployment_revision - model_repository - model - api_token uid: type: string updated_at: type: string format: date-time /api/v1/auth/firebase_info: get: tags: - auth summary: Firebase Info operationId: Firebase Info responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Controllersv1FirebaseInfoSchema' /api/v1/auth/login: post: tags: - auth summary: Login an user operationId: Login an user requestBody: content: application/json: schema: $ref: '#/components/schemas/Login An UserInput' responses: '200': description: OK content: application/json: schema: type: object properties: application_status: type: string avatar_url: type: string created_at: type: string format: date-time deleted_at: type: string format: date-time nullable: true email: type: string first_name: type: string from_sso: type: boolean is_super_admin: type: boolean labels: type: array items: $ref: '#/components/schemas/ModelschemasLabelItemSchema' last_name: type: string name: type: string perm: type: string register_stage: type: string resource_type: type: string enum: - user - organization - cluster - host_cluster - bento_repository - bento - deployment - deployment_revision - model_repository - model - api_token uid: type: string updated_at: type: string format: date-time /api/v1/auth/oidc/callback: get: tags: - auth summary: Handle OIDC authentication callback operationId: OIDC Callback parameters: - name: code in: query schema: type: string - name: error in: query schema: type: string - name: state in: query schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Controllersv1OIDCCallbackResponseSchema' /api/v1/auth/oidc_info: get: tags: - auth summary: Get OIDC configuration for organization operationId: OIDC Info responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Controllersv1OIDCInfoSchema' /api/v1/auth/register: post: tags: - auth summary: Register an user operationId: Register an user requestBody: content: application/json: schema: $ref: '#/components/schemas/Register An UserInput' responses: '200': description: OK content: application/json: schema: type: object properties: application_status: type: string avatar_url: type: string created_at: type: string format: date-time deleted_at: type: string format: date-time nullable: true email: type: string first_name: type: string from_sso: type: boolean is_super_admin: type: boolean labels: type: array items: $ref: '#/components/schemas/ModelschemasLabelItemSchema' last_name: type: string name: type: string perm: type: string register_stage: type: string resource_type: type: string enum: - user - organization - cluster - host_cluster - bento_repository - bento - deployment - deployment_revision - model_repository - model - api_token uid: type: string updated_at: type: string format: date-time /api/v1/auth/reset_password: patch: tags: - auth summary: Reset password operationId: Reset password requestBody: content: application/json: schema: $ref: '#/components/schemas/Reset PasswordInput' responses: '200': description: OK content: application/json: schema: type: object properties: application_status: type: string avatar_url: type: string created_at: type: string format: date-time deleted_at: type: string format: date-time nullable: true email: type: string first_name: type: string from_sso: type: boolean is_super_admin: type: boolean labels: type: array items: $ref: '#/components/schemas/ModelschemasLabelItemSchema' last_name: type: string name: type: string perm: type: string register_stage: type: string resource_type: type: string enum: - user - organization - cluster - host_cluster - bento_repository - bento - deployment - deployment_revision - model_repository - model - api_token uid: type: string updated_at: type: string format: date-time /api/v1/auth/sso: post: tags: - auth summary: Single sign on operationId: Single sign on requestBody: content: application/json: schema: $ref: '#/components/schemas/Single Sign OnInput' responses: '200': description: OK content: application/json: schema: type: object properties: application_status: type: string avatar_url: type: string created_at: type: string format: date-time deleted_at: type: string format: date-time nullable: true email: type: string first_name: type: string from_sso: type: boolean is_super_admin: type: boolean labels: type: array items: $ref: '#/components/schemas/ModelschemasLabelItemSchema' last_name: type: string name: type: string perm: type: string register_stage: type: string resource_type: type: string enum: - user - organization - cluster - host_cluster - bento_repository - bento - deployment - deployment_revision - model_repository - model - api_token uid: type: string updated_at: type: string format: date-time /api/v1/auth/token: get: tags: - auth summary: Get auth token by code operationId: Get auth token by code parameters: - name: code in: query schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: created_at: type: string format: date-time deleted_at: type: string format: date-time nullable: true deployment_names: type: array items: type: string deployment_uids: type: array items: type: string description: type: string expired_at: type: string format: date-time nullable: true is_access_token: type: boolean is_api_token: type: boolean is_expired: type: boolean is_global_access: type: boolean is_global_router_access: type: boolean is_monitoring_token: type: boolean is_organization_token: type: boolean labels: type: array items: $ref: '#/components/schemas/ModelschemasLabelItemSchema' last_used_at: type: string format: date-time nullable: true name: type: string organization: type: object properties: created_at: type: string format: date-time creator: type: object properties: application_status: type: string avatar_url: type: string created_at: type: string format: date-time deleted_at: type: string format: date-time nullable: true email: type: string first_name: type: string from_sso: type: boolean is_super_admin: type: boolean labels: type: array items: $ref: '#/components/schemas/ModelschemasLabelItemSchema' last_name: type: string name: type: string perm: type: string register_stage: type: string resource_type: type: string enum: - user - organization - cluster - host_cluster - bento_repository - bento - deployment - deployment_revision - model_repository - model - api_token uid: type: string updated_at: type: string format: date-time deleted_at: type: string format: date-time nullable: true description: type: string disable_grafana: type: boolean disable_resources_graphs: type: boolean enable_endpoints: type: boolean enable_mixture_scaling: type: boolean enable_monitoring_endpoint: type: boolean expired_at: type: string format: date-time nullable: true labels: type: array items: $ref: '#/components/schemas/ModelschemasLabelItemSchema' limit_group: type: string nullable: true multi_tenancy: type: boolean name: type: string public: type: boolean resource_type: type: string enum: - user - organization - cluster - host_cluster - bento_repository - bento - deployment - deployment_revision - model_repository - model - api_token status: type: string uid: type: string updated_at: type: string format: date-time resource_type: type: string enum: - user - organization - cluster - host_cluster - bento_repository - bento - deployment - deployment_revision - model_repository - model - api_token scopes: type: array items: type: string token: type: string uid: type: string updated_at: type: string format: date-time user: type: object properties: application_status: type: string avatar_url: type: string created_at: type: string format: date-time deleted_at: type: string format: date-time nullable: true email: type: string first_name: type: string from_sso: type: boolean is_super_admin: type: boolean labels: type: array items: $ref: '#/components/schemas/ModelschemasLabelItemSchema' last_name: type: string name: type: string perm: type: string register_stage: type: string resource_type: type: string enum: - user - organization - cluster - host_cluster - bento_repository - bento - deployment - deployment_revision - model_repository - model - api_token uid: type: string updated_at: type: string format: date-time components: schemas: Put Infos For Current UserInput: type: object properties: company: type: string company_size: type: string first_name: type: string last_name: type: string linkedin_url: type: string model_category: type: array items: type: string model_type: type: array items: type: string organization_name: type: string product_usage: type: string role_in_company: type: string use_case: type: string required: - organization_name Schemasv1CodeSchema: type: object properties: code: type: string ServicesAirtableItemSchema: type: object properties: id: type: string Controllersv1OIDCCallbackResponseSchema: type: object properties: debug_info: $ref: '#/components/schemas/Controllersv1OIDCDebugInfo' user: type: object properties: application_status: type: string avatar_url: type: string created_at: type: string format: date-time deleted_at: type: string format: date-time nullable: true email: type: string first_name: type: string from_sso: type: boolean is_super_admin: type: boolean labels: type: array items: $ref: '#/components/schemas/ModelschemasLabelItemSchema' last_name: type: string name: type: string perm: type: string register_stage: type: string resource_type: type: string enum: - user - organization - cluster - host_cluster - bento_repository - bento - deployment - deployment_revision - model_repository - model - api_token uid: type: string updated_at: type: string format: date-time Controllersv1GroupMappingDebug: type: object properties: error: type: string group: type: string role: type: string success: type: boolean target_org_name: type: string ModelschemasLabelItemSchema: type: object properties: key: type: string stage: type: string value: type: string Reset PasswordInput: type: object properties: current_password: type: string new_password: type: string Register An UserInput: type: object properties: email: type: string first_name: type: string last_name: type: string name: type: string password: type: string required: - email - name - password Login An UserInput: type: object properties: name_or_email: type: string password: type: string required: - name_or_email - password Controllersv1OIDCInfoSchema: type: object properties: client_id: type: string enabled: type: boolean provider_url: type: string scopes: type: array items: type: string Airtable Event CallbackInput: type: object properties: base: $ref: '#/components/schemas/ServicesAirtableItemSchema' timestamp: type: string webhook: $ref: '#/components/schemas/ServicesAirtableItemSchema' Controllersv1FirebaseInfoSchema: type: object properties: api_key: type: string auth_domain: type: string Controllersv1OIDCDebugInfo: type: object properties: current_org_id: type: integer format: int32 current_org_name: type: string processed_mappings: type: array items: $ref: '#/components/schemas/Controllersv1GroupMappingDebug' user_groups: type: array items: type: string Single Sign OnInput: type: object properties: email: type: string first_name: type: string idToken: type: string invitation_code: type: string last_name: type: string required: - idToken securitySchemes: apiToken: type: apiKey in: header name: X-YATAI-API-TOKEN