{
    "swagger": "2.0",
    "basePath": "/",
    "paths": {
        "/authorizedservices_api/authorized_services": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/AuthorizedServices"
                            }
                        }
                    }
                },
                "summary": "Retrieve all authorized services",
                "operationId": "list_of_registered_users",
                "tags": [
                    "authorizedservices_api"
                ]
            },
            "delete": {
                "responses": {
                    "200": {
                        "description": "Success"
                    }
                },
                "summary": "Delete an authorized service",
                "operationId": "delete_authorizedservice",
                "parameters": [
                    {
                        "name": "qradar-user",
                        "in": "header",
                        "type": "string",
                        "default": ""
                    },
                    {
                        "name": "id",
                        "in": "query",
                        "type": "integer",
                        "required": true
                    }
                ],
                "tags": [
                    "authorizedservices_api"
                ]
            },
            "post": {
                "responses": {
                    "201": {
                        "description": "Authorized service was added",
                        "schema": {
                            "$ref": "#/definitions/AuthorizedServices"
                        }
                    },
                    "422": {
                        "description": "Authorized service with this label already exists or reserved by Administrator"
                    }
                },
                "summary": "Create an authorized service",
                "operationId": "create_authorizedservice",
                "parameters": [
                    {
                        "name": "label",
                        "in": "query",
                        "type": "string",
                        "required": true,
                        "description": "Label of Auth Service"
                    },
                    {
                        "name": "user_role_id",
                        "in": "query",
                        "type": "integer",
                        "required": true,
                        "description": "User Role Id"
                    },
                    {
                        "name": "security_profile_id",
                        "in": "query",
                        "type": "integer",
                        "required": true,
                        "description": "Security Profile Id"
                    },
                    {
                        "name": "expiration_date",
                        "in": "query",
                        "type": "string",
                        "description": "Expiration Date field",
                        "default": ""
                    },
                    {
                        "name": "qradar-user",
                        "in": "header",
                        "type": "string",
                        "default": ""
                    }
                ],
                "tags": [
                    "authorizedservices_api"
                ]
            }
        },
        "/entitlement_api/cold_retention": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ColdRetention"
                        }
                    }
                },
                "summary": "Retrieve cold retention buckets",
                "operationId": "get_cold_retention",
                "tags": [
                    "entitlement_api"
                ]
            }
        },
        "/entitlement_api/event_retention_buckets": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/EventRetentionBucket"
                            }
                        }
                    }
                },
                "summary": "Retrieve event retention buckets",
                "operationId": "get_event_retention",
                "tags": [
                    "entitlement_api"
                ]
            }
        },
        "/entitlement_api/flow_retention_buckets": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/FlowRetentionBucket"
                            }
                        }
                    }
                },
                "summary": "Retrieve flow retention buckets",
                "operationId": "get_flow_retention",
                "tags": [
                    "entitlement_api"
                ]
            }
        },
        "/entitlement_api/license_pool": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/LicensePool"
                        }
                    }
                },
                "summary": "Retrieve deployed license pool information",
                "operationId": "get_eps_fpm",
                "tags": [
                    "entitlement_api"
                ]
            }
        },
        "/firewall_rules_api/firewall_rules": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "example": "IP or CIDR"
                            }
                        }
                    }
                },
                "summary": "Retrieve available source IPs and CIDRs",
                "operationId": "get_firewall_rules",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "type": "integer",
                        "required": true,
                        "description": "Gateway ID"
                    }
                ],
                "tags": [
                    "firewall_rules_api"
                ]
            },
            "put": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "example": "IP or CIDR"
                            }
                        }
                    }
                },
                "summary": "Update source IPs and CIDRs",
                "operationId": "update_firewall_rules_source_ips",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "type": "integer",
                        "required": true,
                        "description": "Gateway ID"
                    },
                    {
                        "name": "source_ips_list",
                        "in": "query",
                        "type": "array",
                        "description": "Source IP or CIDR",
                        "default": [],
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    }
                ],
                "tags": [
                    "firewall_rules_api"
                ]
            }
        },
        "/gateways_api/gateways": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Gateways"
                            }
                        }
                    }
                },
                "summary": "Retrieve list of data gateways",
                "operationId": "get_gateways",
                "tags": [
                    "gateways_api"
                ]
            }
        },
        "/hosts_api/hosts": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Staged%20Host"
                            }
                        }
                    }
                },
                "summary": "Retrieves a list of deployment staged hosts",
                "operationId": "get_staged_hosts",
                "tags": [
                    "hosts_api"
                ]
            }
        },
        "/hosts_api/public_ips": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Public%20IPs"
                            }
                        }
                    }
                },
                "summary": "Retrieves a list of deployment public and VPN IPs",
                "operationId": "get_public_ips",
                "tags": [
                    "hosts_api"
                ]
            }
        },
        "/proxymappings_api/proxymappings": {
            "get": {
                "responses": {
                    "404": {
                        "description": "Proxy Mapping not found"
                    },
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/ProxyMapping"
                            }
                        }
                    }
                },
                "summary": "Retrieve list of all gateway proxy mappings or get details of one proxy mapping",
                "operationId": "list_proxy_mappings",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "type": "integer"
                    }
                ],
                "tags": [
                    "proxymappings_api"
                ]
            },
            "delete": {
                "responses": {
                    "200": {
                        "description": "Success"
                    }
                },
                "summary": "Delete selected proxy mapping",
                "operationId": "delete_proxy_mapping",
                "parameters": [
                    {
                        "name": "qradar-user",
                        "in": "header",
                        "type": "string",
                        "default": ""
                    },
                    {
                        "name": "id",
                        "in": "query",
                        "type": "integer",
                        "required": true
                    }
                ],
                "tags": [
                    "proxymappings_api"
                ]
            },
            "post": {
                "responses": {
                    "404": {
                        "description": "Proxy Mapping not found"
                    }
                },
                "summary": "Create a new gateway proxy mapping or update an existing one",
                "operationId": "create_update_proxy_mapping",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "type": "integer"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "type": "string",
                        "required": true
                    },
                    {
                        "name": "origin_host_id",
                        "in": "query",
                        "type": "integer",
                        "default": 53
                    },
                    {
                        "name": "destination_host_id",
                        "in": "query",
                        "type": "integer",
                        "required": true
                    },
                    {
                        "name": "accessible_cidr",
                        "in": "query",
                        "type": "string",
                        "required": true
                    },
                    {
                        "name": "gatewayName",
                        "in": "query",
                        "type": "string"
                    },
                    {
                        "name": "qradar-user",
                        "in": "header",
                        "type": "string",
                        "default": ""
                    },
                    {
                        "in": "query",
                        "description": "Proxy Mapping id",
                        "name": "proxy_id",
                        "type": "string"
                    }
                ],
                "tags": [
                    "proxymappings_api"
                ]
            }
        },
        "/proxymappings_api/proxymappings/restart_mappings": {
            "parameters": [
                {
                    "in": "query",
                    "description": "Proxy Mapping id",
                    "name": "proxy_id",
                    "type": "string"
                }
            ],
            "post": {
                "responses": {
                    "404": {
                        "description": "Proxy Mapping not found"
                    }
                },
                "summary": "Restart or Create gateway proxy mappings that are inactive or unknown state",
                "operationId": "restart_proxy_mapping",
                "parameters": [
                    {
                        "name": "qradar-user",
                        "in": "header",
                        "type": "string",
                        "default": ""
                    },
                    {
                        "name": "id",
                        "in": "query",
                        "type": "integer",
                        "required": true
                    }
                ],
                "tags": [
                    "proxymappings_api"
                ]
            }
        },
        "/security_api/get_csrf_token": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/CSRF%20Token"
                        }
                    }
                },
                "operationId": "get_csrf_token",
                "tags": [
                    "security_api"
                ]
            }
        },
        "/users_api/security_profiles": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/SecurityProfile"
                            }
                        }
                    }
                },
                "summary": "Retrieve security profiles",
                "operationId": "list_security_profiles",
                "tags": [
                    "users_api"
                ]
            }
        },
        "/users_api/tenants": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Tenant"
                            }
                        }
                    }
                },
                "summary": "Retrieve tenants",
                "operationId": "list_tenants",
                "tags": [
                    "users_api"
                ]
            }
        },
        "/users_api/user_roles": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Role"
                            }
                        }
                    }
                },
                "summary": "Retrieve user roles",
                "operationId": "list_user_roles",
                "tags": [
                    "users_api"
                ]
            }
        },
        "/users_api/users": {
            "get": {
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/User"
                            }
                        }
                    }
                },
                "summary": "Retrieve all users or user details",
                "operationId": "list_users",
                "tags": [
                    "users_api"
                ]
            },
            "post": {
                "responses": {
                    "200": {
                        "description": "Success"
                    }
                },
                "summary": "Add a new user",
                "operationId": "create_update_user",
                "parameters": [
                    {
                        "name": "username",
                        "in": "query",
                        "type": "string",
                        "required": true,
                        "description": "{api_username}"
                    },
                    {
                        "name": "description",
                        "in": "query",
                        "type": "string",
                        "description": "{api_description}",
                        "default": ""
                    },
                    {
                        "name": "user_role_id",
                        "in": "query",
                        "type": "integer",
                        "required": true,
                        "description": "{api_user_role_id}"
                    },
                    {
                        "name": "security_profile_id",
                        "in": "query",
                        "type": "integer",
                        "required": true,
                        "description": "{api_security_profile_id}"
                    },
                    {
                        "name": "tenant_id",
                        "in": "query",
                        "type": "integer",
                        "description": "{api_user_tenant}"
                    },
                    {
                        "name": "qradar-user",
                        "in": "header",
                        "type": "string",
                        "default": ""
                    }
                ],
                "tags": [
                    "users_api"
                ]
            }
        }
    },
    "info": {
        "title": "QRoC Self Serve App API Documentation",
        "version": "1.0",
        "description": "This QRoC Self Serve API Swagger provides documentation for the app endpoints e.g. add user, add authorized service token etc. \n \n Example 1: Calling API endpoints from this Swagger UI page: \n Requests to (POST/PUT/DELETE) endpoints from this Swagger UI page require QRadarCSRF token for authorization.\nTo apply QRadarCSRF token:\n- Fetch a token using the /security_api/get_csrf_token endpoint (Try it out > Execute) \n - Open Authorization form (click the Authorize button)\n - Submit QRadarCSRF you generated.\\nThis will enable access to POST/PUT/DELETE app endpoints in this UI.\n\nExample 2: Calling API endpoints using external services:\nRequests to these endpoints from external sources should have Authorized Service Token passed to request header e.g. \n \n\t curl -X POST \\ \n\t 'https://< console_hostname >/console/plugins/< app_id >/app_proxy/authorizedservices_api/authorized_services?label=test1&user_role_id=3&security_profile_id=1' \\ \n\t -H 'SEC: < Auth Service Token with Security Administrator user role > ' \\ \n\t -H 'accept: application/json' \n< Auth Service Token with Security Administrator user role > can be created using Self Serve Authorized Services Management \n< console_hostname > and < app_id > can be found in the URL \n"
    },
    "produces": [
        "application/json"
    ],
    "consumes": [
        "application/json"
    ],
    "securityDefinitions": {
        "csrf_token": {
            "type": "apiKey",
            "in": "header",
            "name": "QRadarCSRF"
        }
    },
    "security": [
        {
            "csrf_token": []
        }
    ],
    "tags": [
        {
            "name": "security_api",
            "description": "GET CSRF Token"
        },
        {
            "name": "authorizedservices_api",
            "description": "Authorized Services Management"
        },
        {
            "name": "entitlement_api",
            "description": "Customer entitlement"
        },
        {
            "name": "gateways_api",
            "description": "Gateways"
        },
        {
            "name": "hosts_api",
            "description": "Hosts"
        },
        {
            "name": "proxymappings_api",
            "description": "Proxy mappings"
        },
        {
            "name": "users_api",
            "description": "User Management"
        },
        {
            "name": "firewall_rules_api",
            "description": "Firewall rules"
        }
    ],
    "definitions": {
        "CSRF Token": {
            "properties": {
                "QRadarCSRF": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AuthorizedServices": {
            "required": [
                "label",
                "security_profile_id",
                "user_role_id"
            ],
            "properties": {
                "created_by": {
                    "type": "string",
                    "description": "The label of the system actor that created this authorized service."
                },
                "creation_date": {
                    "type": "string",
                    "description": "The time in milliseconds since epoch that this authorized service was created."
                },
                "expiration_date": {
                    "type": "string",
                    "description": "The time in milliseconds since epoch that this authorized service will expire. If this field is null, this authorized service does not expire."
                },
                "id": {
                    "type": "integer",
                    "description": "The ID of the authorized service.",
                    "readOnly": true
                },
                "label": {
                    "type": "string",
                    "description": "The label of the authorized service. Authorized service labels and users \"usernames\" must be unique between them."
                },
                "last_used_date": {
                    "type": "string",
                    "description": "The time in milliseconds since epoch that this authorized service was last used. If this field is null, this authorized service has not been used."
                },
                "security_profile_id": {
                    "type": "integer",
                    "description": "The security profile ID of the authorized service."
                },
                "tenant_id": {
                    "type": "string",
                    "description": "The tenant_id of the current authorized service."
                },
                "security_profile_name": {
                    "type": "string",
                    "description": "The security profile name of the authorized service."
                },
                "token": {
                    "type": "string",
                    "description": "The token of this authorized service, generated as a UUID. The authorized service token is a pre-authorized key. This token can be used in place of a username and password when authentication to the APIs."
                },
                "user_role_id": {
                    "type": "integer",
                    "description": "The user_role_id of the user."
                },
                "user_role_name": {
                    "type": "string",
                    "description": "The name of the user role for the token."
                }
            },
            "type": "object"
        },
        "EventRetentionBucket": {
            "properties": {
                "bucket_id": {
                    "type": "integer",
                    "description": "The ID of the retention bucket. ( 0 - 10 )."
                },
                "period": {
                    "type": "number",
                    "description": "The retention period in months."
                }
            },
            "type": "object"
        },
        "FlowRetentionBucket": {
            "properties": {
                "bucket_id": {
                    "type": "integer",
                    "description": "The ID of the retention bucket."
                },
                "period": {
                    "type": "number",
                    "description": "The retention period in months."
                }
            },
            "type": "object"
        },
        "LicensePool": {
            "properties": {
                "eps": {
                    "description": "Events per second bucket",
                    "allOf": [
                        {
                            "$ref": "#/definitions/Allocation"
                        }
                    ]
                },
                "fpm": {
                    "description": "Flows per second bucket",
                    "allOf": [
                        {
                            "$ref": "#/definitions/Allocation"
                        }
                    ]
                }
            },
            "type": "object"
        },
        "Allocation": {
            "properties": {
                "allocated": {
                    "type": "integer",
                    "description": "The amount of rate allocated from the pool."
                },
                "overallocated": {
                    "type": "boolean",
                    "description": "Whether overallocated or not in the pool."
                },
                "total": {
                    "type": "integer",
                    "description": "The total rate available in the pool."
                }
            },
            "type": "object"
        },
        "ColdRetention": {
            "properties": {
                "event_cold_retention": {
                    "type": "integer",
                    "description": "The retention period in months."
                },
                "flow_cold_retention": {
                    "type": "integer",
                    "description": "The retention period in months."
                }
            },
            "type": "object"
        },
        "Gateways": {
            "properties": {
                "appliance": {
                    "$ref": "#/definitions/Appliance"
                },
                "private_ip": {
                    "type": "string",
                    "description": "The private IP of this managed host."
                },
                "hostname": {
                    "type": "string",
                    "description": "The host name of this managed host."
                },
                "id": {
                    "type": "integer",
                    "description": "The ID of this managed host."
                }
            },
            "type": "object"
        },
        "Appliance": {
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The appliance type ID."
                }
            },
            "type": "object"
        },
        "Staged Host": {
            "properties": {
                "nat_id": {
                    "type": "integer",
                    "description": "The Network Address Translation (NAT) group id which the managed host belongs to. 0 is the default group meaning its not in a specific NAT group."
                },
                "public_ip": {
                    "type": "string",
                    "description": "The public ip if the host is in a NAT group."
                },
                "offsite": {
                    "type": "boolean",
                    "description": "Whether or not that this managed host lives in this deployment or another deployment."
                },
                "status": {
                    "type": "string",
                    "description": "The host status."
                },
                "appliance_type_description": {
                    "type": "string",
                    "description": "A short description of what the appliance number means."
                },
                "appliance_type": {
                    "type": "string",
                    "description": "The appliance number."
                },
                "host_name": {
                    "type": "string",
                    "description": "The host name given to the managed host."
                },
                "id": {
                    "type": "integer",
                    "description": "The unique ID of the managed host."
                },
                "private_ip": {
                    "type": "string",
                    "description": "The IP of the managed host."
                },
                "encrypted": {
                    "type": "boolean",
                    "description": "True or false whether or not communication to the managed host is encrypted when using SSH tunnels."
                },
                "compressed": {
                    "type": "boolean",
                    "description": "True or false whether or not the encrypted SSH tunnels use compression or not."
                },
                "remote_tunnel_initiation": {
                    "type": "boolean",
                    "description": "True if the host's tunnels should originate on the other managed host."
                },
                "console": {
                    "type": "boolean",
                    "description": "True if the managed host is the console false for all other managed hosts."
                },
                "category": {
                    "type": "array",
                    "description": "An array of all the difference license types the host has.",
                    "items": {
                        "type": "string"
                    }
                },
                "is_Ha": {
                    "type": "boolean",
                    "description": "True if the managed host is in a High Availability (HA) Pair otherwise will be false."
                },
                "secondary_host_id": {
                    "type": "integer",
                    "description": "The id of the secondary server host if the managed host is in an HA pair. It will be null if its not in an HA pair."
                },
                "primary_host_id": {
                    "type": "integer",
                    "description": "The id of the primary server host. Each managed host will have a primary host id."
                },
                "components": {
                    "type": "array",
                    "description": " All of the components id that live on the managed host.",
                    "items": {
                        "type": "integer"
                    }
                },
                "servers_hosts": {
                    "type": "array",
                    "description": " An array of server hosts. A managed host will have one server host but will have two when in an HA pair.",
                    "items": {
                        "$ref": "#/definitions/Server Host"
                    }
                },
                "connected_to_mh_id": {
                    "type": "integer",
                    "description": "True for event processor host when connected to managed host."
                },
                "connected_to_mh_private_ip": {
                    "type": "array",
                    "description": "IP of the managed host if this host an event processor connected to a managed host.",
                    "items": {
                        "type": "string"
                    }
                },
                "connected_to_mh_host_name": {
                    "type": "array",
                    "description": "Name of the managed host if this host an event processor connected to a managed host.",
                    "items": {
                        "type": "string"
                    }
                },
                "component_id": {
                    "type": "integer",
                    "description": "This host component id."
                },
                "gateway_comp_id": {
                    "type": "integer",
                    "description": "Component ID if this host is an event processor connected to a managed host."
                }
            },
            "type": "object"
        },
        "Server Host": {
            "properties": {
                "id": {
                    "type": "integer",
                    "description": "The ID of the server host."
                },
                "status": {
                    "type": "string",
                    "description": "The status of the server host. Will be active if the host is active. Will be offline if the host is offline. Can have a variety of status when in an HA pair."
                },
                "license_ip": {
                    "type": "string",
                    "description": "The license IP used on the server host."
                },
                "hostname": {
                    "type": "string",
                    "description": "The hostname used by the server host."
                },
                "management_interface": {
                    "type": "string",
                    "description": "The ethernet interface for the server host."
                },
                "serial_number": {
                    "type": "string",
                    "description": "The serial number for the physical host."
                },
                "managed_host_id": {
                    "type": "integer",
                    "description": "The id of the managed host in which this server host is used."
                },
                "private_ip": {
                    "type": "string",
                    "description": "The physical IP of the server host."
                }
            },
            "type": "object"
        },
        "Public IPs": {
            "properties": {
                "https_ip": {
                    "type": "array",
                    "description": "Deployment host public IP.",
                    "items": {
                        "type": "string"
                    }
                },
                "vpn_ips": {
                    "type": "array",
                    "description": "Deployment host VPN IPs.",
                    "items": {
                        "type": "string"
                    }
                },
                "eps": {
                    "type": "array",
                    "description": "Event processors details.",
                    "items": {
                        "$ref": "#/definitions/EPs"
                    }
                }
            },
            "type": "object"
        },
        "EPs": {
            "properties": {
                "cluster_ip": {
                    "type": "string",
                    "description": "Event processor private IP."
                },
                "https_ip": {
                    "type": "array",
                    "description": "Event processor public IP.",
                    "items": {
                        "type": "string"
                    }
                },
                "hostname": {
                    "type": "string",
                    "description": "Event processor hostname."
                }
            },
            "type": "object"
        },
        "ProxyMapping": {
            "properties": {
                "origin_host_id": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer",
                    "description": "The ID of this mapping."
                },
                "name": {
                    "type": "string",
                    "description": "The name of this mapping."
                },
                "accessible_cidr": {
                    "type": "string",
                    "description": "The address to be accessed through the given gateway."
                },
                "destination_host_id": {
                    "type": "integer",
                    "description": "The ID of the managed host where the tunnel terminates."
                },
                "status": {
                    "type": "string",
                    "description": "One of: ACTIVE, INACTIVE, UNKNOWN."
                }
            },
            "type": "object"
        },
        "Role": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the user role."
                },
                "id": {
                    "type": "integer",
                    "description": "The ID of the user role."
                }
            },
            "type": "object"
        },
        "SecurityProfile": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the security profile."
                },
                "id": {
                    "type": "integer",
                    "description": "The ID of the security profile."
                },
                "domain_ids": {
                    "type": "array",
                    "description": "The list of domain ids which are assigned to the security profiles. If there is no domain assigned to the security profile, the empty list will be returned.",
                    "items": {
                        "type": "integer"
                    }
                }
            },
            "type": "object"
        },
        "Tenant": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the tenan"
                },
                "id": {
                    "type": "integer",
                    "description": "The ID of the tenant."
                },
                "domains": {
                    "type": "array",
                    "description": "The list of domains.",
                    "items": {
                        "type": "integer"
                    }
                }
            },
            "type": "object"
        },
        "User": {
            "properties": {
                "description": {
                    "type": "string",
                    "description": "The description of the user."
                },
                "id": {
                    "type": "integer",
                    "description": "The ID of the user. The ID of the staged user and the ID of the same deployed user are the same. This field is read only."
                },
                "message": {
                    "type": "string",
                    "description": "Read-only field for user task management."
                },
                "reserved": {
                    "type": "boolean",
                    "description": "Read-only field to manage reserved users."
                },
                "security_profile_id": {
                    "type": "integer",
                    "description": "The security_profile_id of the user."
                },
                "status": {
                    "type": "string",
                    "description": "The user status."
                },
                "tenant_id": {
                    "type": "integer",
                    "description": "The tenant_id of the current user."
                },
                "user_role_id": {
                    "type": "integer",
                    "description": "The user role id."
                },
                "user_role_name": {
                    "type": "string",
                    "description": "The user role name."
                },
                "username": {
                    "type": "string",
                    "description": "The username of the user."
                }
            },
            "type": "object"
        }
    },
    "responses": {
        "ParseError": {
            "description": "When a mask can't be parsed"
        },
        "MaskError": {
            "description": "When any error occurs on mask"
        }
    }
}