mirror of
https://github.com/zitadel/zitadel.git
synced 2025-12-29 00:32:35 +00:00
* fix: change oidc config * fix: change oidc config secret * begin models * begin repo * fix: implement grpc app funcs * fix: add application requests * fix: converter * fix: converter * fix: converter and generate clientid * fix: tests * feat: project grant aggregate * feat: project grant * fix: project grant check if role existing * fix: project grant requests * fix: project grant fixes * fix: project grant member model * fix: project grant member aggregate * fix: project grant member eventstore * fix: project grant member requests * feat: user model * begin repo * repo models and more * feat: user command side * lots of functions * user command side * profile requests * commit before rebase on user * save * local config with gopass and more * begin new auth command (user centric) * Update internal/user/model/user.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/address.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/address.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/email.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/email.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/email.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/mfa.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/mfa.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/password.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/password.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/password.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/phone.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/phone.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/phone.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/user.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/user.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/user.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/usergrant/repository/eventsourcing/model/user_grant.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/usergrant/repository/eventsourcing/model/user_grant.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/usergrant/repository/eventsourcing/user_grant.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/user_test.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/eventstore_mock_test.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * changes from mr review * save files into basedir * changes from mr review * changes from mr review * move to auth request * Update internal/usergrant/repository/eventsourcing/cache.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/usergrant/repository/eventsourcing/cache.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * changes requested on mr * fix generate codes * fix return if no events * password code * email verification step * more steps * lot of mfa * begin tests * more next steps * auth api * auth api (user) * auth api (user) * auth api (user) * differ requests * merge * tests * fix compilation error * mock for id generator * Update internal/user/repository/eventsourcing/model/password.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/user/repository/eventsourcing/model/user.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * requests of mr * check email * begin separation of command and query * otp * change packages * some cleanup and fixes * tests for auth request / next steps * add VerificationLifetimes to config and make it run * tests * fix code challenge validation * cleanup * fix merge * begin view * repackaging tests and configs * fix startup config for auth * add migration * add PromptSelectAccount * fix copy / paste * remove user_agent files * fixes * fix sequences in user_session * token commands * token queries and signout * fix * fix set password test * add token handler and table * handle session init * add session state * add user view test cases * change VerifyMyMfaOTP * some fixes * fix user repo in auth api * cleanup * add user session view test * fix merge * begin oidc * user agent and more * config * keys * key command and query * add login statics * key handler * start login * login handlers * lot of fixes * merge oidc * add missing exports * add missing exports * fix some bugs * authrequestid in htmls * getrequest * update auth request * fix userid check * add username to authrequest * fix user session and auth request handling * fix UserSessionsByAgentID * fix auth request tests * fix user session on UserPasswordChanged and MfaOtpRemoved * fix MfaTypesSetupPossible * handle mfa * fill username * auth request query checks new events * fix userSessionByIDs * fix tokens * fix userSessionByIDs test * add user selection * init code * user code creation date * add init user step * add verification failed types * add verification failures * verify init code * user init code handle * user init code handle * fix userSessionByIDs * update logging * user agent cookie * browserinfo from request * add DeleteAuthRequest * add static login files to binary * add login statik to build * move generate to separate file and remove statik.go files * remove static dirs from startup.yaml * generate into separate namespaces * merge master * auth request code * auth request type mapping * fix keys * improve tokens * improve register and basic styling * fix ailerons font * improve password reset * add audience to token * all oidc apps as audience * fix test nextStep * fix email texts * remove "not set" * lot of style changes * improve copy to clipboard * fix footer * add cookie handler * remove placeholders * fix compilation after merge * fix auth config * remove comments * typo * use new secrets store * change default pws to match default policy * fixes * add todo * enable login * fix db name * Auth queries (#179) * my usersession * org structure/ auth handlers * working user grant spooler * auth internal user grants * search my project orgs * remove permissions file * my zitadel permissions * my zitadel permissions * remove unused code * authz * app searches in view * token verification * fix user grant load * fix tests * fix tests * read configs * remove unused const * remove todos * env variables * app_name * working authz * search projects * global resourceowner * Update internal/api/auth/permissions.go Co-authored-by: Livio Amstutz <livio.a@gmail.com> * Update internal/api/auth/permissions.go Co-authored-by: Livio Amstutz <livio.a@gmail.com> * model2 rename * at least it works * check token expiry * search my user grants * remove token table from authz Co-authored-by: Livio Amstutz <livio.a@gmail.com> * fix test * fix ports and enable console Co-authored-by: Fabiennne <fabienne.gerschwiler@gmail.com> Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com> Co-authored-by: Silvan <silvan.reusser@gmail.com>
1135 lines
26 KiB
JSON
1135 lines
26 KiB
JSON
{
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"title": "Auth API",
|
|
"version": "0.1",
|
|
"contact": {
|
|
"url": "https://github.com/caos/zitadel/pkg/auth"
|
|
}
|
|
},
|
|
"schemes": [
|
|
"https"
|
|
],
|
|
"consumes": [
|
|
"application/json",
|
|
"application/grpc"
|
|
],
|
|
"produces": [
|
|
"application/json",
|
|
"application/grpc"
|
|
],
|
|
"paths": {
|
|
"/global/projectorgs/_search": {
|
|
"post": {
|
|
"operationId": "SearchMyProjectOrgs",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1MyProjectOrgSearchResponse"
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/v1MyProjectOrgSearchRequest"
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/healthz": {
|
|
"get": {
|
|
"summary": "Readiness",
|
|
"operationId": "Healthz",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"properties": {}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/me/usersessions": {
|
|
"get": {
|
|
"summary": "Authorization",
|
|
"operationId": "GetMyUserSessions",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UserSessionViews"
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/permissions/zitadel/me": {
|
|
"get": {
|
|
"summary": "Permission",
|
|
"operationId": "GetMyZitadelPermissions",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1MyPermissions"
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/ready": {
|
|
"get": {
|
|
"operationId": "Ready",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"properties": {}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/usergrants/me/_search": {
|
|
"post": {
|
|
"operationId": "SearchMyUserGrant",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UserGrantSearchResponse"
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UserGrantSearchRequest"
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/users/me/address": {
|
|
"get": {
|
|
"operationId": "GetMyUserAddress",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UserAddress"
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "UpdateMyUserAddress",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UserAddress"
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UpdateUserAddressRequest"
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/users/me/email": {
|
|
"get": {
|
|
"operationId": "GetMyUserEmail",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UserEmail"
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "ChangeMyUserEmail",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UserEmail"
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UpdateUserEmailRequest"
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/users/me/email/_resendverification": {
|
|
"post": {
|
|
"operationId": "ResendMyEmailVerificationMail",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"properties": {}
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"properties": {}
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/users/me/email/_verify": {
|
|
"post": {
|
|
"operationId": "VerifyMyUserEmail",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"properties": {}
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/v1VerifyMyUserEmailRequest"
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/users/me/mfa/otp": {
|
|
"delete": {
|
|
"operationId": "RemoveMfaOTP",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"properties": {}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
},
|
|
"post": {
|
|
"summary": "MFA",
|
|
"operationId": "AddMfaOTP",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1MfaOtpResponse"
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"properties": {}
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/users/me/mfa/otp/_verify": {
|
|
"put": {
|
|
"operationId": "VerifyMfaOTP",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"properties": {}
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/v1VerifyMfaOtp"
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/users/me/mfas": {
|
|
"get": {
|
|
"operationId": "GetMyMfas",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1MultiFactors"
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/users/me/passwords/_change": {
|
|
"put": {
|
|
"summary": "Password",
|
|
"operationId": "ChangeMyPassword",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"properties": {}
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/v1PasswordChange"
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/users/me/phone": {
|
|
"get": {
|
|
"operationId": "GetMyUserPhone",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UserPhone"
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "ChangeMyUserPhone",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UserPhone"
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UpdateUserPhoneRequest"
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/users/me/phone/_resendverification": {
|
|
"post": {
|
|
"operationId": "ResendMyPhoneVerificationCode",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"properties": {}
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"properties": {}
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/users/me/phone/_verify": {
|
|
"post": {
|
|
"operationId": "VerifyMyUserPhone",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"properties": {}
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/v1VerifyUserPhoneRequest"
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/users/me/profile": {
|
|
"get": {
|
|
"summary": "User",
|
|
"operationId": "GetMyUserProfile",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UserProfile"
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "UpdateMyUserProfile",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UserProfile"
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/v1UpdateUserProfileRequest"
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
},
|
|
"/validate": {
|
|
"get": {
|
|
"operationId": "Validate",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/protobufStruct"
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"AuthService"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"protobufListValue": {
|
|
"type": "object",
|
|
"properties": {
|
|
"values": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/protobufValue"
|
|
},
|
|
"description": "Repeated field of dynamically typed values."
|
|
}
|
|
},
|
|
"description": "`ListValue` is a wrapper around a repeated field of values.\n\nThe JSON representation for `ListValue` is JSON array."
|
|
},
|
|
"protobufNullValue": {
|
|
"type": "string",
|
|
"enum": [
|
|
"NULL_VALUE"
|
|
],
|
|
"default": "NULL_VALUE",
|
|
"description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value."
|
|
},
|
|
"protobufStruct": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fields": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/protobufValue"
|
|
},
|
|
"description": "Unordered map of dynamically typed values."
|
|
}
|
|
},
|
|
"description": "`Struct` represents a structured data value, consisting of fields\nwhich map to dynamically typed values. In some languages, `Struct`\nmight be supported by a native representation. For example, in\nscripting languages like JS a struct is represented as an\nobject. The details of that representation are described together\nwith the proto support for the language.\n\nThe JSON representation for `Struct` is JSON object."
|
|
},
|
|
"protobufValue": {
|
|
"type": "object",
|
|
"properties": {
|
|
"null_value": {
|
|
"$ref": "#/definitions/protobufNullValue",
|
|
"description": "Represents a null value."
|
|
},
|
|
"number_value": {
|
|
"type": "number",
|
|
"format": "double",
|
|
"description": "Represents a double value."
|
|
},
|
|
"string_value": {
|
|
"type": "string",
|
|
"description": "Represents a string value."
|
|
},
|
|
"bool_value": {
|
|
"type": "boolean",
|
|
"format": "boolean",
|
|
"description": "Represents a boolean value."
|
|
},
|
|
"struct_value": {
|
|
"$ref": "#/definitions/protobufStruct",
|
|
"description": "Represents a structured value."
|
|
},
|
|
"list_value": {
|
|
"$ref": "#/definitions/protobufListValue",
|
|
"description": "Represents a repeated `Value`."
|
|
}
|
|
},
|
|
"description": "`Value` represents a dynamically typed value which can be either\nnull, a number, a string, a boolean, a recursive struct value, or a\nlist of values. A producer of value is expected to set one of that\nvariants, absence of any variant indicates an error.\n\nThe JSON representation for `Value` is JSON value."
|
|
},
|
|
"v1Gender": {
|
|
"type": "string",
|
|
"enum": [
|
|
"GENDER_UNSPECIFIED",
|
|
"GENDER_FEMALE",
|
|
"GENDER_MALE",
|
|
"GENDER_DIVERSE"
|
|
],
|
|
"default": "GENDER_UNSPECIFIED"
|
|
},
|
|
"v1MFAState": {
|
|
"type": "string",
|
|
"enum": [
|
|
"MFASTATE_UNSPECIFIED",
|
|
"MFASTATE_NOT_READY",
|
|
"MFASTATE_READY",
|
|
"MFASTATE_REMOVED"
|
|
],
|
|
"default": "MFASTATE_UNSPECIFIED"
|
|
},
|
|
"v1MfaOtpResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"user_id": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"secret": {
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"$ref": "#/definitions/v1MFAState"
|
|
}
|
|
}
|
|
},
|
|
"v1MfaType": {
|
|
"type": "string",
|
|
"enum": [
|
|
"MFATYPE_UNSPECIFIED",
|
|
"MFATYPE_SMS",
|
|
"MFATYPE_OTP"
|
|
],
|
|
"default": "MFATYPE_UNSPECIFIED"
|
|
},
|
|
"v1MultiFactor": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"$ref": "#/definitions/v1MfaType"
|
|
},
|
|
"state": {
|
|
"$ref": "#/definitions/v1MFAState"
|
|
}
|
|
}
|
|
},
|
|
"v1MultiFactors": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mfas": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/v1MultiFactor"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"v1MyPermissions": {
|
|
"type": "object",
|
|
"properties": {
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"v1MyProjectOrgSearchKey": {
|
|
"type": "string",
|
|
"enum": [
|
|
"MYPROJECTORGSEARCHKEY_UNSPECIFIED",
|
|
"MYPROJECTORGSEARCHKEY_ORG_NAME"
|
|
],
|
|
"default": "MYPROJECTORGSEARCHKEY_UNSPECIFIED"
|
|
},
|
|
"v1MyProjectOrgSearchQuery": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"$ref": "#/definitions/v1MyProjectOrgSearchKey"
|
|
},
|
|
"method": {
|
|
"$ref": "#/definitions/v1SearchMethod"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"v1MyProjectOrgSearchRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"offset": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
},
|
|
"limit": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
},
|
|
"asc": {
|
|
"type": "boolean",
|
|
"format": "boolean"
|
|
},
|
|
"queries": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/v1MyProjectOrgSearchQuery"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"v1MyProjectOrgSearchResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"offset": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
},
|
|
"limit": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
},
|
|
"total_result": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
},
|
|
"result": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/v1Org"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"v1Org": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"v1PasswordChange": {
|
|
"type": "object",
|
|
"properties": {
|
|
"old_password": {
|
|
"type": "string"
|
|
},
|
|
"new_password": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"v1SearchMethod": {
|
|
"type": "string",
|
|
"enum": [
|
|
"SEARCHMETHOD_EQUALS",
|
|
"SEARCHMETHOD_STARTS_WITH",
|
|
"SEARCHMETHOD_CONTAINS",
|
|
"SEARCHMETHOD_EQUALS_IGNORE_CASE",
|
|
"SEARCHMETHOD_STARTS_WITH_IGNORE_CASE",
|
|
"SEARCHMETHOD_CONTAINS_IGNORE_CASE"
|
|
],
|
|
"default": "SEARCHMETHOD_EQUALS"
|
|
},
|
|
"v1UpdateUserAddressRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"country": {
|
|
"type": "string"
|
|
},
|
|
"locality": {
|
|
"type": "string"
|
|
},
|
|
"postal_code": {
|
|
"type": "string"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
},
|
|
"street_address": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"v1UpdateUserEmailRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"v1UpdateUserPhoneRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"phone": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"v1UpdateUserProfileRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"nick_name": {
|
|
"type": "string"
|
|
},
|
|
"display_name": {
|
|
"type": "string"
|
|
},
|
|
"preferred_language": {
|
|
"type": "string"
|
|
},
|
|
"gender": {
|
|
"$ref": "#/definitions/v1Gender"
|
|
}
|
|
}
|
|
},
|
|
"v1UserAddress": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"country": {
|
|
"type": "string"
|
|
},
|
|
"locality": {
|
|
"type": "string"
|
|
},
|
|
"postal_code": {
|
|
"type": "string"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
},
|
|
"street_address": {
|
|
"type": "string"
|
|
},
|
|
"sequence": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
},
|
|
"creation_date": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"change_date": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
}
|
|
},
|
|
"v1UserEmail": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"isEmailVerified": {
|
|
"type": "boolean",
|
|
"format": "boolean"
|
|
},
|
|
"sequence": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
},
|
|
"creation_date": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"change_date": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
}
|
|
},
|
|
"v1UserGrantSearchKey": {
|
|
"type": "string",
|
|
"enum": [
|
|
"UserGrantSearchKey_UNKNOWN",
|
|
"UserGrantSearchKey_ORG_ID",
|
|
"UserGrantSearchKey_PROJECT_ID"
|
|
],
|
|
"default": "UserGrantSearchKey_UNKNOWN"
|
|
},
|
|
"v1UserGrantSearchQuery": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"$ref": "#/definitions/v1UserGrantSearchKey"
|
|
},
|
|
"method": {
|
|
"$ref": "#/definitions/v1SearchMethod"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"v1UserGrantSearchRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"offset": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
},
|
|
"limit": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
},
|
|
"sorting_column": {
|
|
"$ref": "#/definitions/v1UserGrantSearchKey"
|
|
},
|
|
"asc": {
|
|
"type": "boolean",
|
|
"format": "boolean"
|
|
},
|
|
"queries": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/v1UserGrantSearchQuery"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"v1UserGrantSearchResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"offset": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
},
|
|
"limit": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
},
|
|
"total_result": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
},
|
|
"result": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/v1UserGrantView"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"v1UserGrantView": {
|
|
"type": "object",
|
|
"properties": {
|
|
"OrgId": {
|
|
"type": "string"
|
|
},
|
|
"ProjectId": {
|
|
"type": "string"
|
|
},
|
|
"UserId": {
|
|
"type": "string"
|
|
},
|
|
"Roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"OrgName": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"v1UserPhone": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"phone": {
|
|
"type": "string"
|
|
},
|
|
"is_phone_verified": {
|
|
"type": "boolean",
|
|
"format": "boolean"
|
|
},
|
|
"sequence": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
},
|
|
"creation_date": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"change_date": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
}
|
|
},
|
|
"v1UserProfile": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"user_name": {
|
|
"type": "string"
|
|
},
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"nick_name": {
|
|
"type": "string"
|
|
},
|
|
"display_name": {
|
|
"type": "string"
|
|
},
|
|
"preferred_language": {
|
|
"type": "string"
|
|
},
|
|
"gender": {
|
|
"$ref": "#/definitions/v1Gender"
|
|
},
|
|
"sequence": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
},
|
|
"creation_date": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"change_date": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
}
|
|
},
|
|
"v1UserSessionState": {
|
|
"type": "string",
|
|
"enum": [
|
|
"USERSESSIONSTATE_UNSPECIFIED",
|
|
"USERSESSIONSTATE_ACTIVE",
|
|
"USERSESSIONSTATE_TERMINATED"
|
|
],
|
|
"default": "USERSESSIONSTATE_UNSPECIFIED"
|
|
},
|
|
"v1UserSessionView": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"agent_id": {
|
|
"type": "string"
|
|
},
|
|
"auth_state": {
|
|
"$ref": "#/definitions/v1UserSessionState"
|
|
},
|
|
"user_id": {
|
|
"type": "string"
|
|
},
|
|
"user_name": {
|
|
"type": "string"
|
|
},
|
|
"sequence": {
|
|
"type": "string",
|
|
"format": "uint64"
|
|
}
|
|
}
|
|
},
|
|
"v1UserSessionViews": {
|
|
"type": "object",
|
|
"properties": {
|
|
"user_sessions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/v1UserSessionView"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"v1VerifyMfaOtp": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"v1VerifyMyUserEmailRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"v1VerifyUserPhoneRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|