` object containing the rules for the address book.
If the address book does not exist or the user is not authorized to access it, this function returns a `status::Unauthorized` error.
\n\n## Errors\n\nThis function will return an error if the system is in maintenance mode, or if the address book does not exist or the user is not authorized to access it.",
"operationId": "ab_rules",
"parameters": [
{
"name": "current",
"in": "query",
"required": true,
"schema": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
}
},
{
"name": "pageSize",
"in": "query",
"required": true,
"schema": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
}
},
{
"name": "ab",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AbRulesResponse"
}
}
}
},
"401": {
"description": ""
}
},
"security": [
{
"authorization": []
}
]
}
},
"/api/software/client-download-link/{key}": {
"get": {
"tags": [
"software"
],
"description": "Get the software download url\n\n# Arguments\n\n* `key` - The key to the software download link, it can be `osx`, `w64` or `ios`\n\n# Usage\n\n* it needs a valid S3 configuration file defined with the `S3_CONFIG_FILE` environment variable\n\n [s3config]
Endpoint = \"https://compat.objectstorage.eu-london-1.oraclecloud.com\"
Region = \"eu-london-1\"
AccessKey = \"c324ead11faa0d87337c07ddc4a1129fab76188d\"
SecretKey = \"GJurV55f/LD36kjZFpchZMj/uvgTqxHyFkBchUUa8KA=\"
Bucket = \"aezoz24elapn\"
Windows64Key = \"master/sctgdesk-releases/sctgdesk-1.2.4-x86_64.exe\"
Windows32Key = \"master/sctgdesk-releases/sctgdesk-1.2.4-i686.exe\"
OSXKey = \"master/sctgdesk-releases/sctgdesk-1.2.4.dmg\"
OSXArm64Key = \"master/sctgdesk-releases/sctgdesk-1.2.4.dmg\"
IOSKey = \"master/sctgdesk-releases/sctgdesk-1.2.4.ipa\"
",
"operationId": "software",
"parameters": [
{
"name": "key",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SoftwareResponse"
}
}
}
},
"404": {
"description": ""
}
}
}
},
"/api/software/version/server": {
"get": {
"tags": [
"software"
],
"description": "Retrieve the server version",
"operationId": "software_version",
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SoftwareVersionResponse"
}
}
}
}
}
}
},
"/": {
"get": {
"tags": [
"webconsole"
],
"operationId": "webconsole_index",
"responses": {
"500": {
"description": ""
}
}
}
},
"/index.html": {
"get": {
"tags": [
"webconsole"
],
"operationId": "webconsole_index_html",
"responses": {
"500": {
"description": ""
}
}
}
}
},
"components": {
"schemas": {
"LoginReply": {
"type": "object",
"required": [
"access_token",
"type",
"user"
],
"properties": {
"type": {
"type": "string"
},
"user": {
"$ref": "#/components/schemas/UserInfo"
},
"access_token": {
"$ref": "#/components/schemas/Token"
}
}
},
"UserInfo": {
"type": "object",
"required": [
"admin",
"name"
],
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"admin": {
"type": "boolean"
}
}
},
"Token": {
"type": "array",
"items": {
"type": "integer",
"format": "uint8",
"minimum": 0.0
},
"maxItems": 32,
"minItems": 32
},
"LoginRequest": {
"type": "object",
"required": [
"id",
"password",
"username",
"uuid"
],
"properties": {
"username": {
"type": "string"
},
"password": {
"type": "string"
},
"id": {
"type": "string"
},
"uuid": {
"type": "string"
}
}
},
"AbGetResponse": {
"type": "object",
"required": [
"data"
],
"properties": {
"error": {
"type": "boolean",
"nullable": true
},
"updated_at": {
"type": "string",
"nullable": true
},
"data": {
"type": "string"
}
}
},
"AbRequest": {
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "string"
}
}
},
"CurrentUserResponse": {
"type": "object",
"required": [
"admin",
"error",
"name"
],
"properties": {
"error": {
"type": "boolean"
},
"name": {
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"admin": {
"type": "boolean"
}
}
},
"CurrentUserRequest": {
"type": "object",
"required": [
"id",
"uuid"
],
"properties": {
"id": {
"type": "string"
},
"uuid": {
"type": "string"
}
}
},
"AuditRequest": {
"type": "object",
"properties": {
"Id": {
"default": 0,
"type": "integer",
"format": "uint",
"minimum": 0.0
},
"action": {
"default": "",
"type": "string"
},
"id": {
"default": "",
"type": "string"
},
"ip": {
"default": "",
"type": "string"
},
"uuid": {
"default": "",
"type": "string"
}
}
},
"LogoutReply": {
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "string"
}
}
},
"HeartbeatRequest": {
"type": "object",
"required": [
"id",
"modified_at",
"uuid",
"ver"
],
"properties": {
"id": {
"type": "string"
},
"modified_at": {
"type": "integer",
"format": "uint64",
"minimum": 0.0
},
"uuid": {
"type": "string"
},
"ver": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
}
}
},
"SystemInfo": {
"type": "object",
"properties": {
"cpu": {
"type": "string",
"nullable": true
},
"hostname": {
"type": "string",
"nullable": true
},
"id": {
"type": "string",
"nullable": true
},
"memory": {
"type": "string",
"nullable": true
},
"os": {
"type": "string",
"nullable": true
},
"username": {
"type": "string",
"nullable": true
},
"uuid": {
"type": "string",
"nullable": true
},
"version": {
"type": "string",
"nullable": true
},
"ip": {
"type": "string",
"nullable": true
}
}
},
"GroupsResponse": {
"type": "object",
"required": [
"data",
"msg",
"total"
],
"properties": {
"msg": {
"type": "string"
},
"total": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Group"
}
}
}
},
"Group": {
"type": "object",
"required": [
"access_to",
"accessed_from",
"created_at",
"guid",
"info",
"name",
"team"
],
"properties": {
"guid": {
"type": "string"
},
"name": {
"type": "string"
},
"team": {
"type": "string"
},
"created_at": {
"type": "string"
},
"access_to": {
"type": "array",
"items": {
"type": "string"
}
},
"accessed_from": {
"type": "array",
"items": {
"type": "string"
}
},
"note": {
"type": "string",
"nullable": true
},
"info": {
"type": "string"
}
}
},
"UsersResponse": {
"type": "object",
"required": [
"data",
"msg",
"total"
],
"properties": {
"msg": {
"type": "string"
},
"total": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"data": {
"type": "string"
}
}
},
"AddUserRequest": {
"type": "object",
"required": [
"confirm-password",
"email",
"group_name",
"is_admin",
"name",
"password"
],
"properties": {
"name": {
"type": "string"
},
"password": {
"type": "string"
},
"confirm-password": {
"type": "string"
},
"email": {
"type": "string"
},
"is_admin": {
"type": "boolean"
},
"group_name": {
"type": "string"
}
}
},
"UserList": {
"type": "object",
"required": [
"data",
"msg",
"total"
],
"properties": {
"msg": {
"type": "string"
},
"total": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserListResponse"
}
}
}
},
"UserListResponse": {
"type": "object",
"required": [
"email",
"group_name",
"guid",
"is_admin",
"name",
"status"
],
"properties": {
"guid": {
"type": "string"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"note": {
"type": "string",
"nullable": true
},
"status": {
"type": "integer",
"format": "int32"
},
"group_name": {
"type": "string"
},
"is_admin": {
"type": "boolean"
}
}
},
"EnableUserRequest": {
"type": "object",
"required": [
"disable",
"rows"
],
"properties": {
"rows": {
"type": "array",
"items": {
"type": "string"
}
},
"disable": {
"type": "boolean"
}
}
},
"UpdateUserRequest": {
"type": "object",
"required": [
"uuid"
],
"properties": {
"uuid": {
"type": "string"
},
"name": {
"type": "string",
"nullable": true
},
"password": {
"type": "string",
"nullable": true
},
"confirm-password": {
"type": "string",
"nullable": true
},
"email": {
"type": "string",
"nullable": true
},
"is_admin": {
"type": "boolean",
"nullable": true
},
"group_name": {
"type": "string",
"nullable": true
},
"note": {
"type": "string",
"nullable": true
},
"status": {
"type": "integer",
"format": "int32",
"nullable": true
}
}
},
"PeersResponse": {
"type": "object",
"required": [
"data",
"msg",
"total"
],
"properties": {
"msg": {
"type": "string"
},
"total": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Peer"
}
}
}
},
"Peer": {
"type": "object",
"required": [
"guid",
"id",
"info",
"last_online",
"status",
"strategy_name"
],
"properties": {
"guid": {
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"type": "integer",
"format": "int32"
},
"strategy_name": {
"type": "string"
},
"last_online": {
"type": "string"
},
"info": {
"$ref": "#/components/schemas/PeerInfo"
}
}
},
"PeerInfo": {
"type": "object",
"properties": {
"cpu": {
"type": "string",
"nullable": true
},
"hostname": {
"type": "string",
"nullable": true
},
"id": {
"type": "string",
"nullable": true
},
"memory": {
"type": "string",
"nullable": true
},
"os": {
"type": "string",
"nullable": true
},
"username": {
"type": "string",
"nullable": true
},
"uuid": {
"type": "string",
"nullable": true
},
"version": {
"type": "string",
"nullable": true
},
"ip": {
"type": "string",
"nullable": true
}
}
},
"OidcAuthUrl": {
"type": "object",
"required": [
"code",
"url"
],
"properties": {
"code": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"OidcAuthRequest": {
"type": "object",
"required": [
"deviceInfo",
"id",
"op",
"uuid"
],
"properties": {
"deviceInfo": {
"$ref": "#/components/schemas/OidcDeviceInfo"
},
"id": {
"type": "string"
},
"op": {
"type": "string"
},
"uuid": {
"type": "string"
}
}
},
"OidcDeviceInfo": {
"type": "object",
"required": [
"name",
"os",
"type"
],
"properties": {
"name": {
"type": "string"
},
"os": {
"type": "string"
},
"type": {
"type": "string"
}
}
},
"OidcResponse": {
"type": "object",
"required": [
"access_token",
"secret",
"tfa_type",
"type",
"user"
],
"properties": {
"access_token": {
"type": "string"
},
"type": {
"type": "string"
},
"tfa_type": {
"type": "string"
},
"secret": {
"type": "string"
},
"user": {
"$ref": "#/components/schemas/OidcUser"
}
}
},
"OidcUser": {
"type": "object",
"required": [
"email",
"info",
"is_admin",
"name",
"note",
"status",
"third_auth_type"
],
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"note": {
"type": "string"
},
"status": {
"type": "integer",
"format": "int64"
},
"info": {
"$ref": "#/components/schemas/OidcUserInfo"
},
"is_admin": {
"type": "boolean"
},
"third_auth_type": {
"type": "string"
}
}
},
"OidcUserInfo": {
"type": "object",
"required": [
"email_alarm_notification",
"email_verification",
"login_device_whitelist",
"other"
],
"properties": {
"email_verification": {
"type": "boolean"
},
"email_alarm_notification": {
"type": "boolean"
},
"login_device_whitelist": {
"type": "array",
"items": {
"type": "string"
}
},
"other": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"OidcSettingsResponse": {
"type": "object",
"required": [
"callback_url",
"max_auth_count",
"providers"
],
"properties": {
"max_auth_count": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"callback_url": {
"type": "string"
},
"providers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Provider"
}
}
}
},
"Provider": {
"type": "object",
"required": [
"authorization_endpoint",
"client_id",
"client_secret",
"enabled",
"name",
"order_index",
"token_endpoint",
"userinfo_endpoint"
],
"properties": {
"name": {
"type": "string"
},
"order_index": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"enabled": {
"type": "boolean"
},
"client_id": {
"type": "string"
},
"client_secret": {
"type": "string"
},
"authorization_endpoint": {
"type": "string"
},
"token_endpoint": {
"type": "string"
},
"userinfo_endpoint": {
"type": "string"
}
}
},
"AbPeer": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"hash": {
"type": "string",
"nullable": true
},
"password": {
"type": "string",
"nullable": true
},
"username": {
"type": "string",
"nullable": true
},
"hostname": {
"type": "string",
"nullable": true
},
"platform": {
"type": "string",
"nullable": true
},
"alias": {
"type": "string",
"nullable": true
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"forceAlwaysRelay": {
"type": "boolean",
"nullable": true
},
"rdpPort": {
"type": "string",
"nullable": true
},
"rdpUsername": {
"type": "string",
"nullable": true
},
"loginName": {
"type": "string",
"nullable": true
},
"same_server": {
"type": "boolean",
"nullable": true
}
}
},
"AbPeersResponse": {
"type": "object",
"required": [
"data",
"total"
],
"properties": {
"error": {
"type": "string",
"nullable": true
},
"total": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AbPeer"
}
}
}
},
"AbPersonal": {
"type": "object",
"required": [
"guid"
],
"properties": {
"guid": {
"type": "string"
},
"error": {
"type": "string",
"nullable": true
}
}
},
"AbTag": {
"type": "object",
"required": [
"color",
"name"
],
"properties": {
"name": {
"type": "string"
},
"color": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
}
}
},
"AbTagRenameRequest": {
"type": "object",
"required": [
"new",
"old"
],
"properties": {
"old": {
"type": "string"
},
"new": {
"type": "string"
}
}
},
"AbSharedProfilesResponse": {
"type": "object",
"required": [
"data",
"total"
],
"properties": {
"error": {
"type": "string",
"nullable": true
},
"total": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AbProfile"
}
}
}
},
"AbProfile": {
"type": "object",
"required": [
"guid",
"name",
"owner",
"rule"
],
"properties": {
"guid": {
"type": "string"
},
"name": {
"type": "string"
},
"owner": {
"type": "string"
},
"note": {
"type": "string",
"nullable": true
},
"rule": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
}
}
},
"AbSharedAddRequest": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"note": {
"type": "string",
"nullable": true
}
}
},
"AbSettingsResponse": {
"type": "object",
"required": [
"max_peer_one_ab"
],
"properties": {
"error": {
"type": "string",
"nullable": true
},
"max_peer_one_ab": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
}
}
},
"AbRulesResponse": {
"type": "object",
"required": [
"data",
"msg",
"total"
],
"properties": {
"msg": {
"type": "string"
},
"total": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AbRule"
}
}
}
},
"AbRule": {
"type": "object",
"required": [
"guid",
"rule"
],
"properties": {
"guid": {
"type": "string"
},
"user": {
"type": "string",
"nullable": true
},
"group": {
"type": "string",
"nullable": true
},
"rule": {
"type": "integer",
"format": "uint32",
"minimum": 0.0
}
}
},
"SoftwareResponse": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string"
}
}
},
"SoftwareVersionResponse": {
"type": "object",
"properties": {
"server": {
"type": "string",
"nullable": true
},
"client": {
"type": "string",
"nullable": true
}
}
}
},
"securitySchemes": {
"authorization": {
"description": "Requires an API key to access, format the key as a 256 bit base64 encoded string like `Ak4DJ9IDYTpaceqBlAlK5pGJq595ERpq6haBaADg_lA`.",
"type": "http",
"scheme": "bearer",
"bearerFormat": "256 bit base64 encoded string"
},
"authorization_admin": {
"description": "Requires an Admin API key to access, format the key as a 256 bit base64 encoded string like `o5Zci3V8o2QIWBDrRgDNxXwrfmX3Gk3sRjY5I302dzU=`.",
"type": "http",
"scheme": "bearer",
"bearerFormat": "256 bit base64 encoded string"
}
}
}
}