# Generated with protoc-gen-openapi # https://github.com/google/gnostic/tree/master/cmd/protoc-gen-openapi openapi: 3.0.3 info: title: AdminService API description: AdminService is the admin service definition. version: 0.0.1 paths: /v1/admins/create: post: tags: - AdminService description: CreateAdmin creates a new admin. operationId: AdminService_CreateAdmin requestBody: content: application/json: schema: $ref: '#/components/schemas/kratos.admin.v1.Admin' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/kratos.admin.v1.Admin' /v1/admins/current: get: tags: - AdminService description: Current returns the currently logged-in user. operationId: AdminService_Current responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/kratos.admin.v1.Admin' /v1/admins/list: get: tags: - AdminService description: ListAdmins returns a list of admins. operationId: AdminService_ListAdmins parameters: - name: pageSize in: query description: Optional. The number of admins per page. schema: type: integer format: int32 - name: pageToken in: query description: Optional. The page token. schema: type: string - name: filter in: query description: |- Optional. The standard list filter. Supported fields: * `name` (i.e. `name="John Doe"`) * `create_time` range (i.e. `timestamp>="2025-01-31T11:30:00-04:00"` where the timestamp is in RFC 3339 format) More detail in [AIP-160](https://google.aip.dev/160). schema: type: string - name: orderBy in: query description: |- Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: - `create_time` Example: `create_time desc`. schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/kratos.admin.v1.AdminSet' /v1/admins/login: post: tags: - AdminService description: Login a user and return the username. operationId: AdminService_Login requestBody: content: application/json: schema: $ref: '#/components/schemas/kratos.admin.v1.LoginRequest' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/kratos.admin.v1.Admin' /v1/admins/logout: post: tags: - AdminService description: Logout the currently logged-in user. operationId: AdminService_Logout requestBody: content: application/json: {} required: true responses: "200": description: OK content: {} /v1/admins/update: put: tags: - AdminService description: UpdateAdmin updates an existing admin. operationId: AdminService_UpdateAdmin parameters: - name: updateMask in: query description: Required. Mask of fields to update. schema: type: string format: field-mask requestBody: content: application/json: schema: $ref: '#/components/schemas/kratos.admin.v1.Admin' required: true responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/kratos.admin.v1.Admin' /v1/admins/{id}: get: tags: - AdminService description: GetAdmin retrieves an admin by ID. operationId: AdminService_GetAdmin parameters: - name: id in: path description: The ID of the admin to retrieve. required: true schema: type: string responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/kratos.admin.v1.Admin' delete: tags: - AdminService description: DeleteAdmin deletes an admin by ID. operationId: AdminService_DeleteAdmin parameters: - name: id in: path description: Required. The ID of the admin to delete. required: true schema: type: string responses: "200": description: OK content: {} components: schemas: kratos.admin.v1.Admin: type: object properties: id: type: string description: The unique ID of the user. name: type: string description: The name of the user. email: type: string description: The email of the user. phone: type: string description: The phone number of the user. avatar: type: string description: The avatar URL of the user. access: type: string description: |- The access level of the user. Possible values are: "admin", "user", etc. password: type: string description: The password of the user. createTime: type: string description: The timestamp at which the user was created. format: date-time updateTime: type: string description: The latest timestamp at which the user was updated. format: date-time description: Admin is the admin message. kratos.admin.v1.AdminSet: type: object properties: admins: type: array items: $ref: '#/components/schemas/kratos.admin.v1.Admin' description: The set of admins. nextPageToken: type: string description: The next page token. description: AdminSet is the set of admins. kratos.admin.v1.LoginRequest: required: - password type: object properties: password: type: string description: Required. Password of the user. username: type: string email: type: string description: LoginRequest is the request message for the Login method. tags: - name: AdminService