zitadel/pkg/admin/api/grpc/admin.swagger.json
Livio Amstutz 1c59d18fee
fix: improvements for login and oidc (#227)
* add csrf

* caching

* caching

* caching

* caching

* security headers

* csp and security headers

* error handler csp

* select user with display name

* csp

* user selection styling

* username to loginname

* regenerate grpc

* regenerate

* change to login name
2020-06-17 08:06:40 +02:00

653 lines
14 KiB
JSON

{
"swagger": "2.0",
"info": {
"title": "admin service",
"version": "0.1",
"contact": {
"url": "https://github.com/caos/zitadel/pkg/admin"
}
},
"schemes": [
"https"
],
"consumes": [
"application/json",
"application/grpc"
],
"produces": [
"application/json",
"application/grpc"
],
"paths": {
"/healthz": {
"get": {
"summary": "Healthz returns status OK as soon as the service started",
"operationId": "Healthz",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"tags": [
"AdminService"
]
}
},
"/orgs/_isunique": {
"get": {
"summary": "ORG",
"operationId": "IsOrgUnique",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v1UniqueOrgResponse"
}
}
},
"parameters": [
{
"name": "name",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "domain",
"in": "query",
"required": false,
"type": "string"
}
],
"tags": [
"AdminService"
]
}
},
"/orgs/_search": {
"post": {
"operationId": "SearchOrgs",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v1OrgSearchResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1OrgSearchRequest"
}
}
],
"tags": [
"AdminService"
]
}
},
"/orgs/_setup": {
"post": {
"operationId": "SetUpOrg",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v1OrgSetUpResponse"
}
}
},
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1OrgSetUpRequest"
}
}
],
"tags": [
"AdminService"
]
}
},
"/orgs/{id}": {
"get": {
"operationId": "GetOrgByID",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v1Org"
}
}
},
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
}
],
"tags": [
"AdminService"
]
}
},
"/orgs/{org_id}/iampolicy": {
"get": {
"summary": "ORG_IAM_POLICY",
"operationId": "GetOrgIamPolicy",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v1OrgIamPolicy"
}
}
},
"parameters": [
{
"name": "org_id",
"in": "path",
"required": true,
"type": "string"
}
],
"tags": [
"AdminService"
]
},
"delete": {
"operationId": "DeleteOrgIamPolicy",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"parameters": [
{
"name": "org_id",
"in": "path",
"required": true,
"type": "string"
}
],
"tags": [
"AdminService"
]
},
"post": {
"operationId": "CreateOrgIamPolicy",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v1OrgIamPolicy"
}
}
},
"parameters": [
{
"name": "org_id",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1OrgIamPolicyRequest"
}
}
],
"tags": [
"AdminService"
]
},
"put": {
"operationId": "UpdateOrgIamPolicy",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v1OrgIamPolicy"
}
}
},
"parameters": [
{
"name": "org_id",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/v1OrgIamPolicyRequest"
}
}
],
"tags": [
"AdminService"
]
}
},
"/ready": {
"get": {
"summary": "Ready returns status OK as soon as all dependent services are available",
"operationId": "Ready",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"properties": {}
}
}
},
"tags": [
"AdminService"
]
}
},
"/validate": {
"get": {
"operationId": "Validate",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"type": "object"
}
}
},
"tags": [
"AdminService"
]
}
}
},
"definitions": {
"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."
},
"v1CreateOrgRequest": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"domain": {
"type": "string"
}
}
},
"v1CreateUserRequest": {
"type": "object",
"properties": {
"user_name": {
"type": "string"
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"nick_name": {
"type": "string"
},
"preferred_language": {
"type": "string"
},
"gender": {
"$ref": "#/definitions/v1Gender"
},
"email": {
"type": "string"
},
"is_email_verified": {
"type": "boolean",
"format": "boolean"
},
"phone": {
"type": "string"
},
"is_phone_verified": {
"type": "boolean",
"format": "boolean"
},
"country": {
"type": "string"
},
"locality": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"region": {
"type": "string"
},
"street_address": {
"type": "string"
},
"password": {
"type": "string"
}
}
},
"v1Gender": {
"type": "string",
"enum": [
"GENDER_UNSPECIFIED",
"GENDER_FEMALE",
"GENDER_MALE",
"GENDER_DIVERSE"
],
"default": "GENDER_UNSPECIFIED"
},
"v1Org": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"state": {
"$ref": "#/definitions/v1OrgState"
},
"creation_date": {
"type": "string",
"format": "date-time"
},
"change_date": {
"type": "string",
"format": "date-time"
},
"name": {
"type": "string"
},
"domain": {
"type": "string"
}
}
},
"v1OrgIamPolicy": {
"type": "object",
"properties": {
"org_id": {
"type": "string"
},
"description": {
"type": "string"
},
"user_login_must_be_domain": {
"type": "boolean",
"format": "boolean"
},
"default": {
"type": "boolean",
"format": "boolean"
},
"sequence": {
"type": "string",
"format": "uint64"
},
"creation_date": {
"type": "string",
"format": "date-time"
},
"change_date": {
"type": "string",
"format": "date-time"
}
}
},
"v1OrgIamPolicyRequest": {
"type": "object",
"properties": {
"org_id": {
"type": "string"
},
"description": {
"type": "string"
},
"user_login_must_be_domain": {
"type": "boolean",
"format": "boolean"
}
}
},
"v1OrgSearchKey": {
"type": "string",
"enum": [
"ORGSEARCHKEY_UNSPECIFIED",
"ORGSEARCHKEY_ORG_NAME",
"ORGSEARCHKEY_DOMAIN",
"ORGSEARCHKEY_STATE"
],
"default": "ORGSEARCHKEY_UNSPECIFIED"
},
"v1OrgSearchMethod": {
"type": "string",
"enum": [
"ORGSEARCHMETHOD_EQUALS",
"ORGSEARCHMETHOD_STARTS_WITH",
"ORGSEARCHMETHOD_CONTAINS"
],
"default": "ORGSEARCHMETHOD_EQUALS"
},
"v1OrgSearchQuery": {
"type": "object",
"properties": {
"key": {
"$ref": "#/definitions/v1OrgSearchKey"
},
"method": {
"$ref": "#/definitions/v1OrgSearchMethod"
},
"value": {
"type": "string"
}
}
},
"v1OrgSearchRequest": {
"type": "object",
"properties": {
"offset": {
"type": "string",
"format": "uint64"
},
"limit": {
"type": "string",
"format": "uint64"
},
"sorting_column": {
"$ref": "#/definitions/v1OrgSearchKey"
},
"asc": {
"type": "boolean",
"format": "boolean"
},
"queries": {
"type": "array",
"items": {
"$ref": "#/definitions/v1OrgSearchQuery"
}
}
}
},
"v1OrgSearchResponse": {
"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"
}
}
}
},
"v1OrgSetUpRequest": {
"type": "object",
"properties": {
"org": {
"$ref": "#/definitions/v1CreateOrgRequest"
},
"user": {
"$ref": "#/definitions/v1CreateUserRequest"
}
}
},
"v1OrgSetUpResponse": {
"type": "object",
"properties": {
"org": {
"$ref": "#/definitions/v1Org"
},
"user": {
"$ref": "#/definitions/v1User"
}
}
},
"v1OrgState": {
"type": "string",
"enum": [
"ORGSTATE_UNSPECIFIED",
"ORGSTATE_ACTIVE",
"ORGSTATE_INACTIVE"
],
"default": "ORGSTATE_UNSPECIFIED"
},
"v1UniqueOrgResponse": {
"type": "object",
"properties": {
"is_unique": {
"type": "boolean",
"format": "boolean"
}
}
},
"v1User": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"state": {
"$ref": "#/definitions/v1UserState"
},
"creation_date": {
"type": "string",
"format": "date-time"
},
"change_date": {
"type": "string",
"format": "date-time"
},
"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"
},
"email": {
"type": "string"
},
"isEmailVerified": {
"type": "boolean",
"format": "boolean"
},
"phone": {
"type": "string"
},
"isPhoneVerified": {
"type": "boolean",
"format": "boolean"
},
"country": {
"type": "string"
},
"locality": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"region": {
"type": "string"
},
"street_address": {
"type": "string"
},
"sequence": {
"type": "string",
"format": "uint64"
}
}
},
"v1UserState": {
"type": "string",
"enum": [
"USERSTATE_UNSPECIFIED",
"USERSTATE_ACTIVE",
"USERSTATE_INACTIVE",
"USERSTATE_DELETED",
"USERSTATE_LOCKED",
"USERSTATE_SUSPEND",
"USERSTATE_INITIAL"
],
"default": "USERSTATE_UNSPECIFIED"
}
}
}