2020-03-23 16:56:02 +01:00
{
"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"
]
}
} ,
2020-06-16 11:40:18 +02:00
"/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" : {
" o p e r a t i o n I d ": " U p d a t e O r g I a m P o l i c y " ,
"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"
]
}
} ,
2020-03-23 16:56:02 +01:00
"/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" : {
2020-06-16 11:40:18 +02:00
"$ref" : "#/definitions/protobufStruct"
2020-03-23 16:56:02 +01:00
}
}
} ,
"tags" : [
"AdminService"
]
}
}
} ,
"definitions" : {
2020-06-16 11:40:18 +02:00
"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."
} ,
2020-03-23 16:56:02 +01:00
"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."
} ,
2020-06-16 11:40:18 +02:00
"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."
} ,
2020-03-23 16:56:02 +01:00
"v1CreateOrgRequest" : {
"type" : "object" ,
"properties" : {
"name" : {
"type" : "string"
} ,
"domain" : {
"type" : "string"
}
}
} ,
2020-05-13 14:22:29 +02:00
"v1CreateUserRequest" : {
"type" : "object" ,
"properties" : {
"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"
} ,
"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"
}
}
} ,
2020-03-23 16:56:02 +01:00
"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"
}
}
} ,
2020-06-16 11:40:18 +02:00
"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"
}
}
} ,
2020-03-23 16:56:02 +01:00
"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" : {
2020-05-13 14:22:29 +02:00
"$ref" : "#/definitions/v1CreateUserRequest"
2020-03-23 16:56:02 +01:00
}
}
} ,
"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"
2020-05-13 14:22:29 +02:00
} ,
"sequence" : {
"type" : "string" ,
"format" : "uint64"
2020-03-23 16:56:02 +01:00
}
}
} ,
"v1UserState" : {
"type" : "string" ,
"enum" : [
"USERSTATE_UNSPECIFIED" ,
"USERSTATE_ACTIVE" ,
"USERSTATE_INACTIVE" ,
"USERSTATE_DELETED" ,
"USERSTATE_LOCKED" ,
"USERSTATE_SUSPEND" ,
"USERSTATE_INITIAL"
] ,
"default" : "USERSTATE_UNSPECIFIED"
}
}
}