RemoteGymp · API v1

Tham khảo API

Truy cập và hành vi

Ví dụ tham khảo là mẫu. Thay thế phần giữ chỗ và kiểm tra các tham số, quyền và lược đồ của điểm cuối trước khi chạy chúng. Đối với việc ghi không chắc chắn, hãy tuân theo các quy tắc thử lại và khôi phục của điểm cuối đó.

Yêu cầu mã thông báo mang và quyền của điểm cuối. Quyền truy cập vẫn bị giới hạn trong phạm vi thông tin xác thực của bạn. Kiểm tra khả năng trước khi sử dụng thiết bị hoặc hành động quản lý.

Kết quả tìm kiếm: 289

AI11
POSTĐọc các hành động AI đã lưu/v1/assistant/actions

Đọc các hành động đã lưu cho phạm vi trợ lý được cung cấp.

POST /v1/assistant/actions ↗

mcp.cap.AssistantRead

Lược đồ (OpenAPI)

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

AutomationScriptPlatform

0 = WindowsPowerShell51
1 = LinuxBash
2 = MacOsZsh
3 = WindowsCmd
4 = WindowsPowerShell7
5 = LinuxPowerShell7
6 = MacOsPowerShell7
7 = WindowsPython3
8 = LinuxPython3
9 = MacOsPython3

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "kind": 0
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/assistant/actions' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read saved actions for the supplied assistant scope.",
  "operationId": "post_v1_assistant_actions",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/AutomationHierarchyScope"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/AutomationAssistantSavedAction"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read saved AI actions",
  "tags": [
    "AI"
  ],
  "x-required-capabilities": [
    "mcp.cap.AssistantRead"
  ]
}
POSTÁp dụng tác vụ AI/v1/assistant/apply

Áp dụng công việc được hỗ trợ từ một nhiệm vụ trợ lý bằng cách sử dụng các phê duyệt và ràng buộc cần thiết của nhiệm vụ đó.

POST /v1/assistant/apply ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute + mcp.cap.AssistantApply

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/assistant/apply' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Apply supported work from an assistant task using its required approvals and constraints.",
  "operationId": "post_v1_assistant_apply",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Apply an AI task",
  "tags": [
    "AI"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute",
    "mcp.cap.AssistantApply"
  ]
}
GETĐọc chính sách hành động nâng cao AI/v1/assistant/elevated-policy

Kiểm tra chính sách quản lý các hành động trợ lý nâng cao trước khi lập kế hoạch công việc.

GET /v1/assistant/elevated-policy ↗

mcp.cap.AssistantRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/assistant/elevated-policy' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Inspect the policy governing elevated assistant actions before planning work.",
  "operationId": "get_v1_assistant_elevated_policy",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiAssistantPolicy"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read AI elevated-action policy",
  "tags": [
    "AI"
  ],
  "x-required-capabilities": [
    "mcp.cap.AssistantRead"
  ]
}
POSTƯớc tính nhiệm vụ AI/v1/assistant/estimate

Ước tính nhiệm vụ trợ lý được đề xuất trước khi bắt đầu.

POST /v1/assistant/estimate ↗

mcp.cap.AssistantRead

Lược đồ (OpenAPI)

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "execute": false,
  "recipients": [
    "<value>"
  ],
  "request": "<value>",
  "scope": {
    "kind": 0
  },
  "submissionKey": "<value>",
  "timeZoneId": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/assistant/estimate' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Estimate a proposed assistant task before starting it.",
  "operationId": "post_v1_assistant_estimate",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/AutomationAssistantRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AutomationAssistantEstimate"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Estimate an AI task",
  "tags": [
    "AI"
  ],
  "x-required-capabilities": [
    "mcp.cap.AssistantRead"
  ]
}
POSTChạy thử nghiệm AI/v1/assistant/pilot

Chạy quy trình làm việc thử nghiệm của nhiệm vụ trợ lý trước khi triển khai rộng hơn.

POST /v1/assistant/pilot ↗

mcp.cap.AutomationExecute + mcp.cap.AssistantPilot

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "deviceId": "<UUID>",
    "proposalId": "<UUID>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/assistant/pilot' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Run the assistant task's pilot workflow before a broader rollout.",
  "operationId": "post_v1_assistant_pilot",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationAssistantPilot"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Run an AI pilot",
  "tags": [
    "AI"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationExecute",
    "mcp.cap.AssistantPilot"
  ]
}
GETĐọc báo cáo AI/v1/assistant/reports

Đọc báo cáo do tác vụ trợ lý tạo ra.

GET /v1/assistant/reports ↗

mcp.cap.AssistantRead

Lược đồ (OpenAPI)

AutomationNotificationAudience

0 = None
1 = Owners
2 = Technicians
4 = Clients

AutomationNotificationChannel

0 = None
1 = InApp
2 = Email

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationScheduleKind

0 = Once
1 = Interval
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = Cron

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/assistant/reports' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read reports produced by assistant tasks.",
  "operationId": "get_v1_assistant_reports",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/AutomationReportScheduleView"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read AI reports",
  "tags": [
    "AI"
  ],
  "x-required-capabilities": [
    "mcp.cap.AssistantRead"
  ]
}
POSTThử lại phi công AI/v1/assistant/retry-pilot

Yêu cầu thử lại phi công trợ lý bằng cách sử dụng ngữ cảnh nhiệm vụ được cung cấp.

POST /v1/assistant/retry-pilot ↗

mcp.cap.AutomationExecute + mcp.cap.AssistantPilot

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/assistant/retry-pilot' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request a retry of the assistant pilot using the supplied task context.",
  "operationId": "post_v1_assistant_retry_pilot",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Retry an AI pilot",
  "tags": [
    "AI"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationExecute",
    "mcp.cap.AssistantPilot"
  ]
}
POSTBắt đầu tác vụ AI/v1/assistant/start

Bắt đầu nhiệm vụ trợ lý với các mục tiêu và hướng dẫn được cung cấp.

POST /v1/assistant/start ↗

mcp.cap.AssistantPropose

Lược đồ (OpenAPI)

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "acceptQuotedCharge": false,
    "estimateToken": "<estimateToken>",
    "request": {
      "execute": false,
      "recipients": [
        "<value>"
      ],
      "request": "<value>",
      "scope": {
        "kind": 0
      },
      "submissionKey": "<value>",
      "timeZoneId": "<value>"
    }
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/assistant/start' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Start an assistant task with the supplied targets and instructions.",
  "operationId": "post_v1_assistant_start",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationAssistantStart"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Start an AI task",
  "tags": [
    "AI"
  ],
  "x-required-capabilities": [
    "mcp.cap.AssistantPropose"
  ]
}
POSTKiểm tra bối cảnh mục tiêu AI/v1/assistant/target-context

Đọc ngữ cảnh đích được phép dùng để chuẩn bị tác vụ trợ lý.

POST /v1/assistant/target-context ↗

mcp.cap.AssistantRead

Lược đồ (OpenAPI)

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "scope": {
    "kind": 0
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/assistant/target-context' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the permitted target context used to prepare an assistant task.",
  "operationId": "post_v1_assistant_target_context",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAssistantTargets"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AutomationAssistantTargetContext"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Inspect AI target context",
  "tags": [
    "AI"
  ],
  "x-required-capabilities": [
    "mcp.cap.AssistantRead"
  ]
}
GETLiệt kê các nhiệm vụ AI/v1/assistant/tasks

Duyệt qua các tác vụ trợ lý AI hiển thị theo thông tin xác thực của bạn.

GET /v1/assistant/tasks ↗

mcp.cap.AssistantRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/assistant/tasks' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Browse AI assistant tasks visible to your credential.",
  "operationId": "get_v1_assistant_tasks",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/AutomationAssistantHistoryItem"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List AI tasks",
  "tags": [
    "AI"
  ],
  "x-required-capabilities": [
    "mcp.cap.AssistantRead"
  ]
}
GETNhận nhiệm vụ AI/v1/assistant/tasks/{id}

Đọc trạng thái và chi tiết của một nhiệm vụ trợ lý.

GET /v1/assistant/tasks/{id} ↗

mcp.cap.AssistantRead

Lược đồ (OpenAPI)

AutomationNotificationAudience

0 = None
1 = Owners
2 = Technicians
4 = Clients

AutomationNotificationChannel

0 = None
1 = InApp
2 = Email

AutomationSimpleActionKind

0 = Script
1 = Notification
2 = RefreshFacts
3 = ControlService
4 = RestartDevice
5 = WindowsDiskCleanup
6 = LinuxMaintenance
7 = WakeDevice
8 = SendUserMessage
9 = UninstallSoftware

LinuxMaintenanceAction

0 = RefreshPackageInventory
1 = InstallPackageUpdates
2 = RefreshFirmwareMetadata
3 = InstallFirmwareUpdates
4 = InstallAllUpdates

AutomationOutcomeMatch

0 = Failure
1 = Success
2 = Always
3 = ResultMatches

AutomationNotificationSeverity

0 = Information
1 = Warning
2 = Critical
3 = Recovery

AutomationScriptPlatform

0 = WindowsPowerShell51
1 = LinuxBash
2 = MacOsZsh
3 = WindowsCmd
4 = WindowsPowerShell7
5 = LinuxPowerShell7
6 = MacOsPowerShell7
7 = WindowsPython3
8 = LinuxPython3
9 = MacOsPython3

ServiceAction

0 = Start
1 = Stop
2 = Restart

SoftwareKind

0 = ClassicDesktop
1 = PackagedApp

AutomationTruthValue

0 = False
1 = True
2 = Unknown

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/assistant/tasks/<id>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read one assistant task's state and details.",
  "operationId": "get_v1_assistant_tasks_id",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AutomationAssistantResult"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get an AI task",
  "tags": [
    "AI"
  ],
  "x-required-capabilities": [
    "mcp.cap.AssistantRead"
  ]
}
API5
POSTNhận mã thông báo truy cập/v1/auth/token

Trao đổi thông tin xác thực API của bạn để lấy mã thông báo mang thời hạn sử dụng ngắn hạn để sử dụng cho các yêu cầu tiếp theo.

POST /v1/auth/token ↗

Sử dụng thông tin đăng nhập API được tạo trong Cài đặt → Truy cập API. Không cần mã thông báo mang cho việc trao đổi này.

password: This JSON field carries your API credential secret, not your account login password.

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  'Content-Type' = 'application/json'
}
$body = '{
  "password": "<your-API-credential-secret>",
  "username": "<your-API-credential-username>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/auth/token' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Exchange API username and credential password for an opaque bearer token valid for 1800 seconds. Network, paid entitlement and regional token-attempt limits apply.",
  "operationId": "post_v1_auth_token",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/TokenRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PublicApiTokenResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "summary": "Get an access token",
  "tags": [
    "API"
  ]
}
GETKiểm tra các tính năng sẵn có/v1/capabilities

Xem các tính năng, quyền và giới hạn có sẵn đối với thông tin xác thực của bạn trước khi sử dụng tiện ích tích hợp.

GET /v1/capabilities ↗

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/capabilities' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "See the features, permissions and limits available to your credential before using an integration.",
  "operationId": "get_v1_capabilities",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CapabilitiesResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Check available features",
  "tags": [
    "API"
  ],
  "x-required-capabilities": []
}
GETKiểm tra quyền truy cập API/v1/health

Kiểm tra xem thông tin xác thực của bạn có thể tiếp cận và xác thực bằng API hay không.

GET /v1/health ↗

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/health' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Check that your credential can reach and authenticate with the API.",
  "operationId": "get_v1_health",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/HealthResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Check API access",
  "tags": [
    "API"
  ],
  "x-required-capabilities": []
}
GETKiểm tra tùy chọn trình cài đặt/v1/management/installers/capabilities

Khám phá các khả năng của trình cài đặt có sẵn trên máy chủ này.

GET /v1/management/installers/capabilities ↗

mcp.cap.EnrollmentRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/management/installers/capabilities' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Discover the installer capabilities available on this host.",
  "operationId": "get_v1_management_installers_capabilities",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiInstallerCapabilities"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Check installer options",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.EnrollmentRead"
  ]
}
GETKiểm tra khả năng hoạt động/v1/operations/capabilities

Khám phá khả năng vận hành tích hợp trước khi thử các thao tác của thiết bị.

GET /v1/operations/capabilities ↗

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/operations/capabilities' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Discover integration operation capabilities before attempting device actions.",
  "operationId": "get_v1_operations_capabilities",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiOperationCapabilities"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Check operation capabilities",
  "tags": [
    "Operations"
  ],
  "x-required-capabilities": []
}
Bảo mật6
GETNhận kho lưu trữ bảo mật/v1/devices/{deviceId}/security

Đọc dữ liệu chống vi-rút, tường lửa và mã hóa được ghi lại. Bí mật phục hồi được loại trừ.

GET /v1/devices/{deviceId}/security ↗

mcp.cap.SecurityRead

Lược đồ (OpenAPI)

AntivirusActionProvider

0 = MicrosoftDefender
1 = BitdefenderBest

AntivirusProductState

0 = Unknown
1 = On
2 = Off
3 = Snoozed
4 = Expired

AntivirusAction

0 = QuickScan
1 = FullScan
2 = UpdateDefinitions

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/security' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read recorded antivirus, firewall and encryption facts. Recovery secrets are excluded.",
  "operationId": "get_v1_devices_deviceId_security",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/SecurityFactsResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get security inventory",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.SecurityRead"
  ]
}
POSTChạy kiểm tra mật khẩu/v1/devices/{deviceId}/security/password-audit

Yêu cầu kiểm tra mật khẩu tài khoản được hỗ trợ trên thiết bị được ủy quyền.

POST /v1/devices/{deviceId}/security/password-audit ↗

mcp.cap.PasswordAudit

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "administratorsOnly": true,
  "expectedDomain": "<value>",
  "includeDisabled": false,
  "includeInactiveAccounts": false,
  "inspectOnly": false,
  "isValid": false,
  "reportLocale": "<value>",
  "reportTimeZone": "<value>",
  "scope": "Local",
  "serversOnly": false
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/security/password-audit' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request the supported account-password checks on an authorised device.",
  "operationId": "post_v1_devices_deviceId_security_password_audit",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/PasswordAuditOptions"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PasswordAuditReport"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "oneOf": [
              {
                "properties": {
                  "error": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  },
                  "requestId": {
                    "type": [
                      "null",
                      "string"
                    ]
                  }
                },
                "required": [
                  "error",
                  "message"
                ],
                "type": "object"
              },
              {
                "properties": {
                  "accountsAttempted": {
                    "format": "int32",
                    "pattern": "^-?(?:0|[1-9]\\d*)$",
                    "type": [
                      "integer",
                      "string"
                    ]
                  },
                  "accountsChecked": {
                    "format": "int32",
                    "pattern": "^-?(?:0|[1-9]\\d*)$",
                    "type": [
                      "integer",
                      "string"
                    ]
                  },
                  "accountsExcluded": {
                    "format": "int32",
                    "pattern": "^-?(?:0|[1-9]\\d*)$",
                    "type": [
                      "integer",
                      "string"
                    ]
                  },
                  "accountsSelected": {
                    "format": "int32",
                    "pattern": "^-?(?:0|[1-9]\\d*)$",
                    "type": [
                      "integer",
                      "string"
                    ]
                  },
                  "checkedAtUtc": {
                    "format": "date-time",
                    "type": "string"
                  },
                  "domain": {
                    "type": "string"
                  },
                  "domainSid": {
                    "type": [
                      "null",
                      "string"
                    ]
                  },
                  "error": {
                    "type": [
                      "null",
                      "string"
                    ]
                  },
                  "findings": {
                    "items": {
                      "properties": {
                        "account": {
                          "type": "string"
                        },
                        "administrator": {
                          "type": "boolean"
                        },
                        "enabled": {
                          "type": "boolean"
                        },
                        "failureCode": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "finding": {
                          "type": "string"
                        },
                        "hibpAvailable": {
                          "type": "boolean"
                        },
                        "hibpOccurrences": {
                          "format": "int64",
                          "pattern": "^-?(?:0|[1-9]\\d*)$",
                          "type": [
                            "null",
                            "integer",
                            "string"
                          ]
                        },
                        "lastLogonSource": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "lastLogonUtc": {
                          "format": "date-time",
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "lastPasswordSetUtc": {
                          "format": "date-time",
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "password": {
                          "type": [
                            "null",
                            "string"
                          ]
                        },
                        "state": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "inactiveAccounts": {
                    "items": {
                      "properties": {
                        "account": {
                          "type": "string"
                        },
                        "lastLogonSource": {
                          "type": "string"
                        },
                        "lastLogonUtc": {
                          "format": "date-time",
                          "type": "string"
                        }
                      },
                      "required": [
                        "account",
                        "lastLogonUtc",
                        "lastLogonSource"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "inactiveAccountsCutoffUtc": {
                    "format": "date-time",
                    "type": [
                      "null",
                      "string"
                    ]
                  },
                  "inactiveAccountsState": {
                    "type": [
                      "null",
                      "string"
                    ]
                  },
                  "inactiveUnknownDates": {
                    "format": "int32",
                    "pattern": "^-?(?:0|[1-9]\\d*)$",
                    "type": [
                      "integer",
                      "string"
                    ]
                  },
                  "isDomainController": {
                    "type": "boolean"
                  },
                  "isServer": {
                    "type": "boolean"
                  },
                  "machineName": {
                    "type": "string"
                  },
                  "moreAccounts": {
                    "type": "boolean"
                  },
                  "noKnownMatch": {
                    "format": "int32",
                    "pattern": "^-?(?:0|[1-9]\\d*)$",
                    "type": [
                      "integer",
                      "string"
                    ]
                  },
                  "state": {
                    "type": "string"
                  },
                  "summaryEmailSent": {
                    "type": [
                      "null",
                      "boolean"
                    ]
                  },
                  "unavailable": {
                    "format": "int32",
                    "pattern": "^-?(?:0|[1-9]\\d*)$",
                    "type": [
                      "integer",
                      "string"
                    ]
                  },
                  "workers": {
                    "format": "int32",
                    "pattern": "^-?(?:0|[1-9]\\d*)$",
                    "type": [
                      "integer",
                      "string"
                    ]
                  }
                },
                "type": "object"
              }
            ]
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "502": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PasswordAuditReport"
          }
        }
      },
      "description": "Bad Gateway"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Run a password audit",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.PasswordAudit"
  ]
}
GETLiệt kê lịch kiểm tra mật khẩu/v1/security/password-audit-schedules

Đọc lịch kiểm tra mật khẩu định kỳ trong phạm vi được phép của bạn.

GET /v1/security/password-audit-schedules ↗

mcp.cap.PasswordAudit

Thông số

companyId · Truy vấn · tùy chọn
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
deviceId · Truy vấn · tùy chọn
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/security/password-audit-schedules' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read recurring password-audit schedules in your permitted scope.",
  "operationId": "get_v1_security_password_audit_schedules",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "query",
      "name": "companyId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "query",
      "name": "deviceId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/PasswordAuditScheduleView"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List password-audit schedules",
  "tags": [
    "Security"
  ],
  "x-required-capabilities": [
    "mcp.cap.PasswordAudit"
  ]
}
POSTLưu lịch kiểm tra mật khẩu/v1/security/password-audit-schedules

Tạo hoặc cập nhật lịch kiểm tra mật khẩu định kỳ với cài đặt mục tiêu và thời gian của nó.

POST /v1/security/password-audit-schedules ↗

mcp.cap.PasswordAudit

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "companyId": "<UUID>",
  "deviceId": "<UUID>",
  "everyDays": 1,
  "id": "<UUID>",
  "selection": {
    "administratorsOnly": true,
    "domainAccounts": true,
    "includeDisabled": false,
    "includeInactiveAccounts": false,
    "localAccounts": true,
    "serversOnly": false
  },
  "startAtUtc": "<UTC date and time>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/security/password-audit-schedules' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Create or update a recurring password-audit schedule with its target and timing settings.",
  "operationId": "post_v1_security_password_audit_schedules",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/PasswordAuditScheduleInput"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PasswordAuditScheduleView"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Save a password-audit schedule",
  "tags": [
    "Security"
  ],
  "x-required-capabilities": [
    "mcp.cap.PasswordAudit"
  ]
}
DELETEXóa lịch kiểm tra mật khẩu/v1/security/password-audit-schedules/{id}

Xóa lịch định kỳ để dừng kiểm tra theo lịch trong tương lai.

DELETE /v1/security/password-audit-schedules/{id} ↗

mcp.cap.PasswordAudit

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.
expectedRevision · Truy vấn · Cần có
Sửa đổi lịch trình hiện tại từ lần đọc cuối cùng. Bản sửa đổi cũ ngăn chặn việc xóa lịch trình đã thay đổi.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method DELETE `
  -Uri 'https://api.remotegymp.com/v1/security/password-audit-schedules/<id>?expectedRevision=<expectedRevision>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Remove a recurring schedule to stop future scheduled checks.",
  "operationId": "delete_v1_security_password_audit_schedules_id",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Current schedule revision from the last read. A stale revision prevents deletion of a changed schedule.",
      "in": "query",
      "name": "expectedRevision",
      "required": true,
      "schema": {
        "format": "int64",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "204": {
      "description": "No Content"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Delete a password-audit schedule",
  "tags": [
    "Security"
  ],
  "x-required-capabilities": [
    "mcp.cap.PasswordAudit"
  ]
}
GETKiểm tra mục tiêu kiểm tra mật khẩu/v1/security/password-audits/targets

Kiểm tra tính đủ điều kiện của mục tiêu trước khi yêu cầu kiểm tra mật khẩu.

GET /v1/security/password-audits/targets ↗

mcp.cap.PasswordAudit

Thông số

companyId · Truy vấn · tùy chọn
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
deviceId · Truy vấn · tùy chọn
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/security/password-audits/targets' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Inspect target eligibility before requesting a password audit.",
  "operationId": "get_v1_security_password_audits_targets",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "query",
      "name": "companyId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "query",
      "name": "deviceId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/PasswordAuditTarget"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Check password-audit targets",
  "tags": [
    "Security"
  ],
  "x-required-capabilities": [
    "mcp.cap.PasswordAudit"
  ]
}
Bảo trì5
GETDanh sách cửa sổ bảo trì/v1/maintenance-windows

Duyệt qua các khoảng thời gian bảo trì theo lịch trình trong phạm vi thông tin xác thực của bạn.

GET /v1/maintenance-windows ↗

mcp.cap.InventoryRead

Lược đồ (OpenAPI)

state

"all"
"active"
"upcoming"
"cancelled"
"ended"

Thông số

pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.
state · Truy vấn · tùy chọn
Lọc theo trạng thái tài nguyên. Các trạng thái và mặc định được phép tùy thuộc vào điểm cuối.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/maintenance-windows' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Browse scheduled maintenance windows within your credential's scope.",
  "operationId": "get_v1_maintenance_windows",
  "parameters": [
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Filter by the resource state. Allowed states and defaults depend on the endpoint.",
      "in": "query",
      "name": "state",
      "schema": {
        "enum": [
          "all",
          "active",
          "upcoming",
          "cancelled",
          "ended"
        ],
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfMaintenanceResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List maintenance windows",
  "tags": [
    "Maintenance"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTTạo cửa sổ bảo trì/v1/maintenance-windows

Lên lịch bảo trì siêu dữ liệu cho một công ty, trang web hoặc thiết bị kèm theo lý do và thời lượng.

POST /v1/maintenance-windows ↗

mcp.cap.MetadataWrite

Phạm vi là công ty, địa điểm hoặc thiết bị. Lý do là bắt buộc và tối đa 500 ký tự; thời gian tối đa là 31 ngày. Idempotency-Key tùy chọn (1-128 ký tự) trả về 200 cho lần phát lại giống hệt và 409 cho yêu cầu đã thay đổi; sáng tạo mới trả về 201.

Thông số

Idempotency-Key · Tiêu đề · tùy chọn
Sử dụng cùng một khóa và nội dung sau khi tạo ra kết quả không chắc chắn. Phạm vi theo thông tin xác thực.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "endsAtUtc": "<UTC date and time>",
  "reason": "<value>",
  "scope": "<value>",
  "scopeId": "<UUID>",
  "startsAtUtc": "<UTC date and time>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/maintenance-windows' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Scope is company, site or device. Reason is required and at most 500 characters; duration is at most 31 days. Optional Idempotency-Key (1-128 characters) returns 200 for an identical replay and 409 for a changed request; new creation returns 201.",
  "operationId": "post_v1_maintenance_windows",
  "parameters": [
    {
      "description": "Use the same key and body after an uncertain create outcome. Scoped to the credential.",
      "in": "header",
      "name": "Idempotency-Key",
      "schema": {
        "maxLength": 128,
        "minLength": 1,
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CreateMaintenanceRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/MaintenanceResponse"
          }
        }
      },
      "description": "OK"
    },
    "201": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/MaintenanceResponse"
          }
        }
      },
      "description": "Created"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a maintenance window",
  "tags": [
    "Maintenance"
  ],
  "x-required-capabilities": [
    "mcp.cap.MetadataWrite"
  ]
}
DELETEXóa cửa sổ bảo trì/v1/maintenance-windows/{windowId}

Xóa cửa sổ bảo trì đã chọn.

DELETE /v1/maintenance-windows/{windowId} ↗

mcp.cap.MetadataWrite

Thông số

windowId · Đường dẫn · Cần có
Mã định danh của cửa sổ bảo trì được trả về khi nó được tạo hoặc liệt kê.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method DELETE `
  -Uri 'https://api.remotegymp.com/v1/maintenance-windows/<windowId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Delete the selected maintenance window.",
  "operationId": "delete_v1_maintenance_windows_windowId",
  "parameters": [
    {
      "description": "Identifier of the maintenance window returned when it was created or listed.",
      "in": "path",
      "name": "windowId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "204": {
      "description": "No Content"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Remove a maintenance window",
  "tags": [
    "Maintenance"
  ],
  "x-required-capabilities": [
    "mcp.cap.MetadataWrite"
  ]
}
GETNhận cửa sổ bảo trì/v1/maintenance-windows/{windowId}

Đọc thời gian, phạm vi và chi tiết của một cửa sổ bảo trì.

GET /v1/maintenance-windows/{windowId} ↗

mcp.cap.InventoryRead

Thông số

windowId · Đường dẫn · Cần có
Mã định danh của cửa sổ bảo trì được trả về khi nó được tạo hoặc liệt kê.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/maintenance-windows/<windowId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the timing, scope and details of one maintenance window.",
  "operationId": "get_v1_maintenance_windows_windowId",
  "parameters": [
    {
      "description": "Identifier of the maintenance window returned when it was created or listed.",
      "in": "path",
      "name": "windowId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/MaintenanceResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get a maintenance window",
  "tags": [
    "Maintenance"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTTìm hoạt động bảo trì/v1/maintenance-windows:active-query

Kiểm tra cửa sổ bảo trì nào đang hoạt động cho các mục tiêu được cung cấp.

POST /v1/maintenance-windows:active-query ↗

mcp.cap.InventoryRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "ids": [
    "<UUID>"
  ]
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/maintenance-windows:active-query' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Check which maintenance windows are active for the supplied targets.",
  "operationId": "post_v1_maintenance_windows_active_query",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IdBatch"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ItemCollectionOfMaintenanceResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Find active maintenance",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
Các công ty11
GETDanh sách công ty/v1/companies

Nhận danh sách giới hạn các công ty bạn có thể truy cập. Sử dụng truy vấn công ty được phân trang để xuất khẩu lớn hơn.

GET /v1/companies ↗

mcp.cap.InventoryRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/companies' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Get a bounded list of companies you can access. Use the paginated company query for larger exports.",
  "operationId": "get_v1_companies",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/CompanyResponse"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List companies",
  "tags": [
    "Companies"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETNhận công ty/v1/companies/{companyId}

Tra cứu ID và tên công ty.

GET /v1/companies/{companyId} ↗

mcp.cap.InventoryRead

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/companies/<companyId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Look up a company's ID and name.",
  "operationId": "get_v1_companies_companyId",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CompanyResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get a company",
  "tags": [
    "Companies"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETDanh sách các trang web công ty/v1/companies/{companyId}/sites

Tìm các trang web thuộc về một công ty.

GET /v1/companies/{companyId}/sites ↗

mcp.cap.InventoryRead

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/companies/<companyId>/sites' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Find the sites belonging to one company.",
  "operationId": "get_v1_companies_companyId_sites",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/SiteResponse"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List company sites",
  "tags": [
    "Companies"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETNhận tổ chức của bạn/v1/organization

Đọc chi tiết tổ chức được liên kết với thông tin xác thực của bạn.

GET /v1/organization ↗

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/organization' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the organisation details associated with your credential.",
  "operationId": "get_v1_organization",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/CompanyResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get your organisation",
  "tags": [
    "Companies"
  ],
  "x-required-capabilities": []
}
GETDuyệt công ty trong trang/v1/queries/companies

Xuất các công ty trong các trang được giới hạn, theo dõi tiếp theo cho đến khi không còn trang nào nữa.

GET /v1/queries/companies ↗

mcp.cap.InventoryRead

Thông số

pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/queries/companies' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Export companies in bounded pages, following next until no further page remains.",
  "operationId": "get_v1_queries_companies",
  "parameters": [
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfCompanyResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Browse companies in pages",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETDuyệt các trang trong trang/v1/queries/sites

Xuất các trang web trong các trang được giới hạn, tùy chọn giới hạn ở một công ty.

GET /v1/queries/sites ↗

mcp.cap.InventoryRead

Thông số

companyId · Truy vấn · tùy chọn
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/queries/sites' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Export sites in bounded pages, optionally restricted to one company.",
  "operationId": "get_v1_queries_sites",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "query",
      "name": "companyId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfSiteResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Browse sites in pages",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETLiệt kê báo cáo khách hàng/v1/reports/companies/{companyId}/monthly

Đọc bằng chứng hiện tại trong phạm vi. Bằng chứng bị thiếu là không rõ. Không có hành động cuối cùng hay tấn công AI nào được khởi động.

GET /v1/reports/companies/{companyId}/monthly ↗

mcp.cap.ReportsRead

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
offset · Truy vấn · tùy chọn
Số mục cần bỏ qua, bắt đầu từ 0. Tiếp tục sử dụng phần bù được điểm cuối trả về khi có sẵn.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/reports/companies/<companyId>/monthly' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.",
  "operationId": "get_v1_reports_companies_companyId_monthly",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.",
      "in": "query",
      "name": "offset",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/ClientReportArchiveItem"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List client reports",
  "tags": [
    "Reports"
  ],
  "x-required-capabilities": [
    "mcp.cap.ReportsRead"
  ]
}
GETTải cài đặt báo cáo của máy khách/v1/reports/companies/{companyId}/monthly/settings

Đọc bằng chứng hiện tại trong phạm vi. Bằng chứng bị thiếu là không rõ. Không có hành động cuối cùng hay tấn công AI nào được khởi động.

GET /v1/reports/companies/{companyId}/monthly/settings ↗

mcp.cap.ReportsRead

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/reports/companies/<companyId>/monthly/settings' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.",
  "operationId": "get_v1_reports_companies_companyId_monthly_settings",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ClientReportSettingsView"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get client report settings",
  "tags": [
    "Reports"
  ],
  "x-required-capabilities": [
    "mcp.cap.ReportsRead"
  ]
}
GETLấy báo cáo khách hàng/v1/reports/companies/{companyId}/monthly/{id}

Đọc bằng chứng hiện tại đã được kiểm tra. Bằng chứng bị thiếu là không xác định. Không có hành động cuối cùng hay phí AI nào được khởi động. Bằng chứng kiểm tra mật khẩu cũng yêu cầu khả năng PasswordAudit rõ ràng.

GET /v1/reports/companies/{companyId}/monthly/{id} ↗

mcp.cap.ReportsRead

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/reports/companies/<companyId>/monthly/<id>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started. Password-audit evidence additionally requires the explicit PasswordAudit capability.",
  "operationId": "get_v1_reports_companies_companyId_monthly_id",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ClientReportView"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get client report",
  "tags": [
    "Reports"
  ],
  "x-required-capabilities": [
    "mcp.cap.ReportsRead"
  ]
}
GETXuất báo cáo khách hàng/v1/reports/companies/{companyId}/monthly/{id}/html

Đọc bằng chứng hiện tại đã được kiểm tra. Bằng chứng bị thiếu là không xác định. Không có hành động cuối cùng hay phí AI nào được khởi động. Bằng chứng kiểm tra mật khẩu cũng yêu cầu khả năng PasswordAudit rõ ràng.

GET /v1/reports/companies/{companyId}/monthly/{id}/html ↗

mcp.cap.ReportsRead

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/reports/companies/<companyId>/monthly/<id>/html' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started. Password-audit evidence additionally requires the explicit PasswordAudit capability.",
  "operationId": "get_v1_reports_companies_companyId_monthly_id_html",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationReportHtml"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Export client report",
  "tags": [
    "Reports"
  ],
  "x-required-capabilities": [
    "mcp.cap.ReportsRead"
  ]
}
GETNhận một trang web/v1/sites/{siteId}

Tra cứu một trang web bằng ID của nó.

GET /v1/sites/{siteId} ↗

mcp.cap.InventoryRead

Thông số

siteId · Đường dẫn · Cần có
Mã định danh trang web. Tham số truy vấn thu hẹp kết quả cho trang web này trong phạm vi thông tin xác thực.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/sites/<siteId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Look up one site using its ID.",
  "operationId": "get_v1_sites_siteId",
  "parameters": [
    {
      "description": "Site identifier. A query parameter narrows the results to this site within credential scope.",
      "in": "path",
      "name": "siteId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/SiteResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get a site",
  "tags": [
    "Companies"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
Cảnh báo6
GETDanh sách cảnh báo/v1/alerts

Duyệt cảnh báo màn hình. Theo mặc định, các cảnh báo chưa được giải quyết sẽ được trả về; sử dụng state=all để bao gồm lịch sử đã giải quyết.

GET /v1/alerts ↗

mcp.cap.InventoryRead

Lược đồ (OpenAPI)

state

"all"
"Open"
"Acknowledged"
"Resolved"

severity

"Information"
"Warning"
"Critical"
"Recovery"

Lịch sử cảnh báo màn hình được đánh số trang. Mặc định chưa được giải quyết; state=all bao gồm lịch sử đã được giải quyết. Bộ lọc companyId và deviceId vẫn nằm trong phạm vi thông tin xác thực.

Thông số

pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.
companyId · Truy vấn · tùy chọn
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
deviceId · Truy vấn · tùy chọn
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
state · Truy vấn · tùy chọn
Bỏ qua việc trả về các cảnh báo đã mở và đã xác nhận. Sử dụng Open, Acknowledged hoặc Resolved cho một trạng thái, hoặc tất cả cho mọi trạng thái.
severity · Truy vấn · tùy chọn
Lọc cảnh báo theo mức độ nghiêm trọng của thông báo.
monitorId · Truy vấn · tùy chọn
Mã định danh của màn hình để đọc hoặc lọc.
observedFrom · Truy vấn · tùy chọn
Bao gồm các cảnh báo được quan sát lần cuối vào hoặc sau dấu thời gian này, bao gồm cả phần bù UTC.
observedTo · Truy vấn · tùy chọn
Bao gồm các cảnh báo được quan sát lần cuối trước dấu thời gian này. Nó phải muộn hơn dấu thời gian bắt đầu.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/alerts' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Paginated typed monitor alert history. Default is unresolved; state=all includes resolved history. companyId and deviceId filters remain inside credential scope.",
  "operationId": "get_v1_alerts",
  "parameters": [
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "query",
      "name": "companyId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "query",
      "name": "deviceId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Omit to return open and acknowledged alerts. Use Open, Acknowledged or Resolved for one state, or all for every state.",
      "in": "query",
      "name": "state",
      "schema": {
        "enum": [
          "all",
          "Open",
          "Acknowledged",
          "Resolved"
        ],
        "type": "string"
      }
    },
    {
      "description": "Filter alerts by notification severity.",
      "in": "query",
      "name": "severity",
      "schema": {
        "enum": [
          "Information",
          "Warning",
          "Critical",
          "Recovery"
        ],
        "type": "string"
      }
    },
    {
      "description": "Identifier of the monitor to read or filter by.",
      "in": "query",
      "name": "monitorId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Include alerts last observed at or after this timestamp, including a UTC offset.",
      "in": "query",
      "name": "observedFrom",
      "schema": {
        "format": "date-time",
        "type": "string"
      }
    },
    {
      "description": "Include alerts last observed before this timestamp. It must be later than the start timestamp.",
      "in": "query",
      "name": "observedTo",
      "schema": {
        "format": "date-time",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfAlertResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List alerts",
  "tags": [
    "Alerts"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTXác nhận cảnh báo/v1/alerts/{alertId}/acknowledge

Đánh dấu một cảnh báo chưa được giải quyết là đã được xác nhận bằng cách sử dụng phiên bản hiện tại của nó. Phiên bản cũ sẽ bị từ chối. Trả về trực tiếp xác nhận đã cập nhật; nó không khắc phục lỗi.

POST /v1/alerts/{alertId}/acknowledge ↗

mcp.cap.AlertWrite

Thông số

alertId · Đường dẫn · Cần có
Mã định danh của cảnh báo được điểm cuối cảnh báo trả về.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "revision": 1
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/alerts/<alertId>/acknowledge' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Mark an unresolved alert as acknowledged using its current revision. A stale revision is rejected. Returns the updated acknowledgement directly; it does not fix the fault.",
  "operationId": "post_v1_alerts_alertId_acknowledge",
  "parameters": [
    {
      "description": "Identifier of the alert returned by the alerts endpoint.",
      "in": "path",
      "name": "alertId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/RevisionRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AcknowledgementResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Acknowledge an alert",
  "tags": [
    "Alerts"
  ],
  "x-required-capabilities": [
    "mcp.cap.AlertWrite"
  ]
}
GETNhận liên kết vé cảnh báo/v1/alerts/{alertId}/ticket

Đọc tham chiếu vé bên ngoài, URL, trạng thái và phiên bản được đính kèm với cảnh báo.

GET /v1/alerts/{alertId}/ticket ↗

mcp.cap.InventoryRead

Thông số

alertId · Đường dẫn · Cần có
Mã định danh của cảnh báo được điểm cuối cảnh báo trả về.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/alerts/<alertId>/ticket' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the external ticket reference, URL, state and version attached to an alert.",
  "operationId": "get_v1_alerts_alertId_ticket",
  "parameters": [
    {
      "description": "Identifier of the alert returned by the alerts endpoint.",
      "in": "path",
      "name": "alertId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/TicketResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get an alert's ticket link",
  "tags": [
    "Alerts"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
PATCHCập nhật liên kết vé của cảnh báo/v1/alerts/{alertId}/ticket

Lưu tham chiếu vé bên ngoài bằng phiên bản đọc lần cuối. Đóng vé không giải quyết được cảnh báo.

PATCH /v1/alerts/{alertId}/ticket ↗

mcp.cap.AlertWrite

Thông số

alertId · Đường dẫn · Cần có
Mã định danh của cảnh báo được điểm cuối cảnh báo trả về.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "externalId": "<value>",
  "state": "<value>",
  "url": "<value>",
  "version": 1
}'
Invoke-RestMethod -Method PATCH `
  -Uri 'https://api.remotegymp.com/v1/alerts/<alertId>/ticket' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Save an external ticket reference using the last-read version. Closing the ticket does not resolve the alert.",
  "operationId": "patch_v1_alerts_alertId_ticket",
  "parameters": [
    {
      "description": "Identifier of the alert returned by the alerts endpoint.",
      "in": "path",
      "name": "alertId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/TicketRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/TicketResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Update an alert's ticket link",
  "tags": [
    "Alerts"
  ],
  "x-required-capabilities": [
    "mcp.cap.AlertWrite"
  ]
}
POSTNhận thông báo cho một số thiết bị/v1/alerts:batch-query

Đọc các cảnh báo đã ghi cho một bộ thiết bị được cung cấp trong một yêu cầu.

POST /v1/alerts:batch-query ↗

mcp.cap.InventoryRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "ids": [
    "<UUID>"
  ]
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/alerts:batch-query' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read recorded alerts for a supplied set of devices in one request.",
  "operationId": "post_v1_alerts_batch_query",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IdBatch"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ItemCollectionOfAlertResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get alerts for several devices",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETNhận thông báo về thiết bị/v1/devices/{deviceId}/alerts

Đọc các cảnh báo đã ghi cho một thiết bị.

GET /v1/devices/{deviceId}/alerts ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/alerts' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read recorded alerts for one device.",
  "operationId": "get_v1_devices_deviceId_alerts",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ItemCollectionOfAlertResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get device alerts",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
Hoạt động11
POSTChạy lệnh trên các thiết bị/v1/command-batches

Gửi một lô lệnh cho nhiều mục tiêu được ủy quyền. Kiểm tra biên nhận của nó để theo dõi kết quả cá nhân.

POST /v1/command-batches ↗

mcp.cap.CommandsExecute

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "command": "<value>",
  "deviceIds": [
    "<UUID>"
  ],
  "idempotencyKey": "<value>",
  "shell": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/command-batches' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Submit a command batch for multiple authorised targets. Inspect its receipt to track individual outcomes.",
  "operationId": "post_v1_command_batches",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationCommandBatch"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Run commands across devices",
  "tags": [
    "Operations"
  ],
  "x-required-capabilities": [
    "mcp.cap.CommandsExecute"
  ]
}
GETNhận tiến trình theo lô lệnh/v1/command-batches/{operationId}

Đọc tiến trình của lô và kết quả theo từng mục tiêu mà không cần chạy lại.

GET /v1/command-batches/{operationId} ↗

mcp.cap.CommandsExecute

Thông số

operationId · Đường dẫn · Cần có
Mã nhận dạng biên nhận hoạt động cấp cao nhất. Thăm dò biên lai này để kiểm tra tiến độ và kết quả.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/command-batches/<operationId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the batch's progress and per-target outcomes without running it again.",
  "operationId": "get_v1_command_batches_operationId",
  "parameters": [
    {
      "description": "Top-level operation receipt identifier. Poll this receipt to inspect progress and the result.",
      "in": "path",
      "name": "operationId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get command-batch progress",
  "tags": [
    "Operations"
  ],
  "x-required-capabilities": [
    "mcp.cap.CommandsExecute"
  ]
}
POSTHủy một loạt lệnh/v1/command-batches/{operationId}/cancel

Yêu cầu hủy lô. Công việc đã thực hiện không thể được hoàn tác bằng cách hủy bỏ.

POST /v1/command-batches/{operationId}/cancel ↗

mcp.cap.CommandsExecute

Thông số

operationId · Đường dẫn · Cần có
Mã nhận dạng biên nhận hoạt động cấp cao nhất. Thăm dò biên lai này để kiểm tra tiến độ và kết quả.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/command-batches/<operationId>/cancel' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request cancellation of the batch. Work already performed cannot be undone by cancellation.",
  "operationId": "post_v1_command_batches_operationId_cancel",
  "parameters": [
    {
      "description": "Top-level operation receipt identifier. Poll this receipt to inspect progress and the result.",
      "in": "path",
      "name": "operationId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationKey"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Cancel a command batch",
  "tags": [
    "Operations"
  ],
  "x-required-capabilities": [
    "mcp.cap.CommandsExecute"
  ]
}
POSTChạy tác vụ thiết bị/v1/devices/{deviceId}/actions

Gửi tác vụ đã nhập được hỗ trợ tới thiết bị. Khả năng và quyền của hành động được kiểm tra trước khi gửi đi.

POST /v1/devices/{deviceId}/actions ↗
Lược đồ (OpenAPI)

AutomationDeviceActionKind

0 = RefreshFacts
1 = ControlService
2 = RestartDevice
3 = WindowsDiskCleanup
4 = LinuxMaintenance
5 = WakeDevice
6 = SendUserMessage
7 = UninstallSoftware

LinuxMaintenanceAction

0 = RefreshPackageInventory
1 = InstallPackageUpdates
2 = RefreshFirmwareMetadata
3 = InstallFirmwareUpdates
4 = InstallAllUpdates

ServiceAction

0 = Start
1 = Stop
2 = Restart

SoftwareKind

0 = ClassicDesktop
1 = PackagedApp

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "action": {
    "kind": 0
  },
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/actions' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Submit a supported typed action to a device. The action's capabilities and permissions are checked before dispatch.",
  "operationId": "post_v1_devices_deviceId_actions",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationDeviceAction"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Run a device action",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": []
}
POSTThực hiện một hành động của phần mềm diệt virus/v1/devices/{deviceId}/antivirus/actions

Chạy một hành động chống virus được hỗ trợ và kiểm tra kết quả trả về.

POST /v1/devices/{deviceId}/antivirus/actions ↗

mcp.cap.DeviceMaintenance

Lược đồ (OpenAPI)

AntivirusAction

0 = QuickScan
1 = FullScan
2 = UpdateDefinitions

AntivirusActionProvider

0 = MicrosoftDefender
1 = BitdefenderBest

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "action": 0,
    "operationId": "<UUID>",
    "provider": 0
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/antivirus/actions' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Run a supported antivirus action and inspect the returned result.",
  "operationId": "post_v1_devices_deviceId_antivirus_actions",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfAntivirusActionRequestDto"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Run an antivirus action",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.DeviceMaintenance"
  ]
}
POSTChạy lệnh/v1/devices/{deviceId}/commands

Thực thi lệnh trên thiết bị được ủy quyền. Sử dụng lại khóa bình thường khi kiểm tra kết quả không chắc chắn.

POST /v1/devices/{deviceId}/commands ↗

mcp.cap.CommandsExecute

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "command": "<value>",
  "idempotencyKey": "<value>",
  "shell": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/commands' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Execute a command on an authorised device. Reuse the idempotency key when checking an uncertain outcome.",
  "operationId": "post_v1_devices_deviceId_commands",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationCommand"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Run a command",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.CommandsExecute"
  ]
}
POSTLập lịch năng lượng thiết bị/v1/devices/{deviceId}/jobs/power

Cung cấp thời gian địa phương và múi giờ rõ ràng. Thời gian không rõ ràng hoặc không hợp lệ sẽ bị từ chối.

POST /v1/devices/{deviceId}/jobs/power ↗

mcp.cap.PowerControl

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "action": "<value>",
    "localTime": "<UTC date and time>",
    "timeZoneId": "<value>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/jobs/power' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Supply the local time and an explicit time zone. Ambiguous or invalid times are rejected.",
  "operationId": "post_v1_devices_deviceId_jobs_power",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationScheduledPower"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Schedule device power",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.PowerControl"
  ]
}
POSTThay đổi trạng thái nguồn của thiết bị/v1/devices/{deviceId}/power

Yêu cầu khởi động lại được hỗ trợ hoặc hành động ở Chế độ an toàn. Điều này có thể làm gián đoạn người sử dụng thiết bị.

POST /v1/devices/{deviceId}/power ↗

mcp.cap.PowerControl

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "action": "<value>",
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/power' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request a supported restart or Safe Mode action. This can interrupt the person using the device.",
  "operationId": "post_v1_devices_deviceId_power",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationPower"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Change device power state",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.PowerControl"
  ]
}
GETDanh sách hoạt động/v1/operations

Tìm các hoạt động được giữ lại do thông tin xác thực của bạn tạo ra và kiểm tra tiến trình của chúng.

GET /v1/operations ↗

Thông số

pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/operations' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Find retained operations created by your credential and inspect their progress.",
  "operationId": "get_v1_operations",
  "parameters": [
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfOperationSummary"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List operations",
  "tags": [
    "Operations"
  ],
  "x-required-capabilities": []
}
GETTìm thao tác bằng phím/v1/operations/by-key

Khôi phục thao tác bằng cách sử dụng khóa tạm thời sau khi hết thời gian chờ hoặc mất phản hồi, thay vì lặp lại thao tác đó.

GET /v1/operations/by-key ↗

Thông số

idempotencyKey · Truy vấn · Cần có
Khóa bình thường chính xác được sử dụng cho yêu cầu ban đầu. Tra cứu biên nhận mà không lặp lại hành động.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/operations/by-key?idempotencyKey=<idempotencyKey>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Recover an operation using its idempotency key after a timeout or lost response, instead of repeating it.",
  "operationId": "get_v1_operations_by_key",
  "parameters": [
    {
      "description": "Exact idempotency key used for the original request. Looks up the receipt without repeating the action.",
      "in": "query",
      "name": "idempotencyKey",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Find an operation by key",
  "tags": [
    "Operations"
  ],
  "x-required-capabilities": []
}
GETNhận tiến độ hoạt động/v1/operations/{operationId}

Đọc trạng thái hiện tại và kết quả có sẵn của một thao tác. Một kết quả chưa biết không phải là bằng chứng của sự thất bại.

GET /v1/operations/{operationId} ↗

Thông số

operationId · Đường dẫn · Cần có
Mã nhận dạng biên nhận hoạt động cấp cao nhất. Thăm dò biên lai này để kiểm tra tiến độ và kết quả.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/operations/<operationId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the current status and available result of one operation. An unknown outcome is not proof of failure.",
  "operationId": "get_v1_operations_operationId",
  "parameters": [
    {
      "description": "Top-level operation receipt identifier. Poll this receipt to inspect progress and the result.",
      "in": "path",
      "name": "operationId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get operation progress",
  "tags": [
    "Operations"
  ],
  "x-required-capabilities": []
}
Hỗ trợ9
POSTYêu cầu xác nhận của người dùng/v1/devices/{deviceId}/confirmations

Yêu cầu phản hồi từ người dùng thiết bị trước khi tiếp tục quy trình làm việc được hỗ trợ.

POST /v1/devices/{deviceId}/confirmations ↗

mcp.cap.InventoryRead + mcp.cap.DeviceMessage

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "expectedUserName": "<value>",
    "message": "<value>",
    "windowsSessionId": 1
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/confirmations' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request a response from the device user before continuing a supported workflow.",
  "operationId": "post_v1_devices_deviceId_confirmations",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationUserMessage"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Ask for user confirmation",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead",
    "mcp.cap.DeviceMessage"
  ]
}
POSTKhởi động lại sau khi xác nhận/v1/devices/{deviceId}/confirmed-restart

Yêu cầu khởi động lại bằng quy trình xác nhận của người dùng. Bản thân yêu cầu không chứng minh việc khởi động lại đã hoàn tất.

POST /v1/devices/{deviceId}/confirmed-restart ↗

mcp.cap.InventoryRead + mcp.cap.PowerControl + mcp.cap.DeviceMessage

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "confirmationId": "<UUID>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/confirmed-restart' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request a restart using the user-confirmation workflow. A request does not itself prove the restart completed.",
  "operationId": "post_v1_devices_deviceId_confirmed_restart",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationConsentRestart"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Restart after confirmation",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead",
    "mcp.cap.PowerControl",
    "mcp.cap.DeviceMessage"
  ]
}
POSTGửi tin nhắn người dùng/v1/devices/{deviceId}/messages

Hiển thị thông báo cho người đang sử dụng thiết bị đã chọn.

POST /v1/devices/{deviceId}/messages ↗

mcp.cap.InventoryRead + mcp.cap.DeviceMessage

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "expectedUserName": "<value>",
    "message": "<value>",
    "windowsSessionId": 1
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/messages' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Display a message to the person using the selected device.",
  "operationId": "post_v1_devices_deviceId_messages",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationUserMessage"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Send a user message",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead",
    "mcp.cap.DeviceMessage"
  ]
}
GETDanh sách lượt khách truy cập/v1/devices/{deviceId}/visitor-passes

Đọc thẻ của khách truy cập được liên kết với một thiết bị.

GET /v1/devices/{deviceId}/visitor-passes ↗

mcp.cap.ScreenRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/visitor-passes' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read visitor passes associated with one device.",
  "operationId": "get_v1_devices_deviceId_visitor_passes",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiVisitorPassPage"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List visitor passes",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.ScreenRead"
  ]
}
GETDanh sách các buổi hỗ trợ nhanh/v1/quick-support

Đọc các phiên Hỗ trợ nhanh có sẵn cho chứng chỉ của bạn.

GET /v1/quick-support ↗

mcp.cap.ScreenRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/quick-support' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the Quick Support sessions available to your credential.",
  "operationId": "get_v1_quick_support",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/ApiQuickSupportItem"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List Quick Support sessions",
  "tags": [
    "Support"
  ],
  "x-required-capabilities": [
    "mcp.cap.ScreenRead"
  ]
}
POSTTạo quyền truy cập Hỗ trợ nhanh/v1/quick-support

Tạo lời mời hỗ trợ có người tham dự bằng cách sử dụng cài đặt quyền truy cập được cung cấp.

POST /v1/quick-support ↗

mcp.cap.ScreenControl + mcp.cap.EnrollmentManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/quick-support' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Create an attended-support invitation using the supplied access settings.",
  "operationId": "post_v1_quick_support",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationKey"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create Quick Support access",
  "tags": [
    "Support"
  ],
  "x-required-capabilities": [
    "mcp.cap.ScreenControl",
    "mcp.cap.EnrollmentManage"
  ]
}
POSTThu hồi quyền truy cập Hỗ trợ nhanh/v1/quick-support/{id}/revoke

Thu hồi lời mời Hỗ trợ nhanh đã chọn.

POST /v1/quick-support/{id}/revoke ↗

mcp.cap.ScreenControl + mcp.cap.EnrollmentManage

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/quick-support/<id>/revoke' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Revoke the selected Quick Support invitation.",
  "operationId": "post_v1_quick_support_id_revoke",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationKey"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Revoke Quick Support access",
  "tags": [
    "Support"
  ],
  "x-required-capabilities": [
    "mcp.cap.ScreenControl",
    "mcp.cap.EnrollmentManage"
  ]
}
POSTTạo thẻ khách truy cập/v1/visitor-passes

Tạo quyền truy cập tạm thời của khách truy cập bằng thiết bị được yêu cầu và các hạn chế.

POST /v1/visitor-passes ↗

mcp.cap.ScreenControl + mcp.cap.EnrollmentManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "deviceId": "<UUID>",
    "lifetimeMinutes": 1
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/visitor-passes' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Create temporary visitor access with the requested device and restrictions.",
  "operationId": "post_v1_visitor_passes",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationVisitorPass"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a visitor pass",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.ScreenControl",
    "mcp.cap.EnrollmentManage"
  ]
}
POSTThu hồi thẻ khách truy cập/v1/visitor-passes/{id}/revoke

Ngăn không cho thẻ khách truy cập đã chọn cấp thêm quyền truy cập.

POST /v1/visitor-passes/{id}/revoke ↗

mcp.cap.ScreenControl + mcp.cap.EnrollmentManage

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/visitor-passes/<id>/revoke' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Stop the selected visitor pass from granting further access.",
  "operationId": "post_v1_visitor_passes_id_revoke",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationKey"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Revoke a visitor pass",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.ScreenControl",
    "mcp.cap.EnrollmentManage"
  ]
}
Mạng30
GETĐọc khám phá mạng công ty/v1/network/companies/{companyId}

Đọc thông tin mạng được phát hiện cho một công ty được ủy quyền.

GET /v1/network/companies/{companyId} ↗

mcp.cap.NetworkRead

Lược đồ (OpenAPI)

NetworkDiscoveryAdapterKind

0 = Standard
1 = Vpn
2 = Tunnel
3 = Loopback

NetworkDiscoveryEligibilityReason

0 = Eligible
1 = ExcludedVpn
2 = ExcludedTunnel
3 = ExcludedLoopback
4 = InterfaceDown
5 = NoEligibleIpv4Address
6 = UnsupportedPrefix
7 = BeaconRestrictedByPublicProfile
8 = ProviderFailure
9 = DuplicateInterfaceIdentity
10 = ExcludedDefaultSwitch

NetworkDiscoveryArchiveReason

0 = StaleEvidence
1 = RemovedFromCache
2 = InactiveNetwork
3 = EmptyUnidentifiedNetwork
4 = SupersededNetworkIdentity
5 = ExcludedDefaultSwitch

NetworkDeviceClassificationState

0 = Unknown
1 = Pending
2 = Failed
3 = Classified
4 = Manual
5 = Unresolved

NetworkDeviceType

0 = Unknown
1 = Computer
2 = Server
3 = PhoneOrTablet
4 = RouterOrFirewall
5 = Switch
6 = WirelessAccessPoint
7 = NasOrStorage
8 = PrinterOrScanner
9 = Camera
10 = Ups
11 = MediaOrConferencing
12 = SmartDevice
13 = Desktop
14 = Laptop
15 = Phone
16 = Tablet

NetworkDiscoveryEvidence

0 = Arp
1 = ArpAndDns
2 = ActiveArp
3 = ActiveArpAndDns
4 = ManagedMembership

NetworkDiscoveryConfirmationOutcome

0 = None
1 = Reply
2 = NoReply
3 = ProbeUnavailable
4 = Error
5 = Ambiguous

NetworkDeviceNameSource

0 = None
1 = ReverseDns
2 = MulticastDns
3 = NetBios

NetworkDiscoveredDeviceState

0 = ActiveConfirmed
1 = RecentlyConfirmed
2 = CacheOnly
3 = ConfirmationNoReply
4 = CacheRemoved
5 = Stale
6 = ConflictingIdentity
7 = ProxyArpSuspected
8 = LegacyUnverified

NetworkDiscoveryMode

0 = Disabled
1 = PassiveOnly
2 = Gentle

NetworkDiscoveryScanRunKind

0 = Scheduled
1 = Manual
2 = TargetedConfirmation

NetworkMonitoringScanComponentStatus

0 = NotRequested
1 = Queued
2 = Running
3 = Completed
4 = Blocked
5 = Failed
6 = Cancelled

NetworkDiscoveryScanRunStatus

0 = Queued
1 = Assigned
2 = Running
3 = Completed
4 = CancelRequested
5 = Cancelled
6 = Failed
7 = Limited

NetworkRealmEvidence

0 = Inferred
1 = Singleton
2 = Verified
3 = RepeatedlyVerified
4 = OperatorConfirmed
5 = Stale

NetworkRealmSupersessionReason

0 = MissingGatewayMacEnriched

NetworkDiscoverySensorSelectionMode

0 = Automatic
1 = AssignedExclusive

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
includeManaged · Truy vấn · tùy chọn
Bao gồm các thiết bị được quản lý trong chế độ xem mạng của công ty. Mặc định là false.
includeNetworkDetails · Truy vấn · tùy chọn
Bao gồm chi tiết mạng trong chế độ xem công ty. Mặc định là false.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/network/companies/<companyId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read discovered network information for an authorised company.",
  "operationId": "get_v1_network_companies_companyId",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Include managed devices in the network company view. Defaults to false.",
      "in": "query",
      "name": "includeManaged",
      "schema": {
        "type": "boolean"
      }
    },
    {
      "description": "Include network details in the company view. Defaults to false.",
      "in": "query",
      "name": "includeNetworkDetails",
      "schema": {
        "type": "boolean"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/NetworkDiscoveryCompanySnapshot"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read company network discovery",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkRead"
  ]
}
GETĐọc thiết bị mạng/v1/network/companies/{companyId}/devices/{deviceId}

Kiểm tra một thiết bị mạng được phát hiện và các chi tiết được ghi lại của thiết bị đó.

GET /v1/network/companies/{companyId}/devices/{deviceId} ↗

mcp.cap.NetworkRead

Lược đồ (OpenAPI)

NetworkDiscoveryArchiveReason

0 = StaleEvidence
1 = RemovedFromCache
2 = InactiveNetwork
3 = EmptyUnidentifiedNetwork
4 = SupersededNetworkIdentity
5 = ExcludedDefaultSwitch

NetworkDeviceClassificationState

0 = Unknown
1 = Pending
2 = Failed
3 = Classified
4 = Manual
5 = Unresolved

NetworkDeviceType

0 = Unknown
1 = Computer
2 = Server
3 = PhoneOrTablet
4 = RouterOrFirewall
5 = Switch
6 = WirelessAccessPoint
7 = NasOrStorage
8 = PrinterOrScanner
9 = Camera
10 = Ups
11 = MediaOrConferencing
12 = SmartDevice
13 = Desktop
14 = Laptop
15 = Phone
16 = Tablet

NetworkDiscoveryEvidence

0 = Arp
1 = ArpAndDns
2 = ActiveArp
3 = ActiveArpAndDns
4 = ManagedMembership

NetworkDiscoveryConfirmationOutcome

0 = None
1 = Reply
2 = NoReply
3 = ProbeUnavailable
4 = Error
5 = Ambiguous

NetworkDeviceNameSource

0 = None
1 = ReverseDns
2 = MulticastDns
3 = NetBios

NetworkDiscoveredDeviceState

0 = ActiveConfirmed
1 = RecentlyConfirmed
2 = CacheOnly
3 = ConfirmationNoReply
4 = CacheRemoved
5 = Stale
6 = ConflictingIdentity
7 = ProxyArpSuspected
8 = LegacyUnverified

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/network/companies/<companyId>/devices/<deviceId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Inspect one discovered network device and its recorded details.",
  "operationId": "get_v1_network_companies_companyId_devices_deviceId",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/DiscoveredNetworkDeviceDetail"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read a network device",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkRead"
  ]
}
GETĐọc thông tin về SNMP được quản lý/v1/network/companies/{companyId}/managed-snmp/{deviceId}

Đọc thông tin SNMP cho thiết bị được quản lý.

GET /v1/network/companies/{companyId}/managed-snmp/{deviceId} ↗

mcp.cap.NetworkRead

Lược đồ (OpenAPI)

NetworkProbeOutcome

0 = Succeeded
1 = TimedOut
2 = AuthenticationRejected
3 = Unreachable
4 = ProtocolError
5 = Cancelled

SnmpProtocolVersion

1 = V1
2 = V2C
3 = V3

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/network/companies/<companyId>/managed-snmp/<deviceId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read SNMP information for a managed device.",
  "operationId": "get_v1_network_companies_companyId_managed_snmp_deviceId",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/SnmpDevicePortalSnapshot"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read managed SNMP facts",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkRead"
  ]
}
GETCổng TCP được quản lý đọc/v1/network/companies/{companyId}/managed-tcp/{deviceId}

Đọc thông tin cổng TCP cho thiết bị được quản lý.

GET /v1/network/companies/{companyId}/managed-tcp/{deviceId} ↗

mcp.cap.NetworkRead

Lược đồ (OpenAPI)

NetworkPortInteraction

0 = ObserveOnly
1 = Http
2 = Https
3 = Ssh
4 = Telnet

NetworkTcpPortOutcome

0 = Open
1 = Refused
2 = TimedOut
3 = Unreachable
4 = Error
5 = Cancelled

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/network/companies/<companyId>/managed-tcp/<deviceId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read TCP port information for a managed device.",
  "operationId": "get_v1_network_companies_companyId_managed_tcp_deviceId",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/NetworkTcpPortPortalItem"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read managed TCP ports",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkRead"
  ]
}
GETĐọc bản đồ mạng/v1/network/companies/{companyId}/map

Đọc bản đồ mạng được lưu trữ và độ mới của bằng chứng. Các liên kết được suy ra không phải là bằng chứng về hệ thống cáp vật lý; không có bản quét nào được xếp hàng đợi.

GET /v1/network/companies/{companyId}/map ↗

mcp.cap.NetworkRead

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/network/companies/<companyId>/map' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the stored network map and evidence freshness. Inferred links are not proof of physical cabling; no scan is queued.",
  "operationId": "get_v1_network_companies_companyId_map",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/NetworkMapSnapshot"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read the network map",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkRead"
  ]
}
GETĐọc giám sát mạng/v1/network/companies/{companyId}/monitoring

Kiểm tra cấu hình và trạng thái giám sát mạng của công ty.

GET /v1/network/companies/{companyId}/monitoring ↗

mcp.cap.NetworkRead

Lược đồ (OpenAPI)

SnmpAuthenticationProtocol

0 = None
1 = Sha1
2 = Sha256

SnmpPrivacyProtocol

0 = None
1 = Aes128

SnmpProtocolVersion

1 = V1
2 = V2C
3 = V3

NetworkProbeOutcome

0 = Succeeded
1 = TimedOut
2 = AuthenticationRejected
3 = Unreachable
4 = ProtocolError
5 = Cancelled

NetworkPortInteraction

0 = ObserveOnly
1 = Http
2 = Https
3 = Ssh
4 = Telnet

IdracMonitoringState

0 = Disabled
1 = Unsupported
2 = RacadmNotFound
3 = Provisioning
4 = Ready
5 = CredentialsRequired
6 = CleanupPending
7 = Error
8 = CertificateRequired
9 = Partial

IloMonitoringState

0 = Disabled
1 = Unsupported
2 = HponcfgNotFound
3 = Provisioning
4 = Ready
5 = CredentialsRequired
6 = CleanupPending
7 = Error

NetworkTcpPortOutcome

0 = Open
1 = Refused
2 = TimedOut
3 = Unreachable
4 = Error
5 = Cancelled

NetworkProbeJobStatus

0 = Queued
1 = Assigned
2 = Succeeded
3 = Failed
4 = Expired

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/network/companies/<companyId>/monitoring' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Inspect a company's network monitoring configuration and state.",
  "operationId": "get_v1_network_companies_companyId_monitoring",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/NetworkMonitoringCompanySnapshot"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read network monitoring",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkRead"
  ]
}
GETĐọc đã phát hiện ra sự thật về SNMP/v1/network/companies/{companyId}/snmp/{deviceId}

Đọc các quan sát SNMP được lưu trữ cho thiết bị được phát hiện.

GET /v1/network/companies/{companyId}/snmp/{deviceId} ↗

mcp.cap.NetworkRead

Lược đồ (OpenAPI)

NetworkProbeOutcome

0 = Succeeded
1 = TimedOut
2 = AuthenticationRejected
3 = Unreachable
4 = ProtocolError
5 = Cancelled

SnmpProtocolVersion

1 = V1
2 = V2C
3 = V3

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/network/companies/<companyId>/snmp/<deviceId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read stored SNMP observations for a discovered device.",
  "operationId": "get_v1_network_companies_companyId_snmp_deviceId",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/SnmpDevicePortalSnapshot"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read discovered SNMP facts",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkRead"
  ]
}
GETĐọc đã phát hiện các cổng TCP/v1/network/companies/{companyId}/tcp/{deviceId}

Đọc các quan sát cổng TCP được ghi lại cho một thiết bị được phát hiện.

GET /v1/network/companies/{companyId}/tcp/{deviceId} ↗

mcp.cap.NetworkRead

Lược đồ (OpenAPI)

NetworkPortInteraction

0 = ObserveOnly
1 = Http
2 = Https
3 = Ssh
4 = Telnet

NetworkTcpPortOutcome

0 = Open
1 = Refused
2 = TimedOut
3 = Unreachable
4 = Error
5 = Cancelled

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/network/companies/<companyId>/tcp/<deviceId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read recorded TCP port observations for a discovered device.",
  "operationId": "get_v1_network_companies_companyId_tcp_deviceId",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/NetworkTcpPortPortalItem"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read discovered TCP ports",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkRead"
  ]
}
GETĐọc lịch sử giao thông/v1/network/companies/{companyId}/traffic-history/{monitorId}

Đọc các mẫu lưu lượng được giữ lại cho màn hình trong phạm vi thời gian được yêu cầu.

GET /v1/network/companies/{companyId}/traffic-history/{monitorId} ↗

mcp.cap.NetworkRead

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
monitorId · Đường dẫn · Cần có
Mã định danh của màn hình để đọc hoặc lọc.
minutes · Truy vấn · Cần có
Số phút của lịch sử giao thông cần đọc.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/network/companies/<companyId>/traffic-history/<monitorId>?minutes=<minutes>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read retained traffic samples for a monitor over the requested time range.",
  "operationId": "get_v1_network_companies_companyId_traffic_history_monitorId",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Identifier of the monitor to read or filter by.",
      "in": "path",
      "name": "monitorId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Number of minutes of traffic history to read.",
      "in": "query",
      "name": "minutes",
      "required": true,
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/SnmpTrafficPoint"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read traffic history",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkRead"
  ]
}
GETĐọc cổng giao thông/v1/network/companies/{companyId}/traffic/{deviceId}

Đọc các cổng giám sát lưu lượng mạng cho thiết bị đã chọn.

GET /v1/network/companies/{companyId}/traffic/{deviceId} ↗

mcp.cap.NetworkRead

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/network/companies/<companyId>/traffic/<deviceId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read network traffic monitoring ports for the selected device.",
  "operationId": "get_v1_network_companies_companyId_traffic_deviceId",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/SnmpTrafficPortView"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read traffic ports",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkRead"
  ]
}
PUTĐặt loại thiết bị mạng/v1/network/devices/type

Chỉ định phân loại loại thiết bị cho thiết bị mạng được phát hiện.

PUT /v1/network/devices/type ↗

mcp.cap.NetworkManage

Lược đồ (OpenAPI)

NetworkDeviceType

0 = Unknown
1 = Computer
2 = Server
3 = PhoneOrTablet
4 = RouterOrFirewall
5 = Switch
6 = WirelessAccessPoint
7 = NasOrStorage
8 = PrinterOrScanner
9 = Camera
10 = Ups
11 = MediaOrConferencing
12 = SmartDevice
13 = Desktop
14 = Laptop
15 = Phone
16 = Tablet

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "deviceId": "<UUID>",
    "type": 0
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/network/devices/type' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Assign a device-type classification to a discovered network device.",
  "operationId": "put_v1_network_devices_type",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationNetworkDeviceType"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Set a network device type",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkManage"
  ]
}
POSTLàm mới phân loại thiết bị/v1/network/devices/type/refresh

Yêu cầu phân loại loại thiết bị mới thông qua quy trình khám phá.

POST /v1/network/devices/type/refresh ↗

mcp.cap.NetworkManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "deviceId": "<UUID>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/network/devices/type/refresh' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request a fresh device-type classification through the discovery workflow.",
  "operationId": "post_v1_network_devices_type_refresh",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationNetworkTypeRefresh"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Refresh device classification",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkManage"
  ]
}
GETGiải quyết dịch vụ mạng/v1/network/devices/{deviceId}/services/{port}/source

Đọc bằng chứng hiện tại có phạm vi. Bằng chứng bị thiếu không xác định. Không có hành động cuối cùng hay phí AI nào được khởi động. Trả về AgentId hiện tại đã chọn; không quét hoặc bắt đầu phiên làm việc.

GET /v1/network/devices/{deviceId}/services/{port}/source ↗

mcp.cap.NetworkRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
port · Đường dẫn · Cần có
Phát hiện TCP cổng dịch vụ, từ 1 đến 65535. Sử dụng bằng chứng khám phá hiện tại đã được xác minh.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/network/devices/<deviceId>/services/<port>/source' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started. Returns the current selected AgentId; no scan or session starts.",
  "operationId": "get_v1_network_devices_deviceId_services_port_source",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Discovered TCP service port, 1 through 65535. Uses current verified discovery evidence.",
      "in": "path",
      "name": "port",
      "required": true,
      "schema": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationNetworkServiceSource"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Resolve network service",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkRead"
  ]
}
PUTĐịnh cấu hình tích hợp iDRAC/v1/network/idrac

Lưu cài đặt tích hợp iDRAC được phép để quản lý phần cứng.

PUT /v1/network/idrac ↗

mcp.cap.NetworkManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "enabled": false
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/network/idrac' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Save the permitted iDRAC integration settings for hardware management.",
  "operationId": "put_v1_network_idrac",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationNetworkToggle"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Configure iDRAC integration",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkManage"
  ]
}
PUTĐịnh cấu hình tích hợp iLO/v1/network/ilo

Lưu cài đặt tích hợp iLO được phép để quản lý phần cứng.

PUT /v1/network/ilo ↗

mcp.cap.NetworkManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "enabled": false
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/network/ilo' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Save the permitted iLO integration settings for hardware management.",
  "operationId": "put_v1_network_ilo",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationNetworkToggle"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Configure iLO integration",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkManage"
  ]
}
POSTThay đổi chế độ khám phá/v1/network/mode

Đặt cách hoạt động khám phá mạng cho một công ty.

POST /v1/network/mode ↗

mcp.cap.NetworkManage

Lược đồ (OpenAPI)

NetworkDiscoveryMode

0 = Disabled
1 = PassiveOnly
2 = Gentle

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "mode": 0
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/network/mode' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Set how network discovery should operate for a company.",
  "operationId": "post_v1_network_mode",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationNetworkMode"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Change discovery mode",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkManage"
  ]
}
POSTĐổi tên vùng mạng/v1/network/realms/name

Cập nhật cài đặt tên và khóa tên của vùng mạng được phát hiện.

POST /v1/network/realms/name ↗

mcp.cap.NetworkManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "locked": false,
    "name": "<value>",
    "realmId": "<UUID>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/network/realms/name' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Update the name and name-lock setting of a discovered network realm.",
  "operationId": "post_v1_network_realms_name",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationNetworkRealmName"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Rename a network realm",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkManage"
  ]
}
POSTĐình chỉ một lĩnh vực mạng/v1/network/realms/suspend

Thay đổi xem lĩnh vực mạng có tham gia vào công việc khám phá hay không.

POST /v1/network/realms/suspend ↗

mcp.cap.NetworkManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "realmId": "<UUID>",
    "suspended": false
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/network/realms/suspend' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Change whether a network realm participates in discovery work.",
  "operationId": "post_v1_network_realms_suspend",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationNetworkRealmSuspend"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Suspend a network realm",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkManage"
  ]
}
POSTBắt đầu quét mạng/v1/network/scans

Xếp hàng quét mạng cho phạm vi được ủy quyền được cung cấp.

POST /v1/network/scans ↗

mcp.cap.NetworkScan

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "realmId": "<UUID>",
    "reason": "<value>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/network/scans' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Queue a network scan for the supplied authorised scope.",
  "operationId": "post_v1_network_scans",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationNetworkScan"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Start a network scan",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkScan"
  ]
}
POSTHủy quét mạng/v1/network/scans/cancel

Yêu cầu hủy công việc khám phá mạng.

POST /v1/network/scans/cancel ↗

mcp.cap.NetworkScan

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "realmId": "<UUID>",
    "scanId": "<UUID>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/network/scans/cancel' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request cancellation of network discovery work.",
  "operationId": "post_v1_network_scans_cancel",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationNetworkScanCancel"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Cancel a network scan",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkScan"
  ]
}
POSTDịch vụ mạng mở/v1/network/services/open

Yêu cầu FullAccess và quyền chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác. Cung cấp ExpectedAgentId từ resolve_network_service; bằng chứng hoặc nguồn đã thay đổi đã đóng.

POST /v1/network/services/open ↗

mcp.cap.ScreenRead + mcp.cap.ResourcesOpen + mcp.cap.NetworkRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "discoveredDeviceId": "<UUID>",
    "expectedAgentId": "<UUID>",
    "port": 1
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/network/services/open' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt. Supply ExpectedAgentId from resolve_network_service; changed evidence or source fails closed.",
  "operationId": "post_v1_network_services_open",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationNetworkService"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Open network service",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.ScreenRead",
    "mcp.cap.ResourcesOpen",
    "mcp.cap.NetworkRead"
  ]
}
PUTĐặt cộng đồng SNMP/v1/network/snmp/communities

Cập nhật cấu hình cộng đồng SNMP được sử dụng để khám phá được ủy quyền.

PUT /v1/network/snmp/communities ↗

mcp.cap.NetworkCredentialsManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "selections": [
      "<value>"
    ]
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/network/snmp/communities' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Update the SNMP community configuration used for authorised discovery.",
  "operationId": "put_v1_network_snmp_communities",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationSnmpCommunities"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Set SNMP communities",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkCredentialsManage"
  ]
}
PUTLưu thông tin xác thực SNMP/v1/network/snmp/credentials

Tạo hoặc cập nhật thông tin xác thực SNMP để giám sát mạng được ủy quyền.

PUT /v1/network/snmp/credentials ↗

mcp.cap.NetworkCredentialsManage

Lược đồ (OpenAPI)

SnmpAuthenticationProtocol

0 = None
1 = Sha1
2 = Sha256

SnmpPrivacyProtocol

0 = None
1 = Aes128

SnmpProtocolVersion

1 = V1
2 = V2C
3 = V3

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "credential": {
      "authenticationProtocol": 0,
      "authenticationSecret": "<authenticationSecret>",
      "community": "<value>",
      "contextName": "<value>",
      "enabled": false,
      "id": "<UUID>",
      "name": "<value>",
      "priority": 1,
      "privacyProtocol": 0,
      "privacySecret": "<privacySecret>",
      "userName": "<value>",
      "version": 1
    }
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/network/snmp/credentials' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Create or update an SNMP credential for authorised network monitoring.",
  "operationId": "put_v1_network_snmp_credentials",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationSnmpCredential"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Save an SNMP credential",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkCredentialsManage"
  ]
}
POSTXóa thông tin xác thực SNMP/v1/network/snmp/credentials/delete

Xóa thông tin xác thực SNMP đã lưu trữ khỏi cấu hình mạng.

POST /v1/network/snmp/credentials/delete ↗

mcp.cap.NetworkCredentialsManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "credentialId": "<UUID>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/network/snmp/credentials/delete' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Remove a stored SNMP credential from the network configuration.",
  "operationId": "post_v1_network_snmp_credentials_delete",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationSnmpCredentialDelete"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Delete an SNMP credential",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkCredentialsManage"
  ]
}
PUTLưu chính sách SNMP/v1/network/snmp/policy

Cập nhật chính sách giám sát và phát hiện SNMP.

PUT /v1/network/snmp/policy ↗

mcp.cap.NetworkManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "credentialCooldownHours": 1,
    "enabled": false,
    "pollIntervalMinutes": 1
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/network/snmp/policy' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Update the SNMP discovery and monitoring policy.",
  "operationId": "put_v1_network_snmp_policy",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationNetworkSnmpPolicy"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Save SNMP policy",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkManage"
  ]
}
PUTĐặt trạng thái cổng SNMP dự kiến/v1/network/snmp/ports

Cập nhật cấu hình cổng dự kiến được sử dụng bởi giám sát SNMP.

PUT /v1/network/snmp/ports ↗

mcp.cap.NetworkManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "deviceId": "<UUID>",
    "expectedUp": false,
    "interfaceIndex": 1,
    "managedDevice": false
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/network/snmp/ports' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Update the expected port configuration used by SNMP monitoring.",
  "operationId": "put_v1_network_snmp_ports",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationSnmpExpectedPort"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Set expected SNMP port state",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkManage"
  ]
}
POSTLàm mới dữ liệu SNMP/v1/network/snmp/refresh

Yêu cầu cập nhật các quan sát SNMP cho mục tiêu đã chọn.

POST /v1/network/snmp/refresh ↗

mcp.cap.NetworkScan

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "deviceId": "<UUID>",
    "managedDevice": false
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/network/snmp/refresh' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request updated SNMP observations for the selected target.",
  "operationId": "post_v1_network_snmp_refresh",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationNetworkSnmpRefresh"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Refresh SNMP data",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkScan"
  ]
}
PUTLưu chính sách TCP của công ty/v1/network/tcp/company-policy

Thay đổi chính sách khám phá TCP cho một công ty.

PUT /v1/network/tcp/company-policy ↗

mcp.cap.NetworkManage

Lược đồ (OpenAPI)

NetworkPortInteraction

0 = ObserveOnly
1 = Http
2 = Https
3 = Ssh
4 = Telnet

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "policy": {
      "allowTelnet": false,
      "enabled": false,
      "evidenceFreshnessMinutes": 1,
      "minimumRealmSpacingSeconds": 1,
      "pollIntervalMinutes": 1,
      "ports": [
        {
          "interaction": "<see schema>",
          "name": "<see schema>",
          "port": "<see schema>"
        }
      ],
      "requireSnmpSuccess": false
    }
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/network/tcp/company-policy' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Change TCP discovery policy for a company.",
  "operationId": "put_v1_network_tcp_company_policy",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationTcpPolicy"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Save company TCP policy",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkManage"
  ]
}
PUTLưu tổ chức Chính sách TCP/v1/network/tcp/organization-policy

Thay đổi chính sách khám phá TCP trên toàn tổ chức.

PUT /v1/network/tcp/organization-policy ↗

mcp.cap.NetworkManage

Lược đồ (OpenAPI)

NetworkPortInteraction

0 = ObserveOnly
1 = Http
2 = Https
3 = Ssh
4 = Telnet

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "policy": {
      "allowTelnet": false,
      "enabled": false,
      "evidenceFreshnessMinutes": 1,
      "minimumRealmSpacingSeconds": 1,
      "pollIntervalMinutes": 1,
      "ports": [
        {
          "interaction": "<see schema>",
          "name": "<see schema>",
          "port": "<see schema>"
        }
      ],
      "requireSnmpSuccess": false
    }
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/network/tcp/organization-policy' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Change the organisation-wide TCP discovery policy.",
  "operationId": "put_v1_network_tcp_organization_policy",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationTcpPolicy"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Save organisation TCP policy",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkManage"
  ]
}
PUTKiểm soát cổng giám sát lưu lượng/v1/network/traffic/ports

Yêu cầu quyền giám sát hiện có. Mua hàng và thay đổi gia hạn vẫn được giữ trong ứng dụng.

PUT /v1/network/traffic/ports ↗

mcp.cap.NetworkManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "deviceId": "<UUID>",
    "enabled": false,
    "interfaceIndex": 1
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/network/traffic/ports' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires an existing monitoring entitlement. Purchases and renewal changes remain in the application.",
  "operationId": "put_v1_network_traffic_ports",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationTrafficPort"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Control a traffic monitoring port",
  "tags": [
    "Network"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkManage"
  ]
}
Nhóm3
GETNhóm danh sách/v1/groups

Duyệt qua các nhóm thiết bị có sẵn cho thông tin xác thực của bạn.

GET /v1/groups ↗

mcp.cap.InventoryRead

Thông số

pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/groups' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Browse the device groups available to your credential.",
  "operationId": "get_v1_groups",
  "parameters": [
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfGroupResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List groups",
  "tags": [
    "Groups"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETTạo một nhóm/v1/groups/{groupId}

Đọc chi tiết của một nhóm thiết bị.

GET /v1/groups/{groupId} ↗

mcp.cap.InventoryRead

Thông số

groupId · Đường dẫn · Cần có
Mã định danh của nhóm thiết bị cần đọc.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/groups/<groupId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read details of one device group.",
  "operationId": "get_v1_groups_groupId",
  "parameters": [
    {
      "description": "Identifier of the device group to read.",
      "in": "path",
      "name": "groupId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/GroupResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get a group",
  "tags": [
    "Groups"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETDanh sách thành viên nhóm/v1/groups/{groupId}/devices

Đọc ID thiết bị từ thành viên được đánh giá cuối cùng của nhóm. Theo dõi next để có thêm thành viên.

GET /v1/groups/{groupId}/devices ↗

mcp.cap.InventoryRead

Tư cách thành viên của phiên bản nhóm hoạt động được đánh giá cuối cùng. Theo dõi next để biết deviceIds còn lại; maximumReturned là kích thước trang được chọn.

Thông số

groupId · Đường dẫn · Cần có
Mã định danh của nhóm thiết bị cần đọc.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/groups/<groupId>/devices' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Membership of the last evaluated active group version. Follow next for remaining deviceIds; maximumReturned is the selected page size.",
  "operationId": "get_v1_groups_groupId_devices",
  "parameters": [
    {
      "description": "Identifier of the device group to read.",
      "in": "path",
      "name": "groupId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/GroupDevicesResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List group members",
  "tags": [
    "Groups"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
Phiên từ xa13
GETLiệt kê các phiên Windows/v1/devices/{deviceId}/windows-sessions

Tìm các phiên Windows có sẵn để chọn màn hình tương tác.

GET /v1/devices/{deviceId}/windows-sessions ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/windows-sessions' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Find Windows sessions available for selecting the interactive desktop.",
  "operationId": "get_v1_devices_deviceId_windows_sessions",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/InteractiveSessionDto"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List Windows sessions",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETLiệt kê các phiên từ xa/v1/remote-sessions

Tìm các thẻ điều khiển phiên từ xa được giữ lại thuộc sở hữu của thông tin xác thực của bạn.

GET /v1/remote-sessions ↗
Lược đồ (OpenAPI)

SessionKind

0 = Desktop
1 = Browsing
2 = Console
3 = FileBrowser
4 = Ghost
5 = RemoteResources
6 = RemoteIpScan
7 = HyperVConsole

Thông số

pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/remote-sessions' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Find retained remote-session handles owned by your credential.",
  "operationId": "get_v1_remote_sessions",
  "parameters": [
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfRemoteHandleSummary"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List remote sessions",
  "tags": [
    "Remote sessions"
  ],
  "x-required-capabilities": []
}
POSTMở phiên từ xa/v1/remote-sessions

Yêu cầu phiên từ xa được ủy quyền cho thiết bị và nhận quyền xử lý cho lần truy cập tiếp theo.

POST /v1/remote-sessions ↗
Lược đồ (OpenAPI)

SessionKind

0 = Desktop
1 = Browsing
2 = Console
3 = FileBrowser
4 = Ghost
5 = RemoteResources
6 = RemoteIpScan
7 = HyperVConsole

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "deviceId": "<UUID>",
    "kind": 0
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/remote-sessions' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request an authorised remote session for a device and receive a handle for subsequent access.",
  "operationId": "post_v1_remote_sessions",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationRemoteOpen"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Open a remote session",
  "tags": [
    "Remote sessions"
  ]
}
DELETEĐóng phiên từ xa/v1/remote-sessions/{handleId}

Kết thúc bộ điều khiển phiên từ xa đã chọn và quyền truy cập của nó.

DELETE /v1/remote-sessions/{handleId} ↗

Thông số

handleId · Đường dẫn · Cần có
Mã nhận dạng biên nhận cấp cao nhất từ ​​​​việc mở phiên từ xa, không phải mã định danh phiên cơ bản.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method DELETE `
  -Uri 'https://api.remotegymp.com/v1/remote-sessions/<handleId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "End the selected remote-session handle and its access.",
  "operationId": "delete_v1_remote_sessions_handleId",
  "parameters": [
    {
      "description": "Top-level receipt identifier from opening the remote session, not the underlying session identifier.",
      "in": "path",
      "name": "handleId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiRemoteClose"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Close a remote session",
  "tags": [
    "Remote sessions"
  ],
  "x-required-capabilities": []
}
GETNhận trạng thái phiên từ xa/v1/remote-sessions/{handleId}

Đọc trạng thái của bộ điều khiển phiên từ xa trước khi sử dụng.

GET /v1/remote-sessions/{handleId} ↗
Lược đồ (OpenAPI)

SessionKind

0 = Desktop
1 = Browsing
2 = Console
3 = FileBrowser
4 = Ghost
5 = RemoteResources
6 = RemoteIpScan
7 = HyperVConsole

Thông số

handleId · Đường dẫn · Cần có
Mã nhận dạng biên nhận cấp cao nhất từ ​​​​việc mở phiên từ xa, không phải mã định danh phiên cơ bản.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/remote-sessions/<handleId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the state of a remote-session handle before using it.",
  "operationId": "get_v1_remote_sessions_handleId",
  "parameters": [
    {
      "description": "Top-level receipt identifier from opening the remote session, not the underlying session identifier.",
      "in": "path",
      "name": "handleId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiRemoteSession"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get remote-session status",
  "tags": [
    "Remote sessions"
  ],
  "x-required-capabilities": []
}
POSTGửi hành động phiên từ xa/v1/remote-sessions/{handleId}/actions

Thực hiện một hành động phiên được phép, chẳng hạn như công việc nhập hoặc tệp, bằng cách sử dụng các trường yêu cầu dành riêng cho hành động.

POST /v1/remote-sessions/{handleId}/actions ↗
Lược đồ (OpenAPI)

InputEventKind

0 = MouseMove
1 = MouseButton
2 = MouseWheel
3 = Key
4 = TypeText

SessionAudioAvailability

0 = Unknown
1 = Available
2 = NoPlaybackEndpoint
3 = ProbeFailed

IntegrationRemoteActionKind

0 = Input
1 = Navigate
2 = Back
3 = Forward
4 = Clipboard
5 = ConsoleInput
6 = ConsoleResize
7 = ConsoleTabOpen
8 = ConsoleTabClose
9 = ConsoleTabInput
10 = ConsoleTabResize
11 = CreateFolder
12 = DeleteEntry
13 = RenameEntry
14 = WriteFile
15 = FocusMonitor
16 = CtrlAltDel
17 = Click

Thông số

handleId · Đường dẫn · Cần có
Mã nhận dạng biên nhận cấp cao nhất từ ​​​​việc mở phiên từ xa, không phải mã định danh phiên cơ bản.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "kind": 0
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/remote-sessions/<handleId>/actions' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Perform an allowed session action, such as input or file work, using the action-specific request fields.",
  "operationId": "post_v1_remote_sessions_handleId_actions",
  "parameters": [
    {
      "description": "Top-level receipt identifier from opening the remote session, not the underlying session identifier.",
      "in": "path",
      "name": "handleId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationRemoteAction"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Send a remote-session action",
  "tags": [
    "Remote sessions"
  ]
}
GETĐọc bảng nhớ tạm từ xa/v1/remote-sessions/{handleId}/clipboard

Đọc nội dung bảng nhớ tạm trong một phiên có quyền truy cập bảng nhớ tạm.

GET /v1/remote-sessions/{handleId}/clipboard ↗

mcp.cap.ClipboardRead

Thông số

handleId · Đường dẫn · Cần có
Mã nhận dạng biên nhận cấp cao nhất từ ​​​​việc mở phiên từ xa, không phải mã định danh phiên cơ bản.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/remote-sessions/<handleId>/clipboard' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read clipboard content through a session with clipboard access.",
  "operationId": "get_v1_remote_sessions_handleId_clipboard",
  "parameters": [
    {
      "description": "Top-level receipt identifier from opening the remote session, not the underlying session identifier.",
      "in": "path",
      "name": "handleId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ClipboardResultDto"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read the remote clipboard",
  "tags": [
    "Remote sessions"
  ],
  "x-required-capabilities": [
    "mcp.cap.ClipboardRead"
  ]
}
GETNhận chi tiết kết nối/v1/remote-sessions/{handleId}/connection

Đọc thông tin kết nối cho bộ điều khiển phiên từ xa được ủy quyền.

GET /v1/remote-sessions/{handleId}/connection ↗

mcp.cap.ScreenRead

Thông số

handleId · Đường dẫn · Cần có
Mã nhận dạng biên nhận cấp cao nhất từ ​​​​việc mở phiên từ xa, không phải mã định danh phiên cơ bản.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/remote-sessions/<handleId>/connection' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read connection information for an authorised remote-session handle.",
  "operationId": "get_v1_remote_sessions_handleId_connection",
  "parameters": [
    {
      "description": "Top-level receipt identifier from opening the remote session, not the underlying session identifier.",
      "in": "path",
      "name": "handleId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/BetaConnectionControlsDto"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get connection details",
  "tags": [
    "Remote sessions"
  ],
  "x-required-capabilities": [
    "mcp.cap.ScreenRead"
  ]
}
GETXem trước xóa từ xa/v1/remote-sessions/{handleId}/delete-preview

Kiểm tra các tệp và thư mục mà việc xóa được đề xuất sẽ ảnh hưởng trước khi gửi hành động xóa.

GET /v1/remote-sessions/{handleId}/delete-preview ↗

mcp.cap.FilesRead

Lược đồ (OpenAPI)

FileEntryKind

0 = Drive
1 = Directory
2 = File

Thông số

handleId · Đường dẫn · Cần có
Mã nhận dạng biên nhận cấp cao nhất từ ​​​​việc mở phiên từ xa, không phải mã định danh phiên cơ bản.
path · Truy vấn · Cần có
Đường dẫn trên thiết bị từ xa, trong phạm vi cho phép của phiên tệp đã mở.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/remote-sessions/<handleId>/delete-preview?path=<path>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Inspect the files and folders that a proposed deletion would affect before submitting the delete action.",
  "operationId": "get_v1_remote_sessions_handleId_delete_preview",
  "parameters": [
    {
      "description": "Top-level receipt identifier from opening the remote session, not the underlying session identifier.",
      "in": "path",
      "name": "handleId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Path on the remote device, within the opened file session's permitted scope.",
      "in": "query",
      "name": "path",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationDeletePreview"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Preview remote deletion",
  "tags": [
    "Remote sessions"
  ],
  "x-required-capabilities": [
    "mcp.cap.FilesRead"
  ]
}
GETĐọc tệp từ xa/v1/remote-sessions/{handleId}/file

Truy xuất nội dung tệp thông qua phiên truy cập tệp được ủy quyền.

GET /v1/remote-sessions/{handleId}/file ↗

mcp.cap.FilesRead

Thông số

handleId · Đường dẫn · Cần có
Mã nhận dạng biên nhận cấp cao nhất từ ​​​​việc mở phiên từ xa, không phải mã định danh phiên cơ bản.
path · Truy vấn · Cần có
Đường dẫn trên thiết bị từ xa, trong phạm vi cho phép của phiên tệp đã mở.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/remote-sessions/<handleId>/file?path=<path>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Retrieve file content through an authorised file-access session.",
  "operationId": "get_v1_remote_sessions_handleId_file",
  "parameters": [
    {
      "description": "Top-level receipt identifier from opening the remote session, not the underlying session identifier.",
      "in": "path",
      "name": "handleId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Path on the remote device, within the opened file session's permitted scope.",
      "in": "query",
      "name": "path",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiRemoteFile"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read a remote file",
  "tags": [
    "Remote sessions"
  ],
  "x-required-capabilities": [
    "mcp.cap.FilesRead"
  ]
}
GETLiệt kê thư mục từ xa/v1/remote-sessions/{handleId}/files

Duyệt thư mục thông qua phiên truy cập tệp được ủy quyền.

GET /v1/remote-sessions/{handleId}/files ↗

mcp.cap.FilesRead

Lược đồ (OpenAPI)

FileEntryKind

0 = Drive
1 = Directory
2 = File

Thông số

handleId · Đường dẫn · Cần có
Mã nhận dạng biên nhận cấp cao nhất từ ​​​​việc mở phiên từ xa, không phải mã định danh phiên cơ bản.
path · Truy vấn · tùy chọn
Đường dẫn trên thiết bị từ xa, trong phạm vi cho phép của phiên tệp đã mở.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/remote-sessions/<handleId>/files' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Browse a directory through an authorised file-access session.",
  "operationId": "get_v1_remote_sessions_handleId_files",
  "parameters": [
    {
      "description": "Top-level receipt identifier from opening the remote session, not the underlying session identifier.",
      "in": "path",
      "name": "handleId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Path on the remote device, within the opened file session's permitted scope.",
      "in": "query",
      "name": "path",
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/FileBrowserListingDto"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List a remote folder",
  "tags": [
    "Remote sessions"
  ],
  "x-required-capabilities": [
    "mcp.cap.FilesRead"
  ]
}
GETĐọc màn hình từ xa/v1/remote-sessions/{handleId}/screen

Đọc dữ liệu màn hình thông qua phiên được ủy quyền. Điều này có thể chứa thông tin nhạy cảm hiển thị trên màn hình nền.

GET /v1/remote-sessions/{handleId}/screen ↗

mcp.cap.ScreenRead

Thông số

handleId · Đường dẫn · Cần có
Mã nhận dạng biên nhận cấp cao nhất từ ​​​​việc mở phiên từ xa, không phải mã định danh phiên cơ bản.
monitorId · Truy vấn · tùy chọn
Mã định danh của màn hình để đọc hoặc lọc.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/remote-sessions/<handleId>/screen' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read screen data through an authorised session. This can contain sensitive information visible on the desktop.",
  "operationId": "get_v1_remote_sessions_handleId_screen",
  "parameters": [
    {
      "description": "Top-level receipt identifier from opening the remote session, not the underlying session identifier.",
      "in": "path",
      "name": "handleId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Identifier of the monitor to read or filter by.",
      "in": "query",
      "name": "monitorId",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationScreenImage"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read a remote screen",
  "tags": [
    "Remote sessions"
  ],
  "x-required-capabilities": [
    "mcp.cap.ScreenRead"
  ]
}
GETĐọc đầu ra thiết bị đầu cuối/v1/remote-sessions/{handleId}/terminal

Đọc đầu ra đầu cuối được liên kết với phiên từ xa được ủy quyền.

GET /v1/remote-sessions/{handleId}/terminal ↗

mcp.cap.TerminalRead

Thông số

handleId · Đường dẫn · Cần có
Mã nhận dạng biên nhận cấp cao nhất từ ​​​​việc mở phiên từ xa, không phải mã định danh phiên cơ bản.
waitMilliseconds · Truy vấn · tùy chọn
Đợi trước khi đọc đầu ra của thiết bị đầu cuối, tính bằng mili giây. Mặc định là 200 và được kẹp ở mức 0–2000.
cursor · Truy vấn · tùy chọn
Con trỏ tiếp tục đọc từ thiết bị đầu cuối trước đó. Bỏ qua để bắt đầu đọc đầu ra có sẵn.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/remote-sessions/<handleId>/terminal' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read terminal output associated with the authorised remote session.",
  "operationId": "get_v1_remote_sessions_handleId_terminal",
  "parameters": [
    {
      "description": "Top-level receipt identifier from opening the remote session, not the underlying session identifier.",
      "in": "path",
      "name": "handleId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Wait before reading terminal output, in milliseconds. Defaults to 200 and is clamped to 0–2000.",
      "in": "query",
      "name": "waitMilliseconds",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation cursor from the previous terminal read. Omit to start reading available output.",
      "in": "query",
      "name": "cursor",
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiRemoteTerminal"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read terminal output",
  "tags": [
    "Remote sessions"
  ],
  "x-required-capabilities": [
    "mcp.cap.TerminalRead"
  ]
}
Quản lý30
POSTThành lập công ty/v1/management/companies

Thêm công ty trong tổ chức được ủy quyền của bạn.

POST /v1/management/companies ↗

mcp.cap.CompaniesManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/companies' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Add a company within your authorised organisation.",
  "operationId": "post_v1_management_companies",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfstring"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a company",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.CompaniesManage"
  ]
}
POSTXóa công ty/v1/management/companies/delete

Yêu cầu loại bỏ một công ty thông qua các biện pháp bảo vệ quản lý hiện có. Hãy xem xét mục tiêu một cách cẩn thận.

POST /v1/management/companies/delete ↗

mcp.cap.CompaniesDelete

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/companies/delete' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request removal of a company through the existing management safeguards. Review the target carefully.",
  "operationId": "post_v1_management_companies_delete",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Delete a company",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.CompaniesDelete"
  ]
}
POSTXóa thiết bị/v1/management/devices/delete

Yêu cầu xóa thiết bị thông qua quy trình quản lý.

POST /v1/management/devices/delete ↗

mcp.cap.DevicesDelete

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/devices/delete' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request device removal through the management workflow.",
  "operationId": "post_v1_management_devices_delete",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Delete a device",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.DevicesDelete"
  ]
}
POSTDi chuyển thiết bị/v1/management/devices/move

Thay đổi công ty hoặc địa điểm của thiết bị trong phạm vi cho phép.

POST /v1/management/devices/move ↗

mcp.cap.DevicesManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "deviceId": "<UUID>",
    "siteId": "<UUID>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/devices/move' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Change a device's company or site assignment within the permitted scope.",
  "operationId": "post_v1_management_devices_move",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationDeviceMove"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Move a device",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.DevicesManage"
  ]
}
POSTThu hồi quyền truy cập thiết bị/v1/management/devices/revoke

Thu hồi quyền truy cập tác nhân của thiết bị đã chọn.

POST /v1/management/devices/revoke ↗

mcp.cap.DevicesManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/devices/revoke' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Revoke the selected device's agent access.",
  "operationId": "post_v1_management_devices_revoke",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Revoke device access",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.DevicesManage"
  ]
}
POSTKhôi phục quyền truy cập thiết bị/v1/management/devices/unrevoke

Xóa trạng thái bị thu hồi của thiết bị bằng quy trình quản lý được ủy quyền.

POST /v1/management/devices/unrevoke ↗

mcp.cap.DevicesManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/devices/unrevoke' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Remove a device's revoked state using the authorised management workflow.",
  "operationId": "post_v1_management_devices_unrevoke",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Restore device access",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.DevicesManage"
  ]
}
POSTXoay khóa đăng ký/v1/management/enrollment/rotate

Thay thế thông tin đăng ký của công ty. Trình cài đặt đăng ký hiện tại sử dụng khóa cũ sẽ mất khả năng đăng ký.

POST /v1/management/enrollment/rotate ↗

mcp.cap.EnrollmentRotate

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/enrollment/rotate' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Replace a company's enrollment credential. Existing enrollment installers using the old key lose enrollment ability.",
  "operationId": "post_v1_management_enrollment_rotate",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Rotate an enrollment key",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.EnrollmentRotate"
  ]
}
POSTYêu cầu trình cài đặt/v1/management/installers

Chuẩn bị trình cài đặt hàng đợi cho một công ty và nền tảng được ủy quyền.

POST /v1/management/installers ↗

mcp.cap.EnrollmentManage

Lược đồ (OpenAPI)

InstallerPlatform

0 = Windows
1 = Linux
2 = MacOs

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "platform": 0,
    "siteId": "<UUID>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/installers' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Queue installer preparation for an authorised company and platform.",
  "operationId": "post_v1_management_installers",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationInstallerBuild"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Request an installer",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.EnrollmentManage"
  ]
}
GETĐọc lịch sử trình cài đặt/v1/management/installers/history

Đọc lịch sử phân phối và xây dựng trình cài đặt được giữ lại.

GET /v1/management/installers/history ↗

mcp.cap.EnrollmentRead

Lược đồ (OpenAPI)

InstallerPlatform

0 = Windows
1 = Linux
2 = MacOs

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/management/installers/history' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read retained installer build and distribution history.",
  "operationId": "get_v1_management_installers_history",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/InstallerHistoryItem"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read installer history",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.EnrollmentRead"
  ]
}
GETDanh sách công việc của trình cài đặt/v1/management/installers/jobs

Đọc các công việc của trình cài đặt được xếp hàng đợi và trạng thái của chúng.

GET /v1/management/installers/jobs ↗

mcp.cap.EnrollmentRead

Lược đồ (OpenAPI)

InstallerPlatform

0 = Windows
1 = Linux
2 = MacOs

DeviceJobStatus

0 = Pending
1 = Running
2 = Completed
3 = Failed
4 = Cancelled

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/management/installers/jobs' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read queued installer jobs and their status.",
  "operationId": "get_v1_management_installers_jobs",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/InstallerBuildJobItem"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List installer jobs",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.EnrollmentRead"
  ]
}
GETNhận trạng thái quản lý-vận hành/v1/management/operations/{operationId}

Đọc trạng thái và giữ lại kết quả của thay đổi quản lý mà không lặp lại.

GET /v1/management/operations/{operationId} ↗

Thông số

operationId · Đường dẫn · Cần có
Mã nhận dạng biên nhận hoạt động cấp cao nhất. Thăm dò biên lai này để kiểm tra tiến độ và kết quả.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/management/operations/<operationId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the status and retained result of a management change without repeating it.",
  "operationId": "get_v1_management_operations_operationId",
  "parameters": [
    {
      "description": "Top-level operation receipt identifier. Poll this receipt to inspect progress and the result.",
      "in": "path",
      "name": "operationId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get management-operation status",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": []
}
GETĐọc cài đặt/v1/management/settings

Đọc cài đặt quản lý được hỗ trợ trong phạm vi được ủy quyền được yêu cầu.

GET /v1/management/settings ↗

mcp.cap.SettingsRead

Lược đồ (OpenAPI)

SettingScopeType

0 = Device
1 = Site
2 = Company
3 = Organization

SettingKey

0 = RequireUserConsent
1 = LockComputerOnSessionEnd
2 = OpenSessionsInNewTab
3 = WakeRelay
4 = TerminalExperience
5 = DefaultSessionColorQuality
6 = DefaultSuppressWallpaper
7 = DefaultOptimizeWindowsVisualEffects
8 = DefaultDeviceListLayout
9 = DeviceLocationReporting
10 = NetworkDiscoveryMode
11 = NetworkDiscoveryPolicy
12 = NetworkDiscoveryRetentionPolicy
13 = NetworkDiscoverySensorAssignment
14 = NetworkTcpMonitoringPolicy
15 = NetworkDiscoveryAllowWindowsPublicProfile
16 = NetworkInternetSpeedEnabled
17 = IloMonitoringEnabled
18 = IdracMonitoringEnabled

Thông số

scopeType · Truy vấn · Cần có
Loại phạm vi cài đặt. Sử dụng giá trị enum phù hợp với phạm vi dự định.
scopeId · Truy vấn · Cần có
Mã định danh phạm vi cài đặt được chọn bởi scopeType.
key · Truy vấn · Cần có
Phím cài đặt để đọc. Sử dụng giá trị enum cho cài đặt dự định.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/management/settings?scopeType=<scopeType>&scopeId=<scopeId>&key=<key>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read a supported management setting in the requested authorised scope.",
  "operationId": "get_v1_management_settings",
  "parameters": [
    {
      "description": "Kind of settings scope. Use the enum value matching the intended scope.",
      "in": "query",
      "name": "scopeType",
      "required": true,
      "schema": {
        "$ref": "#/components/schemas/SettingScopeType"
      }
    },
    {
      "description": "Identifier of the settings scope selected by scopeType.",
      "in": "query",
      "name": "scopeId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Setting key to read. Use the enum value for the intended setting.",
      "in": "query",
      "name": "key",
      "required": true,
      "schema": {
        "$ref": "#/components/schemas/SettingKey"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiSettingValue"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read a setting",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.SettingsRead"
  ]
}
PUTCập nhật cài đặt/v1/management/settings

Thay đổi cài đặt quản lý được hỗ trợ trong phạm vi cho phép.

PUT /v1/management/settings ↗

mcp.cap.SettingsManage

Lược đồ (OpenAPI)

SettingKey

0 = RequireUserConsent
1 = LockComputerOnSessionEnd
2 = OpenSessionsInNewTab
3 = WakeRelay
4 = TerminalExperience
5 = DefaultSessionColorQuality
6 = DefaultSuppressWallpaper
7 = DefaultOptimizeWindowsVisualEffects
8 = DefaultDeviceListLayout
9 = DeviceLocationReporting
10 = NetworkDiscoveryMode
11 = NetworkDiscoveryPolicy
12 = NetworkDiscoveryRetentionPolicy
13 = NetworkDiscoverySensorAssignment
14 = NetworkTcpMonitoringPolicy
15 = NetworkDiscoveryAllowWindowsPublicProfile
16 = NetworkInternetSpeedEnabled
17 = IloMonitoringEnabled
18 = IdracMonitoringEnabled

SettingScopeType

0 = Device
1 = Site
2 = Company
3 = Organization

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "key": 0,
    "scopeId": "<UUID>",
    "scopeType": 0,
    "value": "<value>"
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/management/settings' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Change a supported management setting within the permitted scope.",
  "operationId": "put_v1_management_settings",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationSetting"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Update a setting",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.SettingsManage"
  ]
}
POSTTạo một trang web/v1/management/sites

Thêm trang web vào công ty được ủy quyền.

POST /v1/management/sites ↗

mcp.cap.CompaniesManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "name": "<value>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/sites' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Add a site to an authorised company.",
  "operationId": "post_v1_management_sites",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationSiteCreate"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a site",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.CompaniesManage"
  ]
}
POSTXóa một trang web/v1/management/sites/delete

Xóa trang web bằng quy trình quản lý và kiểm tra phạm vi của trang web đó.

POST /v1/management/sites/delete ↗

mcp.cap.CompaniesDelete

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/sites/delete' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Remove a site using the management workflow and its scope checks.",
  "operationId": "post_v1_management_sites_delete",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Delete a site",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.CompaniesDelete"
  ]
}
PUTThay đổi quyền truy cập của nhóm/v1/management/team/access

Cập nhật phạm vi phân công vai trò và phạm vi được phép của thành viên nhóm.

PUT /v1/management/team/access ↗

mcp.cap.TeamAccessManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyIds": [
      "<UUID>"
    ],
    "roleKeys": [
      "<value>"
    ],
    "userId": "<UUID>"
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/management/team/access' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Update a team member's permitted scope and role assignments.",
  "operationId": "put_v1_management_team_access",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationUserAccess"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Change team access",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamAccessManage"
  ]
}
GETDanh sách lời mời của nhóm/v1/management/team/invites

Đọc lời mời của đội và trạng thái hiện tại của họ.

GET /v1/management/team/invites ↗

mcp.cap.TeamRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/management/team/invites' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read team invitations and their current state.",
  "operationId": "get_v1_management_team_invites",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/UserInviteDto"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List team invitations",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamRead"
  ]
}
POSTMời thành viên nhóm/v1/management/team/invites

Gửi lời mời với quyền truy cập được yêu cầu của nhóm.

POST /v1/management/team/invites ↗

mcp.cap.TeamManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "email": "<value>",
    "grantOwner": false,
    "rmmRoleKeys": [
      "<value>"
    ],
    "role": "<value>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/team/invites' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Send an invitation with the requested team access.",
  "operationId": "post_v1_management_team_invites",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationUserInvite"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Invite a team member",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamManage"
  ]
}
POSTGửi lại lời mời/v1/management/team/invites/resend

Gửi lại lời mời nhóm hiện có.

POST /v1/management/team/invites/resend ↗

mcp.cap.TeamManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/team/invites/resend' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Resend an existing team invitation.",
  "operationId": "post_v1_management_team_invites_resend",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Resend an invitation",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamManage"
  ]
}
POSTThu hồi lời mời/v1/management/team/invites/revoke

Vô hiệu hóa lời mời nhóm không còn được chấp nhận.

POST /v1/management/team/invites/revoke ↗

mcp.cap.TeamManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/team/invites/revoke' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Invalidate a team invitation that should no longer be accepted.",
  "operationId": "post_v1_management_team_invites_revoke",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Revoke an invitation",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamManage"
  ]
}
PUTThay đổi tên thành viên trong nhóm/v1/management/team/name

Cập nhật tên hiển thị của người dùng đã chọn.

PUT /v1/management/team/name ↗

mcp.cap.TeamManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "displayName": "<value>",
    "userId": "<UUID>"
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/management/team/name' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Update the selected user's display name.",
  "operationId": "put_v1_management_team_name",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationUserName"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Change a team member's name",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamManage"
  ]
}
PUTThay đổi trạng thái chủ sở hữu/v1/management/team/owner

Cập nhật trạng thái chủ sở hữu của thành viên nhóm, tuân theo các biện pháp bảo vệ do chủ sở hữu quản lý.

PUT /v1/management/team/owner ↗

mcp.cap.TeamOwnerManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "isOwner": false,
    "userId": "<UUID>"
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/management/team/owner' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Update a team member's owner status, subject to owner-management safeguards.",
  "operationId": "put_v1_management_team_owner",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationUserOwner"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Change owner status",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamOwnerManage"
  ]
}
GETLiệt kê vai trò của nhóm/v1/management/team/roles

Đọc các vai trò đã cấu hình và quyền của chúng.

GET /v1/management/team/roles ↗

mcp.cap.TeamRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/management/team/roles' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read configured roles and their permissions.",
  "operationId": "get_v1_management_team_roles",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/RmmRoleDto"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List team roles",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamRead"
  ]
}
PUTLưu vai trò nhóm/v1/management/team/roles

Tạo hoặc cập nhật tên và quyền của vai trò.

PUT /v1/management/team/roles ↗

mcp.cap.TeamAccessManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "description": "<value>",
    "name": "<value>",
    "permissions": 1,
    "roleId": "<UUID>"
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/management/team/roles' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Create or update a role's name and permissions.",
  "operationId": "put_v1_management_team_roles",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationRole"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Save a team role",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamAccessManage"
  ]
}
POSTXóa vai trò/v1/management/team/roles/delete

Xóa vai trò đã chọn thông qua kiểm tra quản lý nhóm.

POST /v1/management/team/roles/delete ↗

mcp.cap.TeamAccessManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/team/roles/delete' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Remove the selected role through the team-management checks.",
  "operationId": "post_v1_management_team_roles_delete",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Delete a role",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamAccessManage"
  ]
}
GETDanh sách người dùng nhóm/v1/management/team/users

Đọc người dùng nhóm hiển thị với thông tin xác thực quản lý của bạn.

GET /v1/management/team/users ↗

mcp.cap.TeamRead

Lược đồ (OpenAPI)

AccountAccessState

0 = Active
1 = TemporarilyLocked
2 = Deactivated

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/management/team/users' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read team users visible to your management credential.",
  "operationId": "get_v1_management_team_users",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/RosterUserDto"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List team users",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamRead"
  ]
}
POSTVô hiệu hóa thành viên nhóm/v1/management/team/users/deactivate

Vô hiệu hóa quyền truy cập của người dùng thông qua quy trình quản lý nhóm.

POST /v1/management/team/users/deactivate ↗

mcp.cap.TeamManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/team/users/deactivate' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Disable a user's access through the team-management workflow.",
  "operationId": "post_v1_management_team_users_deactivate",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Deactivate a team member",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamManage"
  ]
}
POSTKích hoạt lại thành viên nhóm/v1/management/team/users/reactivate

Khôi phục quyền truy cập nhóm của người dùng không hoạt động đủ điều kiện.

POST /v1/management/team/users/reactivate ↗

mcp.cap.TeamManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/team/users/reactivate' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Restore an eligible inactive user's team access.",
  "operationId": "post_v1_management_team_users_reactivate",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Reactivate a team member",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamManage"
  ]
}
POSTXóa thành viên nhóm/v1/management/team/users/remove

Xóa người dùng khỏi nhóm được quản lý thông qua các biện pháp bảo vệ hiện có.

POST /v1/management/team/users/remove ↗

mcp.cap.TeamManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/team/users/remove' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Remove a user from the managed team through the existing safeguards.",
  "operationId": "post_v1_management_team_users_remove",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Remove a team member",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamManage"
  ]
}
POSTMở khóa thành viên trong nhóm/v1/management/team/users/unlock

Xóa khóa tài khoản của người dùng đủ điều kiện thông qua quy trình quản lý.

POST /v1/management/team/users/unlock ↗

mcp.cap.TeamManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/management/team/users/unlock' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Clear an eligible user's account lockout through the management workflow.",
  "operationId": "post_v1_management_team_users_unlock",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Unlock a team member",
  "tags": [
    "Management"
  ],
  "x-required-capabilities": [
    "mcp.cap.TeamManage"
  ]
}
Thiết bị58
GETDanh sách thiết bị/v1/devices

Duyệt tóm tắt thiết bị mỗi lần một trang. Thực hiện theo con trỏ tiếp theo để có thêm kết quả.

GET /v1/devices ↗

mcp.cap.InventoryRead

Lược đồ (OpenAPI)

status

"Online"
"Offline"
"Busy"
"Error"
"Uninstalling"
"Uninstalled"

Thông số

pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.
companyId · Truy vấn · tùy chọn
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
siteId · Truy vấn · tùy chọn
Mã định danh trang web. Tham số truy vấn thu hẹp kết quả cho trang web này trong phạm vi thông tin xác thực.
status · Truy vấn · tùy chọn
Lọc thiết bị theo trạng thái thiết bị được lưu trữ.
name · Truy vấn · tùy chọn
Lọc theo tên thiết bị hoặc phần mềm, tùy theo tài nguyên đang được truy vấn.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Browse device summaries one page at a time. Follow the next cursor for more results.",
  "operationId": "get_v1_devices",
  "parameters": [
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "query",
      "name": "companyId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Site identifier. A query parameter narrows the results to this site within credential scope.",
      "in": "query",
      "name": "siteId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Filter devices by their stored device status.",
      "in": "query",
      "name": "status",
      "schema": {
        "enum": [
          "Online",
          "Offline",
          "Busy",
          "Error",
          "Uninstalling",
          "Uninstalled"
        ],
        "type": "string"
      }
    },
    {
      "description": "Filter by a device or software name, according to the resource being queried.",
      "in": "query",
      "name": "name",
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfDeviceResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List devices",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETNhận thiết bị/v1/devices/{deviceId}

Đọc tóm tắt của một thiết bị bằng ID của thiết bị đó.

GET /v1/devices/{deviceId} ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read one device's summary using its ID.",
  "operationId": "get_v1_devices_deviceId",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/DeviceResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get a device",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTGỡ cài đặt một agent/v1/devices/{deviceId}/agent/uninstall

Chọn liệu có giữ mục nhập kho dữ liệu của nó hay không. Việc xác nhận không chứng minh việc gỡ bỏ.

POST /v1/devices/{deviceId}/agent/uninstall ↗

mcp.cap.EnrollmentManage

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": false
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/agent/uninstall' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Choose whether to retain its inventory entry. Acknowledgement does not prove removal.",
  "operationId": "post_v1_devices_deviceId_agent_uninstall",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfboolean"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Uninstall an agent",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.EnrollmentManage"
  ]
}
POSTHủy một lệnh/v1/devices/{deviceId}/commands/{operationId}/cancel

Sử dụng biên lai lệnh gốc do chứng chỉ này sở hữu. Việc hủy không hoàn tác các hiệu ứng.

POST /v1/devices/{deviceId}/commands/{operationId}/cancel ↗

mcp.cap.CommandsExecute

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
operationId · Đường dẫn · Cần có
Mã nhận dạng biên nhận hoạt động cấp cao nhất. Thăm dò biên lai này để kiểm tra tiến độ và kết quả.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/commands/<operationId>/cancel' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Use the original command receipt owned by this credential. Cancellation does not undo effects.",
  "operationId": "post_v1_devices_deviceId_commands_operationId_cancel",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Top-level operation receipt identifier. Poll this receipt to inspect progress and the result.",
      "in": "path",
      "name": "operationId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationKey"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Cancel a command",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.CommandsExecute"
  ]
}
POSTQuét sử dụng đĩa/v1/devices/{deviceId}/disk-usage

Cung cấp một mã định danh quét và các ổ đĩa đã chọn. Sử dụng lại mã định danh để hủy quét.

POST /v1/devices/{deviceId}/disk-usage ↗

mcp.cap.DeviceMaintenance

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "operationId": "<UUID>",
    "volumeIds": [
      "<value>"
    ]
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/disk-usage' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Supply a scan identifier and selected volumes. Reuse the identifier to cancel the scan.",
  "operationId": "post_v1_devices_deviceId_disk_usage",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationDiskScan"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Scan disk usage",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.DeviceMaintenance"
  ]
}
POSTHủy quét đĩa/v1/devices/{deviceId}/disk-usage/cancel

Cung cấp một mã định danh quét và các ổ đĩa đã chọn. Sử dụng lại mã định danh để hủy quét.

POST /v1/devices/{deviceId}/disk-usage/cancel ↗

mcp.cap.DeviceMaintenance

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/disk-usage/cancel' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Supply a scan identifier and selected volumes. Reuse the identifier to cancel the scan.",
  "operationId": "post_v1_devices_deviceId_disk_usage_cancel",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Cancel a disk scan",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.DeviceMaintenance"
  ]
}
GETLiệt kê các ổ đĩa/v1/devices/{deviceId}/disk-usage/volumes

Đọc chẩn đoán điểm cuối hiện tại trong phạm vi chứng chỉ.

GET /v1/devices/{deviceId}/disk-usage/volumes ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/disk-usage/volumes' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current endpoint diagnostics within credential scope.",
  "operationId": "get_v1_devices_deviceId_disk_usage_volumes",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/DiskUsageVolumeInfoDto"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List disk volumes",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETĐọc kết quả nhật ký sự kiện được lưu trữ/v1/devices/{deviceId}/event-logs

Đọc kết quả nhật ký sự kiện đã được thu thập cho thiết bị.

GET /v1/devices/{deviceId}/event-logs ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
offset · Truy vấn · tùy chọn
Số mục cần bỏ qua, bắt đầu từ 0. Tiếp tục sử dụng phần bù được điểm cuối trả về khi có sẵn.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/event-logs' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read event-log results already collected for the device.",
  "operationId": "get_v1_devices_deviceId_event_logs",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.",
      "in": "query",
      "name": "offset",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AssetInventorySection"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read stored event-log results",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETĐọc nhật ký sự kiện trực tiếp/v1/devices/{deviceId}/event-logs/live

Yêu cầu thông tin nhật ký sự kiện từ thiết bị thay vì chỉ dựa vào kết quả được lưu trữ.

GET /v1/devices/{deviceId}/event-logs/live ↗

mcp.cap.InventoryRead

Lược đồ (OpenAPI)

level

"Critical"
"Error"
"Warning"

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
from · Truy vấn · tùy chọn
Dấu thời gian bắt đầu cho phạm vi thời gian được yêu cầu. Bao gồm phần bù UTC.
to · Truy vấn · tùy chọn
Dấu thời gian kết thúc trong khoảng thời gian được yêu cầu. Bao gồm phần bù UTC và chọn thời gian sau khi bắt đầu.
level · Truy vấn · tùy chọn
Lọc nhật ký sự kiện được yêu cầu theo cấp độ sự kiện.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/event-logs/live' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request event-log information from the device rather than relying only on stored results.",
  "operationId": "get_v1_devices_deviceId_event_logs_live",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Start timestamp for the requested time range. Include a UTC offset.",
      "in": "query",
      "name": "from",
      "schema": {
        "format": "date-time",
        "type": "string"
      }
    },
    {
      "description": "End timestamp for the requested time range. Include a UTC offset and choose a time after the start.",
      "in": "query",
      "name": "to",
      "schema": {
        "format": "date-time",
        "type": "string"
      }
    },
    {
      "description": "Filter the requested event logs by event level.",
      "in": "query",
      "name": "level",
      "schema": {
        "enum": [
          "Critical",
          "Error",
          "Warning"
        ],
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiLiveEventLogs"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read live event logs",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTThu thập kết quả nhật ký sự kiện/v1/devices/{deviceId}/event-logs/query

Yêu cầu truy vấn nhật ký sự kiện được giới hạn trên thiết bị và ghi lại kết quả của nó để đọc sau.

POST /v1/devices/{deviceId}/event-logs/query ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "channels": [
    "<value>"
  ],
  "fromUtc": "<UTC date and time>",
  "toUtc": "<UTC date and time>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/event-logs/query' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request a bounded event-log query on the device and record its results for later reading.",
  "operationId": "post_v1_devices_deviceId_event_logs_query",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/EventLogQueryDto"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationEventLogResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Collect event-log results",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETNhận hàng tồn kho được lưu trữ/v1/devices/{deviceId}/inventory

Đọc thông tin bảo mật và phần cứng được thu thập. Các giá trị thiếu chưa được biết; điều này không kích hoạt một lần quét mới.

GET /v1/devices/{deviceId}/inventory ↗

mcp.cap.InventoryRead

Lưu trữ thông tin tóm tắt về bảo mật và phần cứng. Giá trị null không xác định; dấu thời gian thiết lập độ mới quan sát. Không có khóa khôi phục, tài liệu bí mật hoặc quyền kiểm soát thiết bị.

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/inventory' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Stored hardware and security summary facts. Null values are unknown; timestamps establish observation freshness. No recovery keys, secret material or device-control authority.",
  "operationId": "get_v1_devices_deviceId_inventory",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/InventoryResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get stored inventory",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETNhận phần kiểm kê/v1/devices/{deviceId}/inventory/{section}

Đọc một phần được hỗ trợ trong kho tài sản được lưu trữ của thiết bị.

GET /v1/devices/{deviceId}/inventory/{section} ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
section · Đường dẫn · Cần có
Phần kiểm kê để đọc. Đọc manifest trước để biết các phần được hỗ trợ; theo dõi nextOffset để biết các phần mảng.
offset · Truy vấn · tùy chọn
Số mục cần bỏ qua, bắt đầu từ 0. Tiếp tục sử dụng phần bù được điểm cuối trả về khi có sẵn.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/inventory/<section>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read one supported section of the device's stored asset inventory.",
  "operationId": "get_v1_devices_deviceId_inventory_section",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Inventory section to read. Read manifest first for supported sections; follow nextOffset for array sections.",
      "in": "path",
      "name": "section",
      "required": true,
      "schema": {
        "type": "string"
      }
    },
    {
      "description": "Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.",
      "in": "query",
      "name": "offset",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AssetInventorySection"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get an inventory section",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETLiệt kê các công việc đang chờ trong hàng đợi/v1/devices/{deviceId}/jobs

Đọc các công việc đang chờ và đang chạy. Việc thiếu công việc không chứng minh thành công.

GET /v1/devices/{deviceId}/jobs ↗

mcp.cap.InventoryRead

Lược đồ (OpenAPI)

DeviceJobStatus

0 = Pending
1 = Running
2 = Completed
3 = Failed
4 = Cancelled

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/jobs' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read pending and running jobs. Missing jobs do not prove success.",
  "operationId": "get_v1_devices_deviceId_jobs",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationJobPage"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List queued jobs",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTXếp hàng lệnh ngoại tuyến/v1/devices/{deviceId}/jobs/command

Xếp hàng công việc để kết nối lại. Thông tin xác thực và quyền hiện tại được kiểm tra lại trước khi thực hiện.

POST /v1/devices/{deviceId}/jobs/command ↗

mcp.cap.CommandsExecute

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "command": "<value>",
    "shell": "<value>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/jobs/command' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Queue work for reconnection. Current credentials and permissions are checked again before execution.",
  "operationId": "post_v1_devices_deviceId_jobs_command",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationQueuedCommand"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Queue an offline command",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.CommandsExecute"
  ]
}
POSTXếp hàng gỡ cài đặt agent/v1/devices/{deviceId}/jobs/uninstall

Xếp hàng công việc để kết nối lại. Thông tin xác thực và quyền hiện tại được kiểm tra lại trước khi thực hiện.

POST /v1/devices/{deviceId}/jobs/uninstall ↗

mcp.cap.EnrollmentManage

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": false
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/jobs/uninstall' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Queue work for reconnection. Current credentials and permissions are checked again before execution.",
  "operationId": "post_v1_devices_deviceId_jobs_uninstall",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfboolean"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Queue an agent uninstall",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.EnrollmentManage"
  ]
}
GETĐọc một công việc trong hàng đợi/v1/devices/{deviceId}/jobs/{jobId}

Đọc các công việc đang chờ và đang chạy. Việc thiếu công việc không chứng minh thành công.

GET /v1/devices/{deviceId}/jobs/{jobId} ↗

mcp.cap.InventoryRead

Lược đồ (OpenAPI)

DeviceJobStatus

0 = Pending
1 = Running
2 = Completed
3 = Failed
4 = Cancelled

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
jobId · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/jobs/<jobId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read pending and running jobs. Missing jobs do not prove success.",
  "operationId": "get_v1_devices_deviceId_jobs_jobId",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "jobId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationJobView"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read a queued job",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTHủy một công việc trong hàng đợi/v1/devices/{deviceId}/jobs/{jobId}/cancel

Chỉ hủy trước khi công việc được nhận để thực hiện.

POST /v1/devices/{deviceId}/jobs/{jobId}/cancel ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
jobId · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/jobs/<jobId>/cancel' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Cancel only before the job is claimed for execution.",
  "operationId": "post_v1_devices_deviceId_jobs_jobId_cancel",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "jobId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationKey"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Cancel a queued job",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETKiểm tra trạng thái sẵn sàng của Linux/v1/devices/{deviceId}/linux-readiness

Đọc chẩn đoán điểm cuối hiện tại trong phạm vi chứng chỉ.

GET /v1/devices/{deviceId}/linux-readiness ↗

mcp.cap.InventoryRead

Lược đồ (OpenAPI)

LinuxReadinessState

0 = Ready
1 = Warning
2 = Blocked
3 = NotApplicable

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/linux-readiness' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current endpoint diagnostics within credential scope.",
  "operationId": "get_v1_devices_deviceId_linux_readiness",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/LinuxReadinessReportDto"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Check Linux readiness",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETNhận trạng thái bản vá được ghi lại/v1/devices/{deviceId}/patches

Đọc thông tin về bản vá được lưu trữ, các bản cập nhật bị thiếu và lỗi. Điều này không quét hoặc cài đặt các bản cập nhật.

GET /v1/devices/{deviceId}/patches ↗

mcp.cap.PatchingRead

Lược đồ (OpenAPI)

PatchRebootBehavior

0 = Unknown
1 = Never
2 = Always
3 = CanRequest

PatchSeverity

0 = Unknown
1 = Low
2 = Moderate
3 = Important
4 = Critical

PatchUpdateType

0 = Unknown
1 = Software
2 = Driver

PatchComplianceState

0 = Unknown
1 = Compliant
2 = MissingUpdates
3 = ScanFailed
4 = Unsupported

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/patches' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read stored patch facts, missing updates and failures. This does not scan for or install updates.",
  "operationId": "get_v1_devices_deviceId_patches",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PatchFactsResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get recorded patch status",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingRead"
  ]
}
GETNhận lịch sử hiệu suất/v1/devices/{deviceId}/performance

Đọc các mẫu hiệu suất được giữ lại trong một phạm vi thời gian. Khoảng trống có nghĩa là không có mẫu nào được thu thập.

GET /v1/devices/{deviceId}/performance ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
from · Truy vấn · tùy chọn
Dấu thời gian bắt đầu cho phạm vi thời gian được yêu cầu. Bao gồm phần bù UTC.
to · Truy vấn · tùy chọn
Dấu thời gian kết thúc trong khoảng thời gian được yêu cầu. Bao gồm phần bù UTC và chọn thời gian sau khi bắt đầu.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/performance' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read retained performance samples for a time range. Gaps mean no sample was collected.",
  "operationId": "get_v1_devices_deviceId_performance",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Start timestamp for the requested time range. Include a UTC offset.",
      "in": "query",
      "name": "from",
      "schema": {
        "format": "date-time",
        "type": "string"
      }
    },
    {
      "description": "End timestamp for the requested time range. Include a UTC offset and choose a time after the start.",
      "in": "query",
      "name": "to",
      "schema": {
        "format": "date-time",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PerformanceHistoryResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get performance history",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETKiểm tra điều kiện tiên quyết của thiết bị/v1/devices/{deviceId}/preflight

Đọc thông tin về khả năng và mức độ sẵn sàng của thiết bị được lưu trữ mà không cần gửi hành động.

GET /v1/devices/{deviceId}/preflight ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/preflight' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read stored device capability and readiness information without dispatching an action.",
  "operationId": "get_v1_devices_deviceId_preflight",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationDevicePreflightResponse"
          }
        }
      },
      "description": "OK"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Check device prerequisites",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETĐọc các tiến trình đang chạy/v1/devices/{deviceId}/processes

Yêu cầu thông tin quy trình từ thiết bị được ủy quyền.

GET /v1/devices/{deviceId}/processes ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
offset · Truy vấn · tùy chọn
Số mục cần bỏ qua, bắt đầu từ 0. Tiếp tục sử dụng phần bù được điểm cuối trả về khi có sẵn.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/processes' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request process information from an authorised device.",
  "operationId": "get_v1_devices_deviceId_processes",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.",
      "in": "query",
      "name": "offset",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiObservedPageOfProcessInfoDto"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read running processes",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTKết thúc một tiến trình/v1/devices/{deviceId}/processes/terminate

Kiểm tra ID và tên tiến trình trước khi kết thúc. Kiểm tra này không nguyên tử tại điểm cuối.

POST /v1/devices/{deviceId}/processes/terminate ↗

mcp.cap.InventoryRead + mcp.cap.CommandsExecute

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "expectedName": "<value>",
    "processId": 1
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/processes/terminate' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Check the process ID and name before termination. This check is not atomic at the endpoint.",
  "operationId": "post_v1_devices_deviceId_processes_terminate",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationKillProcess"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Terminate a process",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead",
    "mcp.cap.CommandsExecute"
  ]
}
GETKiểm tra máy tính từ xa Windows/v1/devices/{deviceId}/rdp

Đọc chẩn đoán điểm cuối hiện tại trong phạm vi chứng chỉ.

GET /v1/devices/{deviceId}/rdp ↗

mcp.cap.InventoryRead

Lược đồ (OpenAPI)

WindowsRdpState

0 = Unknown
1 = Disabled
2 = Enabled
3 = PolicyBlocked
4 = Unsupported

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/rdp' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current endpoint diagnostics within credential scope.",
  "operationId": "get_v1_devices_deviceId_rdp",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationRdpStatus"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Check Windows remote desktop",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTKích hoạt máy tính từ xa Windows/v1/devices/{deviceId}/rdp/enable

Kích hoạt máy tính từ xa với các biện pháp bảo vệ điểm cuối hiện có.

POST /v1/devices/{deviceId}/rdp/enable ↗

mcp.cap.DeviceMaintenance

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": false
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/rdp/enable' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Enable remote desktop with existing endpoint safeguards.",
  "operationId": "post_v1_devices_deviceId_rdp_enable",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfboolean"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Enable Windows remote desktop",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.DeviceMaintenance"
  ]
}
GETĐọc dịch vụ thiết bị/v1/devices/{deviceId}/services

Yêu cầu thông tin dịch vụ từ thiết bị được ủy quyền; tính khả dụng của thiết bị ảnh hưởng đến kết quả.

GET /v1/devices/{deviceId}/services ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
offset · Truy vấn · tùy chọn
Số mục cần bỏ qua, bắt đầu từ 0. Tiếp tục sử dụng phần bù được điểm cuối trả về khi có sẵn.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/services' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request service information from an authorised device; device availability affects the result.",
  "operationId": "get_v1_devices_deviceId_services",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.",
      "in": "query",
      "name": "offset",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiObservedPageOfServiceInfoDto"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read device services",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETNhận cài đặt phần mềm/v1/devices/{deviceId}/software

Đọc các quan sát phần mềm đã lưu trong các trang. Điều này không quét hoặc cài đặt phần mềm.

GET /v1/devices/{deviceId}/software ↗

mcp.cap.InventoryRead

Chỉ lưu trữ các quan sát phần mềm, tối đa 100 quan sát trên mỗi trang. items null có nghĩa là không có ảnh chụp nhanh được lưu trữ; items trống có nghĩa là danh sách trống được quan sát. Số after là phần bù. Khởi động lại quá trình xuất nếu updatedAtUtc thay đổi.

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/software' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Stored software observations only, at most 100 per page. items null means no stored snapshot; empty items means an observed empty list. Numeric after is an offset. Restart an export if updatedAtUtc changes.",
  "operationId": "get_v1_devices_deviceId_software",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/SoftwareResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get installed software",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTCài đặt phần mềm/v1/devices/{deviceId}/software/install

Yêu cầu cài đặt phần mềm được cung cấp trên thiết bị được ủy quyền và kiểm tra kết quả vận hành.

POST /v1/devices/{deviceId}/software/install ↗

mcp.cap.SoftwareManage + mcp.cap.AutomationRead + mcp.cap.AutomationExecute

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "packageVersionId": "<UUID>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/software/install' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request installation of the supplied software on an authorised device and inspect the operation result.",
  "operationId": "post_v1_devices_deviceId_software_install",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationSoftwareInstall"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Install software",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.SoftwareManage",
    "mcp.cap.AutomationRead",
    "mcp.cap.AutomationExecute"
  ]
}
POSTGỡ bỏ phần mềm/v1/devices/{deviceId}/software/uninstall

Yêu cầu xóa phần mềm đã chọn khỏi thiết bị được ủy quyền.

POST /v1/devices/{deviceId}/software/uninstall ↗

mcp.cap.SoftwareManage

Lược đồ (OpenAPI)

SoftwareKind

0 = ClassicDesktop
1 = PackagedApp

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "identifier": "<value>",
    "kind": 0,
    "name": "<value>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/software/uninstall' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request removal of selected software from an authorised device.",
  "operationId": "post_v1_devices_deviceId_software_uninstall",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfSoftwareUninstallRequestDto"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Uninstall software",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.SoftwareManage"
  ]
}
GETNhận trạng thái kiểm tra tốc độ/v1/devices/{deviceId}/speed-tests

Đọc trạng thái kiểm tra tốc độ của thiết bị và kết quả có sẵn.

GET /v1/devices/{deviceId}/speed-tests ↗

mcp.cap.NetworkRead

Lược đồ (OpenAPI)

NetworkInternetSpeedRunStatus

0 = Queued
1 = Assigned
2 = Completed
3 = CancelRequested
4 = Cancelled
5 = Failed
6 = Expired

NetworkLinkMedium

0 = Unknown
1 = Ethernet
2 = WiFi
3 = Cellular
4 = OtherPhysical

NetworkInternetSpeedProfile

0 = Standard
1 = LowBandwidth

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/speed-tests' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the device's speed-test status and available results.",
  "operationId": "get_v1_devices_deviceId_speed_tests",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/NetworkInternetSpeedDeviceSummary"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get speed-test status",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkRead"
  ]
}
GETĐọc lịch sử kiểm tra tốc độ/v1/devices/{deviceId}/speed-tests/history

Duyệt qua các kết quả kiểm tra tốc độ được giữ lại cho thiết bị.

GET /v1/devices/{deviceId}/speed-tests/history ↗

mcp.cap.NetworkRead

Lược đồ (OpenAPI)

NetworkInternetSpeedRunKind

0 = Scheduled
1 = Manual

NetworkLinkMedium

0 = Unknown
1 = Ethernet
2 = WiFi
3 = Cellular
4 = OtherPhysical

NetworkInternetSpeedOutcome

0 = Succeeded
1 = Failed
2 = Cancelled
3 = DeferredBusy
4 = ServerConstrained
5 = InterfaceUnavailable

NetworkInternetSpeedRunStatus

0 = Queued
1 = Assigned
2 = Completed
3 = CancelRequested
4 = Cancelled
5 = Failed
6 = Expired

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/speed-tests/history' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Browse retained speed-test results for a device.",
  "operationId": "get_v1_devices_deviceId_speed_tests_history",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/NetworkInternetSpeedHistoryPage"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read speed-test history",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkRead"
  ]
}
GETChạy thử tốc độ/v1/devices/{deviceId}/speed-tests/{runId}

Đọc một lần chạy kiểm tra tốc độ được ghi lại bằng ID của nó.

GET /v1/devices/{deviceId}/speed-tests/{runId} ↗

mcp.cap.NetworkRead

Lược đồ (OpenAPI)

NetworkInternetSpeedOutcome

0 = Succeeded
1 = Failed
2 = Cancelled
3 = DeferredBusy
4 = ServerConstrained
5 = InterfaceUnavailable

NetworkInternetSpeedRunStatus

0 = Queued
1 = Assigned
2 = Completed
3 = CancelRequested
4 = Cancelled
5 = Failed
6 = Expired

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
runId · Đường dẫn · Cần có
Mã định danh chạy tên miền được kết quả hoạt động trả về chứ không phải mã định danh biên nhận hoạt động.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/speed-tests/<runId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read one recorded speed-test run using its ID.",
  "operationId": "get_v1_devices_deviceId_speed_tests_runId",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Domain run identifier returned by the operation result, not the operation receipt identifier.",
      "in": "path",
      "name": "runId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/NetworkInternetSpeedRunSummary"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get a speed-test run",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkRead"
  ]
}
POSTTạo một quản trị viên tạm thời/v1/devices/{deviceId}/temporary-admin

Trả lại chứng chỉ một lần, trong tối đa 24 giờ. Biên lai lưu trữ không bao giờ chứa mật khẩu.

POST /v1/devices/{deviceId}/temporary-admin ↗

mcp.cap.CommandsExecute + mcp.cap.SecurityRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": 1
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/temporary-admin' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Return credentials once, for up to 24 hours. Stored receipts never contain the password.",
  "operationId": "post_v1_devices_deviceId_temporary_admin",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfint"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationTemporaryAdminResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a temporary administrator",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.CommandsExecute",
    "mcp.cap.SecurityRead"
  ]
}
GETĐọc hình thu nhỏ của thiết bị/v1/devices/{deviceId}/thumbnail

Đọc hình thu nhỏ có sẵn trên màn hình, tuân theo chính sách truy cập và hình thu nhỏ.

GET /v1/devices/{deviceId}/thumbnail ↗

mcp.cap.ScreenRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/thumbnail' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read an available desktop thumbnail, subject to access and thumbnail policy.",
  "operationId": "get_v1_devices_deviceId_thumbnail",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationThumbnailImage"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read a device thumbnail",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.ScreenRead"
  ]
}
POSTLàm mới hình thu nhỏ của thiết bị/v1/devices/{deviceId}/thumbnail/refresh

Yêu cầu hình thu nhỏ màn hình mới từ thiết bị đủ điều kiện. Công văn không đảm bảo một hình ảnh mới.

POST /v1/devices/{deviceId}/thumbnail/refresh ↗

mcp.cap.ScreenRead + mcp.cap.DeviceRefresh

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/thumbnail/refresh' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request a new desktop thumbnail from an eligible device. Dispatch does not guarantee a new image.",
  "operationId": "post_v1_devices_deviceId_thumbnail_refresh",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationKey"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Refresh a device thumbnail",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.ScreenRead",
    "mcp.cap.DeviceRefresh"
  ]
}
GETDanh sách máy ảo/v1/devices/{deviceId}/virtual-machines

Đọc các máy ảo được thiết bị này báo cáo.

GET /v1/devices/{deviceId}/virtual-machines ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/virtual-machines' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the virtual machines reported by this device.",
  "operationId": "get_v1_devices_deviceId_virtual_machines",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ItemCollectionOfVirtualMachineResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List virtual machines",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETNhận thông tin chi tiết về ảo hóa/v1/devices/{deviceId}/virtualisation

Đọc tóm tắt ảo hóa được lưu trữ của thiết bị.

GET /v1/devices/{deviceId}/virtualisation ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/virtualisation' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the device's stored virtualisation summary.",
  "operationId": "get_v1_devices_deviceId_virtualisation",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/VirtualisationResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get virtualisation details",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETNhận đĩa thiết bị/v1/devices/{deviceId}/volumes

Đọc thông tin ổ đĩa được lưu trữ, chẳng hạn như dung lượng ổ đĩa và dung lượng trống.

GET /v1/devices/{deviceId}/volumes ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/volumes' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read stored volume information, such as disk capacity and available space.",
  "operationId": "get_v1_devices_deviceId_volumes",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ItemCollectionOfVolumeResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get device disks",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETĐọc thông tin bảo hành/v1/devices/{deviceId}/warranty

Đọc tra cứu bảo hành được lưu trữ và thông tin về độ mới của nó.

GET /v1/devices/{deviceId}/warranty ↗

mcp.cap.InventoryRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/warranty' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the stored warranty lookup and its freshness information.",
  "operationId": "get_v1_devices_deviceId_warranty",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AssetInventorySection"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read warranty information",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTLàm mới thông tin bảo hành/v1/devices/{deviceId}/warranty/refresh

Yêu cầu tra cứu bảo hành cập nhật thay vì chỉ đọc kết quả được lưu trữ.

POST /v1/devices/{deviceId}/warranty/refresh ↗

mcp.cap.DeviceRefresh

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/warranty/refresh' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request an updated warranty lookup rather than reading only the stored result.",
  "operationId": "post_v1_devices_deviceId_warranty_refresh",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationWarrantyRefresh"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Refresh warranty information",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.DeviceRefresh"
  ]
}
POSTNhận một số thiết bị/v1/devices:batch-get

Đọc tóm tắt về danh sách ID thiết bị được cung cấp trong một yêu cầu.

POST /v1/devices:batch-get ↗

mcp.cap.InventoryRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "ids": [
    "<UUID>"
  ]
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/devices:batch-get' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read summaries for a supplied list of device IDs in one request.",
  "operationId": "post_v1_devices_batch_get",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IdBatch"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ItemCollectionOfDeviceResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get several devices",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTKiểm tra thiết bị truy vấn/v1/history/devices/query

Đọc bằng chứng hiện tại có phạm vi. Bằng chứng bị thiếu chưa xác định. Không có hành động cuối cùng hay phí AI nào được khởi động. Cung cấp CompanyId được ủy quyền.

POST /v1/history/devices/query ↗

mcp.cap.ActivityRead

Lược đồ (OpenAPI)

AuditRowKind

0 = Session
1 = AgentConnected
2 = AgentDisconnected
3 = TechnicianConnected
4 = TechnicianDisconnected
5 = ResourceBrowsed
6 = DeviceWoken
7 = CommandRun
8 = ConsoleCommand
9 = FileOperation
10 = WebNavigation
11 = GuestPassGenerated
12 = GuestPassRevoked
13 = GuestPassUsed
14 = AiResolver
15 = UserLogon
16 = UserLogoff
17 = SessionLocked
18 = SessionUnlocked
19 = RdpConnected
20 = RdpDisconnected
21 = MachineShuttingDown
22 = MachinePoweredOn
23 = AgentServiceStarted
24 = AgentServiceStopped
25 = MachineSuspending
26 = MachineResumed
27 = HardwareAdded
28 = HardwareRemoved
29 = HardwareChanged
30 = SoftwareInstalled
31 = SoftwareRemoved
32 = SoftwareUpdated
33 = OperatingSystemChanged
34 = AgentUpdated
35 = PatchComplianceChanged
36 = SecurityChanged
37 = NetworkConfigurationChanged
38 = BitLockerManagement
39 = SessionLaunch
40 = DeviceTool
41 = SessionControl
42 = RemoteResource
43 = JobQueue
44 = Chat
45 = SessionAction
46 = IdracMonitoringAccount

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "companyId": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/history/devices/query' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started. Supply an authorized CompanyId.",
  "operationId": "post_v1_history_devices_query",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationHistoryQuery"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/DeviceAuditRowsPageDto"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Query device audit",
  "tags": [
    "Reports"
  ],
  "x-required-capabilities": [
    "mcp.cap.ActivityRead"
  ]
}
POSTLịch sử phiên truy vấn/v1/history/sessions/query

Đọc bằng chứng hiện tại có phạm vi. Bằng chứng bị thiếu chưa xác định. Không có hành động cuối cùng hay phí AI nào được khởi động. Cung cấp CompanyId được ủy quyền.

POST /v1/history/sessions/query ↗

mcp.cap.ActivityRead

Lược đồ (OpenAPI)

AuditRowKind

0 = Session
1 = AgentConnected
2 = AgentDisconnected
3 = TechnicianConnected
4 = TechnicianDisconnected
5 = ResourceBrowsed
6 = DeviceWoken
7 = CommandRun
8 = ConsoleCommand
9 = FileOperation
10 = WebNavigation
11 = GuestPassGenerated
12 = GuestPassRevoked
13 = GuestPassUsed
14 = AiResolver
15 = UserLogon
16 = UserLogoff
17 = SessionLocked
18 = SessionUnlocked
19 = RdpConnected
20 = RdpDisconnected
21 = MachineShuttingDown
22 = MachinePoweredOn
23 = AgentServiceStarted
24 = AgentServiceStopped
25 = MachineSuspending
26 = MachineResumed
27 = HardwareAdded
28 = HardwareRemoved
29 = HardwareChanged
30 = SoftwareInstalled
31 = SoftwareRemoved
32 = SoftwareUpdated
33 = OperatingSystemChanged
34 = AgentUpdated
35 = PatchComplianceChanged
36 = SecurityChanged
37 = NetworkConfigurationChanged
38 = BitLockerManagement
39 = SessionLaunch
40 = DeviceTool
41 = SessionControl
42 = RemoteResource
43 = JobQueue
44 = Chat
45 = SessionAction
46 = IdracMonitoringAccount

SessionEndReason

0 = EndedByTechnician
1 = ClientEnded
2 = TimedOutIdle
3 = ConnectionLost
4 = TechnicianDisconnected
5 = RelayRestarted
6 = GuestPassRevoked
7 = GuestPassExpired
8 = LicenseSuspended
9 = LicenseDeleted
10 = CommerciallyRestricted
11 = ConsentDenied
12 = ConsentTimedOut
13 = EndedByEndUser

SessionKind

0 = Desktop
1 = Browsing
2 = Console
3 = FileBrowser
4 = Ghost
5 = RemoteResources
6 = RemoteIpScan
7 = HyperVConsole

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "companyId": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/history/sessions/query' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started. Supply an authorized CompanyId.",
  "operationId": "post_v1_history_sessions_query",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationHistoryQuery"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AuditRowsPageDto"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Query session history",
  "tags": [
    "Reports"
  ],
  "x-required-capabilities": [
    "mcp.cap.ActivityRead"
  ]
}
GETNhận tích hợp PSA/v1/integrations/psa

Đọc bằng chứng hiện tại có phạm vi. Bằng chứng bị thiếu là không xác định. Không có hành động cuối cùng hay phí AI nào được khởi động. Chỉ SaaS; phạm vi toàn tổ chức. Thông tin xác thực nhà cung cấp chỉ có thể ghi và cần có các bản sửa đổi hiện có để chỉnh sửa.

GET /v1/integrations/psa ↗

mcp.cap.SettingsRead + mcp.cap.WebhooksRead

Thông số

after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/integrations/psa' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started. SaaS only; organization-wide scope. Provider credentials are write-only and existing revisions are required for edits.",
  "operationId": "get_v1_integrations_psa",
  "parameters": [
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationPsaView"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get PSA integrations",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.SettingsRead",
    "mcp.cap.WebhooksRead"
  ]
}
PUTLưu kết nối PSA/v1/integrations/psa/connections

Yêu cầu quyền FullAccess và chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác. Chỉ SaaS; phạm vi toàn tổ chức. Thông tin xác thực nhà cung cấp chỉ ghi và các phiên bản hiện có là bắt buộc để chỉnh sửa.

PUT /v1/integrations/psa/connections ↗

mcp.cap.SettingsManage + mcp.cap.WebhooksWrite

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "baseUrl": "<value>",
    "credentials": {
      "clientId": "<value>",
      "secret": "<secret>"
    },
    "enabled": false,
    "id": "<UUID>",
    "provider": "<value>",
    "revision": 1
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/integrations/psa/connections' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt. SaaS only; organization-wide scope. Provider credentials are write-only and existing revisions are required for edits.",
  "operationId": "put_v1_integrations_psa_connections",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationPsaConnection"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Save PSA connection",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.SettingsManage",
    "mcp.cap.WebhooksWrite"
  ]
}
PUTĐặt tạm dừng giao PSA/v1/integrations/psa/deliveries/pause

Yêu cầu quyền FullAccess và chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác. Chỉ SaaS; phạm vi toàn tổ chức. Thông tin xác thực nhà cung cấp chỉ ghi và các phiên bản hiện có là bắt buộc để chỉnh sửa.

PUT /v1/integrations/psa/deliveries/pause ↗

mcp.cap.WebhooksWrite

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "id": "<UUID>",
    "paused": false,
    "revision": 1
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/integrations/psa/deliveries/pause' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt. SaaS only; organization-wide scope. Provider credentials are write-only and existing revisions are required for edits.",
  "operationId": "put_v1_integrations_psa_deliveries_pause",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationPsaPause"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Set PSA delivery paused",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.WebhooksWrite"
  ]
}
PUTLưu bản đồ PSA/v1/integrations/psa/mappings

Yêu cầu quyền FullAccess và chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác. Chỉ SaaS; phạm vi toàn tổ chức. Thông tin xác thực nhà cung cấp chỉ ghi và các phiên bản hiện có là bắt buộc để chỉnh sửa.

PUT /v1/integrations/psa/mappings ↗

mcp.cap.SettingsManage + mcp.cap.WebhooksWrite

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "closedStatusId": 1,
    "companyId": "<UUID>",
    "connectionId": "<UUID>",
    "customerId": 1,
    "openStatusId": 1,
    "priorityId": 1,
    "queueId": 1,
    "revision": 1,
    "ticketTypeId": 1
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/integrations/psa/mappings' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt. SaaS only; organization-wide scope. Provider credentials are write-only and existing revisions are required for edits.",
  "operationId": "put_v1_integrations_psa_mappings",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationPsaMapping"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Save PSA mapping",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.SettingsManage",
    "mcp.cap.WebhooksWrite"
  ]
}
GETTìm kiếm khách hàng PSA/v1/integrations/psa/{id}/customers

Đọc bằng chứng hiện tại có phạm vi. Bằng chứng bị thiếu là không xác định. Không có hành động cuối cùng hay phí AI nào được khởi động. Chỉ SaaS; phạm vi toàn tổ chức. Thông tin xác thực nhà cung cấp chỉ có thể ghi và cần có các bản sửa đổi hiện có để chỉnh sửa.

GET /v1/integrations/psa/{id}/customers ↗

mcp.cap.SettingsRead + mcp.cap.WebhooksRead

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.
search · Truy vấn · Cần có
Văn bản tìm kiếm khách hàng, tối đa 200 ký tự.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/integrations/psa/<id>/customers?search=<search>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started. SaaS only; organization-wide scope. Provider credentials are write-only and existing revisions are required for edits.",
  "operationId": "get_v1_integrations_psa_id_customers",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Customer search text, at most 200 characters.",
      "in": "query",
      "name": "search",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/IntegrationPsaCustomer"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Search PSA customers",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.SettingsRead",
    "mcp.cap.WebhooksRead"
  ]
}
GETDuyệt qua kho hàng của đội xe/v1/queries/inventory

Đọc các bản tóm tắt bảo mật và phần cứng được lưu trữ trên các thiết bị, tùy chọn giới hạn ở một công ty.

GET /v1/queries/inventory ↗

mcp.cap.InventoryRead

Thông số

companyId · Truy vấn · tùy chọn
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/queries/inventory' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read stored hardware and security summaries across devices, optionally restricted to one company.",
  "operationId": "get_v1_queries_inventory",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "query",
      "name": "companyId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfInventoryResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Browse fleet inventory",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETTìm phần mềm đã cài đặt/v1/queries/software

Đọc kho phần mềm đã lưu trên các thiết bị với bộ lọc tên phần mềm tùy chọn. Không có quá trình quét nào được bắt đầu.

GET /v1/queries/software ↗

mcp.cap.InventoryRead

Thông số

companyId · Truy vấn · tùy chọn
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
name · Truy vấn · tùy chọn
Lọc theo tên thiết bị hoặc phần mềm, tùy theo tài nguyên đang được truy vấn.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/queries/software' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read saved software inventories across devices, with an optional software-name filter. No scan is started.",
  "operationId": "get_v1_queries_software",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "query",
      "name": "companyId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Filter by a device or software name, according to the resource being queried.",
      "in": "query",
      "name": "name",
      "schema": {
        "type": "string"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfFleetSoftwareItem"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Find installed software",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETTìm phiên người dùng/v1/queries/user-sessions

Tìm kiếm thông tin phiên người dùng trong phạm vi thiết bị được phép của bạn.

GET /v1/queries/user-sessions ↗

mcp.cap.InventoryRead

Thông số

userName · Truy vấn · Cần có
Tên người dùng cần tìm trong các phiên người dùng đang hoạt động trong phạm vi thông tin xác thực.
companyId · Truy vấn · tùy chọn
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/queries/user-sessions?userName=<userName>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Search for user-session information within your permitted device scope.",
  "operationId": "get_v1_queries_user_sessions",
  "parameters": [
    {
      "description": "User name to find in active user sessions within credential scope.",
      "in": "query",
      "name": "userName",
      "required": true,
      "schema": {
        "type": "string"
      }
    },
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "query",
      "name": "companyId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiUserSessionPage"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Find user sessions",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTLịch sử bộ giải quyết truy vấn/v1/resolver/history/query

Đọc bằng chứng hiện tại đã được giới hạn. Bằng chứng bị thiếu là không xác định. Không có hành động cuối cùng hay phí AI nào được khởi động. Các cuộc điều tra do người sáng tạo sở hữu trong 30 ngày gần nhất, tối đa 100 vụ mỗi trang; tiếp tục với Next. Cung cấp CompanyId được ủy quyền.

POST /v1/resolver/history/query ↗

mcp.cap.AssistantRead + mcp.cap.SecurityRead

Lược đồ (OpenAPI)

AiResolverChargeMode

0 = CustomerUsage
1 = ProviderCost
2 = TrialIncluded

AiResolverEventType

0 = Initial
1 = FollowUp
2 = Retry

AiResolverRunStatus

0 = Accepted
1 = Queued
2 = Running
3 = CollectingEvidence
4 = Synthesizing
5 = Validating
6 = Completed
7 = Failed
8 = Refused
9 = TimedOut
10 = Cancelled

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "companyId": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/resolver/history/query' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started. Creator-owned investigations from the last 30 days, up to 100 per page; continue with Next. Supply an authorized CompanyId.",
  "operationId": "post_v1_resolver_history_query",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationResolverQuery"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationResolverPage"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Query resolver history",
  "tags": [
    "AI"
  ],
  "x-required-capabilities": [
    "mcp.cap.AssistantRead",
    "mcp.cap.SecurityRead"
  ]
}
GETNhận kết quả bộ giải quyết/v1/resolver/runs/{id}

Đọc bằng chứng hiện tại trong phạm vi. Bằng chứng bị thiếu là không rõ. Không có hành động cuối cùng hay tấn công AI nào được khởi động.

GET /v1/resolver/runs/{id} ↗

mcp.cap.AssistantRead + mcp.cap.SecurityRead

Lược đồ (OpenAPI)

AiResolverChargeMode

0 = CustomerUsage
1 = ProviderCost
2 = TrialIncluded

AiResolverEventType

0 = Initial
1 = FollowUp
2 = Retry

AiResolverRunStatus

0 = Accepted
1 = Queued
2 = Running
3 = CollectingEvidence
4 = Synthesizing
5 = Validating
6 = Completed
7 = Failed
8 = Refused
9 = TimedOut
10 = Cancelled

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/resolver/runs/<id>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.",
  "operationId": "get_v1_resolver_runs_id",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AiResolverRunView"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get resolver result",
  "tags": [
    "AI"
  ],
  "x-required-capabilities": [
    "mcp.cap.AssistantRead",
    "mcp.cap.SecurityRead"
  ]
}
GETĐọc chính sách hình thu nhỏ/v1/settings/device-thumbnails

Đọc cài đặt kiểm soát bộ sưu tập hình thu nhỏ trên màn hình.

GET /v1/settings/device-thumbnails ↗

mcp.cap.SettingsRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/settings/device-thumbnails' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the settings controlling desktop thumbnail collection.",
  "operationId": "get_v1_settings_device_thumbnails",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationThumbnailPolicyView"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read thumbnail policy",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.SettingsRead"
  ]
}
PUTCập nhật chính sách hình thu nhỏ/v1/settings/device-thumbnails

Thay đổi chính sách kiểm soát bộ sưu tập hình thu nhỏ của màn hình trong phạm vi được phép.

PUT /v1/settings/device-thumbnails ↗

mcp.cap.SettingsManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "enabled": false
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/settings/device-thumbnails' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Change the policy controlling desktop thumbnail collection for the permitted scope.",
  "operationId": "put_v1_settings_device_thumbnails",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationThumbnailPolicy"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Update thumbnail policy",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.SettingsManage"
  ]
}
POSTBắt đầu kiểm tra tốc độ/v1/speed-tests

Yêu cầu kiểm tra tốc độ cho các mục tiêu được cung cấp. Những thử nghiệm này tạo ra lưu lượng truy cập mạng.

POST /v1/speed-tests ↗

mcp.cap.NetworkScan

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "deviceId": "<UUID>",
    "interfaceId": "<value>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/speed-tests' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request speed tests for the supplied targets. These tests generate network traffic.",
  "operationId": "post_v1_speed_tests",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationSpeedTestStart"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Start speed tests",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkScan"
  ]
}
POSTHủy kiểm tra tốc độ/v1/speed-tests/cancel

Yêu cầu hủy công việc kiểm tra tốc độ đã chọn.

POST /v1/speed-tests/cancel ↗

mcp.cap.NetworkScan

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "deviceId": "<UUID>",
    "runId": "<UUID>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/speed-tests/cancel' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request cancellation of the selected speed-test work.",
  "operationId": "post_v1_speed_tests_cancel",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationSpeedTestCancel"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Cancel speed tests",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.NetworkScan"
  ]
}
POSTNhận đĩa cho một số thiết bị/v1/volumes:batch-query

Đọc thông tin ổ đĩa được lưu trữ cho bộ thiết bị được cung cấp.

POST /v1/volumes:batch-query ↗

mcp.cap.InventoryRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "ids": [
    "<UUID>"
  ]
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/volumes:batch-query' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read stored volume information for a supplied set of devices.",
  "operationId": "post_v1_volumes_batch_query",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IdBatch"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ItemCollectionOfVolumeResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get disks for several devices",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
Tích hợp12
GETNhận hoạt động xác thực/v1/activity

Đọc hoạt động kiểm tra API được giữ lại cho chứng chỉ này. Đây không phải là lịch sử kiểm toán đầy đủ của tổ chức.

GET /v1/activity ↗

mcp.cap.ActivityRead

Thông số

pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/activity' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read retained API audit activity for this credential. This is not the organisation's complete audit history.",
  "operationId": "get_v1_activity",
  "parameters": [
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfActivityResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get credential activity",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.ActivityRead"
  ]
}
GETĐọc những thay đổi gần đây/v1/events

Đọc thiết bị được theo dõi và cảnh báo các thay đổi từ nguồn cấp dữ liệu sự kiện có thể phát lại. Giữ con trỏ và định kỳ đối chiếu toàn bộ kho hàng.

GET /v1/events ↗

mcp.cap.InventoryRead

Thông số

after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/events' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read tracked device and alert changes from the replayable event feed. Keep the cursor and periodically reconcile a full inventory.",
  "operationId": "get_v1_events",
  "parameters": [
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "int64",
        "type": "integer"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/EventPage"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read recent changes",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTTạo ảnh chụp nhanh thiết bị/v1/sync/devices

Bắt đầu xuất bản tóm tắt thiết bị ổn định hoặc so sánh với ảnh chụp nhanh đã hoàn thành trước đó để tìm các thay đổi.

POST /v1/sync/devices ↗

mcp.cap.InventoryRead

Tạo ảnh chụp nhanh tóm tắt thiết bị ổn định; previousSnapshotId là null dành cho đường cơ sở đầy đủ hoặc ID ảnh chụp nhanh hoàn chỉnh để thay đổi. Hết hạn sau bảy ngày. Giới hạn: 10000 thiết bị, bốn ảnh chụp nhanh cho mỗi thông tin xác thực và Tổ chức mỗi giờ, bộ lưu trữ nén 256 MiB cho mỗi Tổ chức. Không có phần mềm, cảnh báo, trường tùy chỉnh hoặc theo dõi thay đổi hàng tồn kho.

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "previousSnapshotId": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/sync/devices' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Create a stable device-summary snapshot; previousSnapshotId is null for a full baseline or a completed snapshot ID for changes. Expires after seven days. Limits: 10000 devices, four snapshots per credential and organisation per hour, 256 MiB compressed storage per organisation. No software, alert, custom-field or inventory change tracking.",
  "operationId": "post_v1_sync_devices",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/SyncRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "201": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/SyncResponse"
          }
        }
      },
      "description": "Created"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a device snapshot",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETĐọc các thay đổi ảnh chụp nhanh của thiết bị/v1/sync/devices/{snapshotId}

Trang thông qua các bản tóm tắt thiết bị được thêm, cập nhật và xóa trong ảnh chụp nhanh. Chỉ lưu ID ảnh chụp nhanh sau khi đọc từng trang.

GET /v1/sync/devices/{snapshotId} ↗

mcp.cap.InventoryRead

Theo dõi next cho đến null, sau đó giữ lại ảnh chụp nhanh đã hoàn thành này làm đường cơ sở tiếp theo. Các mục là upsert có bản tóm tắt hoặc deleted có thiết bị null. Ảnh chụp nhanh thuộc về thông tin xác thực tạo và phạm vi được kiểm tra lại. 410 yêu cầu một đường cơ sở đầy đủ mới.

Thông số

snapshotId · Đường dẫn · Cần có
Mã định danh của ảnh chụp nhanh để xem qua trang. Sử dụng cùng thông tin xác thực và phạm vi đã tạo ra nó.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/sync/devices/<snapshotId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Follow next until null, then retain this completed snapshot as the next baseline. Items are upsert with a summary or deleted with device null. Snapshots belong to their creating credential and scope is rechecked. 410 requires a new full baseline.",
  "operationId": "get_v1_sync_devices_snapshotId",
  "parameters": [
    {
      "description": "Identifier of the snapshot to page through. Use the same credential and scope that created it.",
      "in": "path",
      "name": "snapshotId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfSyncChange"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read device snapshot changes",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTTạo ảnh chụp nhanh tài nguyên/v1/sync/{resource}

Bắt đầu chụp nhanh khoảng không quảng cáo, phần mềm, cảnh báo hoặc trường tùy chỉnh, tùy chọn so sánh với ảnh chụp nhanh trước đó.

POST /v1/sync/{resource} ↗

mcp.cap.InventoryRead

Lược đồ (OpenAPI)

resource

"inventory"
"software"
"alerts"
"custom-fields"

Thông số

resource · Đường dẫn · Cần có
Thu thập tài nguyên để chụp nhanh. Sử dụng tên tài nguyên được hỗ trợ từ hợp đồng điểm cuối.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "previousSnapshotId": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/sync/<resource>' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Start an inventory, software, alerts or custom-fields snapshot, optionally compared with a previous snapshot.",
  "operationId": "post_v1_sync_resource",
  "parameters": [
    {
      "description": "Resource collection to snapshot. Use a supported resource name from the endpoint contract.",
      "in": "path",
      "name": "resource",
      "required": true,
      "schema": {
        "enum": [
          "inventory",
          "software",
          "alerts",
          "custom-fields"
        ],
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/SyncRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "201": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/SyncResponse"
          }
        }
      },
      "description": "Created"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a resource snapshot",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETĐọc thay đổi tài nguyên/v1/sync/{resource}/{snapshotId}

Trang thông qua ảnh chụp nhanh tài nguyên. Ảnh chụp nhanh đã hết hạn yêu cầu một đường cơ sở đầy đủ mới.

GET /v1/sync/{resource}/{snapshotId} ↗

mcp.cap.InventoryRead

Lược đồ (OpenAPI)

resource

"inventory"
"software"
"alerts"
"custom-fields"

Thông số

resource · Đường dẫn · Cần có
Thu thập tài nguyên để chụp nhanh. Sử dụng tên tài nguyên được hỗ trợ từ hợp đồng điểm cuối.
snapshotId · Đường dẫn · Cần có
Mã định danh của ảnh chụp nhanh để xem qua trang. Sử dụng cùng thông tin xác thực và phạm vi đã tạo ra nó.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/sync/<resource>/<snapshotId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Page through a resource snapshot. An expired snapshot requires a new full baseline.",
  "operationId": "get_v1_sync_resource_snapshotId",
  "parameters": [
    {
      "description": "Resource collection to snapshot. Use a supported resource name from the endpoint contract.",
      "in": "path",
      "name": "resource",
      "required": true,
      "schema": {
        "enum": [
          "inventory",
          "software",
          "alerts",
          "custom-fields"
        ],
        "type": "string"
      }
    },
    {
      "description": "Identifier of the snapshot to page through. Use the same credential and scope that created it.",
      "in": "path",
      "name": "snapshotId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfResourceSyncChange"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read resource changes",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETDanh sách đăng ký webhook/v1/webhooks

Đọc các đăng ký thuộc sở hữu của thông tin xác thực của bạn mà không cần bí mật ký tên của họ.

GET /v1/webhooks ↗

mcp.cap.WebhooksRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/webhooks' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read subscriptions owned by your credential, without their signing secrets.",
  "operationId": "get_v1_webhooks",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/WebhookResponse"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List webhook subscriptions",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.WebhooksRead"
  ]
}
POSTTạo đăng ký webhook/v1/webhooks

Đăng ký điểm đến HTTPS cho các sự kiện trong tương lai. Lưu trữ bí mật ký khi nó được trả lại một lần.

POST /v1/webhooks ↗

mcp.cap.WebhooksWrite

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "url": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/webhooks' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Register an HTTPS destination for future events. Store the signing secret when it is returned once.",
  "operationId": "post_v1_webhooks",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WebhookRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "201": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/NewWebhookResponse"
          }
        }
      },
      "description": "Created"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a webhook subscription",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.WebhooksWrite"
  ]
}
DELETEXóa đăng ký webhook/v1/webhooks/{webhookId}

Dừng đăng ký và xóa lịch sử gửi của nó.

DELETE /v1/webhooks/{webhookId} ↗

mcp.cap.WebhooksWrite

Thông số

webhookId · Đường dẫn · Cần có
Mã định danh của đăng ký webhook.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method DELETE `
  -Uri 'https://api.remotegymp.com/v1/webhooks/<webhookId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Stop a subscription and remove its delivery history.",
  "operationId": "delete_v1_webhooks_webhookId",
  "parameters": [
    {
      "description": "Identifier of the webhook subscription.",
      "in": "path",
      "name": "webhookId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "204": {
      "description": "No Content"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Delete a webhook subscription",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.WebhooksWrite"
  ]
}
GETĐọc phân phối webhook/v1/webhooks/{webhookId}/deliveries

Kiểm tra các lần thử gửi và trạng thái được ghi lại của chúng cho một đăng ký.

GET /v1/webhooks/{webhookId}/deliveries ↗

mcp.cap.WebhooksRead

Thông số

webhookId · Đường dẫn · Cần có
Mã định danh của đăng ký webhook.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/webhooks/<webhookId>/deliveries' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Inspect delivery attempts and their recorded status for one subscription.",
  "operationId": "get_v1_webhooks_webhookId_deliveries",
  "parameters": [
    {
      "description": "Identifier of the webhook subscription.",
      "in": "path",
      "name": "webhookId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfDeliveryResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read webhook deliveries",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.WebhooksRead"
  ]
}
POSTThử lại phân phối webhook/v1/webhooks/{webhookId}/deliveries/{deliveryId}/replay

Phát lại giao hàng được giữ lại với ID giao hàng ban đầu. Người nhận phải xử lý các bản sao.

POST /v1/webhooks/{webhookId}/deliveries/{deliveryId}/replay ↗

mcp.cap.WebhooksWrite

Thông số

webhookId · Đường dẫn · Cần có
Mã định danh của đăng ký webhook.
deliveryId · Đường dẫn · Cần có
Giá trị nhận dạng của lần gửi thuộc đăng ký webhook này.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/webhooks/<webhookId>/deliveries/<deliveryId>/replay' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Replay a retained delivery with its original delivery ID. Receivers must handle duplicates.",
  "operationId": "post_v1_webhooks_webhookId_deliveries_deliveryId_replay",
  "parameters": [
    {
      "description": "Identifier of the webhook subscription.",
      "in": "path",
      "name": "webhookId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Identifier of a delivery belonging to this webhook subscription.",
      "in": "path",
      "name": "deliveryId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "202": {
      "description": "Accepted"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Retry a webhook delivery",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.WebhooksWrite"
  ]
}
PUTThiết lập webhook được bật/v1/webhooks/{webhookId}/enabled

Yêu cầu FullAccess và quyền chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác.

PUT /v1/webhooks/{webhookId}/enabled ↗

mcp.cap.WebhooksWrite

Thông số

webhookId · Đường dẫn · Cần có
Mã định danh của đăng ký webhook.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": false
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/webhooks/<webhookId>/enabled' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.",
  "operationId": "put_v1_webhooks_webhookId_enabled",
  "parameters": [
    {
      "description": "Identifier of the webhook subscription.",
      "in": "path",
      "name": "webhookId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfboolean"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Set webhook enabled",
  "tags": [
    "Integrations"
  ],
  "x-required-capabilities": [
    "mcp.cap.WebhooksWrite"
  ]
}
Trường tùy chỉnh7
GETNhận các trường tùy chỉnh của công ty/v1/companies/{companyId}/custom-fields

Đọc các trường siêu dữ liệu bổ sung được lưu trữ đối với một công ty.

GET /v1/companies/{companyId}/custom-fields ↗

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/companies/<companyId>/custom-fields' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the extra metadata fields stored against a company.",
  "operationId": "get_v1_companies_companyId_custom_fields",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ItemCollectionOfCustomFieldResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get company custom fields",
  "tags": [
    "Companies"
  ]
}
PATCHCập nhật trường tùy chỉnh/v1/custom-fields/{fieldId}

Thay đổi giá trị siêu dữ liệu bằng phiên bản đọc lần cuối. Xung đột nghĩa là bạn phải đọc lại trước khi cập nhật.

PATCH /v1/custom-fields/{fieldId} ↗

mcp.cap.MetadataWrite

fieldId là {scope}:{scopeUuid}:{key}. Gửi phiên bản đọc lần cuối và tối đa 4000 ký tự giá trị. 409 bao gồm currentVersion. ReadWrite chỉ cho phép siêu dữ liệu; các giá trị không thực thi các hành động của thiết bị.

Thông số

fieldId · Đường dẫn · Cần có
Mã định danh của giá trị trường tùy chỉnh cần cập nhật. Đọc phiên bản hiện tại của nó trước khi viết.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "value": "<value>",
  "version": 1
}'
Invoke-RestMethod -Method PATCH `
  -Uri 'https://api.remotegymp.com/v1/custom-fields/<fieldId>' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "fieldId is {scope}:{scopeUuid}:{key}. Send the last-read version and at most 4000 value characters. A 409 includes currentVersion. ReadWrite permits metadata only; values do not execute device actions.",
  "operationId": "patch_v1_custom_fields_fieldId",
  "parameters": [
    {
      "description": "Identifier of the custom-field value to update. Read its current version before writing.",
      "in": "path",
      "name": "fieldId",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/PatchFieldRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/FieldWriteResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/VersionConflictResponse"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Update a custom field",
  "tags": [
    "Custom fields"
  ],
  "x-required-capabilities": [
    "mcp.cap.MetadataWrite"
  ]
}
POSTNhận một số trường tùy chỉnh/v1/custom-fields:batch-get

Đọc các giá trị trường tùy chỉnh cho một số mục tiêu được cung cấp cùng một lúc.

POST /v1/custom-fields:batch-get ↗

mcp.cap.InventoryRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "targets": [
    {
      "id": "<UUID>",
      "scope": "<value>"
    }
  ]
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/custom-fields:batch-get' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read custom-field values for several supplied targets at once.",
  "operationId": "post_v1_custom_fields_batch_get",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/CustomFieldBatchRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/FieldBatchResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get several custom fields",
  "tags": [
    "Devices"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
GETNhận các trường tùy chỉnh của thiết bị/v1/devices/{deviceId}/custom-fields

Đọc các trường siêu dữ liệu bổ sung được lưu trữ trên thiết bị.

GET /v1/devices/{deviceId}/custom-fields ↗

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/devices/<deviceId>/custom-fields' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the extra metadata fields stored against a device.",
  "operationId": "get_v1_devices_deviceId_custom_fields",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ItemCollectionOfCustomFieldResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get device custom fields",
  "tags": [
    "Devices"
  ]
}
GETDanh sách định nghĩa trường/v1/field-definitions

Khám phá các trường tùy chỉnh được tích hợp sẵn và xác định tích hợp cũng như các loại dữ liệu của chúng.

GET /v1/field-definitions ↗

mcp.cap.InventoryRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/field-definitions' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Discover built-in and integration-defined custom fields and their data types.",
  "operationId": "get_v1_field_definitions",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/FieldDefinitionsResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List field definitions",
  "tags": [
    "Custom fields"
  ],
  "x-required-capabilities": [
    "mcp.cap.InventoryRead"
  ]
}
POSTTạo định nghĩa trường/v1/field-definitions

Xác định trường tùy chỉnh tích hợp với phạm vi, khóa, nhãn và loại. Các định nghĩa là bất biến.

POST /v1/field-definitions ↗

mcp.cap.FieldDefinitionsWrite

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "key": "<value>",
  "label": "<value>",
  "scope": "<value>",
  "type": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/field-definitions' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Define an integration custom field with a scope, key, label and type. Definitions are immutable.",
  "operationId": "post_v1_field_definitions",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/FieldDefinitionRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "201": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationFieldDefinition"
          }
        }
      },
      "description": "Created"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a field definition",
  "tags": [
    "Custom fields"
  ],
  "x-required-capabilities": [
    "mcp.cap.FieldDefinitionsWrite"
  ]
}
GETNhận các trường tùy chỉnh của trang web/v1/sites/{siteId}/custom-fields

Đọc các trường siêu dữ liệu bổ sung được lưu trữ trên một trang web.

GET /v1/sites/{siteId}/custom-fields ↗

Thông số

siteId · Đường dẫn · Cần có
Mã định danh trang web. Tham số truy vấn thu hẹp kết quả cho trang web này trong phạm vi thông tin xác thực.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/sites/<siteId>/custom-fields' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the extra metadata fields stored against a site.",
  "operationId": "get_v1_sites_siteId_custom_fields",
  "parameters": [
    {
      "description": "Site identifier. A query parameter narrows the results to this site within credential scope.",
      "in": "path",
      "name": "siteId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ItemCollectionOfCustomFieldResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get site custom fields",
  "tags": [
    "Companies"
  ]
}
Tự động hóa72
PUTLưu định tuyến cảnh báo/v1/automation/alert-routing

Yêu cầu FullAccess và quyền chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác.

PUT /v1/automation/alert-routing ↗

mcp.cap.AutomationManage + mcp.cap.AlertWrite

Lược đồ (OpenAPI)

AutomationAlertRoutingKind

0 = QuietHours
1 = ParentDependency

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "expectedRevision": 1,
    "id": "<UUID>",
    "kind": 0,
    "name": "<value>"
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/automation/alert-routing' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.",
  "operationId": "put_v1_automation_alert_routing",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfAutomationAlertRoutingInput"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Save alert routing",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AlertWrite"
  ]
}
POSTXác thực định tuyến cảnh báo/v1/automation/alert-routing/validate

Đọc bằng chứng hiện tại trong phạm vi. Bằng chứng bị thiếu là không rõ. Không có hành động cuối cùng hay tấn công AI nào được khởi động.

POST /v1/automation/alert-routing/validate ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

AutomationAlertRoutingKind

0 = QuietHours
1 = ParentDependency

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "companyId": "<UUID>",
  "expectedRevision": 1,
  "id": "<UUID>",
  "kind": 0,
  "name": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/alert-routing/validate' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.",
  "operationId": "post_v1_automation_alert_routing_validate",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/AutomationAlertRoutingInput"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationValidation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Validate alert routing",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
POSTXác nhận cảnh báo màn hình/v1/automation/alerts/{id}/acknowledge

Xác nhận một cảnh báo thông qua dịch vụ tự động hóa. Gửi idempotencyKey trong phần thân yêu cầu và theo dõi biên nhận hoạt động được trả về. Nó không khắc phục lỗi.

POST /v1/automation/alerts/{id}/acknowledge ↗

mcp.cap.AutomationManage

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/alerts/<id>/acknowledge' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Acknowledge an alert through the automation service. Send idempotencyKey in the request body and follow the returned operation receipt. It does not fix the fault.",
  "operationId": "post_v1_automation_alerts_id_acknowledge",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationKey"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Acknowledge a monitor alert",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage"
  ]
}
GETĐịnh tuyến cảnh báo danh sách/v1/automation/companies/{companyId}/alert-routing

Đọc bằng chứng hiện tại trong phạm vi. Bằng chứng bị thiếu là không rõ. Không có hành động cuối cùng hay tấn công AI nào được khởi động.

GET /v1/automation/companies/{companyId}/alert-routing ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

AutomationAlertRoutingKind

0 = QuietHours
1 = ParentDependency

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/companies/<companyId>/alert-routing' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.",
  "operationId": "get_v1_automation_companies_companyId_alert_routing",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/AutomationAlertRoutingInput"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List alert routing",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
PUTLưu các loại trừ bản vá/v1/automation/companies/{companyId}/patch-exclusions

Yêu cầu FullAccess và quyền chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác.

PUT /v1/automation/companies/{companyId}/patch-exclusions ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": [
    "<UUID>"
  ]
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/automation/companies/<companyId>/patch-exclusions' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.",
  "operationId": "put_v1_automation_companies_companyId_patch_exclusions",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid[]"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Save patch exclusions",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingManage",
    "mcp.cap.PatchingExecute"
  ]
}
GETThẻ danh sách/v1/automation/companies/{companyId}/tags

Đọc bằng chứng hiện tại trong phạm vi. Bằng chứng bị thiếu là không rõ. Không có hành động cuối cùng hay tấn công AI nào được khởi động.

GET /v1/automation/companies/{companyId}/tags ↗

mcp.cap.AutomationRead

Thông số

companyId · Đường dẫn · Cần có
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/companies/<companyId>/tags' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.",
  "operationId": "get_v1_automation_companies_companyId_tags",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "path",
      "name": "companyId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationTagPage"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List tags",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
GETChính sách cấu hình danh sách/v1/automation/configuration-policies

Đọc bằng chứng hiện tại trong phạm vi. Bằng chứng bị thiếu là không rõ. Không có hành động cuối cùng hay tấn công AI nào được khởi động.

GET /v1/automation/configuration-policies ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

ConfigurationBaselineControl

0 = Firewall
1 = BitLocker
2 = LocalAdministrators
3 = ScreenLock
4 = UsbStorage

ConfigurationBaselineMode

0 = Audit
1 = Enforce

BaselineUsbAccess

0 = Allow
1 = ReadOnly
2 = Block

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationSimpleTriggerKind

0 = Once
1 = EveryMinutes
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = DeviceOnline
7 = DeviceOffline
8 = DeviceBooted
9 = FactsChanged
10 = UserLogon
11 = UserLogoff
12 = SessionLocked
13 = SessionUnlocked
14 = RdpConnected
15 = RdpDisconnected
16 = MachineShuttingDown
17 = MachinePoweredOn
18 = AgentServiceStarted
19 = AgentServiceStopped
20 = MachineSuspending
21 = MachineResumed
22 = Cron

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

AutomationState

0 = Draft
1 = Enabled
2 = Paused
3 = Archived

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/configuration-policies' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.",
  "operationId": "get_v1_automation_configuration_policies",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/ConfigurationBaselineListItem"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List configuration policies",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
POSTTạo chính sách cấu hình/v1/automation/configuration-policies

Yêu cầu FullAccess và quyền chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác.

POST /v1/automation/configuration-policies ↗

mcp.cap.AutomationManage + mcp.cap.SettingsManage

Lược đồ (OpenAPI)

ConfigurationBaselineControl

0 = Firewall
1 = BitLocker
2 = LocalAdministrators
3 = ScreenLock
4 = UsbStorage

ConfigurationBaselineMode

0 = Audit
1 = Enforce

BaselineUsbAccess

0 = Allow
1 = ReadOnly
2 = Block

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationSimpleTriggerKind

0 = Once
1 = EveryMinutes
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = DeviceOnline
7 = DeviceOffline
8 = DeviceBooted
9 = FactsChanged
10 = UserLogon
11 = UserLogoff
12 = SessionLocked
13 = SessionUnlocked
14 = RdpConnected
15 = RdpDisconnected
16 = MachineShuttingDown
17 = MachinePoweredOn
18 = AgentServiceStarted
19 = AgentServiceStopped
20 = MachineSuspending
21 = MachineResumed
22 = Cron

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "description": "<value>",
    "name": "<value>",
    "policy": {
      "control": 0
    },
    "schedule": {
      "kind": 0
    },
    "scope": {
      "kind": 0
    }
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/configuration-policies' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.",
  "operationId": "post_v1_automation_configuration_policies",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfConfigurationBaselineInput"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create configuration policy",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.SettingsManage"
  ]
}
POSTXem trước chính sách cấu hình/v1/automation/configuration-policies/preview

Đọc bằng chứng hiện tại trong phạm vi. Bằng chứng bị thiếu là không rõ. Không có hành động cuối cùng hay tấn công AI nào được khởi động.

POST /v1/automation/configuration-policies/preview ↗

mcp.cap.AutomationRead + mcp.cap.SecurityRead

Lược đồ (OpenAPI)

ConfigurationBaselineControl

0 = Firewall
1 = BitLocker
2 = LocalAdministrators
3 = ScreenLock
4 = UsbStorage

ConfigurationBaselineMode

0 = Audit
1 = Enforce

BaselineUsbAccess

0 = Allow
1 = ReadOnly
2 = Block

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationSimpleTriggerKind

0 = Once
1 = EveryMinutes
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = DeviceOnline
7 = DeviceOffline
8 = DeviceBooted
9 = FactsChanged
10 = UserLogon
11 = UserLogoff
12 = SessionLocked
13 = SessionUnlocked
14 = RdpConnected
15 = RdpDisconnected
16 = MachineShuttingDown
17 = MachinePoweredOn
18 = AgentServiceStarted
19 = AgentServiceStopped
20 = MachineSuspending
21 = MachineResumed
22 = Cron

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "description": "<value>",
  "name": "<value>",
  "policy": {
    "control": 0
  },
  "schedule": {
    "kind": 0
  },
  "scope": {
    "kind": 0
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/configuration-policies/preview' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.",
  "operationId": "post_v1_automation_configuration_policies_preview",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ConfigurationBaselineInput"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AutomationSimpleScopePreview"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Preview configuration policy",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead",
    "mcp.cap.SecurityRead"
  ]
}
POSTCài đặt bản vá Windows/v1/automation/devices/{deviceId}/patch-install

Yêu cầu FullAccess và quyền chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác.

POST /v1/automation/devices/{deviceId}/patch-install ↗

mcp.cap.PatchingExecute

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "revisionNumber": 1,
    "updateId": "<value>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/devices/<deviceId>/patch-install' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.",
  "operationId": "post_v1_automation_devices_deviceId_patch_install",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfPatchUpdateIdentity"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Install Windows patch",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingExecute"
  ]
}
GETLấy thẻ thiết bị/v1/automation/devices/{deviceId}/tags

Đọc bằng chứng hiện tại trong phạm vi. Bằng chứng bị thiếu là không rõ. Không có hành động cuối cùng hay tấn công AI nào được khởi động.

GET /v1/automation/devices/{deviceId}/tags ↗

mcp.cap.AutomationRead

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/devices/<deviceId>/tags' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.",
  "operationId": "get_v1_automation_devices_deviceId_tags",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/IntegrationTagView"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get device tags",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
PUTGán thẻ thiết bị/v1/automation/devices/{deviceId}/tags

Yêu cầu FullAccess và quyền chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác.

PUT /v1/automation/devices/{deviceId}/tags ↗

mcp.cap.AutomationManage

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": [
    "<UUID>"
  ]
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/automation/devices/<deviceId>/tags' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.",
  "operationId": "put_v1_automation_devices_deviceId_tags",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfGuid[]"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Assign device tags",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage"
  ]
}
POSTĐặt lại Windows cập nhật/v1/automation/devices/{deviceId}/update-reset

Yêu cầu FullAccess và quyền chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác.

POST /v1/automation/devices/{deviceId}/update-reset ↗

mcp.cap.PatchingExecute

Thông số

deviceId · Đường dẫn · Cần có
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/devices/<deviceId>/update-reset' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.",
  "operationId": "post_v1_automation_devices_deviceId_update_reset",
  "parameters": [
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "path",
      "name": "deviceId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationKey"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Reset Windows update",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingExecute"
  ]
}
POSTChạy chính sách vá lỗi/v1/automation/devices/{id}/patch-runs

Yêu cầu chạy chính sách bản vá trên thiết bị được ủy quyền đã chọn.

POST /v1/automation/devices/{id}/patch-runs ↗

mcp.cap.PatchingExecute

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/devices/<id>/patch-runs' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request a patch-policy run on the selected authorised device.",
  "operationId": "post_v1_automation_devices_id_patch_runs",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationKey"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Run a patch policy",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingExecute"
  ]
}
GETĐọc trạng thái chính sách bản vá của thiết bị/v1/automation/devices/{id}/patch-status

Đọc trạng thái chính sách bản vá của thiết bị và báo cáo thông tin bản vá.

GET /v1/automation/devices/{id}/patch-status ↗

mcp.cap.PatchingRead

Lược đồ (OpenAPI)

PatchRebootBehavior

0 = Unknown
1 = Never
2 = Always
3 = CanRequest

PatchSeverity

0 = Unknown
1 = Low
2 = Moderate
3 = Important
4 = Critical

PatchUpdateType

0 = Unknown
1 = Software
2 = Driver

PatchComplianceState

0 = Unknown
1 = Compliant
2 = MissingUpdates
3 = ScanFailed
4 = Unsupported

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.
offset · Truy vấn · tùy chọn
Số mục cần bỏ qua, bắt đầu từ 0. Tiếp tục sử dụng phần bù được điểm cuối trả về khi có sẵn.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/devices/<id>/patch-status' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the device's patch-policy status and reported patching information.",
  "operationId": "get_v1_automation_devices_id_patch_status",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.",
      "in": "query",
      "name": "offset",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/DevicePatchStatusView"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read device patch-policy status",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingRead"
  ]
}
POSTThay đổi dừng khẩn cấp/v1/automation/emergency-stop

Đặt trạng thái dừng khẩn cấp tự động hóa. Kiểm tra kết quả trước khi cho rằng công việc đang hoạt động đã dừng lại.

POST /v1/automation/emergency-stop ↗

mcp.cap.AutomationStop

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": false
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/emergency-stop' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Set the automation emergency-stop state. Inspect the result before assuming active work has stopped.",
  "operationId": "post_v1_automation_emergency_stop",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfboolean"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Change the emergency stop",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationStop"
  ]
}
GETLiệt kê các nhóm thông minh/v1/automation/groups

Duyệt qua các nhóm thiết bị tự động hóa và định nghĩa của chúng.

GET /v1/automation/groups ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationFactValueType

0 = String
1 = Boolean
2 = Integer
3 = Number
4 = Timestamp
5 = Duration
6 = Guid
7 = Collection
8 = Object

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/groups' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Browse automation device groups and their definitions.",
  "operationId": "get_v1_automation_groups",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiGroupsWorkspace"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List smart groups",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
POSTTạo nhóm thông minh/v1/automation/groups

Tạo nhóm tự động hóa bằng cách sử dụng các quy tắc lựa chọn được cung cấp.

POST /v1/automation/groups ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Lược đồ (OpenAPI)

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "condition": {
      "kind": 0
    },
    "name": "<value>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/groups' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Create an automation group using the supplied selection rules.",
  "operationId": "post_v1_automation_groups",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationGroupDefinition"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a smart group",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute"
  ]
}
POSTXóa nhóm thông minh/v1/automation/groups/delete

Xóa nhóm tự động hóa đã chọn.

POST /v1/automation/groups/delete ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "expectedVersionId": "<UUID>",
    "id": "<UUID>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/groups/delete' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Remove the selected automation group.",
  "operationId": "post_v1_automation_groups_delete",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationVersionIdentity"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Delete a smart group",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute"
  ]
}
POSTXem trước tư cách thành viên nhóm thông minh/v1/automation/groups/preview

Đánh giá các quy tắc nhóm được đề xuất để xem thiết bị nào được phép phù hợp trước khi lưu.

POST /v1/automation/groups/preview ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "companyId": "<UUID>",
  "condition": {
    "kind": 0
  },
  "name": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/groups/preview' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Evaluate proposed group rules to see which permitted devices would match before saving.",
  "operationId": "post_v1_automation_groups_preview",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationGroupDefinition"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AutomationSimpleScopePreview"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Preview smart-group membership",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
GETTạo một nhóm thông minh/v1/automation/groups/{id}

Đọc định nghĩa và thông tin thành viên của một nhóm tự động hóa.

GET /v1/automation/groups/{id} ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/groups/<id>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read one automation group's definition and membership information.",
  "operationId": "get_v1_automation_groups_id",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AutomationGroupDraft"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get a smart group",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
PUTCập nhật nhóm thông minh/v1/automation/groups/{id}

Thay đổi định nghĩa của nhóm tự động hóa hiện có.

PUT /v1/automation/groups/{id} ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Lược đồ (OpenAPI)

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "condition": {
      "kind": 0
    },
    "name": "<value>"
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/automation/groups/<id>' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Change an existing automation group's definition.",
  "operationId": "put_v1_automation_groups_id",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationGroupDefinition"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Update a smart group",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute"
  ]
}
POSTCài đặt gói màn hình/v1/automation/monitor-packs/install

Yêu cầu FullAccess và quyền chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác.

POST /v1/automation/monitor-packs/install ↗

mcp.cap.AutomationManage

Lược đồ (OpenAPI)

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "key": "<value>",
    "scope": {
      "kind": 0
    }
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/monitor-packs/install' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.",
  "operationId": "post_v1_automation_monitor_packs_install",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationMonitorPack"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Install monitor pack",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage"
  ]
}
POSTGói màn hình danh sách/v1/automation/monitor-packs/query

Đọc bằng chứng hiện tại trong phạm vi. Bằng chứng bị thiếu là không rõ. Không có hành động cuối cùng hay tấn công AI nào được khởi động.

POST /v1/automation/monitor-packs/query ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

AutomationTemplateReadiness

0 = ReadyNow
1 = CollectorRequired
2 = IntegrationRequired
3 = Future

AutomationNotificationSeverity

0 = Information
1 = Warning
2 = Critical
3 = Recovery

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "kind": 0
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/monitor-packs/query' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.",
  "operationId": "post_v1_automation_monitor_packs_query",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/AutomationHierarchyScope"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/AutomationBaselinePackView"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List monitor packs",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
GETMàn hình danh sách/v1/automation/monitors

Duyệt qua các định nghĩa giám sát đã được cấu hình.

GET /v1/automation/monitors ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

AutomationMonitorLifecycleState

0 = Enabled
1 = Paused
2 = Archived

Thông số

offset · Truy vấn · tùy chọn
Số mục cần bỏ qua, bắt đầu từ 0. Tiếp tục sử dụng phần bù được điểm cuối trả về khi có sẵn.
take · Truy vấn · tùy chọn
Số mục tối đa được yêu cầu cho trang này. Máy chủ kẹp giá trị này vào giới hạn điểm cuối.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/monitors' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Browse configured monitoring definitions.",
  "operationId": "get_v1_automation_monitors",
  "parameters": [
    {
      "description": "Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.",
      "in": "query",
      "name": "offset",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Maximum number of items requested for this page. The server clamps this value to the endpoint limit.",
      "in": "query",
      "name": "take",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiOffsetPageOfApiMonitorItem"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List monitors",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
POSTTạo màn hình/v1/automation/monitors

Tạo định nghĩa giám sát bằng cách sử dụng các cài đặt và kiểm tra được cung cấp.

POST /v1/automation/monitors ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Lược đồ (OpenAPI)

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

AutomationNotificationAudience

0 = None
1 = Owners
2 = Technicians
4 = Clients

AutomationNotificationChannel

0 = None
1 = InApp
2 = Email

AutomationSimpleActionKind

0 = Script
1 = Notification
2 = RefreshFacts
3 = ControlService
4 = RestartDevice
5 = WindowsDiskCleanup
6 = LinuxMaintenance
7 = WakeDevice
8 = SendUserMessage
9 = UninstallSoftware

LinuxMaintenanceAction

0 = RefreshPackageInventory
1 = InstallPackageUpdates
2 = RefreshFirmwareMetadata
3 = InstallFirmwareUpdates
4 = InstallAllUpdates

AutomationOutcomeMatch

0 = Failure
1 = Success
2 = Always
3 = ResultMatches

AutomationNotificationSeverity

0 = Information
1 = Warning
2 = Critical
3 = Recovery

AutomationScriptPlatform

0 = WindowsPowerShell51
1 = LinuxBash
2 = MacOsZsh
3 = WindowsCmd
4 = WindowsPowerShell7
5 = LinuxPowerShell7
6 = MacOsPowerShell7
7 = WindowsPython3
8 = LinuxPython3
9 = MacOsPython3

ServiceAction

0 = Start
1 = Stop
2 = Restart

SoftwareKind

0 = ClassicDesktop
1 = PackagedApp

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "condition": {
      "kind": 0
    },
    "description": "<value>",
    "name": "<value>",
    "scope": {
      "kind": 0
    }
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/monitors' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Create a monitoring definition using the supplied checks and settings.",
  "operationId": "post_v1_automation_monitors",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfAutomationSimpleMonitorInput"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a monitor",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute"
  ]
}
POSTXem trước tình trạng màn hình/v1/automation/monitors/preview

Đọc bằng chứng hiện tại trong phạm vi. Bằng chứng bị thiếu là không rõ. Không có hành động cuối cùng hay tấn công AI nào được khởi động.

POST /v1/automation/monitors/preview ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

AutomationScriptPlatform

0 = WindowsPowerShell51
1 = LinuxBash
2 = MacOsZsh
3 = WindowsCmd
4 = WindowsPowerShell7
5 = LinuxPowerShell7
6 = MacOsPowerShell7
7 = WindowsPython3
8 = LinuxPython3
9 = MacOsPython3

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

AutomationTruthValue

0 = False
1 = True
2 = Unknown

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "condition": {
    "kind": 0
  },
  "scope": {
    "kind": 0
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/monitors/preview' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.",
  "operationId": "post_v1_automation_monitors_preview",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMonitorPreview"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/MonitorConditionPreview"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Preview monitor condition",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
GETNhận màn hình/v1/automation/monitors/{id}

Đọc kiểm tra và cấu hình của một màn hình.

GET /v1/automation/monitors/{id} ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

AutomationNotificationAudience

0 = None
1 = Owners
2 = Technicians
4 = Clients

AutomationNotificationChannel

0 = None
1 = InApp
2 = Email

AutomationSimpleActionKind

0 = Script
1 = Notification
2 = RefreshFacts
3 = ControlService
4 = RestartDevice
5 = WindowsDiskCleanup
6 = LinuxMaintenance
7 = WakeDevice
8 = SendUserMessage
9 = UninstallSoftware

LinuxMaintenanceAction

0 = RefreshPackageInventory
1 = InstallPackageUpdates
2 = RefreshFirmwareMetadata
3 = InstallFirmwareUpdates
4 = InstallAllUpdates

AutomationOutcomeMatch

0 = Failure
1 = Success
2 = Always
3 = ResultMatches

AutomationNotificationSeverity

0 = Information
1 = Warning
2 = Critical
3 = Recovery

AutomationScriptPlatform

0 = WindowsPowerShell51
1 = LinuxBash
2 = MacOsZsh
3 = WindowsCmd
4 = WindowsPowerShell7
5 = LinuxPowerShell7
6 = MacOsPowerShell7
7 = WindowsPython3
8 = LinuxPython3
9 = MacOsPython3

ServiceAction

0 = Start
1 = Stop
2 = Restart

SoftwareKind

0 = ClassicDesktop
1 = PackagedApp

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/monitors/<id>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read one monitor's checks and configuration.",
  "operationId": "get_v1_automation_monitors_id",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AutomationSimpleMonitorDraft"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get a monitor",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
PUTCập nhật màn hình/v1/automation/monitors/{id}

Lưu các thay đổi vào định nghĩa giám sát hiện có.

PUT /v1/automation/monitors/{id} ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Lược đồ (OpenAPI)

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

AutomationNotificationAudience

0 = None
1 = Owners
2 = Technicians
4 = Clients

AutomationNotificationChannel

0 = None
1 = InApp
2 = Email

AutomationSimpleActionKind

0 = Script
1 = Notification
2 = RefreshFacts
3 = ControlService
4 = RestartDevice
5 = WindowsDiskCleanup
6 = LinuxMaintenance
7 = WakeDevice
8 = SendUserMessage
9 = UninstallSoftware

LinuxMaintenanceAction

0 = RefreshPackageInventory
1 = InstallPackageUpdates
2 = RefreshFirmwareMetadata
3 = InstallFirmwareUpdates
4 = InstallAllUpdates

AutomationOutcomeMatch

0 = Failure
1 = Success
2 = Always
3 = ResultMatches

AutomationNotificationSeverity

0 = Information
1 = Warning
2 = Critical
3 = Recovery

AutomationScriptPlatform

0 = WindowsPowerShell51
1 = LinuxBash
2 = MacOsZsh
3 = WindowsCmd
4 = WindowsPowerShell7
5 = LinuxPowerShell7
6 = MacOsPowerShell7
7 = WindowsPython3
8 = LinuxPython3
9 = MacOsPython3

ServiceAction

0 = Start
1 = Stop
2 = Restart

SoftwareKind

0 = ClassicDesktop
1 = PackagedApp

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "condition": {
      "kind": 0
    },
    "description": "<value>",
    "name": "<value>",
    "scope": {
      "kind": 0
    }
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/automation/monitors/<id>' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Save changes to an existing monitoring definition.",
  "operationId": "put_v1_automation_monitors_id",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfAutomationSimpleMonitorInput"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Update a monitor",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute"
  ]
}
POSTThay đổi trạng thái giám sát/v1/automation/monitors/{id}/state

Bật hoặc tắt màn hình đã chọn.

POST /v1/automation/monitors/{id}/state ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Lược đồ (OpenAPI)

AutomationMonitorLifecycleState

0 = Enabled
1 = Paused
2 = Archived

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": 0
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/monitors/<id>/state' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Enable or disable the selected monitor.",
  "operationId": "post_v1_automation_monitors_id_state",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfAutomationMonitorLifecycleState"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Change monitor state",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute"
  ]
}
GETNhận trạng thái vận hành tự động hóa/v1/automation/operations/{operationId}

Đọc biên nhận và trạng thái của hoạt động quản lý tự động hóa.

GET /v1/automation/operations/{operationId} ↗

mcp.cap.AutomationRead

Thông số

operationId · Đường dẫn · Cần có
Mã nhận dạng biên nhận hoạt động cấp cao nhất. Thăm dò biên lai này để kiểm tra tiến độ và kết quả.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/operations/<operationId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read the receipt and status of an automation management operation.",
  "operationId": "get_v1_automation_operations_operationId",
  "parameters": [
    {
      "description": "Top-level operation receipt identifier. Poll this receipt to inspect progress and the result.",
      "in": "path",
      "name": "operationId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get automation operation status",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
GETNhận kết quả tự động hóa/v1/automation/outcomes

Đọc kết quả tự động hóa được ghi lại trên mỗi thiết bị. Chỉ riêng trạng thái thực thi không chứng minh được tình trạng của thiết bị.

GET /v1/automation/outcomes ↗

mcp.cap.AutomationRead

Thông số

companyId · Truy vấn · tùy chọn
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.
deviceId · Truy vấn · tùy chọn
Mã định danh thiết bị được trả về bởi danh sách thiết bị tương ứng. Các tác nhân được quản lý và các thiết bị mạng được phát hiện có số nhận dạng khác nhau.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
after · Truy vấn · tùy chọn
Vị trí tiếp theo từ phản hồi trước đó. Bỏ qua trang đầu tiên; giữ nguyên các bộ lọc khi tiếp tục.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/outcomes' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read recorded per-device automation outcomes. Execution status alone does not prove device health.",
  "operationId": "get_v1_automation_outcomes",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "query",
      "name": "companyId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.",
      "in": "query",
      "name": "deviceId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.",
      "in": "query",
      "name": "after",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PageOfOutcomeResponse"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get automation outcomes",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
GETDanh sách các gói phần mềm/v1/automation/packages

Duyệt các gói có sẵn cho quy trình làm việc tự động hóa.

GET /v1/automation/packages ↗

mcp.cap.AutomationRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/packages' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Browse packages available to automation workflows.",
  "operationId": "get_v1_automation_packages",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/AutomationPackageEntry"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List software packages",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
PUTLưu gói phần mềm/v1/automation/packages

Tạo hoặc cập nhật định nghĩa gói trong danh mục tự động hóa.

PUT /v1/automation/packages ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "expectedVersionId": "<UUID>",
    "manifest": {
      "downloadUrl": "<value>",
      "productName": "<value>",
      "sha256": "<value>",
      "version": "<value>"
    },
    "name": "<value>",
    "scriptId": "<UUID>"
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/automation/packages' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Create or update a package definition in the automation catalogue.",
  "operationId": "put_v1_automation_packages",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfAutomationPackageSave"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Save a software package",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute"
  ]
}
POSTThu hồi gói phần mềm/v1/automation/packages/revoke

Thu hồi gói đã chọn khỏi mục đích sử dụng được cấp phép tiếp theo.

POST /v1/automation/packages/revoke ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "expectedVersionId": "<UUID>",
    "id": "<UUID>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/packages/revoke' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Revoke the selected package from further authorised use.",
  "operationId": "post_v1_automation_packages_revoke",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationVersionIdentity"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Revoke a software package",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute"
  ]
}
GETĐọc phê duyệt bản vá/v1/automation/patch-approvals

Xem lại thông tin phê duyệt bản vá trước khi đưa ra quyết định phê duyệt.

GET /v1/automation/patch-approvals ↗

mcp.cap.PatchingRead

Lược đồ (OpenAPI)

AutomationPatchApprovalState

0 = Unapproved
1 = Approved
2 = Denied

Thông số

offset · Truy vấn · tùy chọn
Số mục cần bỏ qua, bắt đầu từ 0. Tiếp tục sử dụng phần bù được điểm cuối trả về khi có sẵn.
pageSize · Truy vấn · tùy chọn
Số lượng mục tối đa được yêu cầu cho trang này. Giới hạn dành riêng cho điểm cuối có thể làm giảm kích thước trang.
state · Truy vấn · tùy chọn
Lọc theo trạng thái tài nguyên. Các trạng thái và mặc định được phép tùy thuộc vào điểm cuối.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/patch-approvals' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Review patch approval information before making approval decisions.",
  "operationId": "get_v1_automation_patch_approvals",
  "parameters": [
    {
      "description": "Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.",
      "in": "query",
      "name": "offset",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.",
      "in": "query",
      "name": "pageSize",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Filter by the resource state. Allowed states and defaults depend on the endpoint.",
      "in": "query",
      "name": "state",
      "schema": {
        "$ref": "#/components/schemas/AutomationPatchApprovalState"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/IntegrationPatchApprovalPage"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read patch approvals",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingRead"
  ]
}
POSTQuyết định phê duyệt bản vá/v1/automation/patch-approvals/decisions

Ghi lại các quyết định phê duyệt cho các bản vá đã chọn. Phê duyệt không phải là bằng chứng của việc cài đặt.

POST /v1/automation/patch-approvals/decisions ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Lược đồ (OpenAPI)

AutomationPatchApprovalState

0 = Unapproved
1 = Approved
2 = Denied

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "patches": [
      {
        "revisionNumber": 1,
        "updateId": "<value>"
      }
    ],
    "state": 0
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/patch-approvals/decisions' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Record approval decisions for the selected patches. Approval is not proof of installation.",
  "operationId": "post_v1_automation_patch_approvals_decisions",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationPatchDecision"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Decide patch approvals",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingManage",
    "mcp.cap.PatchingExecute"
  ]
}
POSTKiểm tra bản vá tồn đọng/v1/automation/patch-backlog:query

Truy vấn bản vá tồn đọng được lưu trữ cho phạm vi được yêu cầu. Điều này không cài đặt bản cập nhật.

POST /v1/automation/patch-backlog:query ↗

mcp.cap.PatchingRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "company": "<value>",
  "companyId": "<UUID>",
  "device": "<value>",
  "deviceId": "<UUID>",
  "limit": 50,
  "machineOffset": 0,
  "offset": 0,
  "onlyUnapproved": true,
  "revisionNumber": 1,
  "search": "<value>",
  "site": "<value>",
  "siteId": "<UUID>",
  "updateId": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/patch-backlog:query' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Query stored patch backlog for the requested scope. This does not install updates.",
  "operationId": "post_v1_automation_patch_backlog_query",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/PatchBacklogRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PatchBacklogPage"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Inspect patch backlog",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingRead"
  ]
}
GETDanh sách chính sách vá lỗi/v1/automation/patch-policies

Đọc các chính sách đã định cấu hình kiểm soát việc vá lỗi thiết bị.

GET /v1/automation/patch-policies ↗

mcp.cap.PatchingRead

Lược đồ (OpenAPI)

PatchPolicyCriterionField

0 = All
1 = Category
2 = Description
3 = MaximumSizeBytes
4 = KbArticle
5 = Severity
6 = RebootBehavior
7 = ReleaseAgeDays
8 = RequestsUserInput
9 = Title
10 = UpdateType
11 = Optional
12 = InstalledDotNetMajor

PatchPolicyCriterionOperator

0 = Equals
1 = Contains
2 = LessThanOrEqual
3 = GreaterThanOrEqual
4 = NotEquals
5 = NotContains
6 = StartsWith
7 = EndsWith
8 = LessThan
9 = GreaterThan

PatchRestartMode

0 = DoNotRestart
1 = RestartIfRequired
2 = RestartIfRequiredWithNotice
3 = ShutdownAfterPatching

PatchPolicyDecision

0 = Unapproved
1 = Approved
2 = Denied

PatchPolicyMode

0 = AuditOnly
1 = InstallApproved

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationScheduleKind

0 = Once
1 = Interval
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = Cron

WindowsAutomaticUpdateMode

0 = NotConfigured
1 = NotifyBeforeDownload
2 = AutoDownloadNotifyInstall
3 = ScheduledInstall
4 = Disabled

WindowsUpdateSetting

0 = AutomaticUpdates
1 = Drivers
2 = MicrosoftUpdate
3 = UpdateServer
4 = FeatureDeferral
5 = QualityDeferral
6 = ActiveHours
7 = RestartPolicy
8 = DeliveryOptimization
9 = FastStartup
10 = FeatureRelease

WindowsUpdateConfigurationMode

0 = AuditOnly
1 = Enforce

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationSimpleTriggerKind

0 = Once
1 = EveryMinutes
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = DeviceOnline
7 = DeviceOffline
8 = DeviceBooted
9 = FactsChanged
10 = UserLogon
11 = UserLogoff
12 = SessionLocked
13 = SessionUnlocked
14 = RdpConnected
15 = RdpDisconnected
16 = MachineShuttingDown
17 = MachinePoweredOn
18 = AgentServiceStarted
19 = AgentServiceStopped
20 = MachineSuspending
21 = MachineResumed
22 = Cron

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

AutomationState

0 = Draft
1 = Enabled
2 = Paused
3 = Archived

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/patch-policies' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read configured policies controlling device patching.",
  "operationId": "get_v1_automation_patch_policies",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/WindowsPatchPolicyListItem"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List patch policies",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingRead"
  ]
}
POSTTạo chính sách vá lỗi/v1/automation/patch-policies

Tạo chính sách xác định cách vá các thiết bị đủ điều kiện.

POST /v1/automation/patch-policies ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Lược đồ (OpenAPI)

PatchPolicyCriterionField

0 = All
1 = Category
2 = Description
3 = MaximumSizeBytes
4 = KbArticle
5 = Severity
6 = RebootBehavior
7 = ReleaseAgeDays
8 = RequestsUserInput
9 = Title
10 = UpdateType
11 = Optional
12 = InstalledDotNetMajor

PatchPolicyCriterionOperator

0 = Equals
1 = Contains
2 = LessThanOrEqual
3 = GreaterThanOrEqual
4 = NotEquals
5 = NotContains
6 = StartsWith
7 = EndsWith
8 = LessThan
9 = GreaterThan

PatchRestartMode

0 = DoNotRestart
1 = RestartIfRequired
2 = RestartIfRequiredWithNotice
3 = ShutdownAfterPatching

PatchPolicyDecision

0 = Unapproved
1 = Approved
2 = Denied

PatchPolicyMode

0 = AuditOnly
1 = InstallApproved

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationScheduleKind

0 = Once
1 = Interval
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = Cron

WindowsAutomaticUpdateMode

0 = NotConfigured
1 = NotifyBeforeDownload
2 = AutoDownloadNotifyInstall
3 = ScheduledInstall
4 = Disabled

WindowsUpdateSetting

0 = AutomaticUpdates
1 = Drivers
2 = MicrosoftUpdate
3 = UpdateServer
4 = FeatureDeferral
5 = QualityDeferral
6 = ActiveHours
7 = RestartPolicy
8 = DeliveryOptimization
9 = FastStartup
10 = FeatureRelease

WindowsUpdateConfigurationMode

0 = AuditOnly
1 = Enforce

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationSimpleTriggerKind

0 = Once
1 = EveryMinutes
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = DeviceOnline
7 = DeviceOffline
8 = DeviceBooted
9 = FactsChanged
10 = UserLogon
11 = UserLogoff
12 = SessionLocked
13 = SessionUnlocked
14 = RdpConnected
15 = RdpDisconnected
16 = MachineShuttingDown
17 = MachinePoweredOn
18 = AgentServiceStarted
19 = AgentServiceStopped
20 = MachineSuspending
21 = MachineResumed
22 = Cron

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "description": "<value>",
    "name": "<value>",
    "policy": {
      "approveFilters": [
        {
          "criteria": [
            "<see schema>"
          ]
        }
      ],
      "denyFilters": [
        {
          "criteria": [
            "<see schema>"
          ]
        }
      ],
      "manualDecisions": [
        {
          "decision": 0,
          "identity": {
            "revisionNumber": "<see schema>",
            "updateId": "<see schema>"
          }
        }
      ],
      "mode": 0
    },
    "schedule": {
      "kind": 0
    },
    "scope": {
      "kind": 0
    }
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/patch-policies' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Create a policy defining how eligible devices should be patched.",
  "operationId": "post_v1_automation_patch_policies",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfWindowsPatchPolicyInput"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a patch policy",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingManage",
    "mcp.cap.PatchingExecute"
  ]
}
POSTXem trước chính sách bản vá/v1/automation/patch-policies/preview

Đọc bằng chứng hiện tại trong phạm vi. Bằng chứng bị thiếu là không rõ. Không có hành động cuối cùng hay tấn công AI nào được khởi động.

POST /v1/automation/patch-policies/preview ↗

mcp.cap.PatchingRead

Lược đồ (OpenAPI)

PatchPolicyCriterionField

0 = All
1 = Category
2 = Description
3 = MaximumSizeBytes
4 = KbArticle
5 = Severity
6 = RebootBehavior
7 = ReleaseAgeDays
8 = RequestsUserInput
9 = Title
10 = UpdateType
11 = Optional
12 = InstalledDotNetMajor

PatchPolicyCriterionOperator

0 = Equals
1 = Contains
2 = LessThanOrEqual
3 = GreaterThanOrEqual
4 = NotEquals
5 = NotContains
6 = StartsWith
7 = EndsWith
8 = LessThan
9 = GreaterThan

PatchRestartMode

0 = DoNotRestart
1 = RestartIfRequired
2 = RestartIfRequiredWithNotice
3 = ShutdownAfterPatching

PatchPolicyDecision

0 = Unapproved
1 = Approved
2 = Denied

PatchPolicyMode

0 = AuditOnly
1 = InstallApproved

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationScheduleKind

0 = Once
1 = Interval
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = Cron

WindowsAutomaticUpdateMode

0 = NotConfigured
1 = NotifyBeforeDownload
2 = AutoDownloadNotifyInstall
3 = ScheduledInstall
4 = Disabled

WindowsUpdateSetting

0 = AutomaticUpdates
1 = Drivers
2 = MicrosoftUpdate
3 = UpdateServer
4 = FeatureDeferral
5 = QualityDeferral
6 = ActiveHours
7 = RestartPolicy
8 = DeliveryOptimization
9 = FastStartup
10 = FeatureRelease

WindowsUpdateConfigurationMode

0 = AuditOnly
1 = Enforce

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationSimpleTriggerKind

0 = Once
1 = EveryMinutes
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = DeviceOnline
7 = DeviceOffline
8 = DeviceBooted
9 = FactsChanged
10 = UserLogon
11 = UserLogoff
12 = SessionLocked
13 = SessionUnlocked
14 = RdpConnected
15 = RdpDisconnected
16 = MachineShuttingDown
17 = MachinePoweredOn
18 = AgentServiceStarted
19 = AgentServiceStopped
20 = MachineSuspending
21 = MachineResumed
22 = Cron

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "description": "<value>",
  "name": "<value>",
  "policy": {
    "approveFilters": [
      {
        "criteria": [
          {
            "field": 0
          }
        ]
      }
    ],
    "denyFilters": [
      {
        "criteria": [
          {
            "field": 0
          }
        ]
      }
    ],
    "manualDecisions": [
      {
        "decision": 0,
        "identity": {
          "revisionNumber": 1,
          "updateId": "<value>"
        }
      }
    ],
    "mode": 0
  },
  "schedule": {
    "kind": 0
  },
  "scope": {
    "kind": 0
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/patch-policies/preview' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.",
  "operationId": "post_v1_automation_patch_policies_preview",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WindowsPatchPolicyInput"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AutomationSimpleScopePreview"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Preview patch policy",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingRead"
  ]
}
PUTCập nhật chính sách vá lỗi/v1/automation/patch-policies/{id}

Thay đổi cài đặt của chính sách vá lỗi hiện có.

PUT /v1/automation/patch-policies/{id} ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Lược đồ (OpenAPI)

PatchPolicyCriterionField

0 = All
1 = Category
2 = Description
3 = MaximumSizeBytes
4 = KbArticle
5 = Severity
6 = RebootBehavior
7 = ReleaseAgeDays
8 = RequestsUserInput
9 = Title
10 = UpdateType
11 = Optional
12 = InstalledDotNetMajor

PatchPolicyCriterionOperator

0 = Equals
1 = Contains
2 = LessThanOrEqual
3 = GreaterThanOrEqual
4 = NotEquals
5 = NotContains
6 = StartsWith
7 = EndsWith
8 = LessThan
9 = GreaterThan

PatchRestartMode

0 = DoNotRestart
1 = RestartIfRequired
2 = RestartIfRequiredWithNotice
3 = ShutdownAfterPatching

PatchPolicyDecision

0 = Unapproved
1 = Approved
2 = Denied

PatchPolicyMode

0 = AuditOnly
1 = InstallApproved

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationScheduleKind

0 = Once
1 = Interval
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = Cron

WindowsAutomaticUpdateMode

0 = NotConfigured
1 = NotifyBeforeDownload
2 = AutoDownloadNotifyInstall
3 = ScheduledInstall
4 = Disabled

WindowsUpdateSetting

0 = AutomaticUpdates
1 = Drivers
2 = MicrosoftUpdate
3 = UpdateServer
4 = FeatureDeferral
5 = QualityDeferral
6 = ActiveHours
7 = RestartPolicy
8 = DeliveryOptimization
9 = FastStartup
10 = FeatureRelease

WindowsUpdateConfigurationMode

0 = AuditOnly
1 = Enforce

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationSimpleTriggerKind

0 = Once
1 = EveryMinutes
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = DeviceOnline
7 = DeviceOffline
8 = DeviceBooted
9 = FactsChanged
10 = UserLogon
11 = UserLogoff
12 = SessionLocked
13 = SessionUnlocked
14 = RdpConnected
15 = RdpDisconnected
16 = MachineShuttingDown
17 = MachinePoweredOn
18 = AgentServiceStarted
19 = AgentServiceStopped
20 = MachineSuspending
21 = MachineResumed
22 = Cron

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "description": "<value>",
    "name": "<value>",
    "policy": {
      "approveFilters": [
        {
          "criteria": [
            "<see schema>"
          ]
        }
      ],
      "denyFilters": [
        {
          "criteria": [
            "<see schema>"
          ]
        }
      ],
      "manualDecisions": [
        {
          "decision": 0,
          "identity": {
            "revisionNumber": "<see schema>",
            "updateId": "<see schema>"
          }
        }
      ],
      "mode": 0
    },
    "schedule": {
      "kind": 0
    },
    "scope": {
      "kind": 0
    }
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/automation/patch-policies/<id>' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Change an existing patch policy's settings.",
  "operationId": "put_v1_automation_patch_policies_id",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfWindowsPatchPolicyInput"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Update a patch policy",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingManage",
    "mcp.cap.PatchingExecute"
  ]
}
GETDanh sách lịch trình báo cáo/v1/automation/report-schedules

Đọc lịch trình đã định cấu hình cho các báo cáo tự động hóa.

GET /v1/automation/report-schedules ↗

mcp.cap.ReportsRead

Lược đồ (OpenAPI)

AutomationNotificationAudience

0 = None
1 = Owners
2 = Technicians
4 = Clients

AutomationNotificationChannel

0 = None
1 = InApp
2 = Email

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationScheduleKind

0 = Once
1 = Interval
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = Cron

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/report-schedules' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read configured schedules for automation reports.",
  "operationId": "get_v1_automation_report_schedules",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/AutomationReportScheduleView"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List report schedules",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.ReportsRead"
  ]
}
PUTLưu lịch báo cáo/v1/automation/report-schedules

Tạo hoặc cập nhật thời điểm tạo báo cáo tự động hóa.

PUT /v1/automation/report-schedules ↗

mcp.cap.ReportsManage

Lược đồ (OpenAPI)

AutomationNotificationAudience

0 = None
1 = Owners
2 = Technicians
4 = Clients

AutomationNotificationChannel

0 = None
1 = InApp
2 = Email

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationScheduleKind

0 = Once
1 = Interval
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = Cron

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "audience": 1,
    "capabilityId": "<value>",
    "channels": 1,
    "companyId": "<UUID>",
    "enabled": false,
    "id": "<UUID>",
    "name": "<value>",
    "periodDays": 1,
    "schedule": {
      "kind": 0,
      "timeZoneId": "<value>"
    }
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/automation/report-schedules' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Create or update when an automation report should be produced.",
  "operationId": "put_v1_automation_report_schedules",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfAutomationReportScheduleInput"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Save a report schedule",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.ReportsManage"
  ]
}
POSTXóa lịch báo cáo/v1/automation/report-schedules/{id}/delete

Xóa lịch báo cáo đã chọn.

POST /v1/automation/report-schedules/{id}/delete ↗

mcp.cap.ReportsManage

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/report-schedules/<id>/delete' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Remove the selected report schedule.",
  "operationId": "post_v1_automation_report_schedules_id_delete",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationKey"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Delete a report schedule",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.ReportsManage"
  ]
}
GETĐọc báo cáo tự động hóa/v1/automation/reports

Đọc dữ liệu báo cáo tự động hóa bằng các bộ lọc được cung cấp.

GET /v1/automation/reports ↗

mcp.cap.ReportsRead

Thông số

companyId · Truy vấn · tùy chọn
Mã định danh công ty. Tham số truy vấn thu hẹp kết quả cho công ty này; nó không bao giờ mở rộng phạm vi thông tin xác thực.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/reports' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read automation reporting data using the supplied filters.",
  "operationId": "get_v1_automation_reports",
  "parameters": [
    {
      "description": "Company identifier. A query parameter narrows the results to this company; it never expands credential scope.",
      "in": "query",
      "name": "companyId",
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AutomationRmmReportView"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Read automation reports",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.ReportsRead"
  ]
}
GETDanh sách quy trình công việc chạy/v1/automation/runs

Duyệt các lần chạy quy trình công việc đã ghi và trạng thái thực thi của chúng.

GET /v1/automation/runs ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

AutomationRunState

0 = Materializing
1 = Queued
2 = Running
3 = Succeeded
4 = PartiallySucceeded
5 = Failed
6 = Skipped
7 = Cancelled
8 = Indeterminate

Thông số

offset · Truy vấn · tùy chọn
Số mục cần bỏ qua, bắt đầu từ 0. Tiếp tục sử dụng phần bù được điểm cuối trả về khi có sẵn.
take · Truy vấn · tùy chọn
Số mục tối đa được yêu cầu cho trang này. Máy chủ kẹp giá trị này vào giới hạn điểm cuối.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/runs' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Browse recorded workflow runs and their execution states.",
  "operationId": "get_v1_automation_runs",
  "parameters": [
    {
      "description": "Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.",
      "in": "query",
      "name": "offset",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Maximum number of items requested for this page. The server clamps this value to the endpoint limit.",
      "in": "query",
      "name": "take",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiOffsetPageOfApiRunItem"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List workflow runs",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
GETChạy quy trình công việc/v1/automation/runs/{runId}

Đọc tiến trình và kết quả mục tiêu của một lần chạy.

GET /v1/automation/runs/{runId} ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

AutomationRunState

0 = Materializing
1 = Queued
2 = Running
3 = Succeeded
4 = PartiallySucceeded
5 = Failed
6 = Skipped
7 = Cancelled
8 = Indeterminate

AutomationTargetState

0 = Queued
1 = WaitingForDevice
2 = Running
3 = Succeeded
4 = Failed
5 = Skipped
6 = CancelRequested
7 = Cancelled
8 = Indeterminate

AutomationAttemptState

0 = Pending
1 = Dispatching
2 = Accepted
3 = Running
4 = Succeeded
5 = Failed
6 = TimedOut
7 = Cancelled
8 = Interrupted
9 = Indeterminate
10 = Rejected

AutomationWorkflowNodeType

0 = Script
1 = Condition
2 = Delay
3 = Stop
4 = Notification
5 = DeviceAction

AutomationPayloadKind

0 = FactContext
1 = ExecutionRequest
2 = StandardOutput
3 = StandardError
4 = StructuredOutput

AutomationStepState

0 = Pending
1 = Waiting
2 = Dispatching
3 = Running
4 = Succeeded
5 = Failed
6 = Skipped
7 = TimedOut
8 = CancelRequested
9 = Cancelled
10 = Indeterminate

Thông số

runId · Đường dẫn · Cần có
Mã định danh chạy tên miền được kết quả hoạt động trả về chứ không phải mã định danh biên nhận hoạt động.
offset · Truy vấn · tùy chọn
Số mục cần bỏ qua, bắt đầu từ 0. Tiếp tục sử dụng phần bù được điểm cuối trả về khi có sẵn.
take · Truy vấn · tùy chọn
Số mục tối đa được yêu cầu cho trang này. Máy chủ kẹp giá trị này vào giới hạn điểm cuối.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/runs/<runId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read one run's progress and target results.",
  "operationId": "get_v1_automation_runs_runId",
  "parameters": [
    {
      "description": "Domain run identifier returned by the operation result, not the operation receipt identifier.",
      "in": "path",
      "name": "runId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    },
    {
      "description": "Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.",
      "in": "query",
      "name": "offset",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Maximum number of items requested for this page. The server clamps this value to the endpoint limit.",
      "in": "query",
      "name": "take",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AutomationRunDetail"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get a workflow run",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
POSTHủy chạy quy trình công việc/v1/automation/runs/{runId}/cancel

Yêu cầu hủy chạy quy trình công việc. Các hành động đã hoàn thành không bị đảo ngược.

POST /v1/automation/runs/{runId}/cancel ↗

mcp.cap.AutomationStop

Thông số

runId · Đường dẫn · Cần có
Mã định danh chạy tên miền được kết quả hoạt động trả về chứ không phải mã định danh biên nhận hoạt động.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/runs/<runId>/cancel' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Request cancellation of a workflow run. Completed actions are not reversed.",
  "operationId": "post_v1_automation_runs_runId_cancel",
  "parameters": [
    {
      "description": "Domain run identifier returned by the operation result, not the operation receipt identifier.",
      "in": "path",
      "name": "runId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationKey"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Cancel a workflow run",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationStop"
  ]
}
GETDanh sách tập lệnh/v1/automation/scripts

Duyệt qua các định nghĩa tập lệnh tự động hóa có sẵn cho thông tin xác thực của bạn.

GET /v1/automation/scripts ↗

mcp.cap.AutomationRead

Thông số

offset · Truy vấn · tùy chọn
Số mục cần bỏ qua, bắt đầu từ 0. Tiếp tục sử dụng phần bù được điểm cuối trả về khi có sẵn.
take · Truy vấn · tùy chọn
Số mục tối đa được yêu cầu cho trang này. Máy chủ kẹp giá trị này vào giới hạn điểm cuối.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/scripts' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Browse automation script definitions available to your credential.",
  "operationId": "get_v1_automation_scripts",
  "parameters": [
    {
      "description": "Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.",
      "in": "query",
      "name": "offset",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Maximum number of items requested for this page. The server clamps this value to the endpoint limit.",
      "in": "query",
      "name": "take",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiOffsetPageOfApiScriptItem"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List scripts",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
POSTTạo tập lệnh/v1/automation/scripts

Thêm định nghĩa tập lệnh vào thư viện tự động hóa. Lưu một tập lệnh không chạy nó.

POST /v1/automation/scripts ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "companyId": "<UUID>",
  "description": "<value>",
  "idempotencyKey": "<value>",
  "name": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/scripts' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Add a script definition to the automation library. Saving a script does not run it.",
  "operationId": "post_v1_automation_scripts",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationCreate"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a script",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute"
  ]
}
PUTCập nhật tập lệnh/v1/automation/scripts

Lưu các thay đổi vào định nghĩa tập lệnh. Điều này không thực thi tập lệnh.

PUT /v1/automation/scripts ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Lược đồ (OpenAPI)

AutomationScriptPlatform

0 = WindowsPowerShell51
1 = LinuxBash
2 = MacOsZsh
3 = WindowsCmd
4 = WindowsPowerShell7
5 = LinuxPowerShell7
6 = MacOsPowerShell7
7 = WindowsPython3
8 = LinuxPython3
9 = MacOsPython3

AutomationScriptSource

0 = Human
1 = ScriptAi
2 = Inline
3 = RmmAssistant

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "companyId": "<UUID>",
    "content": "<value>",
    "id": "<UUID>",
    "name": "<value>",
    "platform": 0,
    "timeoutSeconds": 1,
    "versionId": "<UUID>"
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/automation/scripts' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Save changes to a script definition. This does not execute the script.",
  "operationId": "put_v1_automation_scripts",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfAutomationActionDraft"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Update a script",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute"
  ]
}
POSTXóa tập lệnh/v1/automation/scripts/delete

Xóa định nghĩa tập lệnh đã chọn khỏi thư viện.

POST /v1/automation/scripts/delete ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "expectedVersionId": "<UUID>",
    "id": "<UUID>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/scripts/delete' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Remove the selected script definition from the library.",
  "operationId": "post_v1_automation_scripts_delete",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationVersionIdentity"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Delete a script",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute"
  ]
}
GETNhận tập lệnh/v1/automation/scripts/{id}

Đọc một định nghĩa tập lệnh, bao gồm nội dung được định cấu hình của nó.

GET /v1/automation/scripts/{id} ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

AutomationScriptPlatform

0 = WindowsPowerShell51
1 = LinuxBash
2 = MacOsZsh
3 = WindowsCmd
4 = WindowsPowerShell7
5 = LinuxPowerShell7
6 = MacOsPowerShell7
7 = WindowsPython3
8 = LinuxPython3
9 = MacOsPython3

AutomationScriptSource

0 = Human
1 = ScriptAi
2 = Inline
3 = RmmAssistant

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/scripts/<id>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read one script definition, including its configured content.",
  "operationId": "get_v1_automation_scripts_id",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AutomationActionDraft"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get a script",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
POSTTạo thẻ/v1/automation/tags

Yêu cầu FullAccess và quyền chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác.

POST /v1/automation/tags ↗

mcp.cap.AutomationManage

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "colour": "<value>",
    "companyId": "<UUID>",
    "name": "<value>"
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/tags' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.",
  "operationId": "post_v1_automation_tags",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationTag"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create tag",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage"
  ]
}
GETLiệt kê các phê duyệt bản vá của bên thứ ba/v1/automation/third-party/approvals

Đọc các phê duyệt và phân công chính sách hiện tại trong phạm vi thông tin xác thực.

GET /v1/automation/third-party/approvals ↗

mcp.cap.PatchingRead

Lược đồ (OpenAPI)

ThirdPartyPatchApprovalMode

0 = VersionOnly
1 = ProductFutureVersions

ThirdPartyPatchApprovalState

0 = Unapproved
1 = Approved
2 = Denied

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/third-party/approvals' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current approvals and policy assignments within credential scope.",
  "operationId": "get_v1_automation_third_party_approvals",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/ThirdPartyPatchApprovalListItem"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List third-party patch approvals",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingRead"
  ]
}
POSTThiết lập một phê duyệt bản vá của bên thứ ba/v1/automation/third-party/approvals

Thay đổi phê duyệt hoặc phân công chính sách. Kích hoạt một chính sách có thể cho phép cài đặt.

POST /v1/automation/third-party/approvals ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Lược đồ (OpenAPI)

ThirdPartyPatchApprovalMode

0 = VersionOnly
1 = ProductFutureVersions

AutomationPatchApprovalState

0 = Unapproved
1 = Approved
2 = Denied

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "approval": {
      "identity": {
        "packageId": "<value>",
        "provider": "<value>",
        "publisher": "<value>"
      },
      "mode": 0
    },
    "state": 0
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/third-party/approvals' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Change approvals or policy assignments. Enabling a policy can permit installation.",
  "operationId": "post_v1_automation_third_party_approvals",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfIntegrationThirdPartyApproval"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Set a third-party patch approval",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingManage",
    "mcp.cap.PatchingExecute"
  ]
}
GETLiệt kê các chính sách bản vá của bên thứ ba/v1/automation/third-party/policies

Đọc các phê duyệt và phân công chính sách hiện tại trong phạm vi thông tin xác thực.

GET /v1/automation/third-party/policies ↗

mcp.cap.PatchingRead

Lược đồ (OpenAPI)

ThirdPartyPatchApprovalMode

0 = VersionOnly
1 = ProductFutureVersions

PatchPolicyMode

0 = AuditOnly
1 = InstallApproved

ThirdPartyPatchRebootBehavior

0 = Defer
1 = Allow
2 = RequireApproval

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationScheduleKind

0 = Once
1 = Interval
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = Cron

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/third-party/policies' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current approvals and policy assignments within credential scope.",
  "operationId": "get_v1_automation_third_party_policies",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/ThirdPartyPatchPolicyAssignmentListItem"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List third-party patch policies",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingRead"
  ]
}
POSTTạo chính sách vá lỗi của bên thứ ba/v1/automation/third-party/policies

Thay đổi phê duyệt hoặc phân công chính sách. Kích hoạt một chính sách có thể cho phép cài đặt.

POST /v1/automation/third-party/policies ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Lược đồ (OpenAPI)

ThirdPartyPatchApprovalMode

0 = VersionOnly
1 = ProductFutureVersions

PatchPolicyMode

0 = AuditOnly
1 = InstallApproved

ThirdPartyPatchRebootBehavior

0 = Defer
1 = Allow
2 = RequireApproval

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationScheduleKind

0 = Once
1 = Interval
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = Cron

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "name": "<value>",
    "policy": {
      "approvals": [
        {
          "identity": {
            "packageId": "<see schema>",
            "provider": "<see schema>",
            "publisher": "<see schema>"
          },
          "mode": 0
        }
      ],
      "deniedPackages": [
        {
          "packageId": "<value>",
          "provider": "<value>",
          "publisher": "<value>"
        }
      ]
    },
    "target": {
      "deviceIds": [
        "<UUID>"
      ],
      "intersectSmartGroupsWithScope": false,
      "operatingSystems": [
        0
      ],
      "restriction": {
        "deviceIds": [
          "<see schema>"
        ],
        "operatingSystem": "<see schema>",
        "tagId": "<UUID>"
      },
      "schemaVersion": 1,
      "scope": {
        "kind": 0
      },
      "smartGroupIds": [
        "<UUID>"
      ],
      "tagIds": [
        "<UUID>"
      ]
    }
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/third-party/policies' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Change approvals or policy assignments. Enabling a policy can permit installation.",
  "operationId": "post_v1_automation_third_party_policies",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfThirdPartyPatchPolicyAssignment"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a third-party patch policy",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingManage",
    "mcp.cap.PatchingExecute"
  ]
}
PUTCập nhật chính sách vá lỗi của bên thứ ba/v1/automation/third-party/policies/{id}

Thay đổi phê duyệt hoặc phân công chính sách. Kích hoạt một chính sách có thể cho phép cài đặt.

PUT /v1/automation/third-party/policies/{id} ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Lược đồ (OpenAPI)

ThirdPartyPatchApprovalMode

0 = VersionOnly
1 = ProductFutureVersions

PatchPolicyMode

0 = AuditOnly
1 = InstallApproved

ThirdPartyPatchRebootBehavior

0 = Defer
1 = Allow
2 = RequireApproval

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationScheduleKind

0 = Once
1 = Interval
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = Cron

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "name": "<value>",
    "policy": {
      "approvals": [
        {
          "identity": {
            "packageId": "<see schema>",
            "provider": "<see schema>",
            "publisher": "<see schema>"
          },
          "mode": 0
        }
      ],
      "deniedPackages": [
        {
          "packageId": "<value>",
          "provider": "<value>",
          "publisher": "<value>"
        }
      ]
    },
    "target": {
      "deviceIds": [
        "<UUID>"
      ],
      "intersectSmartGroupsWithScope": false,
      "operatingSystems": [
        0
      ],
      "restriction": {
        "deviceIds": [
          "<see schema>"
        ],
        "operatingSystem": "<see schema>",
        "tagId": "<UUID>"
      },
      "schemaVersion": 1,
      "scope": {
        "kind": 0
      },
      "smartGroupIds": [
        "<UUID>"
      ],
      "tagIds": [
        "<UUID>"
      ]
    }
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/automation/third-party/policies/<id>' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Change approvals or policy assignments. Enabling a policy can permit installation.",
  "operationId": "put_v1_automation_third_party_policies_id",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfThirdPartyPatchPolicyAssignment"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Update a third-party patch policy",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingManage",
    "mcp.cap.PatchingExecute"
  ]
}
POSTBật hoặc tắt một chính sách vá lỗi/v1/automation/third-party/policies/{id}/enabled

Thay đổi phê duyệt hoặc phân công chính sách. Kích hoạt một chính sách có thể cho phép cài đặt.

POST /v1/automation/third-party/policies/{id}/enabled ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": false
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/third-party/policies/<id>/enabled' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Change approvals or policy assignments. Enabling a policy can permit installation.",
  "operationId": "post_v1_automation_third_party_policies_id_enabled",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfboolean"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Enable or disable a patch policy",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingManage",
    "mcp.cap.PatchingExecute"
  ]
}
GETCấu hình cập nhật danh sách/v1/automation/update-configurations

Đọc bằng chứng hiện tại trong phạm vi. Bằng chứng bị thiếu là không rõ. Không có hành động cuối cùng hay tấn công AI nào được khởi động.

GET /v1/automation/update-configurations ↗

mcp.cap.PatchingRead

Lược đồ (OpenAPI)

WindowsAutomaticUpdateMode

0 = NotConfigured
1 = NotifyBeforeDownload
2 = AutoDownloadNotifyInstall
3 = ScheduledInstall
4 = Disabled

WindowsUpdateSetting

0 = AutomaticUpdates
1 = Drivers
2 = MicrosoftUpdate
3 = UpdateServer
4 = FeatureDeferral
5 = QualityDeferral
6 = ActiveHours
7 = RestartPolicy
8 = DeliveryOptimization
9 = FastStartup
10 = FeatureRelease

WindowsUpdateConfigurationMode

0 = AuditOnly
1 = Enforce

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationSimpleTriggerKind

0 = Once
1 = EveryMinutes
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = DeviceOnline
7 = DeviceOffline
8 = DeviceBooted
9 = FactsChanged
10 = UserLogon
11 = UserLogoff
12 = SessionLocked
13 = SessionUnlocked
14 = RdpConnected
15 = RdpDisconnected
16 = MachineShuttingDown
17 = MachinePoweredOn
18 = AgentServiceStarted
19 = AgentServiceStopped
20 = MachineSuspending
21 = MachineResumed
22 = Cron

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

AutomationState

0 = Draft
1 = Enabled
2 = Paused
3 = Archived

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/update-configurations' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.",
  "operationId": "get_v1_automation_update_configurations",
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "items": {
              "$ref": "#/components/schemas/WindowsUpdateConfigurationListItem"
            },
            "type": "array"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List update configurations",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingRead"
  ]
}
POSTTạo cấu hình cập nhật/v1/automation/update-configurations

Yêu cầu FullAccess và quyền chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác.

POST /v1/automation/update-configurations ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Lược đồ (OpenAPI)

WindowsAutomaticUpdateMode

0 = NotConfigured
1 = NotifyBeforeDownload
2 = AutoDownloadNotifyInstall
3 = ScheduledInstall
4 = Disabled

WindowsUpdateSetting

0 = AutomaticUpdates
1 = Drivers
2 = MicrosoftUpdate
3 = UpdateServer
4 = FeatureDeferral
5 = QualityDeferral
6 = ActiveHours
7 = RestartPolicy
8 = DeliveryOptimization
9 = FastStartup
10 = FeatureRelease

WindowsUpdateConfigurationMode

0 = AuditOnly
1 = Enforce

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationSimpleTriggerKind

0 = Once
1 = EveryMinutes
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = DeviceOnline
7 = DeviceOffline
8 = DeviceBooted
9 = FactsChanged
10 = UserLogon
11 = UserLogoff
12 = SessionLocked
13 = SessionUnlocked
14 = RdpConnected
15 = RdpDisconnected
16 = MachineShuttingDown
17 = MachinePoweredOn
18 = AgentServiceStarted
19 = AgentServiceStopped
20 = MachineSuspending
21 = MachineResumed
22 = Cron

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "description": "<value>",
    "name": "<value>",
    "policy": {
      "mode": 0
    },
    "schedule": {
      "kind": 0
    },
    "scope": {
      "kind": 0
    }
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/update-configurations' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.",
  "operationId": "post_v1_automation_update_configurations",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfWindowsUpdateConfigurationInput"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create update configuration",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingManage",
    "mcp.cap.PatchingExecute"
  ]
}
POSTXem trước cấu hình cập nhật/v1/automation/update-configurations/preview

Đọc bằng chứng hiện tại trong phạm vi. Bằng chứng bị thiếu là không rõ. Không có hành động cuối cùng hay tấn công AI nào được khởi động.

POST /v1/automation/update-configurations/preview ↗

mcp.cap.PatchingRead

Lược đồ (OpenAPI)

WindowsAutomaticUpdateMode

0 = NotConfigured
1 = NotifyBeforeDownload
2 = AutoDownloadNotifyInstall
3 = ScheduledInstall
4 = Disabled

WindowsUpdateSetting

0 = AutomaticUpdates
1 = Drivers
2 = MicrosoftUpdate
3 = UpdateServer
4 = FeatureDeferral
5 = QualityDeferral
6 = ActiveHours
7 = RestartPolicy
8 = DeliveryOptimization
9 = FastStartup
10 = FeatureRelease

WindowsUpdateConfigurationMode

0 = AuditOnly
1 = Enforce

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationSimpleTriggerKind

0 = Once
1 = EveryMinutes
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = DeviceOnline
7 = DeviceOffline
8 = DeviceBooted
9 = FactsChanged
10 = UserLogon
11 = UserLogoff
12 = SessionLocked
13 = SessionUnlocked
14 = RdpConnected
15 = RdpDisconnected
16 = MachineShuttingDown
17 = MachinePoweredOn
18 = AgentServiceStarted
19 = AgentServiceStopped
20 = MachineSuspending
21 = MachineResumed
22 = Cron

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "description": "<value>",
  "name": "<value>",
  "policy": {
    "mode": 0
  },
  "schedule": {
    "kind": 0
  },
  "scope": {
    "kind": 0
  }
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/update-configurations/preview' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.",
  "operationId": "post_v1_automation_update_configurations_preview",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/WindowsUpdateConfigurationInput"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/AutomationSimpleScopePreview"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Preview update configuration",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingRead"
  ]
}
PUTLưu cấu hình cập nhật/v1/automation/update-configurations/{id}

Yêu cầu FullAccess và quyền chủ sở hữu hiện tại. Cung cấp khóa idempotency, sử dụng lại yêu cầu giống hệt after sự không chắc chắn, và kiểm tra biên nhận thao tác. Cung cấp ExpectedVersionId từ phản hồi danh sách hiện tại; các chỉnh sửa cũ sẽ bị từ chối.

PUT /v1/automation/update-configurations/{id} ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Lược đồ (OpenAPI)

WindowsAutomaticUpdateMode

0 = NotConfigured
1 = NotifyBeforeDownload
2 = AutoDownloadNotifyInstall
3 = ScheduledInstall
4 = Disabled

WindowsUpdateSetting

0 = AutomaticUpdates
1 = Drivers
2 = MicrosoftUpdate
3 = UpdateServer
4 = FeatureDeferral
5 = QualityDeferral
6 = ActiveHours
7 = RestartPolicy
8 = DeliveryOptimization
9 = FastStartup
10 = FeatureRelease

WindowsUpdateConfigurationMode

0 = AuditOnly
1 = Enforce

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

DayOfWeek

0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday

AutomationSimpleTriggerKind

0 = Once
1 = EveryMinutes
2 = Daily
3 = Weekdays
4 = Weekly
5 = Monthly
6 = DeviceOnline
7 = DeviceOffline
8 = DeviceBooted
9 = FactsChanged
10 = UserLogon
11 = UserLogoff
12 = SessionLocked
13 = SessionUnlocked
14 = RdpConnected
15 = RdpDisconnected
16 = MachineShuttingDown
17 = MachinePoweredOn
18 = AgentServiceStarted
19 = AgentServiceStopped
20 = MachineSuspending
21 = MachineResumed
22 = Cron

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

Thông số

id · Đường dẫn · Cần có
Mã định danh được trả về bởi danh sách tài nguyên hoặc kết quả tạo tương ứng.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "value": {
    "description": "<value>",
    "name": "<value>",
    "policy": {
      "mode": 0
    },
    "schedule": {
      "kind": 0
    },
    "scope": {
      "kind": 0
    }
  }
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/automation/update-configurations/<id>' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt. Supply ExpectedVersionId from the current list response; stale edits are rejected.",
  "operationId": "put_v1_automation_update_configurations_id",
  "parameters": [
    {
      "description": "Identifier returned by the corresponding resource list or creation result.",
      "in": "path",
      "name": "id",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationMutationOfWindowsUpdateConfigurationInput"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Save update configuration",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingManage",
    "mcp.cap.PatchingExecute"
  ]
}
POSTLỗ hổng bản vá truy vấn/v1/automation/vulnerabilities:query

Đọc CVE có phạm vi, CVSS, thiết bị bị ảnh hưởng và sửa các bản vá. Giữ lại điểm số không xác định và phạm vi không đầy đủ; liên kết bản vá không chứng minh khả năng khai thác thiết bị.

POST /v1/automation/vulnerabilities:query ↗

mcp.cap.PatchingRead

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "company": "<value>",
  "companyId": "<UUID>",
  "device": "<value>",
  "deviceId": "<UUID>",
  "limit": 50,
  "machineOffset": 0,
  "minimumCvss": 1,
  "offset": 0,
  "onlyUnknownCvss": false,
  "search": "<value>",
  "site": "<value>",
  "siteId": "<UUID>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/vulnerabilities:query' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read scoped CVE, CVSS, affected devices and fixing patches. Preserve unknown scores and incomplete coverage; patch associations do not prove device exploitability.",
  "operationId": "post_v1_automation_vulnerabilities_query",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/PatchVulnerabilityRequest"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/PatchVulnerabilityPage"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Query patch vulnerabilities",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.PatchingRead"
  ]
}
GETDanh sách quy trình làm việc/v1/automation/workflows

Duyệt qua các quy trình tự động hóa có sẵn cho chứng chỉ của bạn.

GET /v1/automation/workflows ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

AutomationState

0 = Draft
1 = Enabled
2 = Paused
3 = Archived

Thông số

offset · Truy vấn · tùy chọn
Số mục cần bỏ qua, bắt đầu từ 0. Tiếp tục sử dụng phần bù được điểm cuối trả về khi có sẵn.
take · Truy vấn · tùy chọn
Số mục tối đa được yêu cầu cho trang này. Máy chủ kẹp giá trị này vào giới hạn điểm cuối.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/workflows' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Browse automation workflows available to your credential.",
  "operationId": "get_v1_automation_workflows",
  "parameters": [
    {
      "description": "Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.",
      "in": "query",
      "name": "offset",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    },
    {
      "description": "Maximum number of items requested for this page. The server clamps this value to the endpoint limit.",
      "in": "query",
      "name": "take",
      "schema": {
        "format": "int32",
        "type": "integer"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiOffsetPageOfApiWorkflowItem"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "List workflows",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
POSTTạo quy trình làm việc/v1/automation/workflows

Tạo quy trình làm việc tự động hóa từ định nghĩa được cung cấp.

POST /v1/automation/workflows ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Thông số

Không có tham số đường dẫn, truy vấn hoặc tiêu đề.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "companyId": "<UUID>",
  "description": "<value>",
  "idempotencyKey": "<value>",
  "name": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/workflows' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Create an automation workflow from the supplied definition.",
  "operationId": "post_v1_automation_workflows",
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationCreate"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Create a workflow",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute"
  ]
}
GETNhận quy trình làm việc/v1/automation/workflows/{automationId}

Đọc định nghĩa và cấu hình quy trình làm việc tự động hóa.

GET /v1/automation/workflows/{automationId} ↗

mcp.cap.AutomationRead

Lược đồ (OpenAPI)

AutomationTriggerType

0 = Manual
1 = Once
2 = Interval
3 = Calendar
4 = Cron
5 = DeviceEvent
6 = FactEvent
7 = Api

AutomationDeviceConnectivityPolicy

0 = ConnectedOnly
1 = LeasedOffline

AutomationExecutionLocation

0 = RelayScheduled
1 = DeviceScheduled

AutomationMissedRunPolicy

0 = Skip
1 = RunOnce
2 = RunEach

AutomationOfflinePolicy

0 = Skip
1 = WaitUntilOnline
2 = Fail

AutomationOverlapPolicy

0 = Skip
1 = QueueOne
2 = Allow

AutomationResultReportingMode

0 = Detailed
1 = FailuresAndRollups

AutomationUnknownPolicy

0 = Skip
1 = Fail

AutomationState

0 = Draft
1 = Enabled
2 = Paused
3 = Archived

Thông số

automationId · Đường dẫn · Cần có
Mã định danh của quy trình tự động hóa, không phải phiên bản hoặc lần chạy riêng lẻ.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
}
Invoke-RestMethod -Method GET `
  -Uri 'https://api.remotegymp.com/v1/automation/workflows/<automationId>' `
  -Headers $headers
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Read an automation workflow definition and configuration.",
  "operationId": "get_v1_automation_workflows_automationId",
  "parameters": [
    {
      "description": "Identifier of the automation workflow, not its version or an individual run.",
      "in": "path",
      "name": "automationId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiWorkflowDetail"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Get a workflow",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationRead"
  ]
}
PUTCập nhật quy trình làm việc/v1/automation/workflows/{automationId}

Lưu các thay đổi vào quy trình làm việc tự động hóa hiện có.

PUT /v1/automation/workflows/{automationId} ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Lược đồ (OpenAPI)

AutomationDeviceConnectivityPolicy

0 = ConnectedOnly
1 = LeasedOffline

AutomationExecutionLocation

0 = RelayScheduled
1 = DeviceScheduled

AutomationMissedRunPolicy

0 = Skip
1 = RunOnce
2 = RunEach

AutomationOfflinePolicy

0 = Skip
1 = WaitUntilOnline
2 = Fail

AutomationOverlapPolicy

0 = Skip
1 = QueueOne
2 = Allow

AutomationConditionKind

0 = All
1 = Any
2 = Not
3 = Predicate

AutomationConditionOperator

0 = Equal
1 = NotEqual
2 = GreaterThan
3 = GreaterThanOrEqual
4 = LessThan
5 = LessThanOrEqual
6 = Contains
7 = NotContains
8 = StartsWith
9 = EndsWith
10 = In
11 = NotIn
12 = Exists
13 = NotExists
14 = OlderThan
15 = NewerThan
16 = CountEqual
17 = CountGreaterThan
18 = CountLessThan
19 = Changed
20 = ChangedFrom
21 = ChangedTo
22 = ServiceMatches
23 = ServiceMissing
24 = SoftwareMatches
25 = DriveMatches

AutomationResultReportingMode

0 = Detailed
1 = FailuresAndRollups

OsKind

0 = Windows
1 = MacOs
2 = Linux
3 = Android
4 = Ios

AutomationScopeKind

0 = Organization
1 = Company
2 = Site
3 = Device

AutomationTriggerType

0 = Manual
1 = Once
2 = Interval
3 = Calendar
4 = Cron
5 = DeviceEvent
6 = FactEvent
7 = Api

AutomationUnknownPolicy

0 = Skip
1 = Fail

AutomationDeviceActionKind

0 = RefreshFacts
1 = ControlService
2 = RestartDevice
3 = WindowsDiskCleanup
4 = LinuxMaintenance
5 = WakeDevice
6 = SendUserMessage
7 = UninstallSoftware

LinuxMaintenanceAction

0 = RefreshPackageInventory
1 = InstallPackageUpdates
2 = RefreshFirmwareMetadata
3 = InstallFirmwareUpdates
4 = InstallAllUpdates

ServiceAction

0 = Start
1 = Stop
2 = Restart

SoftwareKind

0 = ClassicDesktop
1 = PackagedApp

AutomationStepFailurePolicy

0 = Stop
1 = Continue
2 = Retry

AutomationNotificationAudience

0 = None
1 = Owners
2 = Technicians
4 = Clients

AutomationNotificationChannel

0 = None
1 = InApp
2 = Email

AutomationNotificationSeverity

0 = Information
1 = Warning
2 = Critical
3 = Recovery

AutomationOutcomeMatch

0 = Failure
1 = Success
2 = Always
3 = ResultMatches

AutomationWorkflowNodeType

0 = Script
1 = Condition
2 = Delay
3 = Stop
4 = Notification
5 = DeviceAction

Thông số

automationId · Đường dẫn · Cần có
Mã định danh của quy trình tự động hóa, không phải phiên bản hoặc lần chạy riêng lẻ.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "definition": {
    "precondition": {
      "kind": 0
    },
    "target": {
      "deviceIds": [
        "<UUID>"
      ],
      "intersectSmartGroupsWithScope": false,
      "operatingSystems": [
        0
      ],
      "restriction": {
        "deviceIds": [
          "<UUID>"
        ],
        "operatingSystem": 0,
        "tagId": "<UUID>"
      },
      "schemaVersion": 1,
      "scope": {
        "kind": 0
      },
      "smartGroupIds": [
        "<UUID>"
      ],
      "tagIds": [
        "<UUID>"
      ]
    },
    "triggers": [
      {
        "configurationJson": "<value>",
        "type": 0
      }
    ],
    "workflow": {
      "entryNodeId": "<value>",
      "nodes": [
        {
          "id": "<value>",
          "type": 0
        }
      ]
    }
  },
  "description": "<value>",
  "expectedVersionId": "<UUID>",
  "idempotencyKey": "<value>",
  "name": "<value>"
}'
Invoke-RestMethod -Method PUT `
  -Uri 'https://api.remotegymp.com/v1/automation/workflows/<automationId>' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Save changes to an existing automation workflow.",
  "operationId": "put_v1_automation_workflows_automationId",
  "parameters": [
    {
      "description": "Identifier of the automation workflow, not its version or an individual run.",
      "in": "path",
      "name": "automationId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationSave"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Update a workflow",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute"
  ]
}
POSTChạy quy trình làm việc/v1/automation/workflows/{automationId}/runs

Bắt đầu chạy quy trình làm việc cho các mục tiêu được ủy quyền được cung cấp.

POST /v1/automation/workflows/{automationId}/runs ↗

mcp.cap.AutomationExecute

Thông số

automationId · Đường dẫn · Cần có
Mã định danh của quy trình tự động hóa, không phải phiên bản hoặc lần chạy riêng lẻ.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>"
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/workflows/<automationId>/runs' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Start a workflow run for the supplied authorised targets.",
  "operationId": "post_v1_automation_workflows_automationId_runs",
  "parameters": [
    {
      "description": "Identifier of the automation workflow, not its version or an individual run.",
      "in": "path",
      "name": "automationId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationKey"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Run a workflow",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationExecute"
  ]
}
POSTThay đổi trạng thái quy trình làm việc/v1/automation/workflows/{automationId}/state

Bật hoặc tắt quy trình làm việc đã chọn bằng trạng thái được cung cấp.

POST /v1/automation/workflows/{automationId}/state ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Lược đồ (OpenAPI)

AutomationState

0 = Draft
1 = Enabled
2 = Paused
3 = Archived

Thông số

automationId · Đường dẫn · Cần có
Mã định danh của quy trình tự động hóa, không phải phiên bản hoặc lần chạy riêng lẻ.

Yêu cầu ví dụ

C#: dotnet new console → Program.cs → dotnet run

$headers = @{
  Authorization = "Bearer $env:RG_API_TOKEN"
  'Content-Type' = 'application/json'
}
$body = '{
  "idempotencyKey": "<value>",
  "state": 0
}'
Invoke-RestMethod -Method POST `
  -Uri 'https://api.remotegymp.com/v1/automation/workflows/<automationId>/state' `
  -Headers $headers `
  -Body ([System.Text.Encoding]::UTF8.GetBytes($body))
Lược đồ yêu cầu và phản hồi (OpenAPI)
{
  "description": "Enable or disable the selected workflow using the supplied state.",
  "operationId": "post_v1_automation_workflows_automationId_state",
  "parameters": [
    {
      "description": "Identifier of the automation workflow, not its version or an individual run.",
      "in": "path",
      "name": "automationId",
      "required": true,
      "schema": {
        "format": "uuid",
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/IntegrationAutomationState"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/RecoveredOperation"
          }
        }
      },
      "description": "OK"
    },
    "400": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Bad Request"
    },
    "401": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Unauthorized"
    },
    "403": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Forbidden"
    },
    "404": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Not Found"
    },
    "409": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Conflict"
    },
    "410": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Gone"
    },
    "413": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Payload Too Large"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Too Many Requests"
    },
    "503": {
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      },
      "description": "Service Unavailable"
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "summary": "Change workflow state",
  "tags": [
    "Automation"
  ],
  "x-required-capabilities": [
    "mcp.cap.AutomationManage",
    "mcp.cap.AutomationExecute"
  ]
}
Lược đồ (OpenAPI)
{
  "AccountAccessState": {
    "default": 0,
    "type": "integer",
    "x-enumNames": [
      "Active",
      "TemporarilyLocked",
      "Deactivated"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "AcknowledgementResponse": {
    "properties": {
      "alertId": {
        "format": "uuid",
        "type": "string"
      },
      "revision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "alertId",
      "revision"
    ],
    "type": "object"
  },
  "ActivityResponse": {
    "properties": {
      "action": {
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "occurredAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "id",
      "action",
      "occurredAtUtc"
    ],
    "type": "object"
  },
  "AiResolverChargeMode": {
    "type": "integer",
    "x-enumNames": [
      "CustomerUsage",
      "ProviderCost",
      "TrialIncluded"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "AiResolverCheckProgress": {
    "properties": {
      "category": {
        "type": "string"
      },
      "completedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "index": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "startedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "type": "string"
      },
      "timeoutSeconds": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "total": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "index",
      "total",
      "category",
      "status",
      "timeoutSeconds"
    ],
    "type": "object"
  },
  "AiResolverContextCategory": {
    "properties": {
      "includedItemCount": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "itemCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "omittedItemCount": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "state": {
        "type": "string"
      },
      "truncationReason": {
        "type": [
          "null",
          "string"
        ]
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "name",
      "updatedAtUtc",
      "state",
      "itemCount"
    ],
    "type": "object"
  },
  "AiResolverEventType": {
    "type": "integer",
    "x-enumNames": [
      "Initial",
      "FollowUp",
      "Retry"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "AiResolverRunStatus": {
    "type": "integer",
    "x-enumNames": [
      "Accepted",
      "Queued",
      "Running",
      "CollectingEvidence",
      "Synthesizing",
      "Validating",
      "Completed",
      "Failed",
      "Refused",
      "TimedOut",
      "Cancelled"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10
    ]
  },
  "AiResolverRunView": {
    "properties": {
      "acceptedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "billingStatus": {
        "type": "string"
      },
      "cachedInputTokens": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "categories": {
        "items": {
          "$ref": "#/components/schemas/AiResolverContextCategory"
        },
        "type": "array"
      },
      "chargeMode": {
        "$ref": "#/components/schemas/AiResolverChargeMode"
      },
      "checks": {
        "items": {
          "$ref": "#/components/schemas/AiResolverCheckProgress"
        },
        "type": "array"
      },
      "companyName": {
        "type": "string"
      },
      "completedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "customerChargeUsd": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceName": {
        "type": "string"
      },
      "equivalentCustomerChargeUsd": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "estimatedMaximumChargeUsd": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "eventType": {
        "$ref": "#/components/schemas/AiResolverEventType"
      },
      "failureReason": {
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "inputTokens": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "isBillable": {
        "type": "boolean"
      },
      "model": {
        "type": "string"
      },
      "outputTokens": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "parentRunId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "problemSummary": {
        "type": "string"
      },
      "problemText": {
        "type": "string"
      },
      "provider": {
        "type": "string"
      },
      "providerCostUsd": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "reasoningTokens": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "resultJson": {
        "type": [
          "null",
          "string"
        ]
      },
      "startedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/AiResolverRunStatus"
      },
      "supplementalText": {
        "type": [
          "null",
          "string"
        ]
      },
      "technicianDisplayName": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "deviceId",
      "deviceName",
      "companyName",
      "technicianDisplayName",
      "problemSummary",
      "eventType",
      "parentRunId",
      "status",
      "problemText",
      "supplementalText",
      "provider",
      "model",
      "chargeMode",
      "isBillable",
      "billingStatus",
      "customerChargeUsd",
      "equivalentCustomerChargeUsd",
      "estimatedMaximumChargeUsd",
      "providerCostUsd",
      "inputTokens",
      "outputTokens",
      "cachedInputTokens",
      "reasoningTokens",
      "resultJson",
      "failureReason",
      "acceptedAtUtc",
      "startedAtUtc",
      "completedAtUtc"
    ],
    "type": "object"
  },
  "AlertResponse": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "lastObservedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "openedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "resolvedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "revision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "severity": {
        "type": "string"
      },
      "state": {
        "type": "string"
      },
      "summary": {
        "type": "string"
      },
      "title": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "deviceId",
      "title",
      "summary",
      "state",
      "severity",
      "openedAtUtc",
      "lastObservedAtUtc",
      "resolvedAtUtc",
      "revision"
    ],
    "type": "object"
  },
  "AntivirusAction": {
    "type": "integer",
    "x-enumNames": [
      "QuickScan",
      "FullScan",
      "UpdateDefinitions"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "AntivirusActionProvider": {
    "type": "integer",
    "x-enumNames": [
      "MicrosoftDefender",
      "BitdefenderBest"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "AntivirusActionRequestDto": {
    "properties": {
      "action": {
        "$ref": "#/components/schemas/AntivirusAction"
      },
      "operationId": {
        "format": "uuid",
        "type": "string"
      },
      "provider": {
        "$ref": "#/components/schemas/AntivirusActionProvider"
      }
    },
    "required": [
      "operationId",
      "provider",
      "action"
    ],
    "type": "object"
  },
  "AntivirusProductFactDto": {
    "properties": {
      "actionProvider": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AntivirusActionProvider"
          }
        ]
      },
      "definitionsUpToDate": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "definitionsUpdatedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "productVersion": {
        "type": [
          "null",
          "string"
        ]
      },
      "protectionDataVersion": {
        "type": [
          "null",
          "string"
        ]
      },
      "state": {
        "$ref": "#/components/schemas/AntivirusProductState"
      },
      "statusDetail": {
        "type": [
          "null",
          "string"
        ]
      },
      "supportedActions": {
        "items": {
          "$ref": "#/components/schemas/AntivirusAction"
        },
        "type": [
          "null",
          "array"
        ]
      }
    },
    "required": [
      "name",
      "state"
    ],
    "type": "object"
  },
  "AntivirusProductState": {
    "type": "integer",
    "x-enumNames": [
      "Unknown",
      "On",
      "Off",
      "Snoozed",
      "Expired"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "ApiAssistantPolicy": {
    "properties": {
      "enabled": {
        "type": "boolean"
      }
    },
    "required": [
      "enabled"
    ],
    "type": "object"
  },
  "ApiCommandBatchContract": {
    "properties": {
      "cancellationStopsNewWavesOnly": {
        "type": "boolean"
      },
      "defaultWaveSize": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "maximumDeadlineSeconds": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "maximumTargets": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "maximumWaveSize": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "receiptCancellationSupported": {
        "type": "boolean"
      },
      "targetOutputMaximumBytes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "unknownAlwaysStops": {
        "type": "boolean"
      }
    },
    "required": [
      "maximumTargets",
      "maximumWaveSize",
      "defaultWaveSize",
      "maximumDeadlineSeconds",
      "unknownAlwaysStops",
      "cancellationStopsNewWavesOnly",
      "receiptCancellationSupported",
      "targetOutputMaximumBytes"
    ],
    "type": "object"
  },
  "ApiError": {
    "properties": {
      "error": {
        "type": "string"
      },
      "message": {
        "type": "string"
      },
      "requestId": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "error",
      "message"
    ],
    "type": "object"
  },
  "ApiGroupFacts": {
    "properties": {
      "allowedValues": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "displayName": {
        "type": "string"
      },
      "operators": {
        "items": {
          "$ref": "#/components/schemas/AutomationConditionOperator"
        },
        "type": "array"
      },
      "path": {
        "type": "string"
      },
      "platforms": {
        "items": {
          "$ref": "#/components/schemas/OsKind"
        },
        "type": "array"
      },
      "semantics": {
        "type": [
          "null",
          "string"
        ]
      },
      "valueType": {
        "$ref": "#/components/schemas/AutomationFactValueType"
      }
    },
    "required": [
      "path",
      "displayName",
      "valueType",
      "operators",
      "platforms",
      "allowedValues",
      "semantics"
    ],
    "type": "object"
  },
  "ApiGroupsWorkspace": {
    "properties": {
      "companies": {
        "items": {
          "$ref": "#/components/schemas/AutomationCompanyScopeView"
        },
        "type": "array"
      },
      "companyScoped": {
        "type": "boolean"
      },
      "factDefinitions": {
        "items": {
          "$ref": "#/components/schemas/ApiGroupFacts"
        },
        "type": "array"
      },
      "groups": {
        "items": {
          "$ref": "#/components/schemas/AutomationSmartGroupListItem"
        },
        "type": "array"
      }
    },
    "required": [
      "groups",
      "companies",
      "companyScoped",
      "factDefinitions"
    ],
    "type": "object"
  },
  "ApiInstallerCapabilities": {
    "properties": {
      "supportsBootstrapFormats": {
        "type": "boolean"
      },
      "supportsLegacyWindows": {
        "type": "boolean"
      },
      "supportsLinux": {
        "type": "boolean"
      },
      "supportsMacOs": {
        "type": "boolean"
      },
      "supportsSelfHostedRelayManagement": {
        "type": "boolean"
      }
    },
    "required": [
      "supportsLinux",
      "supportsMacOs",
      "supportsLegacyWindows",
      "supportsBootstrapFormats",
      "supportsSelfHostedRelayManagement"
    ],
    "type": "object"
  },
  "ApiLiveEventLogs": {
    "properties": {
      "coverage": {
        "type": "string"
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/EventLogEntryDto"
        },
        "type": "array"
      },
      "observedAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "observedAtUtc",
      "coverage",
      "items"
    ],
    "type": "object"
  },
  "ApiMonitorItem": {
    "properties": {
      "activeVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "state": {
        "$ref": "#/components/schemas/AutomationMonitorLifecycleState"
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "description",
      "companyId",
      "state",
      "activeVersionId",
      "updatedAtUtc"
    ],
    "type": "object"
  },
  "ApiObservedPageOfProcessInfoDto": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/ProcessInfoDto"
        },
        "type": "array"
      },
      "nextOffset": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "observedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "snapshotStable": {
        "type": "boolean"
      }
    },
    "required": [
      "observedAtUtc",
      "items",
      "nextOffset",
      "snapshotStable"
    ],
    "type": "object"
  },
  "ApiObservedPageOfServiceInfoDto": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/ServiceInfoDto"
        },
        "type": "array"
      },
      "nextOffset": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "observedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "snapshotStable": {
        "type": "boolean"
      }
    },
    "required": [
      "observedAtUtc",
      "items",
      "nextOffset",
      "snapshotStable"
    ],
    "type": "object"
  },
  "ApiOffsetPageOfApiMonitorItem": {
    "properties": {
      "hasMore": {
        "type": "boolean"
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/ApiMonitorItem"
        },
        "type": "array"
      }
    },
    "required": [
      "items",
      "hasMore"
    ],
    "type": "object"
  },
  "ApiOffsetPageOfApiRunItem": {
    "properties": {
      "hasMore": {
        "type": "boolean"
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/ApiRunItem"
        },
        "type": "array"
      }
    },
    "required": [
      "items",
      "hasMore"
    ],
    "type": "object"
  },
  "ApiOffsetPageOfApiScriptItem": {
    "properties": {
      "hasMore": {
        "type": "boolean"
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/ApiScriptItem"
        },
        "type": "array"
      }
    },
    "required": [
      "items",
      "hasMore"
    ],
    "type": "object"
  },
  "ApiOffsetPageOfApiWorkflowItem": {
    "properties": {
      "hasMore": {
        "type": "boolean"
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/ApiWorkflowItem"
        },
        "type": "array"
      }
    },
    "required": [
      "items",
      "hasMore"
    ],
    "type": "object"
  },
  "ApiOperationCapabilities": {
    "properties": {
      "actions": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "allowedTools": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "apiOnlyFeatures": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "authenticationRequestsPerMinutePerIp": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "capabilities": {
        "type": [
          "null",
          "string"
        ]
      },
      "capabilityVersion": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "commandBatchContract": {
        "$ref": "#/components/schemas/ApiCommandBatchContract"
      },
      "maximumBatchSize": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "mcpEnabled": {
        "type": "boolean"
      },
      "operationContract": {
        "$ref": "#/components/schemas/ApiOperationContract"
      },
      "operationResultRetentionHours": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "permission": {
        "type": "string"
      },
      "preflight": {
        "$ref": "#/components/schemas/ApiPreflightContract"
      },
      "read": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "remoteLimits": {
        "$ref": "#/components/schemas/ApiRemoteLimits"
      },
      "requestsPerMinute": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "supportLimits": {
        "$ref": "#/components/schemas/ApiSupportLimits"
      },
      "unavailable": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "version": {
        "type": "string"
      }
    },
    "required": [
      "version",
      "permission",
      "capabilityVersion",
      "capabilities",
      "allowedTools",
      "mcpEnabled",
      "read",
      "actions",
      "unavailable",
      "preflight",
      "apiOnlyFeatures",
      "operationContract",
      "remoteLimits",
      "supportLimits",
      "commandBatchContract",
      "maximumBatchSize",
      "requestsPerMinute",
      "authenticationRequestsPerMinutePerIp",
      "operationResultRetentionHours"
    ],
    "type": "object"
  },
  "ApiOperationContract": {
    "properties": {
      "automaticReplayAllowed": {
        "type": "boolean"
      },
      "cancellationTools": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "completedMeans": {
        "type": "string"
      },
      "pendingStatus": {
        "type": "string"
      },
      "pollAfterMilliseconds": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "receiptCancellationSupported": {
        "type": "boolean"
      },
      "retryRule": {
        "type": "string"
      },
      "rollback": {
        "type": "string"
      },
      "unknownOutcomeRequiresReconciliation": {
        "type": "boolean"
      }
    },
    "required": [
      "pendingStatus",
      "pollAfterMilliseconds",
      "completedMeans",
      "unknownOutcomeRequiresReconciliation",
      "automaticReplayAllowed",
      "retryRule",
      "receiptCancellationSupported",
      "cancellationTools",
      "rollback"
    ],
    "type": "object"
  },
  "ApiPreflightContract": {
    "properties": {
      "route": {
        "type": "string"
      },
      "storedFactsOnly": {
        "type": "boolean"
      },
      "tool": {
        "type": "string"
      }
    },
    "required": [
      "route",
      "tool",
      "storedFactsOnly"
    ],
    "type": "object"
  },
  "ApiQuickSupportItem": {
    "properties": {
      "claimedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "consentGrantedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "createdAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "endpointConnected": {
        "type": "boolean"
      },
      "expiresAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "revokedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "sessionExpiresAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "createdAtUtc",
      "expiresAtUtc",
      "claimedAtUtc",
      "consentGrantedAtUtc",
      "revokedAtUtc",
      "sessionExpiresAtUtc",
      "endpointConnected"
    ],
    "type": "object"
  },
  "ApiRemoteClose": {
    "properties": {
      "cleanup": {
        "type": "string"
      },
      "closed": {
        "type": "boolean"
      }
    },
    "required": [
      "closed",
      "cleanup"
    ],
    "type": "object"
  },
  "ApiRemoteFile": {
    "properties": {
      "data": {
        "type": "string"
      },
      "encoding": {
        "type": "string"
      },
      "length": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "data",
      "length",
      "encoding"
    ],
    "type": "object"
  },
  "ApiRemoteLimits": {
    "properties": {
      "handleLifetimeMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "hyperVFreshFramesRequireUpdatedAgent": {
        "type": "boolean"
      },
      "inlineReadBytes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "inlineWriteBytes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "keepAliveSeconds": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "mcpPreferredQuality": {
        "type": "string"
      },
      "screenshotPixels": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "handleLifetimeMinutes",
      "keepAliveSeconds",
      "inlineReadBytes",
      "inlineWriteBytes",
      "screenshotPixels",
      "mcpPreferredQuality",
      "hyperVFreshFramesRequireUpdatedAgent"
    ],
    "type": "object"
  },
  "ApiRemoteSession": {
    "properties": {
      "expires": {
        "format": "date-time",
        "type": "string"
      },
      "handleId": {
        "format": "uuid",
        "type": "string"
      },
      "keepAliveSeconds": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "session": {
        "$ref": "#/components/schemas/IntegrationRemoteSession"
      },
      "viewerPath": {
        "type": "string"
      }
    },
    "required": [
      "handleId",
      "session",
      "expires",
      "viewerPath",
      "keepAliveSeconds"
    ],
    "type": "object"
  },
  "ApiRemoteTerminal": {
    "properties": {
      "recentOutput": {
        "$ref": "#/components/schemas/ConsoleOutputSnapshotDto"
      },
      "tabs": {
        "items": {
          "$ref": "#/components/schemas/ConsoleTabDto"
        },
        "type": "array"
      }
    },
    "required": [
      "tabs",
      "recentOutput"
    ],
    "type": "object"
  },
  "ApiRunItem": {
    "properties": {
      "automationId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "completedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "createdAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "state": {
        "$ref": "#/components/schemas/AutomationRunState"
      },
      "targetCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "automationId",
      "state",
      "createdAtUtc",
      "completedAtUtc",
      "targetCount"
    ],
    "type": "object"
  },
  "ApiScriptItem": {
    "properties": {
      "activeVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "description",
      "companyId",
      "activeVersionId",
      "updatedAtUtc"
    ],
    "type": "object"
  },
  "ApiSettingValue": {
    "properties": {
      "value": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "value"
    ],
    "type": "object"
  },
  "ApiSupportLimits": {
    "properties": {
      "clientReportPageSize": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "confirmationLifetimeMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "confirmationMaximumWaitSeconds": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "diagnosticReadBytes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "eventLogCoverage": {
        "type": "string"
      },
      "historyPageSize": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "patchExclusionLimit": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "quickSupportInvitationMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "resolverHistoryDays": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "resolverPageSize": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "softwareProviders": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "tagAssignmentLimit": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "tagPageSize": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "userSessionCoverage": {
        "type": "string"
      },
      "userSessionPageDevices": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "visitorPassMaximumMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "quickSupportInvitationMinutes",
      "visitorPassMaximumMinutes",
      "diagnosticReadBytes",
      "historyPageSize",
      "resolverPageSize",
      "resolverHistoryDays",
      "clientReportPageSize",
      "tagPageSize",
      "tagAssignmentLimit",
      "patchExclusionLimit",
      "eventLogCoverage",
      "userSessionCoverage",
      "userSessionPageDevices",
      "confirmationMaximumWaitSeconds",
      "confirmationLifetimeMinutes",
      "softwareProviders"
    ],
    "type": "object"
  },
  "ApiUserSessionItem": {
    "properties": {
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "lastKnownObservedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "lastKnownUser": {
        "type": [
          "null",
          "string"
        ]
      },
      "lastSeenAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "observedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "sessions": {
        "items": {
          "$ref": "#/components/schemas/InteractiveSessionDto"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "state": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "state",
      "observedAtUtc",
      "lastKnownUser",
      "lastKnownObservedAtUtc"
    ],
    "type": "object"
  },
  "ApiUserSessionPage": {
    "properties": {
      "coverage": {
        "type": "string"
      },
      "enumerationComplete": {
        "type": "boolean"
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/ApiUserSessionItem"
        },
        "type": "array"
      },
      "next": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next",
      "coverage",
      "enumerationComplete"
    ],
    "type": "object"
  },
  "ApiVisitorPassPage": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/GuestPassDto"
        },
        "type": "array"
      },
      "next": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "ApiWorkflowDetail": {
    "properties": {
      "triggers": {
        "items": {
          "$ref": "#/components/schemas/ApiWorkflowTrigger"
        },
        "type": "array"
      },
      "version": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ApiWorkflowVersion"
          }
        ]
      },
      "workflow": {
        "$ref": "#/components/schemas/ApiWorkflowIdentity"
      }
    },
    "required": [
      "workflow",
      "version",
      "triggers"
    ],
    "type": "object"
  },
  "ApiWorkflowIdentity": {
    "properties": {
      "activeVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "state": {
        "$ref": "#/components/schemas/AutomationState"
      }
    },
    "required": [
      "id",
      "name",
      "description",
      "companyId",
      "state",
      "activeVersionId"
    ],
    "type": "object"
  },
  "ApiWorkflowItem": {
    "properties": {
      "activeVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "state": {
        "$ref": "#/components/schemas/AutomationState"
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "description",
      "companyId",
      "state",
      "activeVersionId",
      "updatedAtUtc"
    ],
    "type": "object"
  },
  "ApiWorkflowTrigger": {
    "properties": {
      "configurationJson": {
        "type": "string"
      },
      "cooldownSeconds": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "debounceSeconds": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "dependencyPathsJson": {
        "type": "string"
      },
      "enabled": {
        "type": "boolean"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "timeZoneId": {
        "type": "string"
      },
      "type": {
        "$ref": "#/components/schemas/AutomationTriggerType"
      }
    },
    "required": [
      "id",
      "type",
      "configurationJson",
      "dependencyPathsJson",
      "timeZoneId",
      "debounceSeconds",
      "cooldownSeconds",
      "enabled"
    ],
    "type": "object"
  },
  "ApiWorkflowVersion": {
    "properties": {
      "canaryPolicyJson": {
        "type": "string"
      },
      "deviceConnectivityPolicy": {
        "$ref": "#/components/schemas/AutomationDeviceConnectivityPolicy"
      },
      "executionLocation": {
        "$ref": "#/components/schemas/AutomationExecutionLocation"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "maximumOfflineLeaseMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "missedRunPolicy": {
        "$ref": "#/components/schemas/AutomationMissedRunPolicy"
      },
      "offlineDeadlineMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "offlinePolicy": {
        "$ref": "#/components/schemas/AutomationOfflinePolicy"
      },
      "overlapPolicy": {
        "$ref": "#/components/schemas/AutomationOverlapPolicy"
      },
      "preconditionJson": {
        "type": "string"
      },
      "resultReportingMode": {
        "$ref": "#/components/schemas/AutomationResultReportingMode"
      },
      "spreadWindowSeconds": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "targetSpecJson": {
        "type": "string"
      },
      "unknownPolicy": {
        "$ref": "#/components/schemas/AutomationUnknownPolicy"
      },
      "version": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "workflowJson": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "version",
      "targetSpecJson",
      "preconditionJson",
      "workflowJson",
      "offlinePolicy",
      "offlineDeadlineMinutes",
      "missedRunPolicy",
      "overlapPolicy",
      "unknownPolicy",
      "canaryPolicyJson",
      "executionLocation",
      "deviceConnectivityPolicy",
      "resultReportingMode",
      "maximumOfflineLeaseMinutes",
      "spreadWindowSeconds"
    ],
    "type": "object"
  },
  "AssetInventorySection": {
    "properties": {
      "data": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "factsUpdatedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "nextOffset": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "section": {
        "type": "string"
      },
      "sections": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "toolFactsUpdatedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "deviceId",
      "section",
      "factsUpdatedAtUtc",
      "toolFactsUpdatedAtUtc",
      "data",
      "nextOffset",
      "sections"
    ],
    "type": "object"
  },
  "AssetSearchResult": {
    "properties": {
      "evaluated": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "evaluatedUtc": {
        "format": "date-time",
        "type": "string"
      },
      "limited": {
        "type": "boolean"
      },
      "revision": {
        "type": "string"
      },
      "rows": {
        "items": {
          "$ref": "#/components/schemas/AssetSearchRow"
        },
        "type": "array"
      },
      "unknown": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "rows",
      "evaluated",
      "unknown",
      "limited",
      "evaluatedUtc",
      "revision"
    ],
    "type": "object"
  },
  "AssetSearchRow": {
    "properties": {
      "company": {
        "type": "string"
      },
      "device": {
        "type": "string"
      },
      "factsUpdatedUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "manufacturer": {
        "type": [
          "null",
          "string"
        ]
      },
      "matchingSoftware": {
        "type": "string"
      },
      "model": {
        "type": [
          "null",
          "string"
        ]
      },
      "os": {
        "type": "string"
      },
      "serialNumber": {
        "type": [
          "null",
          "string"
        ]
      },
      "site": {
        "type": [
          "null",
          "string"
        ]
      },
      "softwareUpdatedUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "device",
      "company",
      "site",
      "manufacturer",
      "model",
      "serialNumber",
      "os",
      "factsUpdatedUtc",
      "softwareUpdatedUtc",
      "matchingSoftware"
    ],
    "type": "object"
  },
  "AuditRowDto": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "companyName": {
        "type": "string"
      },
      "detail": {
        "type": [
          "null",
          "string"
        ]
      },
      "deviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "deviceName": {
        "type": "string"
      },
      "duration": {
        "pattern": "^-?(\\d+\\.)?\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,7})?$",
        "type": [
          "null",
          "string"
        ]
      },
      "endReason": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/SessionEndReason"
          }
        ]
      },
      "kind": {
        "$ref": "#/components/schemas/AuditRowKind"
      },
      "originIpAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "sessionId": {
        "format": "uuid",
        "type": "string"
      },
      "sessionType": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/SessionKind"
          }
        ]
      },
      "startedAt": {
        "format": "date-time",
        "type": "string"
      },
      "technicianDisplayName": {
        "type": "string"
      }
    },
    "required": [
      "sessionId",
      "kind",
      "technicianDisplayName",
      "deviceName",
      "companyId",
      "companyName",
      "startedAt",
      "duration",
      "endReason"
    ],
    "type": "object"
  },
  "AuditRowKind": {
    "type": "integer",
    "x-enumNames": [
      "Session",
      "AgentConnected",
      "AgentDisconnected",
      "TechnicianConnected",
      "TechnicianDisconnected",
      "ResourceBrowsed",
      "DeviceWoken",
      "CommandRun",
      "ConsoleCommand",
      "FileOperation",
      "WebNavigation",
      "GuestPassGenerated",
      "GuestPassRevoked",
      "GuestPassUsed",
      "AiResolver",
      "UserLogon",
      "UserLogoff",
      "SessionLocked",
      "SessionUnlocked",
      "RdpConnected",
      "RdpDisconnected",
      "MachineShuttingDown",
      "MachinePoweredOn",
      "AgentServiceStarted",
      "AgentServiceStopped",
      "MachineSuspending",
      "MachineResumed",
      "HardwareAdded",
      "HardwareRemoved",
      "HardwareChanged",
      "SoftwareInstalled",
      "SoftwareRemoved",
      "SoftwareUpdated",
      "OperatingSystemChanged",
      "AgentUpdated",
      "PatchComplianceChanged",
      "SecurityChanged",
      "NetworkConfigurationChanged",
      "BitLockerManagement",
      "SessionLaunch",
      "DeviceTool",
      "SessionControl",
      "RemoteResource",
      "JobQueue",
      "Chat",
      "SessionAction",
      "IdracMonitoringAccount"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11,
      12,
      13,
      14,
      15,
      16,
      17,
      18,
      19,
      20,
      21,
      22,
      23,
      24,
      25,
      26,
      27,
      28,
      29,
      30,
      31,
      32,
      33,
      34,
      35,
      36,
      37,
      38,
      39,
      40,
      41,
      42,
      43,
      44,
      45,
      46
    ]
  },
  "AuditRowsPageDto": {
    "properties": {
      "nextCursor": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/HistoryPageCursor"
          }
        ]
      },
      "rows": {
        "items": {
          "$ref": "#/components/schemas/AuditRowDto"
        },
        "type": "array"
      },
      "snapshotSequence": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "totalCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "rows",
      "totalCount"
    ],
    "type": "object"
  },
  "AutomationActionDraft": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "content": {
        "type": "string"
      },
      "description": {
        "default": "",
        "type": "string"
      },
      "editedParameterSchemaJson": {
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "outputSchemaJson": {
        "type": [
          "null",
          "string"
        ]
      },
      "parameterSchemaJson": {
        "default": "{}",
        "type": "string"
      },
      "platform": {
        "$ref": "#/components/schemas/AutomationScriptPlatform"
      },
      "reviewedScriptAiVersion": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationScriptVersionInput"
          }
        ]
      },
      "successExitCodesJson": {
        "default": "[0]",
        "type": "string"
      },
      "suggestedOutcomeNotificationJson": {
        "type": [
          "null",
          "string"
        ]
      },
      "timeoutSeconds": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "versionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "versionId",
      "name",
      "companyId",
      "platform",
      "content",
      "timeoutSeconds"
    ],
    "type": "object"
  },
  "AutomationAlertRoutingInput": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "enabled": {
        "default": false,
        "type": "boolean"
      },
      "exceptionMonitorIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "expectedRevision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "kind": {
        "$ref": "#/components/schemas/AutomationAlertRoutingKind"
      },
      "name": {
        "type": "string"
      },
      "parentDeviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "parentFreshnessMinutes": {
        "default": 15,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "parentMonitorId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "quietEndMinute": {
        "default": 360,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "quietStartMinute": {
        "default": 1320,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "siteId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "timeZoneId": {
        "default": "Etc/UTC",
        "type": "string"
      }
    },
    "required": [
      "id",
      "expectedRevision",
      "name",
      "kind",
      "companyId"
    ],
    "type": "object"
  },
  "AutomationAlertRoutingKind": {
    "type": "integer",
    "x-enumNames": [
      "QuietHours",
      "ParentDependency"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "AutomationAssistantApplicableItem": {
    "properties": {
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "inherited": {
        "type": "boolean"
      },
      "kind": {
        "type": "string"
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "kind",
      "inherited"
    ],
    "type": "object"
  },
  "AutomationAssistantEstimate": {
    "properties": {
      "chargeMode": {
        "type": "string"
      },
      "expiresAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "maximumChargeUsd": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "maximumProviderCostUsd": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "model": {
        "type": "string"
      },
      "provider": {
        "type": "string"
      },
      "token": {
        "type": "string"
      }
    },
    "required": [
      "token",
      "maximumChargeUsd",
      "provider",
      "model",
      "chargeMode",
      "expiresAtUtc"
    ],
    "type": "object"
  },
  "AutomationAssistantExecution": {
    "properties": {
      "canRetry": {
        "type": "boolean"
      },
      "completedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "createdAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "runId": {
        "format": "uuid",
        "type": "string"
      },
      "state": {
        "type": "string"
      }
    },
    "required": [
      "runId",
      "state",
      "createdAtUtc",
      "completedAtUtc",
      "canRetry"
    ],
    "type": "object"
  },
  "AutomationAssistantHistoryItem": {
    "properties": {
      "createdAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "status": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "status",
      "createdAtUtc"
    ],
    "type": "object"
  },
  "AutomationAssistantProposal": {
    "properties": {
      "actionsJson": {
        "type": [
          "null",
          "string"
        ]
      },
      "alertRoutingJson": {
        "type": [
          "null",
          "string"
        ]
      },
      "checkIntervalMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "conditionJson": {
        "type": [
          "null",
          "string"
        ]
      },
      "explanation": {
        "type": "string"
      },
      "failureThreshold": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "kind": {
        "type": "string"
      },
      "monitorSeverity": {
        "$ref": "#/components/schemas/AutomationNotificationSeverity"
      },
      "name": {
        "type": "string"
      },
      "patchKbArticle": {
        "type": [
          "null",
          "string"
        ]
      },
      "patchPolicyJson": {
        "type": [
          "null",
          "string"
        ]
      },
      "periodDays": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "recoveryThreshold": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "reportCapabilityId": {
        "type": [
          "null",
          "string"
        ]
      },
      "softwarePreview": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationSoftwarePreview"
          }
        ]
      },
      "triggerJson": {
        "type": [
          "null",
          "string"
        ]
      },
      "windowsUpdatePolicyJson": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "kind",
      "name",
      "explanation",
      "conditionJson",
      "actionsJson",
      "triggerJson",
      "checkIntervalMinutes",
      "failureThreshold",
      "recoveryThreshold",
      "reportCapabilityId",
      "periodDays"
    ],
    "type": "object"
  },
  "AutomationAssistantRequest": {
    "properties": {
      "approvedScriptVersionIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "execute": {
        "type": "boolean"
      },
      "existingReportId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "existingReportRevision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "recipients": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "request": {
        "type": "string"
      },
      "restriction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationTargetRestriction"
          }
        ]
      },
      "safety": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationRolloutSafety"
          }
        ]
      },
      "scope": {
        "$ref": "#/components/schemas/AutomationHierarchyScope"
      },
      "secureCredentials": {
        "additionalProperties": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "object"
        ]
      },
      "smartGroupIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "submissionKey": {
        "type": "string"
      },
      "timeZoneId": {
        "type": "string"
      }
    },
    "required": [
      "request",
      "scope",
      "recipients",
      "timeZoneId",
      "execute",
      "submissionKey"
    ],
    "type": "object"
  },
  "AutomationAssistantResult": {
    "properties": {
      "actionPreview": {
        "items": {
          "$ref": "#/components/schemas/AutomationSimpleActionInput"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "actualChargeUsd": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "billingStatus": {
        "type": [
          "null",
          "string"
        ]
      },
      "execution": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationAssistantExecution"
          }
        ]
      },
      "failureCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "nextOccurrences": {
        "items": {
          "format": "date-time",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "observationPreview": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/MonitorConditionPreview"
          }
        ]
      },
      "preview": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationSimpleScopePreview"
          }
        ]
      },
      "proposal": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationAssistantProposal"
          }
        ]
      },
      "providerCostUsd": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "restriction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationTargetRestriction"
          }
        ]
      },
      "resultId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "resultKind": {
        "type": [
          "null",
          "string"
        ]
      },
      "safety": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationRolloutSafety"
          }
        ]
      },
      "scheduleTimeZone": {
        "type": [
          "null",
          "string"
        ]
      },
      "search": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AssetSearchResult"
          }
        ]
      },
      "status": {
        "type": "string"
      },
      "targetScope": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationHierarchyScope"
          }
        ]
      }
    },
    "required": [
      "id",
      "status",
      "proposal",
      "resultId",
      "resultKind",
      "failureCode"
    ],
    "type": "object"
  },
  "AutomationAssistantSavedAction": {
    "properties": {
      "name": {
        "type": "string"
      },
      "platform": {
        "$ref": "#/components/schemas/AutomationScriptPlatform"
      },
      "scriptVersionId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "scriptVersionId",
      "name",
      "platform"
    ],
    "type": "object"
  },
  "AutomationAssistantTargetContext": {
    "properties": {
      "existing": {
        "items": {
          "$ref": "#/components/schemas/AutomationAssistantApplicableItem"
        },
        "type": "array"
      },
      "name": {
        "type": "string"
      },
      "preview": {
        "$ref": "#/components/schemas/AutomationSimpleScopePreview"
      },
      "restriction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationTargetRestriction"
          }
        ]
      },
      "tags": {
        "items": {
          "$ref": "#/components/schemas/AutomationTagListItem"
        },
        "type": "array"
      }
    },
    "required": [
      "name",
      "preview",
      "restriction",
      "tags",
      "existing"
    ],
    "type": "object"
  },
  "AutomationAttemptState": {
    "type": "integer",
    "x-enumNames": [
      "Pending",
      "Dispatching",
      "Accepted",
      "Running",
      "Succeeded",
      "Failed",
      "TimedOut",
      "Cancelled",
      "Interrupted",
      "Indeterminate",
      "Rejected"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10
    ]
  },
  "AutomationAttemptView": {
    "properties": {
      "attemptNumber": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "completedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "createdAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "error": {
        "type": [
          "null",
          "string"
        ]
      },
      "errorCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "exitCode": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "operationId": {
        "format": "uuid",
        "type": "string"
      },
      "state": {
        "$ref": "#/components/schemas/AutomationAttemptState"
      }
    },
    "required": [
      "operationId",
      "attemptNumber",
      "state",
      "exitCode",
      "errorCode",
      "error",
      "createdAtUtc",
      "completedAtUtc"
    ],
    "type": "object"
  },
  "AutomationBaselinePackView": {
    "properties": {
      "description": {
        "type": "string"
      },
      "installedCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "key": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "templateCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "templates": {
        "items": {
          "$ref": "#/components/schemas/AutomationBaselineTemplateView"
        },
        "type": "array"
      }
    },
    "required": [
      "key",
      "name",
      "description",
      "templateCount",
      "installedCount",
      "templates"
    ],
    "type": "object"
  },
  "AutomationBaselineTemplateView": {
    "properties": {
      "capabilityId": {
        "type": [
          "null",
          "string"
        ]
      },
      "checkIntervalMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "description": {
        "type": "string"
      },
      "failureThreshold": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "key": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "prerequisite": {
        "type": [
          "null",
          "string"
        ]
      },
      "productVersion": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "readiness": {
        "$ref": "#/components/schemas/AutomationTemplateReadiness"
      },
      "recoveryThreshold": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "severity": {
        "$ref": "#/components/schemas/AutomationNotificationSeverity"
      }
    },
    "required": [
      "key",
      "name",
      "description",
      "checkIntervalMinutes",
      "failureThreshold",
      "recoveryThreshold",
      "severity",
      "readiness",
      "prerequisite",
      "productVersion",
      "capabilityId"
    ],
    "type": "object"
  },
  "AutomationCompanyScopeView": {
    "properties": {
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "name"
    ],
    "type": "object"
  },
  "AutomationConditionKind": {
    "type": "integer",
    "x-enumNames": [
      "All",
      "Any",
      "Not",
      "Predicate"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3
    ]
  },
  "AutomationConditionNode": {
    "properties": {
      "children": {
        "items": {
          "$ref": "#/components/schemas/AutomationConditionNode"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "kind": {
        "$ref": "#/components/schemas/AutomationConditionKind"
      },
      "operator": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationConditionOperator"
          }
        ]
      },
      "path": {
        "type": [
          "null",
          "string"
        ]
      },
      "schemaVersion": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "value": {}
    },
    "required": [
      "kind"
    ],
    "type": "object"
  },
  "AutomationConditionOperator": {
    "type": "integer",
    "x-enumNames": [
      "Equal",
      "NotEqual",
      "GreaterThan",
      "GreaterThanOrEqual",
      "LessThan",
      "LessThanOrEqual",
      "Contains",
      "NotContains",
      "StartsWith",
      "EndsWith",
      "In",
      "NotIn",
      "Exists",
      "NotExists",
      "OlderThan",
      "NewerThan",
      "CountEqual",
      "CountGreaterThan",
      "CountLessThan",
      "Changed",
      "ChangedFrom",
      "ChangedTo",
      "ServiceMatches",
      "ServiceMissing",
      "SoftwareMatches",
      "DriveMatches"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11,
      12,
      13,
      14,
      15,
      16,
      17,
      18,
      19,
      20,
      21,
      22,
      23,
      24,
      25
    ]
  },
  "AutomationDeviceAction": {
    "properties": {
      "force": {
        "default": false,
        "type": "boolean"
      },
      "includeComponentStore": {
        "default": false,
        "type": "boolean"
      },
      "kind": {
        "$ref": "#/components/schemas/AutomationDeviceActionKind"
      },
      "linuxMaintenanceAction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/LinuxMaintenanceAction"
          }
        ]
      },
      "message": {
        "type": [
          "null",
          "string"
        ]
      },
      "schemaVersion": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "serviceAction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ServiceAction"
          }
        ]
      },
      "serviceName": {
        "type": [
          "null",
          "string"
        ]
      },
      "software": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/SoftwareUninstallRequestDto"
          }
        ]
      },
      "softwareNameContains": {
        "type": [
          "null",
          "string"
        ]
      },
      "userName": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "kind"
    ],
    "type": "object"
  },
  "AutomationDeviceActionKind": {
    "type": "integer",
    "x-enumNames": [
      "RefreshFacts",
      "ControlService",
      "RestartDevice",
      "WindowsDiskCleanup",
      "LinuxMaintenance",
      "WakeDevice",
      "SendUserMessage",
      "UninstallSoftware"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7
    ]
  },
  "AutomationDeviceConnectivityPolicy": {
    "type": "integer",
    "x-enumNames": [
      "ConnectedOnly",
      "LeasedOffline"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "AutomationExcludedDevice": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceName": {
        "type": "string"
      },
      "reason": {
        "type": "string"
      }
    },
    "required": [
      "deviceId",
      "deviceName",
      "reason"
    ],
    "type": "object"
  },
  "AutomationExecutionLocation": {
    "type": "integer",
    "x-enumNames": [
      "RelayScheduled",
      "DeviceScheduled"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "AutomationFactValueType": {
    "type": "integer",
    "x-enumNames": [
      "String",
      "Boolean",
      "Integer",
      "Number",
      "Timestamp",
      "Duration",
      "Guid",
      "Collection",
      "Object"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8
    ]
  },
  "AutomationGroupDraft": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "condition": {
        "$ref": "#/components/schemas/AutomationConditionNode"
      },
      "conditionSummary": {
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "versionId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "companyId",
      "condition",
      "versionId",
      "conditionSummary"
    ],
    "type": "object"
  },
  "AutomationHierarchyScope": {
    "properties": {
      "id": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "kind": {
        "$ref": "#/components/schemas/AutomationScopeKind"
      }
    },
    "required": [
      "kind"
    ],
    "type": "object"
  },
  "AutomationMissedRunPolicy": {
    "type": "integer",
    "x-enumNames": [
      "Skip",
      "RunOnce",
      "RunEach"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "AutomationMonitorLifecycleState": {
    "type": "integer",
    "x-enumNames": [
      "Enabled",
      "Paused",
      "Archived"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "AutomationNotificationAction": {
    "properties": {
      "audience": {
        "$ref": "#/components/schemas/AutomationNotificationAudience"
      },
      "backupFailure": {
        "default": false,
        "type": "boolean"
      },
      "channels": {
        "$ref": "#/components/schemas/AutomationNotificationChannel"
      },
      "emailRecipients": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "message": {
        "type": "string"
      },
      "schemaVersion": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "severity": {
        "$ref": "#/components/schemas/AutomationNotificationSeverity"
      },
      "subject": {
        "type": "string"
      }
    },
    "required": [
      "subject",
      "message"
    ],
    "type": "object"
  },
  "AutomationNotificationAudience": {
    "default": 1,
    "type": "integer",
    "x-enumNames": [
      "None",
      "Owners",
      "Technicians",
      "Clients"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      4
    ]
  },
  "AutomationNotificationChannel": {
    "default": 1,
    "type": "integer",
    "x-enumNames": [
      "None",
      "InApp",
      "Email"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "AutomationNotificationSeverity": {
    "default": 1,
    "type": "integer",
    "x-enumNames": [
      "Information",
      "Warning",
      "Critical",
      "Recovery"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3
    ]
  },
  "AutomationOfflinePolicy": {
    "type": "integer",
    "x-enumNames": [
      "Skip",
      "WaitUntilOnline",
      "Fail"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "AutomationOutcomeMatch": {
    "type": "integer",
    "x-enumNames": [
      "Failure",
      "Success",
      "Always",
      "ResultMatches"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3
    ]
  },
  "AutomationOutcomeNotification": {
    "properties": {
      "expectedValue": {
        "type": [
          "null",
          "string"
        ]
      },
      "match": {
        "$ref": "#/components/schemas/AutomationOutcomeMatch"
      },
      "notification": {
        "$ref": "#/components/schemas/AutomationNotificationAction"
      },
      "resultProperty": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "match",
      "notification"
    ],
    "type": "object"
  },
  "AutomationOverlapPolicy": {
    "type": "integer",
    "x-enumNames": [
      "Skip",
      "QueueOne",
      "Allow"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "AutomationPackageEntry": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "manifest": {
        "$ref": "#/components/schemas/AutomationPackageManifest"
      },
      "name": {
        "type": "string"
      },
      "revision": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "scriptId": {
        "format": "uuid",
        "type": "string"
      },
      "versionId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "scriptId",
      "versionId",
      "companyId",
      "name",
      "revision",
      "manifest"
    ],
    "type": "object"
  },
  "AutomationPackageManifest": {
    "properties": {
      "arguments": {
        "default": "",
        "type": "string"
      },
      "downloadUrl": {
        "type": "string"
      },
      "installerKind": {
        "default": "Msi",
        "type": "string"
      },
      "licenseApproved": {
        "default": false,
        "type": "boolean"
      },
      "productName": {
        "type": "string"
      },
      "rebootSuppressionConfirmed": {
        "default": false,
        "type": "boolean"
      },
      "redirectHosts": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "releasedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "sha256": {
        "type": "string"
      },
      "signerThumbprint": {
        "type": [
          "null",
          "string"
        ]
      },
      "upgradeFromVersions": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "version": {
        "type": "string"
      }
    },
    "required": [
      "productName",
      "version",
      "downloadUrl",
      "sha256"
    ],
    "type": "object"
  },
  "AutomationPackageSave": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "expectedVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "manifest": {
        "$ref": "#/components/schemas/AutomationPackageManifest"
      },
      "name": {
        "type": "string"
      },
      "scriptId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "scriptId",
      "expectedVersionId",
      "companyId",
      "name",
      "manifest"
    ],
    "type": "object"
  },
  "AutomationPatchApprovalState": {
    "type": "integer",
    "x-enumNames": [
      "Unapproved",
      "Approved",
      "Denied"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "AutomationPayloadKind": {
    "type": "integer",
    "x-enumNames": [
      "FactContext",
      "ExecutionRequest",
      "StandardOutput",
      "StandardError",
      "StructuredOutput"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "AutomationReportScheduleInput": {
    "properties": {
      "audience": {
        "$ref": "#/components/schemas/AutomationNotificationAudience"
      },
      "capabilityId": {
        "type": "string"
      },
      "channels": {
        "$ref": "#/components/schemas/AutomationNotificationChannel"
      },
      "clearDeviceSelection": {
        "default": false,
        "type": "boolean"
      },
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "deviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "deviceIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "emailRecipients": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "enabled": {
        "type": "boolean"
      },
      "expectedRevision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "periodDays": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "schedule": {
        "$ref": "#/components/schemas/AutomationScheduleSpec"
      },
      "siteId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "capabilityId",
      "name",
      "companyId",
      "periodDays",
      "schedule",
      "audience",
      "channels",
      "enabled"
    ],
    "type": "object"
  },
  "AutomationReportScheduleView": {
    "properties": {
      "audience": {
        "$ref": "#/components/schemas/AutomationNotificationAudience"
      },
      "capabilityId": {
        "type": "string"
      },
      "channels": {
        "$ref": "#/components/schemas/AutomationNotificationChannel"
      },
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "deviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "deviceIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "emailRecipients": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "enabled": {
        "type": "boolean"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "lastDeliveredAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "nextDueAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "periodDays": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "revision": {
        "default": 0,
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "schedule": {
        "$ref": "#/components/schemas/AutomationScheduleSpec"
      },
      "siteId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "templateName": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "capabilityId",
      "templateName",
      "name",
      "companyId",
      "periodDays",
      "schedule",
      "audience",
      "channels",
      "enabled",
      "nextDueAtUtc",
      "lastDeliveredAtUtc"
    ],
    "type": "object"
  },
  "AutomationResultReportingMode": {
    "type": "integer",
    "x-enumNames": [
      "Detailed",
      "FailuresAndRollups"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "AutomationRmmReportView": {
    "properties": {
      "acknowledgedAlertCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "antivirusDisabledCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "bitLockerDisabledCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "criticalAlertCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "deviceCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "enabledMonitorCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "failingAssignmentCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "firewallDisabledCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "generatedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "healthyAssignmentCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "missingCriticalPatchDeviceCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "onlineDeviceCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "openAlertCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "pausedMonitorCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "pendingRebootCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "staleFactDeviceCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "unknownAssignmentCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "generatedAtUtc",
      "deviceCount",
      "onlineDeviceCount",
      "enabledMonitorCount",
      "pausedMonitorCount",
      "healthyAssignmentCount",
      "failingAssignmentCount",
      "unknownAssignmentCount",
      "openAlertCount",
      "acknowledgedAlertCount",
      "criticalAlertCount",
      "antivirusDisabledCount",
      "firewallDisabledCount",
      "bitLockerDisabledCount",
      "pendingRebootCount",
      "missingCriticalPatchDeviceCount",
      "staleFactDeviceCount"
    ],
    "type": "object"
  },
  "AutomationRolloutSafety": {
    "properties": {
      "dependencyDeviceIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "dependencyHealthyCondition": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationConditionNode"
          }
        ]
      },
      "healthyCondition": {
        "$ref": "#/components/schemas/AutomationConditionNode"
      },
      "healthyForSeconds": {
        "default": 60,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "maximumEvidenceAgeSeconds": {
        "default": 300,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "minimumHealthyPeers": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "oneDeviceAtATime": {
        "type": "boolean"
      },
      "verificationTimeoutMinutes": {
        "default": 15,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "oneDeviceAtATime",
      "healthyCondition"
    ],
    "type": "object"
  },
  "AutomationRunDetail": {
    "properties": {
      "completedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "createdAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "hasMore": {
        "type": "boolean"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "offset": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "state": {
        "$ref": "#/components/schemas/AutomationRunState"
      },
      "targetCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "targets": {
        "items": {
          "$ref": "#/components/schemas/AutomationTargetView"
        },
        "type": "array"
      },
      "terminalSummary": {
        "type": [
          "null",
          "string"
        ]
      },
      "terminalTargetCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "triggerSnapshotJson": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "state",
      "triggerSnapshotJson",
      "targetCount",
      "terminalTargetCount",
      "createdAtUtc",
      "completedAtUtc",
      "terminalSummary",
      "targets",
      "offset",
      "hasMore"
    ],
    "type": "object"
  },
  "AutomationRunPayloadView": {
    "properties": {
      "content": {
        "type": "string"
      },
      "createdAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "kind": {
        "$ref": "#/components/schemas/AutomationPayloadKind"
      }
    },
    "required": [
      "kind",
      "content",
      "createdAtUtc"
    ],
    "type": "object"
  },
  "AutomationRunState": {
    "type": "integer",
    "x-enumNames": [
      "Materializing",
      "Queued",
      "Running",
      "Succeeded",
      "PartiallySucceeded",
      "Failed",
      "Skipped",
      "Cancelled",
      "Indeterminate"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8
    ]
  },
  "AutomationScheduleKind": {
    "type": "integer",
    "x-enumNames": [
      "Once",
      "Interval",
      "Daily",
      "Weekdays",
      "Weekly",
      "Monthly",
      "Cron"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6
    ]
  },
  "AutomationScheduleSpec": {
    "properties": {
      "cron": {
        "type": [
          "null",
          "string"
        ]
      },
      "dayOfMonth": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "dayOfWeek": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/DayOfWeek"
          }
        ]
      },
      "intervalMinutes": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "kind": {
        "$ref": "#/components/schemas/AutomationScheduleKind"
      },
      "localDateTime": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "localTime": {
        "format": "time",
        "type": [
          "null",
          "string"
        ]
      },
      "schemaVersion": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "timeZoneId": {
        "type": "string"
      }
    },
    "required": [
      "kind",
      "timeZoneId"
    ],
    "type": "object"
  },
  "AutomationScopeKind": {
    "type": "integer",
    "x-enumNames": [
      "Organization",
      "Company",
      "Site",
      "Device"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3
    ]
  },
  "AutomationScriptPlatform": {
    "type": "integer",
    "x-enumNames": [
      "WindowsPowerShell51",
      "LinuxBash",
      "MacOsZsh",
      "WindowsCmd",
      "WindowsPowerShell7",
      "LinuxPowerShell7",
      "MacOsPowerShell7",
      "WindowsPython3",
      "LinuxPython3",
      "MacOsPython3"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9
    ]
  },
  "AutomationScriptSource": {
    "default": 0,
    "type": "integer",
    "x-enumNames": [
      "Human",
      "ScriptAi",
      "Inline",
      "RmmAssistant"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3
    ]
  },
  "AutomationScriptVersionInput": {
    "properties": {
      "changeReason": {
        "default": "",
        "type": "string"
      },
      "content": {
        "type": "string"
      },
      "outputSchemaJson": {
        "default": "{}",
        "type": "string"
      },
      "parameterSchemaJson": {
        "default": "{}",
        "type": "string"
      },
      "platform": {
        "$ref": "#/components/schemas/AutomationScriptPlatform"
      },
      "scriptAiRunId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "source": {
        "$ref": "#/components/schemas/AutomationScriptSource"
      },
      "successExitCodes": {
        "items": {
          "format": "int32",
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ]
        },
        "type": [
          "null",
          "array"
        ]
      },
      "suggestedOutcomeNotificationJson": {
        "type": [
          "null",
          "string"
        ]
      },
      "timeoutSeconds": {
        "default": 600,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "platform",
      "content"
    ],
    "type": "object"
  },
  "AutomationSimpleActionInput": {
    "properties": {
      "audience": {
        "$ref": "#/components/schemas/AutomationNotificationAudience"
      },
      "backupFailure": {
        "default": false,
        "type": "boolean"
      },
      "channels": {
        "$ref": "#/components/schemas/AutomationNotificationChannel"
      },
      "checkBody": {
        "type": [
          "null",
          "string"
        ]
      },
      "content": {
        "default": "",
        "type": "string"
      },
      "emailRecipients": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "force": {
        "default": false,
        "type": "boolean"
      },
      "includeComponentStore": {
        "default": false,
        "type": "boolean"
      },
      "kind": {
        "$ref": "#/components/schemas/AutomationSimpleActionKind"
      },
      "linuxMaintenanceAction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/LinuxMaintenanceAction"
          }
        ]
      },
      "message": {
        "default": "",
        "type": "string"
      },
      "name": {
        "default": "",
        "type": "string"
      },
      "outcomeNotification": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationOutcomeNotification"
          }
        ]
      },
      "outputSchemaJson": {
        "default": "{}",
        "type": "string"
      },
      "platform": {
        "$ref": "#/components/schemas/AutomationScriptPlatform"
      },
      "recipeId": {
        "type": [
          "null",
          "string"
        ]
      },
      "recipeParameters": {
        "additionalProperties": {
          "type": "string"
        },
        "type": [
          "null",
          "object"
        ]
      },
      "resolveSoftwareAtRun": {
        "default": false,
        "type": "boolean"
      },
      "scriptVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "serviceAction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ServiceAction"
          }
        ]
      },
      "serviceName": {
        "type": [
          "null",
          "string"
        ]
      },
      "severity": {
        "$ref": "#/components/schemas/AutomationNotificationSeverity"
      },
      "software": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/SoftwareUninstallRequestDto"
          }
        ]
      },
      "subject": {
        "default": "",
        "type": "string"
      },
      "timeoutSeconds": {
        "default": 600,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "userName": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "type": "object"
  },
  "AutomationSimpleActionKind": {
    "default": 0,
    "type": "integer",
    "x-enumNames": [
      "Script",
      "Notification",
      "RefreshFacts",
      "ControlService",
      "RestartDevice",
      "WindowsDiskCleanup",
      "LinuxMaintenance",
      "WakeDevice",
      "SendUserMessage",
      "UninstallSoftware"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9
    ]
  },
  "AutomationSimpleMonitorDraft": {
    "properties": {
      "checkIntervalMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "condition": {
        "$ref": "#/components/schemas/AutomationConditionNode"
      },
      "description": {
        "type": "string"
      },
      "failureActions": {
        "items": {
          "$ref": "#/components/schemas/AutomationSimpleActionInput"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "failureThreshold": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "recoveryActions": {
        "items": {
          "$ref": "#/components/schemas/AutomationSimpleActionInput"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "recoveryThreshold": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "restriction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationTargetRestriction"
          }
        ]
      },
      "scope": {
        "$ref": "#/components/schemas/AutomationHierarchyScope"
      },
      "severity": {
        "$ref": "#/components/schemas/AutomationNotificationSeverity"
      },
      "smartGroupIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "versionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "name",
      "description",
      "scope",
      "condition",
      "checkIntervalMinutes",
      "failureThreshold",
      "recoveryThreshold",
      "severity"
    ],
    "type": "object"
  },
  "AutomationSimpleMonitorInput": {
    "properties": {
      "checkIntervalMinutes": {
        "default": 5,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "condition": {
        "$ref": "#/components/schemas/AutomationConditionNode"
      },
      "description": {
        "type": "string"
      },
      "enable": {
        "default": false,
        "type": "boolean"
      },
      "expectedVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "failureActions": {
        "items": {
          "$ref": "#/components/schemas/AutomationSimpleActionInput"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "failureThreshold": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "recoveryActions": {
        "items": {
          "$ref": "#/components/schemas/AutomationSimpleActionInput"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "recoveryThreshold": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "restriction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationTargetRestriction"
          }
        ]
      },
      "scope": {
        "$ref": "#/components/schemas/AutomationHierarchyScope"
      },
      "severity": {
        "$ref": "#/components/schemas/AutomationNotificationSeverity"
      },
      "smartGroupIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      }
    },
    "required": [
      "name",
      "description",
      "scope",
      "condition"
    ],
    "type": "object"
  },
  "AutomationSimpleScopePreview": {
    "properties": {
      "eligibleDevices": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "eligibleSample": {
        "items": {
          "$ref": "#/components/schemas/AutomationTargetPreviewItem"
        },
        "type": "array"
      },
      "excludedDevices": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "excludedSample": {
        "items": {
          "$ref": "#/components/schemas/AutomationExcludedDevice"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "totalDevices": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "totalDevices",
      "eligibleDevices",
      "excludedDevices",
      "eligibleSample"
    ],
    "type": "object"
  },
  "AutomationSimpleTriggerInput": {
    "properties": {
      "cron": {
        "type": [
          "null",
          "string"
        ]
      },
      "dayOfMonth": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "dayOfWeek": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/DayOfWeek"
          }
        ]
      },
      "detailEquals": {
        "type": [
          "null",
          "string"
        ]
      },
      "factPath": {
        "type": [
          "null",
          "string"
        ]
      },
      "intervalMinutes": {
        "default": 60,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "kind": {
        "$ref": "#/components/schemas/AutomationSimpleTriggerKind"
      },
      "localDateTime": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "localTime": {
        "format": "time",
        "type": [
          "null",
          "string"
        ]
      },
      "timeZoneId": {
        "default": "Etc/UTC",
        "type": "string"
      }
    },
    "required": [
      "kind"
    ],
    "type": "object"
  },
  "AutomationSimpleTriggerKind": {
    "type": "integer",
    "x-enumNames": [
      "Once",
      "EveryMinutes",
      "Daily",
      "Weekdays",
      "Weekly",
      "Monthly",
      "DeviceOnline",
      "DeviceOffline",
      "DeviceBooted",
      "FactsChanged",
      "UserLogon",
      "UserLogoff",
      "SessionLocked",
      "SessionUnlocked",
      "RdpConnected",
      "RdpDisconnected",
      "MachineShuttingDown",
      "MachinePoweredOn",
      "AgentServiceStarted",
      "AgentServiceStopped",
      "MachineSuspending",
      "MachineResumed",
      "Cron"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11,
      12,
      13,
      14,
      15,
      16,
      17,
      18,
      19,
      20,
      21,
      22
    ]
  },
  "AutomationSmartGroupListItem": {
    "properties": {
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "version": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "name",
      "version",
      "updatedAtUtc"
    ],
    "type": "object"
  },
  "AutomationSoftwareMatch": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceName": {
        "type": "string"
      },
      "product": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/SoftwareUninstallRequestDto"
          }
        ]
      },
      "state": {
        "type": "string"
      }
    },
    "required": [
      "deviceId",
      "deviceName",
      "state",
      "product"
    ],
    "type": "object"
  },
  "AutomationSoftwarePreview": {
    "properties": {
      "absent": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "blocked": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "matched": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "observedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "offset": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "rows": {
        "items": {
          "$ref": "#/components/schemas/AutomationSoftwareMatch"
        },
        "type": "array"
      },
      "totalDevices": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "totalDevices",
      "matched",
      "absent",
      "blocked",
      "rows",
      "offset",
      "observedAtUtc"
    ],
    "type": "object"
  },
  "AutomationState": {
    "type": "integer",
    "x-enumNames": [
      "Draft",
      "Enabled",
      "Paused",
      "Archived"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3
    ]
  },
  "AutomationStepFailurePolicy": {
    "default": 0,
    "type": "integer",
    "x-enumNames": [
      "Stop",
      "Continue",
      "Retry"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "AutomationStepState": {
    "type": "integer",
    "x-enumNames": [
      "Pending",
      "Waiting",
      "Dispatching",
      "Running",
      "Succeeded",
      "Failed",
      "Skipped",
      "TimedOut",
      "CancelRequested",
      "Cancelled",
      "Indeterminate"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10
    ]
  },
  "AutomationStepView": {
    "properties": {
      "attempts": {
        "items": {
          "$ref": "#/components/schemas/AutomationAttemptView"
        },
        "type": "array"
      },
      "conditionResultJson": {
        "type": [
          "null",
          "string"
        ]
      },
      "error": {
        "type": [
          "null",
          "string"
        ]
      },
      "errorCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "nodeId": {
        "type": "string"
      },
      "nodeType": {
        "$ref": "#/components/schemas/AutomationWorkflowNodeType"
      },
      "outputs": {
        "items": {
          "$ref": "#/components/schemas/AutomationRunPayloadView"
        },
        "type": "array"
      },
      "scriptVersion": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "scriptVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "state": {
        "$ref": "#/components/schemas/AutomationStepState"
      },
      "structuredOutputJson": {
        "type": [
          "null",
          "string"
        ]
      },
      "timeoutSeconds": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "nodeId",
      "nodeType",
      "state",
      "errorCode",
      "error",
      "attempts",
      "outputs"
    ],
    "type": "object"
  },
  "AutomationTagListItem": {
    "properties": {
      "colour": {
        "type": [
          "null",
          "string"
        ]
      },
      "deviceCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "colour",
      "deviceCount"
    ],
    "type": "object"
  },
  "AutomationTargetPreviewItem": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "companyName": {
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceName": {
        "type": "string"
      },
      "factsUpdatedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "platform": {
        "type": "string"
      }
    },
    "required": [
      "deviceId",
      "deviceName",
      "companyId",
      "companyName",
      "platform",
      "factsUpdatedAtUtc"
    ],
    "type": "object"
  },
  "AutomationTargetRestriction": {
    "properties": {
      "deviceIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "operatingSystem": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/OsKind"
          }
        ]
      },
      "tagId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "type": "object"
  },
  "AutomationTargetSpec": {
    "properties": {
      "deviceIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "intersectSmartGroupsWithScope": {
        "default": false,
        "type": "boolean"
      },
      "operatingSystems": {
        "items": {
          "$ref": "#/components/schemas/OsKind"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "restriction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationTargetRestriction"
          }
        ]
      },
      "schemaVersion": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "scope": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationHierarchyScope"
          }
        ]
      },
      "smartGroupIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "tagIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      }
    },
    "type": "object"
  },
  "AutomationTargetState": {
    "type": "integer",
    "x-enumNames": [
      "Queued",
      "WaitingForDevice",
      "Running",
      "Succeeded",
      "Failed",
      "Skipped",
      "CancelRequested",
      "Cancelled",
      "Indeterminate"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8
    ]
  },
  "AutomationTargetView": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceName": {
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "state": {
        "$ref": "#/components/schemas/AutomationTargetState"
      },
      "steps": {
        "items": {
          "$ref": "#/components/schemas/AutomationStepView"
        },
        "type": "array"
      },
      "terminalSummary": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "deviceId",
      "deviceName",
      "state",
      "terminalSummary",
      "steps"
    ],
    "type": "object"
  },
  "AutomationTemplateReadiness": {
    "type": "integer",
    "x-enumNames": [
      "ReadyNow",
      "CollectorRequired",
      "IntegrationRequired",
      "Future"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3
    ]
  },
  "AutomationTriggerInput": {
    "properties": {
      "configurationJson": {
        "type": "string"
      },
      "cooldownSeconds": {
        "default": 300,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "debounceSeconds": {
        "default": 60,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "dependencyPathsJson": {
        "default": "[]",
        "type": "string"
      },
      "enabled": {
        "default": true,
        "type": "boolean"
      },
      "timeZoneId": {
        "default": "Etc/UTC",
        "type": "string"
      },
      "type": {
        "$ref": "#/components/schemas/AutomationTriggerType"
      }
    },
    "required": [
      "type",
      "configurationJson"
    ],
    "type": "object"
  },
  "AutomationTriggerType": {
    "type": "integer",
    "x-enumNames": [
      "Manual",
      "Once",
      "Interval",
      "Calendar",
      "Cron",
      "DeviceEvent",
      "FactEvent",
      "Api"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7
    ]
  },
  "AutomationTruthValue": {
    "type": "integer",
    "x-enumNames": [
      "False",
      "True",
      "Unknown"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "AutomationUnknownPolicy": {
    "type": "integer",
    "x-enumNames": [
      "Skip",
      "Fail"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "AutomationVersionInput": {
    "properties": {
      "canaryPolicyJson": {
        "default": "{}",
        "type": "string"
      },
      "deviceConnectivityPolicy": {
        "$ref": "#/components/schemas/AutomationDeviceConnectivityPolicy"
      },
      "executionLocation": {
        "$ref": "#/components/schemas/AutomationExecutionLocation"
      },
      "maximumOfflineLeaseMinutes": {
        "default": 60,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "missedRunPolicy": {
        "$ref": "#/components/schemas/AutomationMissedRunPolicy"
      },
      "offlineDeadlineMinutes": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "offlinePolicy": {
        "$ref": "#/components/schemas/AutomationOfflinePolicy"
      },
      "overlapPolicy": {
        "$ref": "#/components/schemas/AutomationOverlapPolicy"
      },
      "precondition": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationConditionNode"
          }
        ]
      },
      "resultReportingMode": {
        "$ref": "#/components/schemas/AutomationResultReportingMode"
      },
      "spreadWindowSeconds": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "target": {
        "$ref": "#/components/schemas/AutomationTargetSpec"
      },
      "triggers": {
        "items": {
          "$ref": "#/components/schemas/AutomationTriggerInput"
        },
        "type": "array"
      },
      "unknownPolicy": {
        "$ref": "#/components/schemas/AutomationUnknownPolicy"
      },
      "workflow": {
        "$ref": "#/components/schemas/AutomationWorkflowDefinition"
      }
    },
    "required": [
      "target",
      "precondition",
      "workflow",
      "triggers"
    ],
    "type": "object"
  },
  "AutomationWorkflowDefinition": {
    "properties": {
      "entryNodeId": {
        "type": "string"
      },
      "nodes": {
        "items": {
          "$ref": "#/components/schemas/AutomationWorkflowNode"
        },
        "type": "array"
      },
      "omitInventory": {
        "default": false,
        "type": "boolean"
      },
      "safety": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationRolloutSafety"
          }
        ]
      },
      "schemaVersion": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "entryNodeId",
      "nodes"
    ],
    "type": "object"
  },
  "AutomationWorkflowNode": {
    "properties": {
      "condition": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationConditionNode"
          }
        ]
      },
      "delaySeconds": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "deviceAction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationDeviceAction"
          }
        ]
      },
      "failurePolicy": {
        "$ref": "#/components/schemas/AutomationStepFailurePolicy"
      },
      "falseNodeId": {
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "type": "string"
      },
      "maximumAttempts": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "nextNodeId": {
        "type": [
          "null",
          "string"
        ]
      },
      "notification": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationNotificationAction"
          }
        ]
      },
      "outcomeNotification": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationOutcomeNotification"
          }
        ]
      },
      "retryDelaySeconds": {
        "default": 30,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "scriptVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "trueNodeId": {
        "type": [
          "null",
          "string"
        ]
      },
      "type": {
        "$ref": "#/components/schemas/AutomationWorkflowNodeType"
      }
    },
    "required": [
      "id",
      "type"
    ],
    "type": "object"
  },
  "AutomationWorkflowNodeType": {
    "type": "integer",
    "x-enumNames": [
      "Script",
      "Condition",
      "Delay",
      "Stop",
      "Notification",
      "DeviceAction"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5
    ]
  },
  "BaselineUsbAccess": {
    "default": 2,
    "type": "integer",
    "x-enumNames": [
      "Allow",
      "ReadOnly",
      "Block"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "BetaConnectionControlsDto": {
    "properties": {
      "agentRegion": {
        "type": [
          "null",
          "string"
        ]
      },
      "canMove": {
        "type": "boolean"
      },
      "moveToRegion": {
        "type": [
          "null",
          "string"
        ]
      },
      "unavailableReason": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "agentRegion",
      "moveToRegion",
      "canMove"
    ],
    "type": "object"
  },
  "BuiltInFieldDefinition": {
    "properties": {
      "key": {
        "type": "string"
      },
      "label": {
        "type": "string"
      },
      "scope": {
        "type": "string"
      },
      "type": {
        "type": "string"
      },
      "writable": {
        "type": "boolean"
      }
    },
    "required": [
      "scope",
      "key",
      "label",
      "writable",
      "type"
    ],
    "type": "object"
  },
  "CapabilitiesResponse": {
    "properties": {
      "apiVersion": {
        "type": "string"
      },
      "authenticationRequestsPerMinutePerIp": {
        "default": 10,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "capabilities": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "capabilityVersion": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "companyScoped": {
        "type": "boolean"
      },
      "compression": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "eventRetentionDays": {
        "default": 7,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "grants": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "maximumBatchSize": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "maximumFleetSoftwarePageSize": {
        "default": 10,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "maximumPageSize": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "maximumSyncDevices": {
        "default": 10000,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "permission": {
        "type": "string"
      },
      "requestsPerRollingMinute": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "supported": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "syncRetentionDays": {
        "default": 7,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "unsupported": {
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": [
      "apiVersion",
      "permission",
      "maximumBatchSize",
      "maximumPageSize",
      "requestsPerRollingMinute",
      "compression",
      "companyScoped",
      "unsupported"
    ],
    "type": "object"
  },
  "ClientReportArchiveItem": {
    "properties": {
      "generatedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "month": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "revision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "month",
      "generatedAtUtc",
      "revision"
    ],
    "type": "object"
  },
  "ClientReportConfiguration": {
    "properties": {
      "alerts": {
        "default": true,
        "type": "boolean"
      },
      "assets": {
        "default": true,
        "type": "boolean"
      },
      "businessName": {
        "type": "string"
      },
      "colour": {
        "type": "string"
      },
      "contact": {
        "type": "string"
      },
      "logo": {
        "type": [
          "null",
          "string"
        ]
      },
      "passwordAudits": {
        "default": true,
        "type": "boolean"
      },
      "patches": {
        "default": true,
        "type": "boolean"
      },
      "timeZoneId": {
        "type": "string"
      },
      "warranty": {
        "default": true,
        "type": "boolean"
      }
    },
    "required": [
      "businessName",
      "contact",
      "colour",
      "timeZoneId"
    ],
    "type": "object"
  },
  "ClientReportEvidence": {
    "properties": {
      "branding": {
        "$ref": "#/components/schemas/ClientReportConfiguration"
      },
      "customer": {
        "type": "string"
      },
      "fromUtc": {
        "format": "date-time",
        "type": "string"
      },
      "generatedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "month": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "sections": {
        "items": {
          "$ref": "#/components/schemas/ClientReportSection"
        },
        "type": "array"
      },
      "toUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "customer",
      "month",
      "fromUtc",
      "toUtc",
      "generatedAtUtc",
      "branding",
      "sections"
    ],
    "type": "object"
  },
  "ClientReportMetric": {
    "properties": {
      "label": {
        "type": "string"
      },
      "value": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "label",
      "value"
    ],
    "type": "object"
  },
  "ClientReportSection": {
    "properties": {
      "evidence": {
        "type": "string"
      },
      "metrics": {
        "items": {
          "$ref": "#/components/schemas/ClientReportMetric"
        },
        "type": "array"
      },
      "title": {
        "type": "string"
      }
    },
    "required": [
      "title",
      "evidence",
      "metrics"
    ],
    "type": "object"
  },
  "ClientReportSettingsView": {
    "properties": {
      "configuration": {
        "$ref": "#/components/schemas/ClientReportConfiguration"
      },
      "enabled": {
        "type": "boolean"
      },
      "revision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "configuration",
      "enabled",
      "revision"
    ],
    "type": "object"
  },
  "ClientReportView": {
    "properties": {
      "commentary": {
        "type": "string"
      },
      "evidence": {
        "$ref": "#/components/schemas/ClientReportEvidence"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "revision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "revision",
      "evidence",
      "commentary"
    ],
    "type": "object"
  },
  "ClipboardPayloadDto": {
    "properties": {
      "compressedText": {
        "format": "byte",
        "type": [
          "null",
          "string"
        ]
      },
      "compressedTextBase64": {
        "type": [
          "null",
          "string"
        ]
      },
      "imageBase64": {
        "type": [
          "null",
          "string"
        ]
      },
      "imageMimeType": {
        "type": [
          "null",
          "string"
        ]
      },
      "imagePng": {
        "format": "byte",
        "type": [
          "null",
          "string"
        ]
      },
      "isCompressed": {
        "type": "boolean"
      },
      "pasteAfterApply": {
        "default": true,
        "type": "boolean"
      },
      "requestId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "text": {
        "type": [
          "null",
          "string"
        ]
      },
      "typeAsKeystrokes": {
        "default": false,
        "type": "boolean"
      }
    },
    "required": [
      "text",
      "compressedTextBase64",
      "isCompressed"
    ],
    "type": "object"
  },
  "ClipboardResultDto": {
    "properties": {
      "compressedText": {
        "format": "byte",
        "type": [
          "null",
          "string"
        ]
      },
      "compressedTextBase64": {
        "type": [
          "null",
          "string"
        ]
      },
      "error": {
        "type": [
          "null",
          "string"
        ]
      },
      "imageBase64": {
        "type": [
          "null",
          "string"
        ]
      },
      "imageMimeType": {
        "type": [
          "null",
          "string"
        ]
      },
      "imagePng": {
        "format": "byte",
        "type": [
          "null",
          "string"
        ]
      },
      "success": {
        "type": "boolean"
      },
      "text": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "success",
      "text"
    ],
    "type": "object"
  },
  "CompanyDto": {
    "properties": {
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "isUnassigned": {
        "default": false,
        "type": "boolean"
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "name"
    ],
    "type": "object"
  },
  "CompanyResponse": {
    "properties": {
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "name"
    ],
    "type": "object"
  },
  "ConfigurationBaselineControl": {
    "type": "integer",
    "x-enumNames": [
      "Firewall",
      "BitLocker",
      "LocalAdministrators",
      "ScreenLock",
      "UsbStorage"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "ConfigurationBaselineInput": {
    "properties": {
      "description": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "policy": {
        "$ref": "#/components/schemas/ConfigurationBaselineSpec"
      },
      "precondition": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationConditionNode"
          }
        ]
      },
      "replacePrecondition": {
        "default": false,
        "type": "boolean"
      },
      "restriction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationTargetRestriction"
          }
        ]
      },
      "schedule": {
        "$ref": "#/components/schemas/AutomationSimpleTriggerInput"
      },
      "scope": {
        "$ref": "#/components/schemas/AutomationHierarchyScope"
      },
      "smartGroupIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "tagIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      }
    },
    "required": [
      "name",
      "description",
      "scope",
      "schedule",
      "policy"
    ],
    "type": "object"
  },
  "ConfigurationBaselineListItem": {
    "properties": {
      "description": {
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "policy": {
        "$ref": "#/components/schemas/ConfigurationBaselineSpec"
      },
      "precondition": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationConditionNode"
          }
        ]
      },
      "restriction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationTargetRestriction"
          }
        ]
      },
      "schedule": {
        "$ref": "#/components/schemas/AutomationSimpleTriggerInput"
      },
      "scope": {
        "$ref": "#/components/schemas/AutomationHierarchyScope"
      },
      "smartGroupIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "state": {
        "$ref": "#/components/schemas/AutomationState"
      },
      "tagIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "description",
      "state",
      "scope",
      "schedule",
      "policy",
      "updatedAtUtc"
    ],
    "type": "object"
  },
  "ConfigurationBaselineMode": {
    "default": 0,
    "type": "integer",
    "x-enumNames": [
      "Audit",
      "Enforce"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "ConfigurationBaselineSpec": {
    "properties": {
      "acknowledgeFirewallOff": {
        "default": false,
        "type": "boolean"
      },
      "control": {
        "$ref": "#/components/schemas/ConfigurationBaselineControl"
      },
      "firewallEnabled": {
        "default": true,
        "type": "boolean"
      },
      "firewallProfile": {
        "default": "All",
        "type": "string"
      },
      "mode": {
        "$ref": "#/components/schemas/ConfigurationBaselineMode"
      },
      "recoveryAccessConfirmed": {
        "default": false,
        "type": "boolean"
      },
      "recoveryAdministratorSid": {
        "type": [
          "null",
          "string"
        ]
      },
      "removeLocalUserSid": {
        "type": [
          "null",
          "string"
        ]
      },
      "schemaVersion": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "screenLockSeconds": {
        "default": 900,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "usbAccess": {
        "$ref": "#/components/schemas/BaselineUsbAccess"
      },
      "volume": {
        "default": "C:",
        "type": "string"
      }
    },
    "required": [
      "control"
    ],
    "type": "object"
  },
  "ConsoleOutputSliceDto": {
    "properties": {
      "end": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "reset": {
        "type": "boolean"
      },
      "shell": {
        "type": [
          "null",
          "string"
        ]
      },
      "start": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "tabId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "text": {
        "type": "string"
      },
      "truncated": {
        "type": "boolean"
      }
    },
    "required": [
      "shell",
      "tabId",
      "text",
      "start",
      "end",
      "truncated",
      "reset"
    ],
    "type": "object"
  },
  "ConsoleOutputSnapshotDto": {
    "properties": {
      "nextCursor": {
        "type": "string"
      },
      "output": {
        "items": {
          "$ref": "#/components/schemas/ConsoleOutputSliceDto"
        },
        "type": "array"
      },
      "snapshot": {
        "type": "boolean"
      },
      "truncated": {
        "type": "boolean"
      }
    },
    "required": [
      "output",
      "nextCursor",
      "truncated",
      "snapshot"
    ],
    "type": "object"
  },
  "ConsoleTabDto": {
    "properties": {
      "shell": {
        "type": "string"
      },
      "tabId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "tabId",
      "shell"
    ],
    "type": "object"
  },
  "CreateMaintenanceRequest": {
    "properties": {
      "endsAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "reason": {
        "type": "string"
      },
      "scope": {
        "type": "string"
      },
      "scopeId": {
        "format": "uuid",
        "type": "string"
      },
      "startsAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "scope",
      "scopeId",
      "startsAtUtc",
      "endsAtUtc",
      "reason"
    ],
    "type": "object"
  },
  "CustomFieldBatchRequest": {
    "properties": {
      "targets": {
        "items": {
          "$ref": "#/components/schemas/CustomFieldTarget"
        },
        "type": "array"
      }
    },
    "required": [
      "targets"
    ],
    "type": "object"
  },
  "CustomFieldResponse": {
    "properties": {
      "id": {
        "type": "string"
      },
      "key": {
        "type": "string"
      },
      "label": {
        "type": "string"
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "value": {
        "type": [
          "null",
          "string"
        ]
      },
      "version": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "writable": {
        "type": "boolean"
      }
    },
    "required": [
      "id",
      "key",
      "label",
      "writable",
      "value",
      "version",
      "updatedAtUtc"
    ],
    "type": "object"
  },
  "CustomFieldTarget": {
    "properties": {
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "scope": {
        "type": "string"
      }
    },
    "required": [
      "scope",
      "id"
    ],
    "type": "object"
  },
  "DayOfWeek": {
    "type": "integer",
    "x-enumNames": [
      "Sunday",
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday",
      "Saturday"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6
    ]
  },
  "DeliveryResponse": {
    "properties": {
      "attempts": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "deliveredAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "eventId": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "nextAttemptAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "statusCode": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "eventId",
      "attempts",
      "statusCode",
      "nextAttemptAtUtc",
      "deliveredAtUtc"
    ],
    "type": "object"
  },
  "DeviceAuditRowDto": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "companyName": {
        "type": "string"
      },
      "detail": {
        "type": [
          "null",
          "string"
        ]
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceName": {
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "kind": {
        "$ref": "#/components/schemas/AuditRowKind"
      },
      "occurredAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "receivedAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "id",
      "deviceId",
      "deviceName",
      "companyId",
      "companyName",
      "kind",
      "detail",
      "occurredAtUtc",
      "receivedAtUtc"
    ],
    "type": "object"
  },
  "DeviceAuditRowsPageDto": {
    "properties": {
      "rows": {
        "items": {
          "$ref": "#/components/schemas/DeviceAuditRowDto"
        },
        "type": "array"
      },
      "totalCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "rows",
      "totalCount"
    ],
    "type": "object"
  },
  "DeviceJobStatus": {
    "type": "integer",
    "x-enumNames": [
      "Pending",
      "Running",
      "Completed",
      "Failed",
      "Cancelled"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "DevicePatchResult": {
    "properties": {
      "installed": {
        "type": "boolean"
      },
      "outcome": {
        "type": "string"
      },
      "title": {
        "type": "string"
      }
    },
    "required": [
      "title",
      "outcome",
      "installed"
    ],
    "type": "object"
  },
  "DevicePatchRun": {
    "properties": {
      "completedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "patches": {
        "items": {
          "$ref": "#/components/schemas/DevicePatchResult"
        },
        "type": "array"
      },
      "policyName": {
        "type": "string"
      },
      "source": {
        "type": "string"
      },
      "startedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "state": {
        "type": "string"
      },
      "summary": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "policyName",
      "source",
      "state",
      "startedAtUtc",
      "completedAtUtc",
      "summary",
      "patches"
    ],
    "type": "object"
  },
  "DevicePatchStatusView": {
    "properties": {
      "approvalUnavailableReason": {
        "type": [
          "null",
          "string"
        ]
      },
      "approvals": {
        "additionalProperties": {
          "$ref": "#/components/schemas/PatchPolicyDecision"
        },
        "type": [
          "null",
          "object"
        ]
      },
      "canInstall": {
        "type": "boolean"
      },
      "companyName": {
        "type": "string"
      },
      "compliance": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/PatchComplianceFactDto"
          }
        ]
      },
      "deviceName": {
        "type": "string"
      },
      "hasMore": {
        "type": "boolean"
      },
      "history": {
        "items": {
          "$ref": "#/components/schemas/DevicePatchRun"
        },
        "type": "array"
      },
      "offset": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "policyStatus": {
        "type": [
          "null",
          "string"
        ]
      },
      "restartRequired": {
        "type": "boolean"
      },
      "thirdPartyInstallHistory": {
        "items": {
          "$ref": "#/components/schemas/ThirdPartyInstallHistoryItem"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "thirdPartyPatches": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ThirdPartyPatchDiscoverySnapshot"
          }
        ]
      }
    },
    "required": [
      "deviceName",
      "companyName",
      "compliance",
      "restartRequired",
      "canInstall",
      "history",
      "offset",
      "hasMore"
    ],
    "type": "object"
  },
  "DevicePerformanceMetricRollupDto": {
    "properties": {
      "average": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "last": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "maximum": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "minimum": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "sampleCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "sampleCount",
      "average",
      "minimum",
      "maximum",
      "last"
    ],
    "type": "object"
  },
  "DevicePerformanceRollupDto": {
    "properties": {
      "averageCpuUsagePercent": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "bucketStartUtc": {
        "format": "date-time",
        "type": "string"
      },
      "lastSampleAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "maximumCpuUsagePercent": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "metrics": {
        "additionalProperties": {
          "$ref": "#/components/schemas/DevicePerformanceMetricRollupDto"
        },
        "type": [
          "null",
          "object"
        ]
      },
      "minimumDiskFreePercent": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "sampleCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "bucketStartUtc",
      "sampleCount",
      "averageCpuUsagePercent",
      "maximumCpuUsagePercent"
    ],
    "type": "object"
  },
  "DeviceResponse": {
    "properties": {
      "agentVersion": {
        "type": [
          "null",
          "string"
        ]
      },
      "antivirusDefinitionsUpToDate": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "antivirusDefinitionsUpdatedAt": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "antivirusEnabled": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "antivirusProduct": {
        "type": [
          "null",
          "string"
        ]
      },
      "bootTimeUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceRole": {
        "type": [
          "null",
          "string"
        ]
      },
      "factsUpdatedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "friendlyName": {
        "type": [
          "null",
          "string"
        ]
      },
      "healthAlertCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "lastSeenAt": {
        "format": "date-time",
        "type": "string"
      },
      "loggedOnUser": {
        "type": [
          "null",
          "string"
        ]
      },
      "machineName": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "operatingSystemDetail": {
        "type": [
          "null",
          "string"
        ]
      },
      "os": {
        "type": "string"
      },
      "pendingRebootRequired": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "publicIpAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "siteId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "companyId",
      "siteId",
      "name",
      "friendlyName",
      "machineName",
      "os",
      "status",
      "lastSeenAt",
      "bootTimeUtc",
      "operatingSystemDetail",
      "agentVersion",
      "deviceRole",
      "publicIpAddress",
      "loggedOnUser",
      "antivirusProduct",
      "antivirusEnabled",
      "antivirusDefinitionsUpdatedAt",
      "antivirusDefinitionsUpToDate",
      "healthAlertCount",
      "pendingRebootRequired",
      "factsUpdatedAtUtc"
    ],
    "type": "object"
  },
  "DiscoveredNetworkDeviceDetail": {
    "properties": {
      "device": {
        "$ref": "#/components/schemas/DiscoveredNetworkDeviceListItem"
      },
      "identityCandidates": {
        "items": {
          "$ref": "#/components/schemas/DiscoveredNetworkDeviceListItem"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "isManagedSuppressed": {
        "type": "boolean"
      },
      "observerName": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "device",
      "observerName",
      "isManagedSuppressed"
    ],
    "type": "object"
  },
  "DiscoveredNetworkDeviceListItem": {
    "properties": {
      "archiveReason": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkDiscoveryArchiveReason"
          }
        ]
      },
      "archivedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "deviceType": {
        "$ref": "#/components/schemas/NetworkDeviceTypeClassification"
      },
      "deviceTypeOverride": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkDeviceType"
          }
        ]
      },
      "displayName": {
        "type": "string"
      },
      "evidence": {
        "$ref": "#/components/schemas/NetworkDiscoveryEvidence"
      },
      "firstSeenAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "freshnessStale": {
        "type": "boolean"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "identityAssignedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "identityCandidateCount": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "identityConflict": {
        "default": false,
        "type": "boolean"
      },
      "identityRetiredAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "ipAddress": {
        "type": "string"
      },
      "lastActiveArpReplyAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "lastActiveConfirmationEpochId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "lastConfirmationAttemptAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "lastConfirmationOutcome": {
        "$ref": "#/components/schemas/NetworkDiscoveryConfirmationOutcome"
      },
      "lastEvidenceReportedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "lastOsReachableAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "lastPassiveCacheReportedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "lastPassiveChangedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "lastPassiveRemovedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "lastSeenAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "macAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "nameSource": {
        "$ref": "#/components/schemas/NetworkDeviceNameSource"
      },
      "realmId": {
        "format": "uuid",
        "type": "string"
      },
      "realmName": {
        "type": "string"
      },
      "state": {
        "$ref": "#/components/schemas/NetworkDiscoveredDeviceState"
      },
      "vendor": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "displayName",
      "ipAddress",
      "macAddress",
      "vendor",
      "realmId",
      "realmName",
      "evidence",
      "firstSeenAtUtc",
      "lastSeenAtUtc",
      "nameSource",
      "state",
      "lastEvidenceReportedAtUtc",
      "lastPassiveCacheReportedAtUtc",
      "lastPassiveChangedAtUtc",
      "lastPassiveRemovedAtUtc",
      "lastActiveArpReplyAtUtc",
      "lastOsReachableAtUtc",
      "lastConfirmationAttemptAtUtc",
      "lastConfirmationOutcome",
      "freshnessStale",
      "archivedAtUtc",
      "archiveReason"
    ],
    "type": "object"
  },
  "DiskUsageVolumeInfoDto": {
    "properties": {
      "driveType": {
        "type": [
          "null",
          "string"
        ]
      },
      "fileSystem": {
        "type": [
          "null",
          "string"
        ]
      },
      "freeBytes": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "id": {
        "type": "string"
      },
      "isSystem": {
        "default": false,
        "type": "boolean"
      },
      "label": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "rootPath": {
        "type": "string"
      },
      "totalBytes": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "name",
      "rootPath",
      "totalBytes",
      "freeBytes"
    ],
    "type": "object"
  },
  "EventLogEntryDto": {
    "properties": {
      "level": {
        "type": "string"
      },
      "message": {
        "type": "string"
      },
      "source": {
        "type": [
          "null",
          "string"
        ]
      },
      "timeCreated": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "timeCreated",
      "level",
      "source",
      "message"
    ],
    "type": "object"
  },
  "EventLogQueryDto": {
    "properties": {
      "channels": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "eventIds": {
        "items": {
          "format": "int32",
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ]
        },
        "type": [
          "null",
          "array"
        ]
      },
      "fromUtc": {
        "format": "date-time",
        "type": "string"
      },
      "levels": {
        "items": {
          "format": "int32",
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ]
        },
        "type": [
          "null",
          "array"
        ]
      },
      "limit": {
        "default": 100,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "provider": {
        "type": [
          "null",
          "string"
        ]
      },
      "toUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "channels",
      "fromUtc",
      "toUtc"
    ],
    "type": "object"
  },
  "EventLogQueryResultDto": {
    "properties": {
      "deniedChannels": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/LiveEventLogEntryDto"
        },
        "type": "array"
      },
      "observedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "scannedRecords": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "truncated": {
        "type": "boolean"
      },
      "unavailableChannels": {
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": [
      "observedAtUtc",
      "items",
      "scannedRecords",
      "truncated",
      "deniedChannels",
      "unavailableChannels"
    ],
    "type": "object"
  },
  "EventPage": {
    "properties": {
      "hasMore": {
        "type": "boolean"
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/EventResponse"
        },
        "type": "array"
      },
      "next": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next",
      "hasMore"
    ],
    "type": "object"
  },
  "EventResponse": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "id": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "occurredAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "resourceId": {
        "format": "uuid",
        "type": "string"
      },
      "type": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "type",
      "deviceId",
      "resourceId",
      "occurredAtUtc"
    ],
    "type": "object"
  },
  "FieldBatchResponse": {
    "properties": {
      "targets": {
        "items": {
          "$ref": "#/components/schemas/FieldTargetResponse"
        },
        "type": "array"
      }
    },
    "required": [
      "targets"
    ],
    "type": "object"
  },
  "FieldDefinitionRequest": {
    "properties": {
      "key": {
        "type": "string"
      },
      "label": {
        "type": "string"
      },
      "scope": {
        "type": "string"
      },
      "type": {
        "type": "string"
      }
    },
    "required": [
      "scope",
      "key",
      "label",
      "type"
    ],
    "type": "object"
  },
  "FieldDefinitionsResponse": {
    "properties": {
      "builtIn": {
        "items": {
          "$ref": "#/components/schemas/BuiltInFieldDefinition"
        },
        "type": "array"
      },
      "integration": {
        "items": {
          "$ref": "#/components/schemas/IntegrationFieldDefinition"
        },
        "type": "array"
      }
    },
    "required": [
      "builtIn",
      "integration"
    ],
    "type": "object"
  },
  "FieldTargetResponse": {
    "properties": {
      "fields": {
        "items": {
          "$ref": "#/components/schemas/CustomFieldResponse"
        },
        "type": "array"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "scope": {
        "type": "string"
      }
    },
    "required": [
      "scope",
      "id",
      "fields"
    ],
    "type": "object"
  },
  "FieldWriteResponse": {
    "properties": {
      "id": {
        "type": "string"
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "value": {
        "type": [
          "null",
          "string"
        ]
      },
      "version": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "value",
      "version",
      "updatedAtUtc"
    ],
    "type": "object"
  },
  "FileBrowserListingDto": {
    "properties": {
      "entries": {
        "items": {
          "$ref": "#/components/schemas/FileEntryDto"
        },
        "type": "array"
      },
      "path": {
        "type": "string"
      }
    },
    "required": [
      "path",
      "entries"
    ],
    "type": "object"
  },
  "FileEntryDto": {
    "properties": {
      "kind": {
        "$ref": "#/components/schemas/FileEntryKind"
      },
      "modifiedAt": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "sizeBytes": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "name",
      "kind",
      "sizeBytes",
      "modifiedAt"
    ],
    "type": "object"
  },
  "FileEntryKind": {
    "type": "integer",
    "x-enumNames": [
      "Drive",
      "Directory",
      "File"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "FleetSoftwareItem": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/SoftwareResponseItem"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "deviceId",
      "updatedAtUtc",
      "items"
    ],
    "type": "object"
  },
  "GroupDevicesResponse": {
    "properties": {
      "deviceIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": "array"
      },
      "maximumReturned": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "deviceIds",
      "maximumReturned",
      "next"
    ],
    "type": "object"
  },
  "GroupResponse": {
    "properties": {
      "activeVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "archived": {
        "type": "boolean"
      },
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "companyId",
      "activeVersionId",
      "archived",
      "updatedAtUtc"
    ],
    "type": "object"
  },
  "GuestPassDto": {
    "properties": {
      "createdAt": {
        "format": "date-time",
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "expiresAt": {
        "format": "date-time",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "lastUsedAt": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "revokedAt": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "deviceId",
      "expiresAt",
      "createdAt",
      "lastUsedAt",
      "revokedAt"
    ],
    "type": "object"
  },
  "HealthResponse": {
    "properties": {
      "apiVersion": {
        "type": "string"
      },
      "status": {
        "type": "string"
      }
    },
    "required": [
      "status",
      "apiVersion"
    ],
    "type": "object"
  },
  "HistoryPageCursor": {
    "properties": {
      "occurredAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "sequence": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "occurredAtUtc",
      "sequence"
    ],
    "type": "object"
  },
  "IdBatch": {
    "properties": {
      "ids": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": [
      "ids"
    ],
    "type": "object"
  },
  "IdracComponentDto": {
    "properties": {
      "detail": {
        "type": [
          "null",
          "string"
        ]
      },
      "health": {
        "type": [
          "null",
          "string"
        ]
      },
      "kind": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "predictedFailure": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "stableId": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "kind",
      "name",
      "health",
      "detail"
    ],
    "type": "object"
  },
  "IdracLogEntryDto": {
    "properties": {
      "created": {
        "type": [
          "null",
          "string"
        ]
      },
      "message": {
        "type": [
          "null",
          "string"
        ]
      },
      "repaired": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "severity": {
        "type": [
          "null",
          "string"
        ]
      },
      "source": {
        "type": "string"
      }
    },
    "required": [
      "source",
      "created",
      "severity",
      "message",
      "repaired"
    ],
    "type": "object"
  },
  "IdracMonitoringDeviceItem": {
    "properties": {
      "detail": {
        "type": [
          "null",
          "string"
        ]
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "displayName": {
        "type": "string"
      },
      "observedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "snapshot": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IdracSnapshotDto"
          }
        ]
      },
      "state": {
        "$ref": "#/components/schemas/IdracMonitoringState"
      }
    },
    "required": [
      "deviceId",
      "displayName",
      "state",
      "snapshot",
      "detail",
      "observedAtUtc"
    ],
    "type": "object"
  },
  "IdracMonitoringState": {
    "type": "integer",
    "x-enumNames": [
      "Disabled",
      "Unsupported",
      "RacadmNotFound",
      "Provisioning",
      "Ready",
      "CredentialsRequired",
      "CleanupPending",
      "Error",
      "CertificateRequired",
      "Partial"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9
    ]
  },
  "IdracSectionDto": {
    "properties": {
      "name": {
        "type": "string"
      },
      "state": {
        "type": "string"
      }
    },
    "required": [
      "name",
      "state"
    ],
    "type": "object"
  },
  "IdracSnapshotDto": {
    "properties": {
      "components": {
        "items": {
          "$ref": "#/components/schemas/IdracComponentDto"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "degradedArrayCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "failedDiskCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "failedFanCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "failedPowerSupplyCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "firmwareVersion": {
        "type": [
          "null",
          "string"
        ]
      },
      "idracModel": {
        "type": [
          "null",
          "string"
        ]
      },
      "inventoryObservedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "isStale": {
        "type": "boolean"
      },
      "logEntries": {
        "items": {
          "$ref": "#/components/schemas/IdracLogEntryDto"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "loginNames": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "managementAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "managementHttpsPort": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "overallHealth": {
        "type": [
          "null",
          "string"
        ]
      },
      "powerState": {
        "type": [
          "null",
          "string"
        ]
      },
      "predictedFailureDiskCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "sections": {
        "items": {
          "$ref": "#/components/schemas/IdracSectionDto"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "serverName": {
        "type": [
          "null",
          "string"
        ]
      },
      "serverSerialNumber": {
        "type": [
          "null",
          "string"
        ]
      },
      "warningFanCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "idracModel",
      "firmwareVersion",
      "serverName",
      "serverSerialNumber",
      "powerState",
      "overallHealth"
    ],
    "type": "object"
  },
  "IloComponentDto": {
    "properties": {
      "detail": {
        "type": [
          "null",
          "string"
        ]
      },
      "health": {
        "type": [
          "null",
          "string"
        ]
      },
      "kind": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "predictedFailure": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "stableId": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "kind",
      "name",
      "health",
      "detail"
    ],
    "type": "object"
  },
  "IloLogEntryDto": {
    "properties": {
      "created": {
        "type": [
          "null",
          "string"
        ]
      },
      "message": {
        "type": [
          "null",
          "string"
        ]
      },
      "repaired": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "severity": {
        "type": [
          "null",
          "string"
        ]
      },
      "source": {
        "type": "string"
      }
    },
    "required": [
      "source",
      "created",
      "severity",
      "message",
      "repaired"
    ],
    "type": "object"
  },
  "IloMonitoringDeviceItem": {
    "properties": {
      "detail": {
        "type": [
          "null",
          "string"
        ]
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "displayName": {
        "type": "string"
      },
      "observedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "snapshot": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IloSnapshotDto"
          }
        ]
      },
      "state": {
        "$ref": "#/components/schemas/IloMonitoringState"
      }
    },
    "required": [
      "deviceId",
      "displayName",
      "state",
      "snapshot",
      "detail",
      "observedAtUtc"
    ],
    "type": "object"
  },
  "IloMonitoringState": {
    "type": "integer",
    "x-enumNames": [
      "Disabled",
      "Unsupported",
      "HponcfgNotFound",
      "Provisioning",
      "Ready",
      "CredentialsRequired",
      "CleanupPending",
      "Error"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7
    ]
  },
  "IloSectionDto": {
    "properties": {
      "name": {
        "type": "string"
      },
      "state": {
        "type": "string"
      }
    },
    "required": [
      "name",
      "state"
    ],
    "type": "object"
  },
  "IloSnapshotDto": {
    "properties": {
      "components": {
        "items": {
          "$ref": "#/components/schemas/IloComponentDto"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "degradedArrayCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "failedDiskCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "failedFanCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "failedPowerSupplyCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "firmwareVersion": {
        "type": [
          "null",
          "string"
        ]
      },
      "iloModel": {
        "type": [
          "null",
          "string"
        ]
      },
      "inventoryObservedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "isStale": {
        "type": "boolean"
      },
      "logEntries": {
        "items": {
          "$ref": "#/components/schemas/IloLogEntryDto"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "loginNames": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "managementAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "managementHttpsPort": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "overallHealth": {
        "type": [
          "null",
          "string"
        ]
      },
      "powerState": {
        "type": [
          "null",
          "string"
        ]
      },
      "predictedFailureDiskCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "sections": {
        "items": {
          "$ref": "#/components/schemas/IloSectionDto"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "serverName": {
        "type": [
          "null",
          "string"
        ]
      },
      "serverSerialNumber": {
        "type": [
          "null",
          "string"
        ]
      },
      "warningFanCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "iloModel",
      "firmwareVersion",
      "serverName",
      "serverSerialNumber",
      "powerState",
      "overallHealth"
    ],
    "type": "object"
  },
  "InactiveAccountLogon": {
    "properties": {
      "account": {
        "type": "string"
      },
      "lastLogonSource": {
        "type": "string"
      },
      "lastLogonUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "account",
      "lastLogonUtc",
      "lastLogonSource"
    ],
    "type": "object"
  },
  "InputEventDto": {
    "properties": {
      "deliveryId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "delta": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "fractionalX": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "fractionalY": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "isDown": {
        "type": "boolean"
      },
      "kind": {
        "$ref": "#/components/schemas/InputEventKind"
      },
      "screenshotTarget": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ScreenshotInputTarget"
          }
        ]
      },
      "text": {
        "type": [
          "null",
          "string"
        ]
      },
      "virtualKeyCode": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "kind",
      "fractionalX",
      "fractionalY",
      "delta",
      "virtualKeyCode",
      "isDown"
    ],
    "type": "object"
  },
  "InputEventKind": {
    "type": "integer",
    "x-enumNames": [
      "MouseMove",
      "MouseButton",
      "MouseWheel",
      "Key",
      "TypeText"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "InstallerBuildJobItem": {
    "properties": {
      "architecture": {
        "default": "x64",
        "type": "string"
      },
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "createdAt": {
        "format": "date-time",
        "type": "string"
      },
      "expiresAt": {
        "format": "date-time",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "lastError": {
        "type": [
          "null",
          "string"
        ]
      },
      "linkExpiresAt": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "platform": {
        "$ref": "#/components/schemas/InstallerPlatform"
      },
      "siteId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/DeviceJobStatus"
      },
      "url": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "companyId",
      "siteId",
      "platform",
      "status",
      "createdAt",
      "expiresAt",
      "lastError"
    ],
    "type": "object"
  },
  "InstallerHistoryItem": {
    "properties": {
      "agentVersion": {
        "type": "string"
      },
      "architecture": {
        "default": "x64",
        "type": "string"
      },
      "artifactId": {
        "format": "uuid",
        "type": "string"
      },
      "builtAt": {
        "format": "date-time",
        "type": "string"
      },
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "companyName": {
        "type": "string"
      },
      "expiresAt": {
        "format": "date-time",
        "type": "string"
      },
      "hasBootstrapFormats": {
        "default": false,
        "type": "boolean"
      },
      "platform": {
        "$ref": "#/components/schemas/InstallerPlatform"
      },
      "siteId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "siteName": {
        "type": [
          "null",
          "string"
        ]
      },
      "url": {
        "type": "string"
      }
    },
    "required": [
      "artifactId",
      "companyId",
      "companyName",
      "siteId",
      "siteName",
      "platform",
      "agentVersion",
      "builtAt",
      "url",
      "expiresAt"
    ],
    "type": "object"
  },
  "InstallerPlatform": {
    "type": "integer",
    "x-enumNames": [
      "Windows",
      "Linux",
      "MacOs"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "IntegrationAssistantPilot": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "proposalId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "proposalId",
      "deviceId"
    ],
    "type": "object"
  },
  "IntegrationAssistantStart": {
    "properties": {
      "acceptQuotedCharge": {
        "type": "boolean"
      },
      "estimateToken": {
        "type": "string"
      },
      "request": {
        "$ref": "#/components/schemas/AutomationAssistantRequest"
      }
    },
    "required": [
      "request",
      "estimateToken",
      "acceptQuotedCharge"
    ],
    "type": "object"
  },
  "IntegrationAssistantTargets": {
    "properties": {
      "freeze": {
        "default": false,
        "type": "boolean"
      },
      "restriction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationTargetRestriction"
          }
        ]
      },
      "scope": {
        "$ref": "#/components/schemas/AutomationHierarchyScope"
      }
    },
    "required": [
      "scope"
    ],
    "type": "object"
  },
  "IntegrationAutomationCreate": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": "string"
      },
      "idempotencyKey": {
        "type": "string"
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "name",
      "description",
      "companyId",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationAutomationKey": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      }
    },
    "required": [
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationAutomationSave": {
    "properties": {
      "definition": {
        "$ref": "#/components/schemas/AutomationVersionInput"
      },
      "description": {
        "type": "string"
      },
      "expectedVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "idempotencyKey": {
        "type": "string"
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "expectedVersionId",
      "name",
      "description",
      "definition",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationAutomationState": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "state": {
        "$ref": "#/components/schemas/AutomationState"
      }
    },
    "required": [
      "state",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationCommand": {
    "properties": {
      "command": {
        "type": "string"
      },
      "idempotencyKey": {
        "type": "string"
      },
      "shell": {
        "type": "string"
      },
      "timeoutSeconds": {
        "default": 20,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "shell",
      "command",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationCommandBatch": {
    "properties": {
      "batchSize": {
        "default": 5,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "command": {
        "type": "string"
      },
      "deadlineSeconds": {
        "default": 1800,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "deviceIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": "array"
      },
      "idempotencyKey": {
        "type": "string"
      },
      "shell": {
        "type": "string"
      },
      "stopOnFailure": {
        "default": true,
        "type": "boolean"
      },
      "timeoutSeconds": {
        "default": 60,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "deviceIds",
      "shell",
      "command",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationConsentRestart": {
    "properties": {
      "confirmationId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "confirmationId"
    ],
    "type": "object"
  },
  "IntegrationDeletePreview": {
    "properties": {
      "descendantCountKnown": {
        "type": "boolean"
      },
      "immediateDirectories": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "immediateFiles": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "path": {
        "type": "string"
      },
      "recursiveRequired": {
        "type": "boolean"
      },
      "target": {
        "$ref": "#/components/schemas/FileEntryDto"
      },
      "warning": {
        "type": "string"
      }
    },
    "required": [
      "path",
      "target",
      "recursiveRequired",
      "immediateFiles",
      "immediateDirectories",
      "descendantCountKnown",
      "warning"
    ],
    "type": "object"
  },
  "IntegrationDeviceAction": {
    "properties": {
      "action": {
        "$ref": "#/components/schemas/AutomationDeviceAction"
      },
      "idempotencyKey": {
        "type": "string"
      }
    },
    "required": [
      "action",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationDeviceMove": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "siteId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "deviceId",
      "companyId",
      "siteId"
    ],
    "type": "object"
  },
  "IntegrationDevicePreflightResponse": {
    "properties": {
      "advertisedCapabilities": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "guaranteesStartup": {
        "type": "boolean"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "lastSeenAt": {
        "format": "date-time",
        "type": "string"
      },
      "notChecked": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "observedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "os": {
        "type": "string"
      },
      "sessions": {
        "items": {
          "$ref": "#/components/schemas/IntegrationSessionPreflight"
        },
        "type": "array"
      },
      "status": {
        "type": "string"
      },
      "targetedWindowsDesktop": {
        "$ref": "#/components/schemas/IntegrationWindowsTargetPreflight"
      }
    },
    "required": [
      "id",
      "os",
      "status",
      "lastSeenAt",
      "observedAtUtc",
      "advertisedCapabilities",
      "sessions",
      "targetedWindowsDesktop",
      "notChecked",
      "guaranteesStartup"
    ],
    "type": "object"
  },
  "IntegrationDiskScan": {
    "properties": {
      "operationId": {
        "format": "uuid",
        "type": "string"
      },
      "volumeIds": {
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": [
      "operationId",
      "volumeIds"
    ],
    "type": "object"
  },
  "IntegrationEventLogResponse": {
    "properties": {
      "error": {
        "type": [
          "null",
          "string"
        ]
      },
      "eventLogQuery": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/EventLogQueryResultDto"
          }
        ]
      },
      "success": {
        "type": "boolean"
      }
    },
    "required": [
      "success",
      "error",
      "eventLogQuery"
    ],
    "type": "object"
  },
  "IntegrationFieldDefinition": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "key": {
        "type": "string"
      },
      "label": {
        "type": "string"
      },
      "scope": {
        "type": "string"
      },
      "type": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "companyId",
      "scope",
      "key",
      "label",
      "type"
    ],
    "type": "object"
  },
  "IntegrationGroupDefinition": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "condition": {
        "$ref": "#/components/schemas/AutomationConditionNode"
      },
      "expectedVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "name",
      "companyId",
      "condition"
    ],
    "type": "object"
  },
  "IntegrationHistoryQuery": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "cursor": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/HistoryPageCursor"
          }
        ]
      },
      "deviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "from": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "kind": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AuditRowKind"
          }
        ]
      },
      "page": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "pageSize": {
        "default": 100,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "snapshotSequence": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "technicianId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "to": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "companyId"
    ],
    "type": "object"
  },
  "IntegrationInstallerBuild": {
    "properties": {
      "architecture": {
        "default": "x64",
        "type": "string"
      },
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "platform": {
        "$ref": "#/components/schemas/InstallerPlatform"
      },
      "siteId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "companyId",
      "siteId",
      "platform"
    ],
    "type": "object"
  },
  "IntegrationJobPage": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/IntegrationJobView"
        },
        "type": "array"
      },
      "missingMeans": {
        "type": "string"
      },
      "next": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next",
      "missingMeans"
    ],
    "type": "object"
  },
  "IntegrationJobView": {
    "properties": {
      "action": {
        "type": "string"
      },
      "claimedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "createdAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "expiresAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "scheduledAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "scheduledLocalTime": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "scheduledTimeZone": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/DeviceJobStatus"
      }
    },
    "required": [
      "id",
      "action",
      "status",
      "createdAtUtc",
      "expiresAtUtc",
      "scheduledAtUtc",
      "scheduledLocalTime",
      "scheduledTimeZone",
      "claimedAtUtc"
    ],
    "type": "object"
  },
  "IntegrationKillProcess": {
    "properties": {
      "expectedName": {
        "type": "string"
      },
      "processId": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "processId",
      "expectedName"
    ],
    "type": "object"
  },
  "IntegrationMonitorPack": {
    "properties": {
      "key": {
        "type": "string"
      },
      "scope": {
        "$ref": "#/components/schemas/AutomationHierarchyScope"
      }
    },
    "required": [
      "key",
      "scope"
    ],
    "type": "object"
  },
  "IntegrationMonitorPreview": {
    "properties": {
      "condition": {
        "$ref": "#/components/schemas/AutomationConditionNode"
      },
      "platform": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationScriptPlatform"
          }
        ]
      },
      "restriction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationTargetRestriction"
          }
        ]
      },
      "scope": {
        "$ref": "#/components/schemas/AutomationHierarchyScope"
      },
      "smartGroupIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      }
    },
    "required": [
      "scope",
      "condition"
    ],
    "type": "object"
  },
  "IntegrationMutationOfAntivirusActionRequestDto": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AntivirusActionRequestDto"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfAutomationActionDraft": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationActionDraft"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfAutomationAlertRoutingInput": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationAlertRoutingInput"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfAutomationMonitorLifecycleState": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "$ref": "#/components/schemas/AutomationMonitorLifecycleState"
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfAutomationPackageSave": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationPackageSave"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfAutomationReportScheduleInput": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationReportScheduleInput"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfAutomationSimpleMonitorInput": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationSimpleMonitorInput"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfConfigurationBaselineInput": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ConfigurationBaselineInput"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfGuid": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfGuid[]": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationAssistantPilot": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationAssistantPilot"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationAssistantStart": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationAssistantStart"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationConsentRestart": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationConsentRestart"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationDeviceMove": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationDeviceMove"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationDiskScan": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationDiskScan"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationGroupDefinition": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationGroupDefinition"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationInstallerBuild": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationInstallerBuild"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationKillProcess": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationKillProcess"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationMonitorPack": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationMonitorPack"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationNetworkDeviceType": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationNetworkDeviceType"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationNetworkMode": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationNetworkMode"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationNetworkRealmName": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationNetworkRealmName"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationNetworkRealmSuspend": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationNetworkRealmSuspend"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationNetworkScan": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationNetworkScan"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationNetworkScanCancel": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationNetworkScanCancel"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationNetworkService": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationNetworkService"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationNetworkSnmpPolicy": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationNetworkSnmpPolicy"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationNetworkSnmpRefresh": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationNetworkSnmpRefresh"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationNetworkToggle": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationNetworkToggle"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationNetworkTypeRefresh": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationNetworkTypeRefresh"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationPatchDecision": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationPatchDecision"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationPsaConnection": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationPsaConnection"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationPsaMapping": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationPsaMapping"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationPsaPause": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationPsaPause"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationQueuedCommand": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationQueuedCommand"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationRemoteAction": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationRemoteAction"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationRemoteOpen": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationRemoteOpen"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationRole": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationRole"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationScheduledPower": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationScheduledPower"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationSetting": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationSetting"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationSiteCreate": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationSiteCreate"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationSnmpCommunities": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationSnmpCommunities"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationSnmpCredential": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationSnmpCredential"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationSnmpCredentialDelete": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationSnmpCredentialDelete"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationSnmpExpectedPort": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationSnmpExpectedPort"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationSoftwareInstall": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationSoftwareInstall"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationSpeedTestCancel": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationSpeedTestCancel"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationSpeedTestStart": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationSpeedTestStart"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationTag": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationTag"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationTcpPolicy": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationTcpPolicy"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationThirdPartyApproval": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationThirdPartyApproval"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationThumbnailPolicy": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationThumbnailPolicy"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationTrafficPort": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationTrafficPort"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationUserAccess": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationUserAccess"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationUserInvite": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationUserInvite"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationUserMessage": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationUserMessage"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationUserName": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationUserName"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationUserOwner": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationUserOwner"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationVersionIdentity": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationVersionIdentity"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfIntegrationVisitorPass": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationVisitorPass"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfPatchUpdateIdentity": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/PatchUpdateIdentity"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfSoftwareUninstallRequestDto": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/SoftwareUninstallRequestDto"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfThirdPartyPatchPolicyAssignment": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ThirdPartyPatchPolicyAssignment"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfWindowsPatchPolicyInput": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/WindowsPatchPolicyInput"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfWindowsUpdateConfigurationInput": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/WindowsUpdateConfigurationInput"
          }
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfboolean": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "type": "boolean"
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfint": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationMutationOfstring": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      },
      "value": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "value",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationNetworkDeviceType": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "type": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkDeviceType"
          }
        ]
      }
    },
    "required": [
      "companyId",
      "deviceId",
      "type"
    ],
    "type": "object"
  },
  "IntegrationNetworkMode": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "mode": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkDiscoveryMode"
          }
        ]
      }
    },
    "required": [
      "companyId",
      "mode"
    ],
    "type": "object"
  },
  "IntegrationNetworkRealmName": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "locked": {
        "type": "boolean"
      },
      "name": {
        "type": "string"
      },
      "realmId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "companyId",
      "realmId",
      "name",
      "locked"
    ],
    "type": "object"
  },
  "IntegrationNetworkRealmSuspend": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "realmId": {
        "format": "uuid",
        "type": "string"
      },
      "suspended": {
        "type": "boolean"
      }
    },
    "required": [
      "companyId",
      "realmId",
      "suspended"
    ],
    "type": "object"
  },
  "IntegrationNetworkScan": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "realmId": {
        "format": "uuid",
        "type": "string"
      },
      "reason": {
        "type": "string"
      }
    },
    "required": [
      "companyId",
      "realmId",
      "reason"
    ],
    "type": "object"
  },
  "IntegrationNetworkScanCancel": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "realmId": {
        "format": "uuid",
        "type": "string"
      },
      "scanId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "companyId",
      "realmId",
      "scanId"
    ],
    "type": "object"
  },
  "IntegrationNetworkService": {
    "properties": {
      "discoveredDeviceId": {
        "format": "uuid",
        "type": "string"
      },
      "expectedAgentId": {
        "format": "uuid",
        "type": "string"
      },
      "port": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "discoveredDeviceId",
      "port",
      "expectedAgentId"
    ],
    "type": "object"
  },
  "IntegrationNetworkServiceSource": {
    "properties": {
      "agentId": {
        "format": "uuid",
        "type": "string"
      },
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "discoveredDeviceId": {
        "format": "uuid",
        "type": "string"
      },
      "expiresAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "interaction": {
        "type": "string"
      },
      "port": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "discoveredDeviceId",
      "port",
      "agentId",
      "companyId",
      "expiresAtUtc",
      "interaction"
    ],
    "type": "object"
  },
  "IntegrationNetworkSnmpPolicy": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "credentialCooldownHours": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "enabled": {
        "type": "boolean"
      },
      "pollIntervalMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "companyId",
      "enabled",
      "pollIntervalMinutes",
      "credentialCooldownHours"
    ],
    "type": "object"
  },
  "IntegrationNetworkSnmpRefresh": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "managedDevice": {
        "type": "boolean"
      }
    },
    "required": [
      "companyId",
      "deviceId",
      "managedDevice"
    ],
    "type": "object"
  },
  "IntegrationNetworkToggle": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "enabled": {
        "type": "boolean"
      }
    },
    "required": [
      "companyId",
      "enabled"
    ],
    "type": "object"
  },
  "IntegrationNetworkTypeRefresh": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "companyId",
      "deviceId"
    ],
    "type": "object"
  },
  "IntegrationOperationProgress": {
    "properties": {
      "automaticReplayAllowed": {
        "type": "boolean"
      },
      "completionEvidence": {
        "type": "string"
      },
      "pollAfterMilliseconds": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "receiptCancellationSupported": {
        "type": "boolean"
      },
      "reconciliationRequired": {
        "type": "boolean"
      },
      "retryRule": {
        "type": "string"
      },
      "status": {
        "type": "string"
      },
      "terminal": {
        "type": "boolean"
      }
    },
    "required": [
      "status",
      "terminal",
      "reconciliationRequired",
      "pollAfterMilliseconds",
      "completionEvidence",
      "retryRule",
      "automaticReplayAllowed",
      "receiptCancellationSupported"
    ],
    "type": "object"
  },
  "IntegrationPatchApprovalPage": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/PatchApprovalListItem"
        },
        "type": "array"
      },
      "nextOffset": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "nextOffset"
    ],
    "type": "object"
  },
  "IntegrationPatchDecision": {
    "properties": {
      "patches": {
        "items": {
          "$ref": "#/components/schemas/PatchApprovalIdentity"
        },
        "type": "array"
      },
      "state": {
        "$ref": "#/components/schemas/AutomationPatchApprovalState"
      }
    },
    "required": [
      "patches",
      "state"
    ],
    "type": "object"
  },
  "IntegrationPower": {
    "properties": {
      "action": {
        "type": "string"
      },
      "idempotencyKey": {
        "type": "string"
      }
    },
    "required": [
      "action",
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationPsaConnection": {
    "properties": {
      "baseUrl": {
        "type": "string"
      },
      "credentials": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationPsaSecret"
          }
        ]
      },
      "enabled": {
        "type": "boolean"
      },
      "id": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "provider": {
        "type": "string"
      },
      "revision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "ticketUrlTemplate": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "revision",
      "provider",
      "baseUrl",
      "credentials",
      "enabled"
    ],
    "type": "object"
  },
  "IntegrationPsaConnectionView": {
    "properties": {
      "baseUrl": {
        "type": "string"
      },
      "enabled": {
        "type": "boolean"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "provider": {
        "type": "string"
      },
      "revision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "ticketUrlTemplate": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "revision",
      "provider",
      "baseUrl",
      "enabled",
      "ticketUrlTemplate"
    ],
    "type": "object"
  },
  "IntegrationPsaCustomer": {
    "properties": {
      "id": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "name"
    ],
    "type": "object"
  },
  "IntegrationPsaDelivery": {
    "properties": {
      "alertId": {
        "format": "uuid",
        "type": "string"
      },
      "attempts": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "errorCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "externalId": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "nextAttemptAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "revision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "state": {
        "type": "string"
      },
      "ticketUrl": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "companyId",
      "alertId",
      "state",
      "revision",
      "externalId",
      "ticketUrl",
      "errorCode",
      "attempts",
      "nextAttemptAtUtc"
    ],
    "type": "object"
  },
  "IntegrationPsaMapping": {
    "properties": {
      "closedStatusId": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "connectionId": {
        "format": "uuid",
        "type": "string"
      },
      "customerId": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "openStatusId": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "priorityId": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "queueId": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "revision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "ticketTypeId": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "workTypeId": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "connectionId",
      "companyId",
      "revision",
      "customerId",
      "openStatusId",
      "closedStatusId",
      "priorityId",
      "queueId",
      "ticketTypeId"
    ],
    "type": "object"
  },
  "IntegrationPsaPause": {
    "properties": {
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "paused": {
        "type": "boolean"
      },
      "revision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "revision",
      "paused"
    ],
    "type": "object"
  },
  "IntegrationPsaSecret": {
    "properties": {
      "clientId": {
        "type": "string"
      },
      "company": {
        "default": "",
        "type": "string"
      },
      "secret": {
        "type": "string"
      },
      "tokenUrl": {
        "default": "",
        "type": "string"
      },
      "user": {
        "default": "",
        "type": "string"
      }
    },
    "required": [
      "clientId",
      "secret"
    ],
    "type": "object"
  },
  "IntegrationPsaView": {
    "properties": {
      "connections": {
        "items": {
          "$ref": "#/components/schemas/IntegrationPsaConnectionView"
        },
        "type": "array"
      },
      "deliveries": {
        "items": {
          "$ref": "#/components/schemas/IntegrationPsaDelivery"
        },
        "type": "array"
      },
      "mappings": {
        "items": {
          "$ref": "#/components/schemas/IntegrationPsaMapping"
        },
        "type": "array"
      },
      "next": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "connections",
      "mappings",
      "deliveries",
      "next"
    ],
    "type": "object"
  },
  "IntegrationQueuedCommand": {
    "properties": {
      "command": {
        "type": "string"
      },
      "shell": {
        "type": "string"
      },
      "timeoutSeconds": {
        "default": 20,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "shell",
      "command"
    ],
    "type": "object"
  },
  "IntegrationRdpStatus": {
    "properties": {
      "error": {
        "type": [
          "null",
          "string"
        ]
      },
      "success": {
        "type": "boolean"
      },
      "windowsRdp": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/WindowsRdpStatusDto"
          }
        ]
      }
    },
    "required": [
      "success",
      "error",
      "windowsRdp"
    ],
    "type": "object"
  },
  "IntegrationRemoteAction": {
    "properties": {
      "clipboard": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/ClipboardPayloadDto"
          }
        ]
      },
      "columns": {
        "default": 120,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "contentBase64": {
        "description": "Base64-encoded complete file contents, at most 32768 decoded bytes. Empty string creates an empty file. Legacy Text accepts base64 only.",
        "type": [
          "null",
          "string"
        ]
      },
      "input": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/InputEventDto"
          }
        ]
      },
      "kind": {
        "$ref": "#/components/schemas/IntegrationRemoteActionKind"
      },
      "monitorId": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "newName": {
        "type": [
          "null",
          "string"
        ]
      },
      "observation": {
        "type": [
          "null",
          "string"
        ]
      },
      "path": {
        "type": [
          "null",
          "string"
        ]
      },
      "recursive": {
        "default": false,
        "description": "Explicitly permit recursive directory deletion. Defaults to false; preview the target first.",
        "type": "boolean"
      },
      "rows": {
        "default": 30,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "screenshotCoordinates": {
        "default": false,
        "description": "Opt in to coordinates relative to the observed screenshot (0-1). Requires screenshot-input-v1 Windows Desktop. False preserves legacy virtual-desktop coordinates.",
        "type": "boolean"
      },
      "shell": {
        "type": [
          "null",
          "string"
        ]
      },
      "tabId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "text": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "kind"
    ],
    "type": "object"
  },
  "IntegrationRemoteActionKind": {
    "type": "integer",
    "x-enumNames": [
      "Input",
      "Navigate",
      "Back",
      "Forward",
      "Clipboard",
      "ConsoleInput",
      "ConsoleResize",
      "ConsoleTabOpen",
      "ConsoleTabClose",
      "ConsoleTabInput",
      "ConsoleTabResize",
      "CreateFolder",
      "DeleteEntry",
      "RenameEntry",
      "WriteFile",
      "FocusMonitor",
      "CtrlAltDel",
      "Click"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11,
      12,
      13,
      14,
      15,
      16,
      17
    ]
  },
  "IntegrationRemoteOpen": {
    "properties": {
      "deviceId": {
        "description": "Installed-agent device ID, not a discovered network device ID.",
        "format": "uuid",
        "type": "string"
      },
      "discoveredDeviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "discoveredPort": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "existingSessionId": {
        "description": "Underlying remote session ID owned by this actor; not an integration handle or operation receipt ID.",
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "expectedSessionName": {
        "type": [
          "null",
          "string"
        ]
      },
      "expectedUserName": {
        "type": [
          "null",
          "string"
        ]
      },
      "kind": {
        "$ref": "#/components/schemas/SessionKind"
      },
      "resources": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/RemoteResourcesOptionsDto"
          }
        ]
      },
      "url": {
        "type": [
          "null",
          "string"
        ]
      },
      "vmId": {
        "description": "Hyper-V VM vmId from this host inventory, not the VM inventory row id.",
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "windowsSessionId": {
        "format": "uint32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "deviceId",
      "kind"
    ],
    "type": "object"
  },
  "IntegrationRemoteSession": {
    "properties": {
      "actorUserId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "kind": {
        "$ref": "#/components/schemas/SessionKind"
      }
    },
    "required": [
      "id",
      "deviceId",
      "companyId",
      "actorUserId",
      "kind"
    ],
    "type": "object"
  },
  "IntegrationReportHtml": {
    "properties": {
      "html": {
        "type": "string"
      }
    },
    "required": [
      "html"
    ],
    "type": "object"
  },
  "IntegrationResolverPage": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/AiResolverRunView"
        },
        "type": "array"
      },
      "next": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "IntegrationResolverQuery": {
    "properties": {
      "after": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "pageSize": {
        "default": 50,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "companyId"
    ],
    "type": "object"
  },
  "IntegrationRole": {
    "properties": {
      "description": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "permissions": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "roleId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "roleId",
      "name",
      "description",
      "permissions"
    ],
    "type": "object"
  },
  "IntegrationScheduledPower": {
    "properties": {
      "action": {
        "type": "string"
      },
      "localTime": {
        "format": "date-time",
        "type": "string"
      },
      "timeZoneId": {
        "type": "string"
      }
    },
    "required": [
      "action",
      "localTime",
      "timeZoneId"
    ],
    "type": "object"
  },
  "IntegrationScreenImage": {
    "properties": {
      "captureTimestampMs": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "data": {
        "type": "string"
      },
      "height": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "mimeType": {
        "type": "string"
      },
      "monitorId": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "nativeHeight": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "nativeWidth": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "observation": {
        "type": "string"
      },
      "observedAt": {
        "format": "date-time",
        "type": "string"
      },
      "screenshotInputSupported": {
        "default": false,
        "type": "boolean"
      },
      "sequence": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "width": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "mimeType",
      "data",
      "width",
      "height",
      "monitorId",
      "sequence",
      "captureTimestampMs",
      "observedAt",
      "observation"
    ],
    "type": "object"
  },
  "IntegrationSessionPreflight": {
    "properties": {
      "eligibility": {
        "type": "string"
      },
      "fullAccessRequired": {
        "type": "boolean"
      },
      "kind": {
        "type": "string"
      },
      "knownBlockers": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "requiredPermission": {
        "type": "string"
      }
    },
    "required": [
      "kind",
      "requiredPermission",
      "fullAccessRequired",
      "knownBlockers",
      "eligibility"
    ],
    "type": "object"
  },
  "IntegrationSetting": {
    "properties": {
      "key": {
        "$ref": "#/components/schemas/SettingKey"
      },
      "scopeId": {
        "format": "uuid",
        "type": "string"
      },
      "scopeType": {
        "$ref": "#/components/schemas/SettingScopeType"
      },
      "value": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "scopeType",
      "scopeId",
      "key",
      "value"
    ],
    "type": "object"
  },
  "IntegrationSiteCreate": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "companyId",
      "name"
    ],
    "type": "object"
  },
  "IntegrationSnmpCommunities": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "selections": {
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": [
      "companyId",
      "selections"
    ],
    "type": "object"
  },
  "IntegrationSnmpCredential": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "credential": {
        "$ref": "#/components/schemas/SnmpCredentialProfileInput"
      }
    },
    "required": [
      "companyId",
      "credential"
    ],
    "type": "object"
  },
  "IntegrationSnmpCredentialDelete": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "credentialId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "companyId",
      "credentialId"
    ],
    "type": "object"
  },
  "IntegrationSnmpExpectedPort": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "expectedUp": {
        "type": "boolean"
      },
      "interfaceIndex": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "managedDevice": {
        "type": "boolean"
      }
    },
    "required": [
      "companyId",
      "deviceId",
      "interfaceIndex",
      "expectedUp",
      "managedDevice"
    ],
    "type": "object"
  },
  "IntegrationSoftwareInstall": {
    "properties": {
      "packageVersionId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "packageVersionId"
    ],
    "type": "object"
  },
  "IntegrationSpeedTestCancel": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "runId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "deviceId",
      "runId"
    ],
    "type": "object"
  },
  "IntegrationSpeedTestStart": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "interfaceId": {
        "type": "string"
      }
    },
    "required": [
      "deviceId",
      "interfaceId"
    ],
    "type": "object"
  },
  "IntegrationTag": {
    "properties": {
      "colour": {
        "type": [
          "null",
          "string"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "name",
      "colour",
      "companyId"
    ],
    "type": "object"
  },
  "IntegrationTagPage": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/IntegrationTagView"
        },
        "type": "array"
      },
      "next": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "IntegrationTagView": {
    "properties": {
      "colour": {
        "type": [
          "null",
          "string"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "colour",
      "companyId"
    ],
    "type": "object"
  },
  "IntegrationTcpPolicy": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "policy": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkTcpMonitoringPolicyDto"
          }
        ]
      }
    },
    "required": [
      "companyId",
      "policy"
    ],
    "type": "object"
  },
  "IntegrationTemporaryAdminResponse": {
    "properties": {
      "credentials": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/IntegrationTemporaryCredentials"
          }
        ]
      },
      "credentialsRecoverable": {
        "type": "boolean"
      },
      "receipt": {}
    },
    "required": [
      "receipt",
      "credentials",
      "credentialsRecoverable"
    ],
    "type": "object"
  },
  "IntegrationTemporaryCredentials": {
    "properties": {
      "localAdminPassword": {
        "type": [
          "null",
          "string"
        ]
      },
      "localAdminUsername": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "localAdminUsername",
      "localAdminPassword"
    ],
    "type": "object"
  },
  "IntegrationThirdPartyApproval": {
    "properties": {
      "approval": {
        "$ref": "#/components/schemas/ThirdPartyPackageApproval"
      },
      "state": {
        "$ref": "#/components/schemas/AutomationPatchApprovalState"
      }
    },
    "required": [
      "approval",
      "state"
    ],
    "type": "object"
  },
  "IntegrationThumbnailImage": {
    "properties": {
      "capturedAt": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "checkOutcome": {
        "type": [
          "null",
          "string"
        ]
      },
      "checkedAt": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "data": {
        "type": [
          "null",
          "string"
        ]
      },
      "displayOff": {
        "default": false,
        "type": "boolean"
      },
      "displayOffObserved": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "enabled": {
        "type": "boolean"
      },
      "freshnessSupported": {
        "default": false,
        "type": "boolean"
      },
      "height": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "imageId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "locked": {
        "type": "boolean"
      },
      "mimeType": {
        "type": [
          "null",
          "string"
        ]
      },
      "oldPreview": {
        "default": false,
        "type": "boolean"
      },
      "pending": {
        "type": "boolean"
      },
      "screenContentFreshnessVerified": {
        "default": false,
        "type": "boolean"
      },
      "supported": {
        "type": "boolean"
      },
      "width": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "enabled",
      "supported",
      "width",
      "height",
      "capturedAt",
      "checkedAt",
      "locked",
      "pending",
      "mimeType",
      "data"
    ],
    "type": "object"
  },
  "IntegrationThumbnailPolicy": {
    "properties": {
      "enabled": {
        "type": "boolean"
      },
      "intervalSeconds": {
        "default": 180,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "enabled"
    ],
    "type": "object"
  },
  "IntegrationThumbnailPolicyView": {
    "properties": {
      "enabled": {
        "type": "boolean"
      },
      "intervalSeconds": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "revision": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "enabled",
      "intervalSeconds",
      "revision"
    ],
    "type": "object"
  },
  "IntegrationTrafficPort": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "enabled": {
        "type": "boolean"
      },
      "interfaceIndex": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "companyId",
      "deviceId",
      "interfaceIndex",
      "enabled"
    ],
    "type": "object"
  },
  "IntegrationUserAccess": {
    "properties": {
      "companyIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": "array"
      },
      "roleKeys": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "userId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "userId",
      "roleKeys",
      "companyIds"
    ],
    "type": "object"
  },
  "IntegrationUserInvite": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "email": {
        "type": "string"
      },
      "grantOwner": {
        "type": "boolean"
      },
      "rmmRoleKeys": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "role": {
        "type": "string"
      }
    },
    "required": [
      "email",
      "role",
      "companyId",
      "grantOwner",
      "rmmRoleKeys"
    ],
    "type": "object"
  },
  "IntegrationUserMessage": {
    "properties": {
      "expectedUserName": {
        "type": "string"
      },
      "message": {
        "type": "string"
      },
      "waitSeconds": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "windowsSessionId": {
        "format": "uint32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "windowsSessionId",
      "expectedUserName",
      "message"
    ],
    "type": "object"
  },
  "IntegrationUserName": {
    "properties": {
      "displayName": {
        "type": "string"
      },
      "userId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "userId",
      "displayName"
    ],
    "type": "object"
  },
  "IntegrationUserOwner": {
    "properties": {
      "isOwner": {
        "type": "boolean"
      },
      "userId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "userId",
      "isOwner"
    ],
    "type": "object"
  },
  "IntegrationValidation": {
    "properties": {
      "valid": {
        "type": "boolean"
      }
    },
    "required": [
      "valid"
    ],
    "type": "object"
  },
  "IntegrationVersionIdentity": {
    "properties": {
      "expectedVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "id",
      "expectedVersionId"
    ],
    "type": "object"
  },
  "IntegrationVisitorPass": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "lifetimeMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "deviceId",
      "lifetimeMinutes"
    ],
    "type": "object"
  },
  "IntegrationWarrantyRefresh": {
    "properties": {
      "idempotencyKey": {
        "type": "string"
      }
    },
    "required": [
      "idempotencyKey"
    ],
    "type": "object"
  },
  "IntegrationWindowsTargetPreflight": {
    "properties": {
      "advertised": {
        "type": "boolean"
      },
      "fullAccessRequired": {
        "type": "boolean"
      },
      "requiredInputs": {
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": [
      "fullAccessRequired",
      "advertised",
      "requiredInputs"
    ],
    "type": "object"
  },
  "InteractiveSessionDto": {
    "properties": {
      "clientProtocolType": {
        "format": "uint16",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "displayServer": {
        "type": [
          "null",
          "string"
        ]
      },
      "isRemote": {
        "type": "boolean"
      },
      "isUnlocked": {
        "type": "boolean"
      },
      "platformSessionId": {
        "type": [
          "null",
          "string"
        ]
      },
      "sessionId": {
        "format": "uint32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "sessionName": {
        "type": "string"
      },
      "state": {
        "type": "string"
      },
      "userName": {
        "type": "string"
      }
    },
    "required": [
      "sessionId",
      "userName",
      "sessionName",
      "isRemote",
      "state",
      "isUnlocked"
    ],
    "type": "object"
  },
  "InventoryResponse": {
    "properties": {
      "antivirusDefinitionsUpToDate": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "antivirusEnabled": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "bitLockerCEnabled": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "bitLockerCollectedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "factsUpdatedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "firewallEnabled": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "logicalProcessors": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "manufacturer": {
        "type": [
          "null",
          "string"
        ]
      },
      "model": {
        "type": [
          "null",
          "string"
        ]
      },
      "osArchitecture": {
        "type": [
          "null",
          "string"
        ]
      },
      "patchComplianceState": {
        "type": [
          "null",
          "string"
        ]
      },
      "pendingRebootRequired": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "processor": {
        "type": [
          "null",
          "string"
        ]
      },
      "serialNumber": {
        "type": [
          "null",
          "string"
        ]
      },
      "totalMemoryBytes": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "manufacturer",
      "model",
      "serialNumber",
      "processor",
      "logicalProcessors",
      "totalMemoryBytes",
      "osArchitecture",
      "factsUpdatedAtUtc",
      "firewallEnabled",
      "antivirusEnabled",
      "antivirusDefinitionsUpToDate",
      "bitLockerCEnabled",
      "bitLockerCollectedAtUtc",
      "patchComplianceState",
      "pendingRebootRequired"
    ],
    "type": "object"
  },
  "ItemCollectionOfAlertResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/AlertResponse"
        },
        "type": "array"
      }
    },
    "required": [
      "items"
    ],
    "type": "object"
  },
  "ItemCollectionOfCustomFieldResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/CustomFieldResponse"
        },
        "type": "array"
      }
    },
    "required": [
      "items"
    ],
    "type": "object"
  },
  "ItemCollectionOfDeviceResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/DeviceResponse"
        },
        "type": "array"
      }
    },
    "required": [
      "items"
    ],
    "type": "object"
  },
  "ItemCollectionOfMaintenanceResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/MaintenanceResponse"
        },
        "type": "array"
      }
    },
    "required": [
      "items"
    ],
    "type": "object"
  },
  "ItemCollectionOfVirtualMachineResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/VirtualMachineResponse"
        },
        "type": "array"
      }
    },
    "required": [
      "items"
    ],
    "type": "object"
  },
  "ItemCollectionOfVolumeResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/VolumeResponse"
        },
        "type": "array"
      }
    },
    "required": [
      "items"
    ],
    "type": "object"
  },
  "JsonElement": {},
  "LinuxMaintenanceAction": {
    "type": "integer",
    "x-enumNames": [
      "RefreshPackageInventory",
      "InstallPackageUpdates",
      "RefreshFirmwareMetadata",
      "InstallFirmwareUpdates",
      "InstallAllUpdates"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "LinuxReadinessCheckDto": {
    "properties": {
      "detail": {
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "remediation": {
        "type": [
          "null",
          "string"
        ]
      },
      "state": {
        "$ref": "#/components/schemas/LinuxReadinessState"
      },
      "summary": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "state",
      "summary"
    ],
    "type": "object"
  },
  "LinuxReadinessReportDto": {
    "properties": {
      "checkedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "checks": {
        "items": {
          "$ref": "#/components/schemas/LinuxReadinessCheckDto"
        },
        "type": "array"
      },
      "desktopReady": {
        "type": "boolean"
      },
      "interactiveSessionCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "preferredCaptureBackend": {
        "type": [
          "null",
          "string"
        ]
      },
      "profile": {
        "type": "string"
      }
    },
    "required": [
      "checkedAtUtc",
      "profile",
      "interactiveSessionCount",
      "preferredCaptureBackend",
      "checks"
    ],
    "type": "object"
  },
  "LinuxReadinessState": {
    "type": "integer",
    "x-enumNames": [
      "Ready",
      "Warning",
      "Blocked",
      "NotApplicable"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3
    ]
  },
  "LiveEventLogEntryDto": {
    "properties": {
      "channel": {
        "type": "string"
      },
      "eventId": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "level": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "message": {
        "type": "string"
      },
      "provider": {
        "type": [
          "null",
          "string"
        ]
      },
      "timeCreated": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "channel",
      "eventId",
      "timeCreated",
      "level",
      "provider",
      "message"
    ],
    "type": "object"
  },
  "MaintenanceResponse": {
    "properties": {
      "cancelledAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "createdAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "endsAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "reason": {
        "type": "string"
      },
      "siteId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "startsAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "id",
      "companyId",
      "siteId",
      "deviceId",
      "startsAtUtc",
      "endsAtUtc",
      "reason",
      "createdAtUtc",
      "cancelledAtUtc"
    ],
    "type": "object"
  },
  "ManagedNetworkDeviceListItem": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceType": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkDeviceTypeClassification"
          }
        ]
      },
      "displayName": {
        "type": "string"
      },
      "freshnessStale": {
        "type": "boolean"
      },
      "ipAddress": {
        "type": "string"
      },
      "macAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "membershipLastSeenAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "realmId": {
        "format": "uuid",
        "type": "string"
      },
      "realmName": {
        "type": "string"
      },
      "vendor": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "deviceId",
      "displayName",
      "ipAddress",
      "macAddress",
      "vendor",
      "realmId",
      "realmName",
      "membershipLastSeenAtUtc",
      "freshnessStale"
    ],
    "type": "object"
  },
  "MonitorConditionEvidence": {
    "properties": {
      "detail": {
        "type": "string"
      },
      "fact": {
        "type": "string"
      },
      "observedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "result": {
        "$ref": "#/components/schemas/AutomationTruthValue"
      },
      "timestampLabel": {
        "default": "Collected",
        "type": "string"
      }
    },
    "required": [
      "fact",
      "result",
      "detail",
      "observedAtUtc"
    ],
    "type": "object"
  },
  "MonitorConditionPreview": {
    "properties": {
      "devices": {
        "items": {
          "$ref": "#/components/schemas/MonitorDevicePreview"
        },
        "type": "array"
      },
      "evaluatedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "scope": {
        "$ref": "#/components/schemas/AutomationSimpleScopePreview"
      },
      "truncated": {
        "type": "boolean"
      }
    },
    "required": [
      "scope",
      "devices",
      "evaluatedAtUtc",
      "truncated"
    ],
    "type": "object"
  },
  "MonitorDevicePreview": {
    "properties": {
      "device": {
        "$ref": "#/components/schemas/AutomationTargetPreviewItem"
      },
      "evidence": {
        "items": {
          "$ref": "#/components/schemas/MonitorConditionEvidence"
        },
        "type": "array"
      },
      "result": {
        "$ref": "#/components/schemas/AutomationTruthValue"
      }
    },
    "required": [
      "device",
      "result",
      "evidence"
    ],
    "type": "object"
  },
  "MonitorInfoDto": {
    "properties": {
      "height": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "isPrimary": {
        "type": "boolean"
      },
      "left": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "monitorId": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "top": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "width": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "monitorId",
      "width",
      "height",
      "left",
      "top",
      "isPrimary"
    ],
    "type": "object"
  },
  "MonitorsDto": {
    "properties": {
      "audioAvailability": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/SessionAudioAvailability"
          }
        ]
      },
      "audioAvailabilityOnly": {
        "default": false,
        "type": "boolean"
      },
      "captureStartedAtMs": {
        "default": 0,
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "monitors": {
        "items": {
          "$ref": "#/components/schemas/MonitorInfoDto"
        },
        "type": "array"
      },
      "spectrumSupported": {
        "default": false,
        "type": "boolean"
      },
      "virtualDesktopHeight": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "virtualDesktopLeft": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "virtualDesktopTop": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "virtualDesktopWidth": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "monitors",
      "virtualDesktopLeft",
      "virtualDesktopTop",
      "virtualDesktopWidth",
      "virtualDesktopHeight"
    ],
    "type": "object"
  },
  "NetworkDeviceClassificationState": {
    "type": "integer",
    "x-enumNames": [
      "Unknown",
      "Pending",
      "Failed",
      "Classified",
      "Manual",
      "Unresolved"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5
    ]
  },
  "NetworkDeviceNameSource": {
    "type": "integer",
    "x-enumNames": [
      "None",
      "ReverseDns",
      "MulticastDns",
      "NetBios"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3
    ]
  },
  "NetworkDeviceType": {
    "type": "integer",
    "x-enumNames": [
      "Unknown",
      "Computer",
      "Server",
      "PhoneOrTablet",
      "RouterOrFirewall",
      "Switch",
      "WirelessAccessPoint",
      "NasOrStorage",
      "PrinterOrScanner",
      "Camera",
      "Ups",
      "MediaOrConferencing",
      "SmartDevice",
      "Desktop",
      "Laptop",
      "Phone",
      "Tablet"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11,
      12,
      13,
      14,
      15,
      16
    ]
  },
  "NetworkDeviceTypeClassification": {
    "properties": {
      "observedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "reason": {
        "type": "string"
      },
      "source": {
        "type": "string"
      },
      "state": {
        "$ref": "#/components/schemas/NetworkDeviceClassificationState"
      },
      "type": {
        "$ref": "#/components/schemas/NetworkDeviceType"
      }
    },
    "required": [
      "type",
      "source",
      "reason"
    ],
    "type": "object"
  },
  "NetworkDiscoveredDeviceState": {
    "type": "integer",
    "x-enumNames": [
      "ActiveConfirmed",
      "RecentlyConfirmed",
      "CacheOnly",
      "ConfirmationNoReply",
      "CacheRemoved",
      "Stale",
      "ConflictingIdentity",
      "ProxyArpSuspected",
      "LegacyUnverified"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8
    ]
  },
  "NetworkDiscoveryAdapterKind": {
    "type": "integer",
    "x-enumNames": [
      "Standard",
      "Vpn",
      "Tunnel",
      "Loopback"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3
    ]
  },
  "NetworkDiscoveryAdapterStatusDto": {
    "properties": {
      "address": {
        "type": [
          "null",
          "string"
        ]
      },
      "detail": {
        "type": [
          "null",
          "string"
        ]
      },
      "included": {
        "type": "boolean"
      },
      "interfaceId": {
        "type": "string"
      },
      "kind": {
        "$ref": "#/components/schemas/NetworkDiscoveryAdapterKind"
      },
      "name": {
        "type": "string"
      },
      "prefixLength": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "reason": {
        "$ref": "#/components/schemas/NetworkDiscoveryEligibilityReason"
      },
      "scanCapable": {
        "default": true,
        "type": "boolean"
      }
    },
    "required": [
      "interfaceId",
      "name",
      "kind",
      "reason",
      "included"
    ],
    "type": "object"
  },
  "NetworkDiscoveryAgentParticipationItem": {
    "properties": {
      "adapterStatuses": {
        "items": {
          "$ref": "#/components/schemas/NetworkDiscoveryAdapterStatusDto"
        },
        "type": "array"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceName": {
        "type": "string"
      },
      "eligibleInterfaceCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "reportedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "supportsCurrentProtocol": {
        "type": "boolean"
      }
    },
    "required": [
      "deviceId",
      "deviceName",
      "supportsCurrentProtocol",
      "reportedAtUtc",
      "eligibleInterfaceCount",
      "adapterStatuses"
    ],
    "type": "object"
  },
  "NetworkDiscoveryArchiveReason": {
    "type": "integer",
    "x-enumNames": [
      "StaleEvidence",
      "RemovedFromCache",
      "InactiveNetwork",
      "EmptyUnidentifiedNetwork",
      "SupersededNetworkIdentity",
      "ExcludedDefaultSwitch"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5
    ]
  },
  "NetworkDiscoveryCompanySnapshot": {
    "properties": {
      "agentParticipation": {
        "items": {
          "$ref": "#/components/schemas/NetworkDiscoveryAgentParticipationItem"
        },
        "type": "array"
      },
      "canManagePlatform": {
        "type": "boolean"
      },
      "canManagePolicy": {
        "type": "boolean"
      },
      "company": {
        "$ref": "#/components/schemas/CompanyDto"
      },
      "companyOverride": {
        "type": [
          "null",
          "string"
        ]
      },
      "companyPolicyOverride": {
        "type": [
          "null",
          "string"
        ]
      },
      "devices": {
        "items": {
          "$ref": "#/components/schemas/DiscoveredNetworkDeviceListItem"
        },
        "type": "array"
      },
      "effectiveMode": {
        "$ref": "#/components/schemas/NetworkDiscoveryMode"
      },
      "effectivePolicy": {
        "$ref": "#/components/schemas/NetworkDiscoveryPolicyDto"
      },
      "managedDevices": {
        "items": {
          "$ref": "#/components/schemas/ManagedNetworkDeviceListItem"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "platformEnabled": {
        "type": "boolean"
      },
      "realms": {
        "items": {
          "$ref": "#/components/schemas/NetworkRealmListItem"
        },
        "type": "array"
      }
    },
    "required": [
      "company",
      "platformEnabled",
      "canManagePlatform",
      "effectiveMode",
      "companyOverride",
      "devices",
      "realms",
      "canManagePolicy",
      "companyPolicyOverride",
      "effectivePolicy",
      "agentParticipation"
    ],
    "type": "object"
  },
  "NetworkDiscoveryConfirmationOutcome": {
    "type": "integer",
    "x-enumNames": [
      "None",
      "Reply",
      "NoReply",
      "ProbeUnavailable",
      "Error",
      "Ambiguous"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5
    ]
  },
  "NetworkDiscoveryEligibilityReason": {
    "type": "integer",
    "x-enumNames": [
      "Eligible",
      "ExcludedVpn",
      "ExcludedTunnel",
      "ExcludedLoopback",
      "InterfaceDown",
      "NoEligibleIpv4Address",
      "UnsupportedPrefix",
      "BeaconRestrictedByPublicProfile",
      "ProviderFailure",
      "DuplicateInterfaceIdentity",
      "ExcludedDefaultSwitch"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10
    ]
  },
  "NetworkDiscoveryEvidence": {
    "type": "integer",
    "x-enumNames": [
      "Arp",
      "ArpAndDns",
      "ActiveArp",
      "ActiveArpAndDns",
      "ManagedMembership"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "NetworkDiscoveryMode": {
    "type": "integer",
    "x-enumNames": [
      "Disabled",
      "PassiveOnly",
      "Gentle"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "NetworkDiscoveryPolicyDto": {
    "properties": {
      "enableMulticastDns": {
        "default": true,
        "type": "boolean"
      },
      "enableNetBios": {
        "default": false,
        "type": "boolean"
      },
      "enableReverseDns": {
        "default": true,
        "type": "boolean"
      },
      "includeLoopbackAdapters": {
        "default": false,
        "type": "boolean"
      },
      "includeTunnelAdapters": {
        "default": false,
        "type": "boolean"
      },
      "includeVpnAdapters": {
        "default": false,
        "type": "boolean"
      },
      "scanIntervalMinutes": {
        "default": 120,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "type": "object"
  },
  "NetworkDiscoveryScanListItem": {
    "properties": {
      "assignedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "completedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "error": {
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "kind": {
        "$ref": "#/components/schemas/NetworkDiscoveryScanRunKind"
      },
      "lastProgressAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "newDevices": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "processedTargets": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "reason": {
        "type": [
          "null",
          "string"
        ]
      },
      "requestedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "requestedByName": {
        "type": [
          "null",
          "string"
        ]
      },
      "respondedTargets": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "sensorDeviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "sensorDeviceName": {
        "type": [
          "null",
          "string"
        ]
      },
      "sensorProgressStale": {
        "default": false,
        "type": "boolean"
      },
      "snmpCredentialAttempts": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "snmpError": {
        "type": [
          "null",
          "string"
        ]
      },
      "snmpProcessedTargets": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "snmpStatus": {
        "$ref": "#/components/schemas/NetworkMonitoringScanComponentStatus"
      },
      "snmpTotalTargets": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "startedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "$ref": "#/components/schemas/NetworkDiscoveryScanRunStatus"
      },
      "tcpError": {
        "type": [
          "null",
          "string"
        ]
      },
      "tcpProcessedTargets": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "tcpStatus": {
        "$ref": "#/components/schemas/NetworkMonitoringScanComponentStatus"
      },
      "tcpTotalTargets": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "totalTargets": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "kind",
      "status",
      "requestedAtUtc",
      "startedAtUtc",
      "completedAtUtc",
      "totalTargets",
      "processedTargets",
      "respondedTargets",
      "newDevices",
      "requestedByName",
      "reason",
      "error"
    ],
    "type": "object"
  },
  "NetworkDiscoveryScanRunKind": {
    "type": "integer",
    "x-enumNames": [
      "Scheduled",
      "Manual",
      "TargetedConfirmation"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "NetworkDiscoveryScanRunStatus": {
    "type": "integer",
    "x-enumNames": [
      "Queued",
      "Assigned",
      "Running",
      "Completed",
      "CancelRequested",
      "Cancelled",
      "Failed",
      "Limited"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7
    ]
  },
  "NetworkDiscoverySensorSelectionMode": {
    "type": "integer",
    "x-enumNames": [
      "Automatic",
      "AssignedExclusive"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "NetworkInternetSpeedDeviceSummary": {
    "properties": {
      "activeDownloadMegabitsPerSecond": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "activeLatencyMilliseconds": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "activeRunId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "activeStatus": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkInternetSpeedRunStatus"
          }
        ]
      },
      "activeUploadMegabitsPerSecond": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "cooldownUntilUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "downloadMegabitsPerSecond": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "enabled": {
        "type": "boolean"
      },
      "interfaces": {
        "items": {
          "$ref": "#/components/schemas/NetworkInternetSpeedInterfaceOption"
        },
        "type": "array"
      },
      "latencyMilliseconds": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "measuredAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "profile": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkInternetSpeedProfile"
          }
        ]
      },
      "sourceDeviceName": {
        "type": [
          "null",
          "string"
        ]
      },
      "sourceInterfaceName": {
        "type": [
          "null",
          "string"
        ]
      },
      "sourceLinkMedium": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkLinkMedium"
          }
        ]
      },
      "sourceLinkSpeedBitsPerSecond": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "unavailableReason": {
        "type": [
          "null",
          "string"
        ]
      },
      "uploadMegabitsPerSecond": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "waitingForNetworkInformation": {
        "type": "boolean"
      }
    },
    "required": [
      "enabled",
      "unavailableReason",
      "activeStatus",
      "activeRunId",
      "activeDownloadMegabitsPerSecond",
      "activeUploadMegabitsPerSecond",
      "activeLatencyMilliseconds",
      "cooldownUntilUtc",
      "downloadMegabitsPerSecond",
      "uploadMegabitsPerSecond",
      "latencyMilliseconds",
      "measuredAtUtc",
      "sourceDeviceName",
      "sourceInterfaceName",
      "sourceLinkMedium",
      "sourceLinkSpeedBitsPerSecond",
      "profile",
      "interfaces"
    ],
    "type": "object"
  },
  "NetworkInternetSpeedHistoryItem": {
    "properties": {
      "completedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "downloadMegabitsPerSecond": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "kind": {
        "$ref": "#/components/schemas/NetworkInternetSpeedRunKind"
      },
      "latencyMilliseconds": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "linkMedium": {
        "$ref": "#/components/schemas/NetworkLinkMedium"
      },
      "networkRealmId": {
        "format": "uuid",
        "type": "string"
      },
      "outcome": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkInternetSpeedOutcome"
          }
        ]
      },
      "requestedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "runId": {
        "format": "uuid",
        "type": "string"
      },
      "sourceDeviceId": {
        "format": "uuid",
        "type": "string"
      },
      "sourceInterfaceName": {
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/NetworkInternetSpeedRunStatus"
      },
      "uploadMegabitsPerSecond": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      }
    },
    "required": [
      "runId",
      "sourceDeviceId",
      "networkRealmId",
      "sourceInterfaceName",
      "linkMedium",
      "kind",
      "status",
      "outcome",
      "requestedAtUtc",
      "completedAtUtc",
      "downloadMegabitsPerSecond",
      "uploadMegabitsPerSecond",
      "latencyMilliseconds"
    ],
    "type": "object"
  },
  "NetworkInternetSpeedHistoryPage": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/NetworkInternetSpeedHistoryItem"
        },
        "type": "array"
      },
      "next": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "NetworkInternetSpeedInterfaceOption": {
    "properties": {
      "interfaceId": {
        "type": "string"
      },
      "interfaceName": {
        "type": "string"
      },
      "isPreferred": {
        "type": "boolean"
      },
      "linkMedium": {
        "$ref": "#/components/schemas/NetworkLinkMedium"
      },
      "linkSpeedBitsPerSecond": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "networkName": {
        "type": "string"
      },
      "networkRealmId": {
        "format": "uuid",
        "type": "string"
      },
      "sourceAddress": {
        "type": "string"
      }
    },
    "required": [
      "networkRealmId",
      "networkName",
      "interfaceId",
      "interfaceName",
      "sourceAddress",
      "linkMedium",
      "linkSpeedBitsPerSecond",
      "isPreferred"
    ],
    "type": "object"
  },
  "NetworkInternetSpeedOutcome": {
    "type": "integer",
    "x-enumNames": [
      "Succeeded",
      "Failed",
      "Cancelled",
      "DeferredBusy",
      "ServerConstrained",
      "InterfaceUnavailable"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5
    ]
  },
  "NetworkInternetSpeedProfile": {
    "type": "integer",
    "x-enumNames": [
      "Standard",
      "LowBandwidth"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "NetworkInternetSpeedRunKind": {
    "type": "integer",
    "x-enumNames": [
      "Scheduled",
      "Manual"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "NetworkInternetSpeedRunStatus": {
    "type": "integer",
    "x-enumNames": [
      "Queued",
      "Assigned",
      "Completed",
      "CancelRequested",
      "Cancelled",
      "Failed",
      "Expired"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6
    ]
  },
  "NetworkInternetSpeedRunSummary": {
    "properties": {
      "detail": {
        "type": [
          "null",
          "string"
        ]
      },
      "downloadMegabitsPerSecond": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "latencyMilliseconds": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "outcome": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkInternetSpeedOutcome"
          }
        ]
      },
      "runId": {
        "format": "uuid",
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/NetworkInternetSpeedRunStatus"
      },
      "uploadMegabitsPerSecond": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      }
    },
    "required": [
      "runId",
      "status",
      "outcome",
      "downloadMegabitsPerSecond",
      "uploadMegabitsPerSecond",
      "latencyMilliseconds",
      "detail"
    ],
    "type": "object"
  },
  "NetworkLinkMedium": {
    "type": "integer",
    "x-enumNames": [
      "Unknown",
      "Ethernet",
      "WiFi",
      "Cellular",
      "OtherPhysical"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "NetworkMapAttachment": {
    "properties": {
      "confidence": {
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "displayName": {
        "type": "string"
      },
      "lastSeenAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "macAddress": {
        "type": "string"
      },
      "managedDeviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "portLabel": {
        "type": "string"
      },
      "switchDeviceId": {
        "format": "uuid",
        "type": "string"
      },
      "switchName": {
        "type": "string"
      },
      "vlanId": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "deviceId",
      "managedDeviceId",
      "displayName",
      "macAddress",
      "switchDeviceId",
      "switchName",
      "portLabel",
      "vlanId",
      "confidence",
      "lastSeenAtUtc"
    ],
    "type": "object"
  },
  "NetworkMapLink": {
    "properties": {
      "confidence": {
        "type": "string"
      },
      "evidence": {
        "type": "string"
      },
      "observedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "portKey": {
        "type": "string"
      },
      "portLabel": {
        "type": "string"
      },
      "remotePort": {
        "type": [
          "null",
          "string"
        ]
      },
      "source": {
        "type": "string"
      },
      "target": {
        "type": "string"
      },
      "vlanIds": {
        "items": {
          "format": "int32",
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ]
        },
        "type": "array"
      }
    },
    "required": [
      "source",
      "target",
      "portKey",
      "portLabel",
      "remotePort",
      "evidence",
      "confidence",
      "vlanIds",
      "observedAtUtc"
    ],
    "type": "object"
  },
  "NetworkMapNode": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "type": "string"
      },
      "ipAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "kind": {
        "type": "string"
      },
      "lastRespondedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "macAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "managedDeviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "realmId": {
        "format": "uuid",
        "type": "string"
      },
      "realmName": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "realmId",
      "realmName",
      "name",
      "kind",
      "deviceId",
      "managedDeviceId",
      "ipAddress",
      "macAddress",
      "lastRespondedAtUtc"
    ],
    "type": "object"
  },
  "NetworkMapPort": {
    "properties": {
      "interfaceIndex": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "key": {
        "type": "string"
      },
      "label": {
        "type": "string"
      },
      "nodeId": {
        "type": "string"
      },
      "operationalStatus": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "speedBitsPerSecond": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "nodeId",
      "key",
      "label",
      "interfaceIndex",
      "operationalStatus",
      "speedBitsPerSecond"
    ],
    "type": "object"
  },
  "NetworkMapSnapshot": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "freshnessCutoffUtc": {
        "format": "date-time",
        "type": "string"
      },
      "generatedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "links": {
        "items": {
          "$ref": "#/components/schemas/NetworkMapLink"
        },
        "type": "array"
      },
      "nodes": {
        "items": {
          "$ref": "#/components/schemas/NetworkMapNode"
        },
        "type": "array"
      },
      "ports": {
        "items": {
          "$ref": "#/components/schemas/NetworkMapPort"
        },
        "type": "array"
      },
      "truncated": {
        "type": "boolean"
      },
      "unplacedDevices": {
        "items": {
          "$ref": "#/components/schemas/NetworkMapNode"
        },
        "type": [
          "null",
          "array"
        ]
      }
    },
    "required": [
      "companyId",
      "generatedAtUtc",
      "freshnessCutoffUtc",
      "truncated",
      "nodes",
      "ports",
      "links"
    ],
    "type": "object"
  },
  "NetworkMonitoringCompanySnapshot": {
    "properties": {
      "canManagePlatform": {
        "type": "boolean"
      },
      "canManagePolicy": {
        "type": "boolean"
      },
      "company": {
        "$ref": "#/components/schemas/CompanyDto"
      },
      "credentials": {
        "items": {
          "$ref": "#/components/schemas/SnmpCredentialProfileListItem"
        },
        "type": "array"
      },
      "devices": {
        "items": {
          "$ref": "#/components/schemas/SnmpMonitoredDeviceListItem"
        },
        "type": "array"
      },
      "effectiveTcpPolicy": {
        "$ref": "#/components/schemas/NetworkTcpMonitoringPolicyDto"
      },
      "enabled": {
        "type": "boolean"
      },
      "enabledCommonCommunitySelections": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "hasCompanyTcpOverride": {
        "type": "boolean"
      },
      "idracDevices": {
        "items": {
          "$ref": "#/components/schemas/IdracMonitoringDeviceItem"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "idracMonitoringEnabled": {
        "default": true,
        "type": "boolean"
      },
      "iloDevices": {
        "items": {
          "$ref": "#/components/schemas/IloMonitoringDeviceItem"
        },
        "type": "array"
      },
      "iloMonitoringEnabled": {
        "type": "boolean"
      },
      "iloPolicyManagedGlobally": {
        "type": "boolean"
      },
      "lastResponseAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "monitoredDevices": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "networkMap": {
        "items": {
          "$ref": "#/components/schemas/NetworkMapAttachment"
        },
        "type": "array"
      },
      "organizationTcpPolicy": {
        "$ref": "#/components/schemas/NetworkTcpMonitoringPolicyDto"
      },
      "platformEnabled": {
        "type": "boolean"
      },
      "respondingDevices": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "results": {
        "items": {
          "$ref": "#/components/schemas/NetworkMonitoringResultDevice"
        },
        "type": "array"
      },
      "successfulPollIntervalMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "tcpDevices": {
        "items": {
          "$ref": "#/components/schemas/NetworkTcpMonitoredDeviceListItem"
        },
        "type": "array"
      },
      "tcpPlatformEnabled": {
        "type": "boolean"
      },
      "unknownCredentialCooldownHours": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "company",
      "platformEnabled",
      "canManagePlatform",
      "canManagePolicy",
      "enabled",
      "enabledCommonCommunitySelections",
      "successfulPollIntervalMinutes",
      "unknownCredentialCooldownHours",
      "credentials",
      "monitoredDevices",
      "respondingDevices",
      "lastResponseAtUtc",
      "devices",
      "tcpPlatformEnabled",
      "organizationTcpPolicy",
      "hasCompanyTcpOverride",
      "effectiveTcpPolicy",
      "tcpDevices",
      "results",
      "networkMap",
      "iloMonitoringEnabled",
      "iloDevices",
      "iloPolicyManagedGlobally"
    ],
    "type": "object"
  },
  "NetworkMonitoringResultDevice": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "displayName": {
        "type": "string"
      },
      "ipAddress": {
        "type": "string"
      },
      "lastObservedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "managedDeviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "openPorts": {
        "items": {
          "$ref": "#/components/schemas/NetworkTcpPortPortalItem"
        },
        "type": "array"
      },
      "realmName": {
        "type": "string"
      },
      "snmp": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/SnmpMonitoredDeviceListItem"
          }
        ]
      },
      "snmpRefresh": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/SnmpDeviceRefreshPortalState"
          }
        ]
      },
      "tcpLastCheckedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "deviceId",
      "managedDeviceId",
      "displayName",
      "ipAddress",
      "realmName",
      "snmp",
      "openPorts",
      "lastObservedAtUtc",
      "tcpLastCheckedAtUtc"
    ],
    "type": "object"
  },
  "NetworkMonitoringScanComponentStatus": {
    "default": 0,
    "type": "integer",
    "x-enumNames": [
      "NotRequested",
      "Queued",
      "Running",
      "Completed",
      "Blocked",
      "Failed",
      "Cancelled"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6
    ]
  },
  "NetworkPortInteraction": {
    "type": "integer",
    "x-enumNames": [
      "ObserveOnly",
      "Http",
      "Https",
      "Ssh",
      "Telnet"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "NetworkProbeJobStatus": {
    "type": "integer",
    "x-enumNames": [
      "Queued",
      "Assigned",
      "Succeeded",
      "Failed",
      "Expired"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "NetworkProbeOutcome": {
    "type": "integer",
    "x-enumNames": [
      "Succeeded",
      "TimedOut",
      "AuthenticationRejected",
      "Unreachable",
      "ProtocolError",
      "Cancelled"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5
    ]
  },
  "NetworkRealmAddressingListItem": {
    "properties": {
      "broadcastAddress": {
        "type": "string"
      },
      "cidr": {
        "type": "string"
      },
      "current": {
        "type": "boolean"
      },
      "gatewayAddresses": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "gatewayMacAddresses": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "interfaceCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "lastSeenAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "netmask": {
        "type": "string"
      },
      "networkAddress": {
        "type": "string"
      },
      "observerCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "prefixLength": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "networkAddress",
      "prefixLength",
      "cidr",
      "netmask",
      "broadcastAddress",
      "gatewayAddresses",
      "gatewayMacAddresses",
      "observerCount",
      "interfaceCount",
      "lastSeenAtUtc",
      "current"
    ],
    "type": "object"
  },
  "NetworkRealmEvidence": {
    "type": "integer",
    "x-enumNames": [
      "Inferred",
      "Singleton",
      "Verified",
      "RepeatedlyVerified",
      "OperatorConfirmed",
      "Stale"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5
    ]
  },
  "NetworkRealmListItem": {
    "properties": {
      "activeScan": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkDiscoveryScanListItem"
          }
        ]
      },
      "activeSensorDeviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "activeSensorName": {
        "type": [
          "null",
          "string"
        ]
      },
      "addressing": {
        "items": {
          "$ref": "#/components/schemas/NetworkRealmAddressingListItem"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "archiveReason": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkDiscoveryArchiveReason"
          }
        ]
      },
      "archivedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "assignedBackupAvailable": {
        "type": "boolean"
      },
      "assignedBackupName": {
        "type": [
          "null",
          "string"
        ]
      },
      "assignedPrimaryAvailable": {
        "type": "boolean"
      },
      "assignedPrimaryName": {
        "type": [
          "null",
          "string"
        ]
      },
      "discoveredDevices": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "evidence": {
        "$ref": "#/components/schemas/NetworkRealmEvidence"
      },
      "firstSeenAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "internetSpeedEnabledOverride": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "lastScan": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkDiscoveryScanListItem"
          }
        ]
      },
      "lastScanCompletedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "lastScanStatus": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkDiscoveryScanRunStatus"
          }
        ]
      },
      "lastSeenAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "managedAgents": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "nameLocked": {
        "type": "boolean"
      },
      "nextGentleScanAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "observers": {
        "items": {
          "$ref": "#/components/schemas/NetworkRealmObserverListItem"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "previousIdentities": {
        "items": {
          "$ref": "#/components/schemas/NetworkRealmPreviousIdentityListItem"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "scanSuspendedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "sensorSelectionMode": {
        "$ref": "#/components/schemas/NetworkDiscoverySensorSelectionMode"
      },
      "standbySensorDeviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "standbySensorName": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "name",
      "evidence",
      "nameLocked",
      "managedAgents",
      "discoveredDevices",
      "activeSensorName",
      "standbySensorName",
      "lastSeenAtUtc",
      "nextGentleScanAtUtc",
      "lastScanCompletedAtUtc",
      "lastScanStatus",
      "activeScan",
      "archivedAtUtc",
      "archiveReason",
      "sensorSelectionMode",
      "assignedPrimaryName",
      "assignedBackupName",
      "assignedPrimaryAvailable",
      "assignedBackupAvailable"
    ],
    "type": "object"
  },
  "NetworkRealmObserverListItem": {
    "properties": {
      "assignedSiteName": {
        "type": [
          "null",
          "string"
        ]
      },
      "current": {
        "type": "boolean"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceName": {
        "type": "string"
      },
      "evidence": {
        "$ref": "#/components/schemas/NetworkRealmEvidence"
      },
      "firstSeenAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "gatewayAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "gatewayMacAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "interfaceMacAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "interfaceName": {
        "type": "string"
      },
      "ipAddress": {
        "type": "string"
      },
      "lastBeaconSeenAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "lastSeenAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "prefixLength": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "scanCapable": {
        "type": "boolean"
      }
    },
    "required": [
      "deviceId",
      "deviceName",
      "assignedSiteName",
      "interfaceName",
      "ipAddress",
      "prefixLength",
      "gatewayAddress",
      "gatewayMacAddress",
      "interfaceMacAddress",
      "scanCapable",
      "evidence",
      "firstSeenAtUtc",
      "lastSeenAtUtc",
      "lastBeaconSeenAtUtc",
      "current"
    ],
    "type": "object"
  },
  "NetworkRealmPreviousIdentityListItem": {
    "properties": {
      "firstSeenAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "lastSeenAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "reason": {
        "$ref": "#/components/schemas/NetworkRealmSupersessionReason"
      },
      "supersededAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "firstSeenAtUtc",
      "lastSeenAtUtc",
      "supersededAtUtc",
      "reason"
    ],
    "type": "object"
  },
  "NetworkRealmSupersessionReason": {
    "type": "integer",
    "x-enumNames": [
      "MissingGatewayMacEnriched"
    ],
    "x-enumValues": [
      0
    ]
  },
  "NetworkTcpMonitoredDeviceListItem": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "displayName": {
        "type": "string"
      },
      "ipAddress": {
        "type": "string"
      },
      "lastAttemptedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "lastOpenAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "managedDeviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "openPorts": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "realmName": {
        "type": "string"
      }
    },
    "required": [
      "deviceId",
      "displayName",
      "ipAddress",
      "realmName",
      "openPorts",
      "lastAttemptedAtUtc",
      "lastOpenAtUtc"
    ],
    "type": "object"
  },
  "NetworkTcpMonitoringPolicyDto": {
    "properties": {
      "allowTelnet": {
        "type": "boolean"
      },
      "enabled": {
        "type": "boolean"
      },
      "evidenceFreshnessMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "minimumRealmSpacingSeconds": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "pollIntervalMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "ports": {
        "items": {
          "$ref": "#/components/schemas/NetworkTcpPortDefinitionDto"
        },
        "type": "array"
      },
      "requireSnmpSuccess": {
        "type": "boolean"
      }
    },
    "required": [
      "enabled",
      "ports",
      "pollIntervalMinutes",
      "minimumRealmSpacingSeconds",
      "evidenceFreshnessMinutes",
      "requireSnmpSuccess",
      "allowTelnet"
    ],
    "type": "object"
  },
  "NetworkTcpPortDefinitionDto": {
    "properties": {
      "enabled": {
        "default": true,
        "type": "boolean"
      },
      "interaction": {
        "$ref": "#/components/schemas/NetworkPortInteraction"
      },
      "name": {
        "type": "string"
      },
      "port": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "port",
      "name",
      "interaction"
    ],
    "type": "object"
  },
  "NetworkTcpPortOutcome": {
    "type": "integer",
    "x-enumNames": [
      "Open",
      "Refused",
      "TimedOut",
      "Unreachable",
      "Error",
      "Cancelled"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5
    ]
  },
  "NetworkTcpPortPortalItem": {
    "properties": {
      "canLaunch": {
        "type": "boolean"
      },
      "connectMilliseconds": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "evidenceDeviceId": {
        "format": "uuid",
        "type": "string"
      },
      "identityEpochId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "interaction": {
        "$ref": "#/components/schemas/NetworkPortInteraction"
      },
      "lastAttemptedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "lastOpenAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "lastOutcome": {
        "$ref": "#/components/schemas/NetworkTcpPortOutcome"
      },
      "launchUnavailableReason": {
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "observerDeviceId": {
        "format": "uuid",
        "type": "string"
      },
      "port": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "port",
      "name",
      "interaction",
      "lastOutcome",
      "lastAttemptedAtUtc",
      "lastOpenAtUtc",
      "connectMilliseconds",
      "observerDeviceId",
      "identityEpochId",
      "canLaunch",
      "launchUnavailableReason",
      "evidenceDeviceId"
    ],
    "type": "object"
  },
  "NewWebhookResponse": {
    "properties": {
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "signingSecret": {
        "type": "string"
      },
      "url": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "url",
      "signingSecret"
    ],
    "type": "object"
  },
  "OperationSummary": {
    "properties": {
      "completedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "createdAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "deadlineUtc": {
        "format": "date-time",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "kind": {
        "type": "string"
      },
      "status": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "kind",
      "createdAtUtc",
      "deadlineUtc",
      "completedAtUtc",
      "status"
    ],
    "type": "object"
  },
  "OsKind": {
    "type": "integer",
    "x-enumNames": [
      "Windows",
      "MacOs",
      "Linux",
      "Android",
      "Ios"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "OutcomeResponse": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "factsObservedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "revision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "runId": {
        "format": "uuid",
        "type": "string"
      },
      "state": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "runId",
      "deviceId",
      "state",
      "factsObservedAtUtc",
      "revision"
    ],
    "type": "object"
  },
  "PageOfActivityResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/ActivityResponse"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PageOfAlertResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/AlertResponse"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PageOfCompanyResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/CompanyResponse"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PageOfDeliveryResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/DeliveryResponse"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PageOfDeviceResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/DeviceResponse"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PageOfFleetSoftwareItem": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/FleetSoftwareItem"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PageOfGroupResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/GroupResponse"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PageOfInventoryResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/InventoryResponse"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PageOfMaintenanceResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/MaintenanceResponse"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PageOfOperationSummary": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/OperationSummary"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PageOfOutcomeResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/OutcomeResponse"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PageOfRemoteHandleSummary": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/RemoteHandleSummary"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PageOfResourceSyncChange": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/ResourceSyncChange"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PageOfSiteResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/SiteResponse"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PageOfSyncChange": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/SyncChange"
        },
        "type": "array"
      },
      "next": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next"
    ],
    "type": "object"
  },
  "PasswordAuditFinding": {
    "properties": {
      "account": {
        "type": "string"
      },
      "administrator": {
        "type": "boolean"
      },
      "enabled": {
        "type": "boolean"
      },
      "failureCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "finding": {
        "type": "string"
      },
      "hibpAvailable": {
        "type": "boolean"
      },
      "hibpOccurrences": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "lastLogonSource": {
        "type": [
          "null",
          "string"
        ]
      },
      "lastLogonUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "lastPasswordSetUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "password": {
        "type": [
          "null",
          "string"
        ]
      },
      "state": {
        "type": "string"
      }
    },
    "type": "object"
  },
  "PasswordAuditOptions": {
    "properties": {
      "administratorsOnly": {
        "default": true,
        "type": "boolean"
      },
      "expectedDomain": {
        "type": [
          "null",
          "string"
        ]
      },
      "includeDisabled": {
        "default": false,
        "type": "boolean"
      },
      "includeInactiveAccounts": {
        "type": "boolean"
      },
      "inspectOnly": {
        "default": false,
        "type": "boolean"
      },
      "isValid": {
        "type": "boolean"
      },
      "reportLocale": {
        "type": [
          "null",
          "string"
        ]
      },
      "reportTimeZone": {
        "type": [
          "null",
          "string"
        ]
      },
      "scope": {
        "default": "Local",
        "type": "string"
      },
      "serversOnly": {
        "default": false,
        "type": "boolean"
      }
    },
    "type": "object"
  },
  "PasswordAuditReport": {
    "properties": {
      "accountsAttempted": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "accountsChecked": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "accountsExcluded": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "accountsSelected": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "checkedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "domain": {
        "type": "string"
      },
      "domainSid": {
        "type": [
          "null",
          "string"
        ]
      },
      "error": {
        "type": [
          "null",
          "string"
        ]
      },
      "findings": {
        "items": {
          "$ref": "#/components/schemas/PasswordAuditFinding"
        },
        "type": "array"
      },
      "inactiveAccounts": {
        "items": {
          "$ref": "#/components/schemas/InactiveAccountLogon"
        },
        "type": "array"
      },
      "inactiveAccountsCutoffUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "inactiveAccountsState": {
        "type": [
          "null",
          "string"
        ]
      },
      "inactiveUnknownDates": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "isDomainController": {
        "type": "boolean"
      },
      "isServer": {
        "type": "boolean"
      },
      "machineName": {
        "type": "string"
      },
      "moreAccounts": {
        "type": "boolean"
      },
      "noKnownMatch": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "state": {
        "type": "string"
      },
      "summaryEmailSent": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "unavailable": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "workers": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "type": "object"
  },
  "PasswordAuditScheduleInput": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "deviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "enabled": {
        "default": true,
        "type": "boolean"
      },
      "everyDays": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "expectedRevision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "reportLocale": {
        "type": [
          "null",
          "string"
        ]
      },
      "reportTimeZone": {
        "type": [
          "null",
          "string"
        ]
      },
      "requestKey": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "runOnce": {
        "default": false,
        "type": "boolean"
      },
      "selection": {
        "$ref": "#/components/schemas/PasswordAuditSelection"
      },
      "startAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "id",
      "companyId",
      "deviceId",
      "everyDays",
      "startAtUtc",
      "selection"
    ],
    "type": "object"
  },
  "PasswordAuditScheduleOutcome": {
    "properties": {
      "devices": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "emailSent": {
        "default": false,
        "type": "boolean"
      },
      "matches": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "skipped": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "startedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "state": {
        "type": "string"
      },
      "unavailable": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "startedAtUtc",
      "state"
    ],
    "type": "object"
  },
  "PasswordAuditScheduleView": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "enabled": {
        "type": "boolean"
      },
      "everyDays": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "lastRun": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/PasswordAuditScheduleOutcome"
          }
        ]
      },
      "nextDueAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "reportLocale": {
        "type": [
          "null",
          "string"
        ]
      },
      "reportTimeZone": {
        "type": [
          "null",
          "string"
        ]
      },
      "revision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "runOnce": {
        "default": false,
        "type": "boolean"
      },
      "running": {
        "type": "boolean"
      },
      "selection": {
        "$ref": "#/components/schemas/PasswordAuditSelection"
      },
      "startAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "targetName": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "companyId",
      "deviceId",
      "everyDays",
      "startAtUtc",
      "selection",
      "enabled",
      "revision",
      "nextDueAtUtc",
      "running",
      "lastRun"
    ],
    "type": "object"
  },
  "PasswordAuditSelection": {
    "properties": {
      "administratorsOnly": {
        "default": true,
        "type": "boolean"
      },
      "domainAccounts": {
        "default": true,
        "type": "boolean"
      },
      "includeDisabled": {
        "default": false,
        "type": "boolean"
      },
      "includeInactiveAccounts": {
        "default": false,
        "type": "boolean"
      },
      "localAccounts": {
        "default": true,
        "type": "boolean"
      },
      "serversOnly": {
        "default": false,
        "type": "boolean"
      }
    },
    "type": "object"
  },
  "PasswordAuditTarget": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "domain": {
        "type": "string"
      },
      "domainSid": {
        "type": [
          "null",
          "string"
        ]
      },
      "error": {
        "type": [
          "null",
          "string"
        ]
      },
      "isDomainController": {
        "type": "boolean"
      },
      "isServer": {
        "type": "boolean"
      },
      "name": {
        "type": "string"
      },
      "state": {
        "type": "string"
      }
    },
    "required": [
      "deviceId",
      "name",
      "companyId",
      "isServer",
      "isDomainController",
      "domain",
      "state"
    ],
    "type": "object"
  },
  "PatchApprovalIdentity": {
    "properties": {
      "revisionNumber": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "updateId": {
        "type": "string"
      }
    },
    "required": [
      "updateId",
      "revisionNumber"
    ],
    "type": "object"
  },
  "PatchApprovalListItem": {
    "properties": {
      "category": {
        "type": [
          "null",
          "string"
        ]
      },
      "decidedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "decidedByDisplayName": {
        "type": [
          "null",
          "string"
        ]
      },
      "decidedByUserId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "kbArticle": {
        "type": [
          "null",
          "string"
        ]
      },
      "operatingSystem": {
        "type": [
          "null",
          "string"
        ]
      },
      "patchKey": {
        "type": "string"
      },
      "releasedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "revisionNumber": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "severity": {
        "type": "string"
      },
      "state": {
        "$ref": "#/components/schemas/AutomationPatchApprovalState"
      },
      "title": {
        "type": "string"
      },
      "updateId": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "updateId",
      "revisionNumber",
      "patchKey",
      "title",
      "kbArticle",
      "severity",
      "category",
      "operatingSystem",
      "releasedAtUtc",
      "state",
      "decidedByUserId",
      "decidedByDisplayName",
      "decidedAtUtc"
    ],
    "type": "object"
  },
  "PatchBacklogItem": {
    "properties": {
      "affectedMachines": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "deniedMachines": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "kbArticle": {
        "type": [
          "null",
          "string"
        ]
      },
      "machines": {
        "items": {
          "$ref": "#/components/schemas/PatchBacklogMachine"
        },
        "type": "array"
      },
      "releasedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "revisionNumber": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "severity": {
        "type": "string"
      },
      "staleMachines": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "title": {
        "type": "string"
      },
      "unapprovedMachines": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "unknownMachines": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "updateId": {
        "type": "string"
      }
    },
    "required": [
      "updateId",
      "revisionNumber",
      "title",
      "kbArticle",
      "severity",
      "releasedAtUtc",
      "affectedMachines",
      "unapprovedMachines",
      "deniedMachines",
      "unknownMachines",
      "staleMachines",
      "machines"
    ],
    "type": "object"
  },
  "PatchBacklogMachine": {
    "properties": {
      "approval": {
        "type": "string"
      },
      "company": {
        "type": "string"
      },
      "complete": {
        "type": "boolean"
      },
      "delivery": {
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "scannedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "site": {
        "type": [
          "null",
          "string"
        ]
      },
      "stale": {
        "type": "boolean"
      }
    },
    "required": [
      "deviceId",
      "name",
      "company",
      "site",
      "approval",
      "delivery",
      "scannedAtUtc",
      "stale",
      "complete"
    ],
    "type": "object"
  },
  "PatchBacklogPage": {
    "properties": {
      "incompleteDevices": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/PatchBacklogItem"
        },
        "type": "array"
      },
      "limit": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "offset": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "staleDevices": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "total": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "unreportedDevices": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "uploadingDevices": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "total",
      "offset",
      "limit"
    ],
    "type": "object"
  },
  "PatchBacklogRequest": {
    "properties": {
      "company": {
        "type": [
          "null",
          "string"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "device": {
        "type": [
          "null",
          "string"
        ]
      },
      "deviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "limit": {
        "default": 50,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "machineOffset": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "offset": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "onlyUnapproved": {
        "default": true,
        "type": "boolean"
      },
      "revisionNumber": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "search": {
        "type": [
          "null",
          "string"
        ]
      },
      "site": {
        "type": [
          "null",
          "string"
        ]
      },
      "siteId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "updateId": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "type": "object"
  },
  "PatchComplianceFactDto": {
    "properties": {
      "errorCode": {
        "type": [
          "null",
          "string"
        ]
      },
      "failedCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "inventoryComplete": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "isStale": {
        "default": false,
        "type": "boolean"
      },
      "lastSuccessfulScanAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "missingCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "missingCriticalCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "missingUpdates": {
        "items": {
          "$ref": "#/components/schemas/PatchFactDto"
        },
        "type": "array"
      },
      "pageCount": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "pageIndex": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "provider": {
        "type": "string"
      },
      "scanId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "scannedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "serviceId": {
        "type": [
          "null",
          "string"
        ]
      },
      "serviceSource": {
        "type": [
          "null",
          "string"
        ]
      },
      "state": {
        "$ref": "#/components/schemas/PatchComplianceState"
      }
    },
    "required": [
      "scannedAtUtc",
      "state",
      "missingCount",
      "missingCriticalCount",
      "failedCount",
      "missingUpdates",
      "provider"
    ],
    "type": "object"
  },
  "PatchComplianceState": {
    "type": "integer",
    "x-enumNames": [
      "Unknown",
      "Compliant",
      "MissingUpdates",
      "ScanFailed",
      "Unsupported"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "PatchFactDto": {
    "properties": {
      "canRequestUserInput": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "categoryNames": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "cveIds": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "type": "string"
      },
      "installedDotNetMajor": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "isOptional": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "kbArticleIds": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "maximumDownloadSizeBytes": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "rebootBehavior": {
        "$ref": "#/components/schemas/PatchRebootBehavior"
      },
      "rebootRequired": {
        "default": false,
        "type": "boolean"
      },
      "releasedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "revisionNumber": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "severity": {
        "$ref": "#/components/schemas/PatchSeverity"
      },
      "title": {
        "type": "string"
      },
      "updateId": {
        "type": [
          "null",
          "string"
        ]
      },
      "updateType": {
        "$ref": "#/components/schemas/PatchUpdateType"
      }
    },
    "required": [
      "id",
      "title"
    ],
    "type": "object"
  },
  "PatchFactsResponse": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "facts": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/PatchComplianceFactDto"
          }
        ]
      }
    },
    "required": [
      "deviceId",
      "facts"
    ],
    "type": "object"
  },
  "PatchFieldRequest": {
    "properties": {
      "value": {
        "type": [
          "null",
          "string"
        ]
      },
      "version": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "value",
      "version"
    ],
    "type": "object"
  },
  "PatchManagementPolicySpec": {
    "properties": {
      "approveFilters": {
        "items": {
          "$ref": "#/components/schemas/PatchPolicyFilter"
        },
        "type": "array"
      },
      "denyFilters": {
        "items": {
          "$ref": "#/components/schemas/PatchPolicyFilter"
        },
        "type": "array"
      },
      "effectivePower": {
        "$ref": "#/components/schemas/PatchPolicyPowerSpec"
      },
      "installWindowMinutes": {
        "default": 60,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "manualDecisions": {
        "items": {
          "$ref": "#/components/schemas/PatchPolicyManualDecision"
        },
        "type": "array"
      },
      "mode": {
        "$ref": "#/components/schemas/PatchPolicyMode"
      },
      "power": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/PatchPolicyPowerSpec"
          }
        ]
      },
      "requiredOnly": {
        "default": false,
        "type": "boolean"
      },
      "schemaVersion": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "siteOverrides": {
        "items": {
          "$ref": "#/components/schemas/PatchPolicySiteOverride"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "startWindowMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "windowsUpdateSettings": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/WindowsUpdateConfigurationSpec"
          }
        ]
      }
    },
    "required": [
      "mode",
      "approveFilters",
      "denyFilters",
      "manualDecisions"
    ],
    "type": "object"
  },
  "PatchPolicyCriterion": {
    "properties": {
      "field": {
        "$ref": "#/components/schemas/PatchPolicyCriterionField"
      },
      "operator": {
        "$ref": "#/components/schemas/PatchPolicyCriterionOperator"
      },
      "value": {
        "default": "",
        "type": "string"
      }
    },
    "required": [
      "field"
    ],
    "type": "object"
  },
  "PatchPolicyCriterionField": {
    "type": "integer",
    "x-enumNames": [
      "All",
      "Category",
      "Description",
      "MaximumSizeBytes",
      "KbArticle",
      "Severity",
      "RebootBehavior",
      "ReleaseAgeDays",
      "RequestsUserInput",
      "Title",
      "UpdateType",
      "Optional",
      "InstalledDotNetMajor"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11,
      12
    ]
  },
  "PatchPolicyCriterionOperator": {
    "default": 0,
    "type": "integer",
    "x-enumNames": [
      "Equals",
      "Contains",
      "LessThanOrEqual",
      "GreaterThanOrEqual",
      "NotEquals",
      "NotContains",
      "StartsWith",
      "EndsWith",
      "LessThan",
      "GreaterThan"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9
    ]
  },
  "PatchPolicyDecision": {
    "type": "integer",
    "x-enumNames": [
      "Unapproved",
      "Approved",
      "Denied"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "PatchPolicyFilter": {
    "properties": {
      "criteria": {
        "items": {
          "$ref": "#/components/schemas/PatchPolicyCriterion"
        },
        "type": "array"
      },
      "schemaVersion": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "criteria"
    ],
    "type": "object"
  },
  "PatchPolicyManualDecision": {
    "properties": {
      "decision": {
        "$ref": "#/components/schemas/PatchPolicyDecision"
      },
      "identity": {
        "$ref": "#/components/schemas/PatchUpdateIdentity"
      }
    },
    "required": [
      "identity",
      "decision"
    ],
    "type": "object"
  },
  "PatchPolicyMode": {
    "type": "integer",
    "x-enumNames": [
      "AuditOnly",
      "InstallApproved"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "PatchPolicyPowerSpec": {
    "properties": {
      "allowUserRestartDeferral": {
        "default": true,
        "type": "boolean"
      },
      "finalRestartCountdownMinutes": {
        "default": 5,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "maximumRestartDeferrals": {
        "default": 3,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "restartDeferralMinutes": {
        "default": 30,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "restartMode": {
        "$ref": "#/components/schemas/PatchRestartMode"
      },
      "restartNoticeMinutes": {
        "default": 15,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "restartOnlyWhenNoUserIsLoggedOn": {
        "default": false,
        "type": "boolean"
      },
      "restartWhenNoUserIsLoggedOn": {
        "default": true,
        "type": "boolean"
      },
      "suppressMonitoring": {
        "default": true,
        "type": "boolean"
      },
      "wakeBeforeWindow": {
        "default": false,
        "type": "boolean"
      },
      "wakeLeadMinutes": {
        "default": 15,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "type": "object"
  },
  "PatchPolicySiteOverride": {
    "properties": {
      "additionalApproveFilters": {
        "items": {
          "$ref": "#/components/schemas/PatchPolicyFilter"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "additionalDenyFilters": {
        "items": {
          "$ref": "#/components/schemas/PatchPolicyFilter"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "installWindowMinutes": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "power": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/PatchPolicyPowerSpec"
          }
        ]
      },
      "schedule": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationScheduleSpec"
          }
        ]
      },
      "siteId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "siteId"
    ],
    "type": "object"
  },
  "PatchRebootBehavior": {
    "default": 0,
    "type": "integer",
    "x-enumNames": [
      "Unknown",
      "Never",
      "Always",
      "CanRequest"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3
    ]
  },
  "PatchRestartMode": {
    "default": 0,
    "type": "integer",
    "x-enumNames": [
      "DoNotRestart",
      "RestartIfRequired",
      "RestartIfRequiredWithNotice",
      "ShutdownAfterPatching"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3
    ]
  },
  "PatchSeverity": {
    "default": 0,
    "type": "integer",
    "x-enumNames": [
      "Unknown",
      "Low",
      "Moderate",
      "Important",
      "Critical"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "PatchUpdateIdentity": {
    "properties": {
      "revisionNumber": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "updateId": {
        "type": "string"
      }
    },
    "required": [
      "updateId",
      "revisionNumber"
    ],
    "type": "object"
  },
  "PatchUpdateType": {
    "default": 0,
    "type": "integer",
    "x-enumNames": [
      "Unknown",
      "Software",
      "Driver"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "PatchVulnerabilityItem": {
    "properties": {
      "affectedDevices": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "agentReported": {
        "default": false,
        "type": "boolean"
      },
      "cve": {
        "type": "string"
      },
      "cvss": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "fixingKbs": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "incompleteDevices": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "machinePatchCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "machines": {
        "items": {
          "$ref": "#/components/schemas/VulnerabilityMachine"
        },
        "type": "array"
      },
      "retrievedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "source": {
        "type": "string"
      },
      "staleDevices": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "vector": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "cve",
      "cvss",
      "vector",
      "source",
      "retrievedAtUtc",
      "affectedDevices",
      "staleDevices",
      "incompleteDevices",
      "fixingKbs",
      "machinePatchCount",
      "machines"
    ],
    "type": "object"
  },
  "PatchVulnerabilityPage": {
    "properties": {
      "availableMonths": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "catalogueFresh": {
        "type": "boolean"
      },
      "devicesWithoutPatchRows": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "expectedMonths": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/PatchVulnerabilityItem"
        },
        "type": "array"
      },
      "limit": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "offset": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "oldestRefreshUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "scopedDevices": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "total": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "unmappedPatches": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "total",
      "offset",
      "limit",
      "scopedDevices",
      "devicesWithoutPatchRows",
      "unmappedPatches",
      "availableMonths",
      "expectedMonths",
      "oldestRefreshUtc",
      "catalogueFresh"
    ],
    "type": "object"
  },
  "PatchVulnerabilityRequest": {
    "properties": {
      "company": {
        "type": [
          "null",
          "string"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "device": {
        "type": [
          "null",
          "string"
        ]
      },
      "deviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "limit": {
        "default": 50,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "machineOffset": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "minimumCvss": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "offset": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "onlyUnknownCvss": {
        "default": false,
        "type": "boolean"
      },
      "search": {
        "type": [
          "null",
          "string"
        ]
      },
      "site": {
        "type": [
          "null",
          "string"
        ]
      },
      "siteId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "type": "object"
  },
  "PerformanceHistoryResponse": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "from": {
        "format": "date-time",
        "type": "string"
      },
      "items": {
        "items": {
          "$ref": "#/components/schemas/DevicePerformanceRollupDto"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "to": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "deviceId",
      "from",
      "to",
      "items"
    ],
    "type": "object"
  },
  "ProcessInfoDto": {
    "properties": {
      "cpuPercent": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "id": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "memoryBytes": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "owner": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "name",
      "cpuPercent",
      "memoryBytes"
    ],
    "type": "object"
  },
  "PublicApiTokenResponse": {
    "properties": {
      "accessToken": {
        "type": "string"
      },
      "expiresAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "expiresIn": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "tokenType": {
        "type": "string"
      }
    },
    "required": [
      "accessToken",
      "tokenType",
      "expiresIn",
      "expiresAtUtc"
    ],
    "type": "object"
  },
  "RecoveredOperation": {
    "properties": {
      "completedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "createdAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "deadlineUtc": {
        "format": "date-time",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "kind": {
        "type": "string"
      },
      "progress": {
        "$ref": "#/components/schemas/IntegrationOperationProgress"
      },
      "result": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      },
      "status": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "kind",
      "status",
      "createdAtUtc",
      "deadlineUtc",
      "completedAtUtc",
      "progress",
      "result"
    ],
    "type": "object"
  },
  "RemoteHandleSummary": {
    "properties": {
      "expires": {
        "format": "date-time",
        "type": "string"
      },
      "handleId": {
        "format": "uuid",
        "type": "string"
      },
      "session": {
        "$ref": "#/components/schemas/IntegrationRemoteSession"
      }
    },
    "required": [
      "handleId",
      "session",
      "expires"
    ],
    "type": "object"
  },
  "RemoteResourcesOptionsDto": {
    "properties": {
      "enableMulticastDns": {
        "default": false,
        "type": "boolean"
      },
      "enableNetBios": {
        "default": false,
        "type": "boolean"
      },
      "interfaceId": {
        "type": [
          "null",
          "string"
        ]
      },
      "localAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "localRdpOnly": {
        "default": false,
        "type": "boolean"
      },
      "maxHosts": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "ports": {
        "items": {
          "format": "int32",
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ]
        },
        "type": "array"
      },
      "websiteRdpCredentials": {
        "default": false,
        "type": "boolean"
      }
    },
    "required": [
      "ports",
      "maxHosts",
      "interfaceId"
    ],
    "type": "object"
  },
  "ResourceSyncChange": {
    "properties": {
      "data": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/JsonElement"
          }
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "kind": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "kind",
      "data"
    ],
    "type": "object"
  },
  "RevisionRequest": {
    "properties": {
      "revision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "revision"
    ],
    "type": "object"
  },
  "RmmRoleDto": {
    "properties": {
      "customRoleId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": "string"
      },
      "isBuiltIn": {
        "type": "boolean"
      },
      "key": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "permissions": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "key",
      "name",
      "description",
      "permissions",
      "isBuiltIn"
    ],
    "type": "object"
  },
  "RosterUserDto": {
    "properties": {
      "accessState": {
        "$ref": "#/components/schemas/AccountAccessState"
      },
      "assignedRmmRoleKeys": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "companyName": {
        "type": [
          "null",
          "string"
        ]
      },
      "displayName": {
        "type": "string"
      },
      "email": {
        "type": "string"
      },
      "hasMicrosoftSso": {
        "default": false,
        "type": "boolean"
      },
      "hasSessionHistory": {
        "type": "boolean"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "isActive": {
        "type": "boolean"
      },
      "isCompanyScoped": {
        "default": false,
        "type": "boolean"
      },
      "isOrganizationOwner": {
        "type": "boolean"
      },
      "lockoutEndUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "rmmCustomRoleId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "rmmRoleKey": {
        "type": [
          "null",
          "string"
        ]
      },
      "rmmRoleName": {
        "type": [
          "null",
          "string"
        ]
      },
      "role": {
        "type": "string"
      },
      "scopedCompanyIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      }
    },
    "required": [
      "id",
      "email",
      "displayName",
      "role",
      "companyId",
      "companyName",
      "isOrganizationOwner",
      "isActive",
      "hasSessionHistory"
    ],
    "type": "object"
  },
  "ScreenshotInputTarget": {
    "properties": {
      "click": {
        "default": false,
        "type": "boolean"
      },
      "expiresAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "layout": {
        "$ref": "#/components/schemas/MonitorsDto"
      },
      "monitorId": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "monitorId",
      "layout",
      "expiresAtUtc"
    ],
    "type": "object"
  },
  "SecurityFactsResponse": {
    "properties": {
      "antivirusDefinitionsUpToDate": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "antivirusDefinitionsUpdatedAt": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "antivirusEnabled": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "antivirusProduct": {
        "type": [
          "null",
          "string"
        ]
      },
      "bitLockerCEnabled": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "bitLockerCollectedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "factsUpdatedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "firewallEnabled": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "products": {
        "items": {
          "$ref": "#/components/schemas/AntivirusProductFactDto"
        },
        "type": [
          "null",
          "array"
        ]
      }
    },
    "required": [
      "id",
      "firewallEnabled",
      "antivirusProduct",
      "antivirusEnabled",
      "antivirusDefinitionsUpdatedAt",
      "antivirusDefinitionsUpToDate",
      "bitLockerCEnabled",
      "bitLockerCollectedAtUtc",
      "factsUpdatedAtUtc",
      "products"
    ],
    "type": "object"
  },
  "ServiceAction": {
    "type": "integer",
    "x-enumNames": [
      "Start",
      "Stop",
      "Restart"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "ServiceInfoDto": {
    "properties": {
      "displayName": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "startType": {
        "type": "string"
      },
      "status": {
        "type": "string"
      }
    },
    "required": [
      "name",
      "displayName",
      "status",
      "startType"
    ],
    "type": "object"
  },
  "SessionAudioAvailability": {
    "type": "integer",
    "x-enumNames": [
      "Unknown",
      "Available",
      "NoPlaybackEndpoint",
      "ProbeFailed"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3
    ]
  },
  "SessionEndReason": {
    "type": "integer",
    "x-enumNames": [
      "EndedByTechnician",
      "ClientEnded",
      "TimedOutIdle",
      "ConnectionLost",
      "TechnicianDisconnected",
      "RelayRestarted",
      "GuestPassRevoked",
      "GuestPassExpired",
      "LicenseSuspended",
      "LicenseDeleted",
      "CommerciallyRestricted",
      "ConsentDenied",
      "ConsentTimedOut",
      "EndedByEndUser"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11,
      12,
      13
    ]
  },
  "SessionKind": {
    "type": "integer",
    "x-enumNames": [
      "Desktop",
      "Browsing",
      "Console",
      "FileBrowser",
      "Ghost",
      "RemoteResources",
      "RemoteIpScan",
      "HyperVConsole"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7
    ]
  },
  "SettingKey": {
    "type": "integer",
    "x-enumNames": [
      "RequireUserConsent",
      "LockComputerOnSessionEnd",
      "OpenSessionsInNewTab",
      "WakeRelay",
      "TerminalExperience",
      "DefaultSessionColorQuality",
      "DefaultSuppressWallpaper",
      "DefaultOptimizeWindowsVisualEffects",
      "DefaultDeviceListLayout",
      "DeviceLocationReporting",
      "NetworkDiscoveryMode",
      "NetworkDiscoveryPolicy",
      "NetworkDiscoveryRetentionPolicy",
      "NetworkDiscoverySensorAssignment",
      "NetworkTcpMonitoringPolicy",
      "NetworkDiscoveryAllowWindowsPublicProfile",
      "NetworkInternetSpeedEnabled",
      "IloMonitoringEnabled",
      "IdracMonitoringEnabled"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10,
      11,
      12,
      13,
      14,
      15,
      16,
      17,
      18
    ]
  },
  "SettingScopeType": {
    "type": "integer",
    "x-enumNames": [
      "Device",
      "Site",
      "Company",
      "Organization"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3
    ]
  },
  "SiteResponse": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "companyId",
      "name"
    ],
    "type": "object"
  },
  "SnmpAuthenticationProtocol": {
    "type": "integer",
    "x-enumNames": [
      "None",
      "Sha1",
      "Sha256"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "SnmpBridgeForwardingResultDto": {
    "properties": {
      "bridgePortNumber": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "consecutiveObservations": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "firstSeenAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "forwardingDatabaseId": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "interfaceIndex": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "lastSeenAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "macAddress": {
        "type": "string"
      },
      "missedObservations": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "source": {
        "default": "bridge",
        "type": "string"
      },
      "status": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "vlanId": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "macAddress",
      "bridgePortNumber",
      "interfaceIndex",
      "status"
    ],
    "type": "object"
  },
  "SnmpCredentialProfileInput": {
    "properties": {
      "authenticationProtocol": {
        "$ref": "#/components/schemas/SnmpAuthenticationProtocol"
      },
      "authenticationSecret": {
        "type": [
          "null",
          "string"
        ]
      },
      "community": {
        "type": [
          "null",
          "string"
        ]
      },
      "contextName": {
        "type": [
          "null",
          "string"
        ]
      },
      "enabled": {
        "type": "boolean"
      },
      "id": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "priority": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "privacyProtocol": {
        "$ref": "#/components/schemas/SnmpPrivacyProtocol"
      },
      "privacySecret": {
        "type": [
          "null",
          "string"
        ]
      },
      "userName": {
        "type": [
          "null",
          "string"
        ]
      },
      "version": {
        "$ref": "#/components/schemas/SnmpProtocolVersion"
      }
    },
    "required": [
      "id",
      "name",
      "version",
      "community",
      "userName",
      "authenticationProtocol",
      "authenticationSecret",
      "privacyProtocol",
      "privacySecret",
      "contextName",
      "priority",
      "enabled"
    ],
    "type": "object"
  },
  "SnmpCredentialProfileListItem": {
    "properties": {
      "authenticationProtocol": {
        "$ref": "#/components/schemas/SnmpAuthenticationProtocol"
      },
      "enabled": {
        "type": "boolean"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "priority": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "privacyProtocol": {
        "$ref": "#/components/schemas/SnmpPrivacyProtocol"
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "version": {
        "$ref": "#/components/schemas/SnmpProtocolVersion"
      }
    },
    "required": [
      "id",
      "name",
      "version",
      "authenticationProtocol",
      "privacyProtocol",
      "priority",
      "enabled",
      "updatedAtUtc"
    ],
    "type": "object"
  },
  "SnmpDevicePortalSnapshot": {
    "properties": {
      "bridgeForwardingEntries": {
        "items": {
          "$ref": "#/components/schemas/SnmpBridgeForwardingResultDto"
        },
        "type": "array"
      },
      "health": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/SnmpHealthPortalSummary"
          }
        ]
      },
      "interfaceCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "interfaces": {
        "items": {
          "$ref": "#/components/schemas/SnmpInterfaceResultDto"
        },
        "type": "array"
      },
      "lastAttemptedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "lastDetail": {
        "type": [
          "null",
          "string"
        ]
      },
      "lastOutcome": {
        "$ref": "#/components/schemas/NetworkProbeOutcome"
      },
      "lastRespondedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "lldpNeighbors": {
        "items": {
          "$ref": "#/components/schemas/SnmpLldpNeighborResultDto"
        },
        "type": "array"
      },
      "switchPorts": {
        "items": {
          "$ref": "#/components/schemas/SnmpSwitchPortPortalItem"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "systemContact": {
        "type": [
          "null",
          "string"
        ]
      },
      "systemDescription": {
        "type": [
          "null",
          "string"
        ]
      },
      "systemLocation": {
        "type": [
          "null",
          "string"
        ]
      },
      "systemName": {
        "type": [
          "null",
          "string"
        ]
      },
      "systemObjectId": {
        "type": [
          "null",
          "string"
        ]
      },
      "ups": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/SnmpUpsResultDto"
          }
        ]
      },
      "uptimeHundredths": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "version": {
        "$ref": "#/components/schemas/SnmpProtocolVersion"
      }
    },
    "required": [
      "version",
      "systemName",
      "systemDescription",
      "systemObjectId",
      "systemContact",
      "systemLocation",
      "uptimeHundredths",
      "interfaceCount",
      "lastAttemptedAtUtc",
      "lastRespondedAtUtc",
      "lastOutcome",
      "lastDetail",
      "interfaces",
      "ups",
      "lldpNeighbors",
      "bridgeForwardingEntries"
    ],
    "type": "object"
  },
  "SnmpDeviceRefreshPortalState": {
    "properties": {
      "assignedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "completedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "outcome": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/NetworkProbeOutcome"
          }
        ]
      },
      "requestId": {
        "format": "uuid",
        "type": "string"
      },
      "requestedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "status": {
        "$ref": "#/components/schemas/NetworkProbeJobStatus"
      }
    },
    "required": [
      "requestId",
      "status",
      "outcome",
      "requestedAtUtc",
      "assignedAtUtc",
      "completedAtUtc"
    ],
    "type": "object"
  },
  "SnmpHealthPortalSummary": {
    "properties": {
      "activeConnections": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "channelUtilizationPercent": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "collectionComplete": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "counterSampleSeconds": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "cpuUsagePercent": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "diskCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "diskProblems": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "diskRiskCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "diskRoles": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "expectedInterfacesDown": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "fanHealthObserved": {
        "type": "boolean"
      },
      "fanProblems": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "interfaceErrorChanges": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "interfaceErrors": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "interfaceProblems": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "issues": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "load1Minute": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "memoryUsagePercent": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "model": {
        "type": [
          "null",
          "string"
        ]
      },
      "observedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "packId": {
        "type": "string"
      },
      "packName": {
        "type": "string"
      },
      "powerSupplyHealthObserved": {
        "type": "boolean"
      },
      "powerSupplyProblems": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "printerCriticalAlerts": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "printerLowSupplies": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "raidCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "raidProblems": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "readings": {
        "items": {
          "$ref": "#/components/schemas/SnmpHealthReading"
        },
        "type": "array"
      },
      "sensorCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "softwareVersion": {
        "type": [
          "null",
          "string"
        ]
      },
      "status": {
        "type": "string"
      },
      "storageUsedPercent": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "summary": {
        "type": "string"
      },
      "swapUsagePercent": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "temperatureCelsius": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "upsActiveAlarms": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "upsLoadPercent": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "wirelessClients": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "wirelessDownVaps": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "wirelessDropChanges": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "wirelessDrops": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "wirelessErrorChanges": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "wirelessErrors": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "wirelessRetries": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "wirelessRetryChanges": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "packId",
      "packName",
      "status",
      "summary",
      "observedAtUtc",
      "model",
      "softwareVersion",
      "cpuUsagePercent",
      "load1Minute",
      "memoryUsagePercent",
      "swapUsagePercent",
      "temperatureCelsius",
      "storageUsedPercent",
      "diskCount",
      "diskProblems",
      "raidCount",
      "raidProblems",
      "wirelessClients",
      "channelUtilizationPercent",
      "wirelessDrops",
      "wirelessErrors",
      "wirelessRetries",
      "wirelessDownVaps",
      "interfaceProblems",
      "interfaceErrors",
      "sensorCount",
      "activeConnections",
      "upsLoadPercent",
      "upsActiveAlarms",
      "printerCriticalAlerts",
      "printerLowSupplies",
      "fanProblems",
      "powerSupplyProblems",
      "diskRoles",
      "issues"
    ],
    "type": "object"
  },
  "SnmpHealthReading": {
    "properties": {
      "label": {
        "type": "string"
      },
      "value": {
        "type": "string"
      }
    },
    "required": [
      "label",
      "value"
    ],
    "type": "object"
  },
  "SnmpInterfaceResultDto": {
    "properties": {
      "adminStatus": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "alias": {
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": [
          "null",
          "string"
        ]
      },
      "expectedUp": {
        "default": false,
        "type": "boolean"
      },
      "inErrors": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "inOctets": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "index": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "name": {
        "type": [
          "null",
          "string"
        ]
      },
      "operationalStatus": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "outErrors": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "outOctets": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "physicalAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "speedBitsPerSecond": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "index",
      "name",
      "description",
      "alias",
      "physicalAddress",
      "speedBitsPerSecond",
      "adminStatus",
      "operationalStatus",
      "inOctets",
      "outOctets",
      "inErrors",
      "outErrors"
    ],
    "type": "object"
  },
  "SnmpLldpNeighborResultDto": {
    "properties": {
      "chassisId": {
        "type": [
          "null",
          "string"
        ]
      },
      "chassisMacAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "consecutiveObservations": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "firstSeenAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "lastSeenAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "localPortNumber": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "missedObservations": {
        "default": 0,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "observationKey": {
        "type": "string"
      },
      "portDescription": {
        "type": [
          "null",
          "string"
        ]
      },
      "portId": {
        "type": [
          "null",
          "string"
        ]
      },
      "supportedCapabilities": {
        "type": [
          "null",
          "string"
        ]
      },
      "systemDescription": {
        "type": [
          "null",
          "string"
        ]
      },
      "systemName": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "observationKey",
      "localPortNumber",
      "chassisId",
      "portId",
      "portDescription",
      "systemName",
      "systemDescription",
      "supportedCapabilities"
    ],
    "type": "object"
  },
  "SnmpMonitoredDeviceListItem": {
    "properties": {
      "collectedInterfaces": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "displayName": {
        "type": "string"
      },
      "forwardingEntries": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "health": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/SnmpHealthPortalSummary"
          }
        ]
      },
      "ipAddress": {
        "type": "string"
      },
      "lastAttemptedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "lastDetail": {
        "type": [
          "null",
          "string"
        ]
      },
      "lastOutcome": {
        "$ref": "#/components/schemas/NetworkProbeOutcome"
      },
      "lastRespondedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "lldpNeighbors": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "managedDeviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "realmName": {
        "type": "string"
      },
      "reportedInterfaces": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "systemName": {
        "type": [
          "null",
          "string"
        ]
      },
      "upsChargePercent": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "deviceId",
      "displayName",
      "ipAddress",
      "realmName",
      "systemName",
      "lastOutcome",
      "lastAttemptedAtUtc",
      "lastRespondedAtUtc",
      "reportedInterfaces",
      "collectedInterfaces",
      "lldpNeighbors",
      "forwardingEntries",
      "upsChargePercent",
      "lastDetail"
    ],
    "type": "object"
  },
  "SnmpPrivacyProtocol": {
    "type": "integer",
    "x-enumNames": [
      "None",
      "Aes128"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "SnmpProtocolVersion": {
    "type": "integer",
    "x-enumNames": [
      "V1",
      "V2C",
      "V3"
    ],
    "x-enumValues": [
      1,
      2,
      3
    ]
  },
  "SnmpSwitchPortConnection": {
    "properties": {
      "confidence": {
        "type": "string"
      },
      "deviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "displayName": {
        "type": "string"
      },
      "ipAddress": {
        "type": [
          "null",
          "string"
        ]
      },
      "isDirectNeighbor": {
        "type": "boolean"
      },
      "isSwitch": {
        "type": "boolean"
      },
      "lastSeenAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "macAddress": {
        "type": "string"
      },
      "managedDeviceId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "vlanIds": {
        "items": {
          "format": "int32",
          "pattern": "^-?(?:0|[1-9]\\d*)$",
          "type": [
            "integer",
            "string"
          ]
        },
        "type": "array"
      }
    },
    "required": [
      "deviceId",
      "managedDeviceId",
      "displayName",
      "ipAddress",
      "macAddress",
      "vlanIds",
      "isDirectNeighbor",
      "isSwitch",
      "confidence",
      "lastSeenAtUtc"
    ],
    "type": "object"
  },
  "SnmpSwitchPortPortalItem": {
    "properties": {
      "bridgePortNumber": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "connections": {
        "items": {
          "$ref": "#/components/schemas/SnmpSwitchPortConnection"
        },
        "type": "array"
      },
      "directNeighborUnresolved": {
        "type": "boolean"
      },
      "interfaceIndex": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "portLabel": {
        "type": "string"
      }
    },
    "required": [
      "interfaceIndex",
      "bridgePortNumber",
      "portLabel",
      "directNeighborUnresolved",
      "connections"
    ],
    "type": "object"
  },
  "SnmpTrafficPoint": {
    "properties": {
      "atUtc": {
        "format": "date-time",
        "type": "string"
      },
      "coveredSeconds": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "inBitsPerSecond": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "inBytes": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "outBitsPerSecond": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "outBytes": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "number",
          "string"
        ]
      },
      "peakInBitsPerSecond": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "peakOutBitsPerSecond": {
        "format": "double",
        "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
        "type": [
          "null",
          "number",
          "string"
        ]
      },
      "status": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "atUtc",
      "inBitsPerSecond",
      "outBitsPerSecond",
      "peakInBitsPerSecond",
      "peakOutBitsPerSecond",
      "inBytes",
      "outBytes",
      "coveredSeconds",
      "status"
    ],
    "type": "object"
  },
  "SnmpTrafficPortView": {
    "properties": {
      "enabled": {
        "type": "boolean"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "interfaceIndex": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "lastSampleAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": [
          "null",
          "string"
        ]
      },
      "speedBitsPerSecond": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "status": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "interfaceIndex",
      "name",
      "enabled",
      "lastSampleAtUtc",
      "status",
      "speedBitsPerSecond"
    ],
    "type": "object"
  },
  "SnmpUpsResultDto": {
    "properties": {
      "batteryStatus": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "estimatedChargeRemainingPercent": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "estimatedMinutesRemaining": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "outputSource": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "secondsOnBattery": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "secondsOnBatteryThreshold": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "batteryStatus",
      "secondsOnBattery",
      "estimatedMinutesRemaining",
      "estimatedChargeRemainingPercent",
      "outputSource",
      "secondsOnBatteryThreshold"
    ],
    "type": "object"
  },
  "SoftwareKind": {
    "type": "integer",
    "x-enumNames": [
      "ClassicDesktop",
      "PackagedApp"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "SoftwareResponse": {
    "properties": {
      "items": {
        "items": {
          "$ref": "#/components/schemas/SoftwareResponseItem"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "next": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "items",
      "next",
      "updatedAtUtc"
    ],
    "type": "object"
  },
  "SoftwareResponseItem": {
    "properties": {
      "installDate": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "publisher": {
        "type": [
          "null",
          "string"
        ]
      },
      "version": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "name",
      "version",
      "publisher",
      "installDate"
    ],
    "type": "object"
  },
  "SoftwareUninstallRequestDto": {
    "properties": {
      "identifier": {
        "type": "string"
      },
      "kind": {
        "$ref": "#/components/schemas/SoftwareKind"
      },
      "name": {
        "type": "string"
      }
    },
    "required": [
      "kind",
      "identifier",
      "name"
    ],
    "type": "object"
  },
  "SyncChange": {
    "properties": {
      "device": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/DeviceResponse"
          }
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "kind": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "kind",
      "device"
    ],
    "type": "object"
  },
  "SyncRequest": {
    "properties": {
      "previousSnapshotId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "previousSnapshotId"
    ],
    "type": "object"
  },
  "SyncResponse": {
    "properties": {
      "createdAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "deviceCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "expiresAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "id",
      "createdAtUtc",
      "expiresAtUtc",
      "deviceCount"
    ],
    "type": "object"
  },
  "ThirdPartyInstallHistoryItem": {
    "properties": {
      "completedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "error": {
        "type": [
          "null",
          "string"
        ]
      },
      "exitCode": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "nextAttemptAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "packageId": {
        "type": "string"
      },
      "publisher": {
        "type": "string"
      },
      "rebootRequired": {
        "type": "boolean"
      },
      "retryCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "startedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "state": {
        "type": "string"
      },
      "version": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "packageId",
      "publisher",
      "version",
      "state",
      "startedAtUtc",
      "completedAtUtc",
      "exitCode",
      "rebootRequired",
      "retryCount",
      "nextAttemptAtUtc",
      "error"
    ],
    "type": "object"
  },
  "ThirdPartyPackageApproval": {
    "properties": {
      "identity": {
        "$ref": "#/components/schemas/ThirdPartyPackageIdentity"
      },
      "mode": {
        "$ref": "#/components/schemas/ThirdPartyPatchApprovalMode"
      },
      "version": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "identity",
      "mode"
    ],
    "type": "object"
  },
  "ThirdPartyPackageFact": {
    "properties": {
      "availableVersion": {
        "type": [
          "null",
          "string"
        ]
      },
      "identity": {
        "$ref": "#/components/schemas/ThirdPartyPackageIdentity"
      },
      "installationScope": {
        "type": [
          "null",
          "string"
        ]
      },
      "installedVersion": {
        "type": [
          "null",
          "string"
        ]
      },
      "observedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "rebootRequired": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "source": {
        "type": [
          "null",
          "string"
        ]
      },
      "title": {
        "type": "string"
      }
    },
    "required": [
      "identity",
      "title",
      "installedVersion",
      "availableVersion",
      "source",
      "rebootRequired",
      "observedAtUtc"
    ],
    "type": "object"
  },
  "ThirdPartyPackageIdentity": {
    "properties": {
      "packageId": {
        "type": "string"
      },
      "provider": {
        "type": "string"
      },
      "publisher": {
        "type": "string"
      }
    },
    "required": [
      "provider",
      "packageId",
      "publisher"
    ],
    "type": "object"
  },
  "ThirdPartyPatchApprovalListItem": {
    "properties": {
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "identity": {
        "$ref": "#/components/schemas/ThirdPartyPackageIdentity"
      },
      "mode": {
        "$ref": "#/components/schemas/ThirdPartyPatchApprovalMode"
      },
      "state": {
        "$ref": "#/components/schemas/ThirdPartyPatchApprovalState"
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "version": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "identity",
      "mode",
      "version",
      "state",
      "updatedAtUtc"
    ],
    "type": "object"
  },
  "ThirdPartyPatchApprovalMode": {
    "type": "integer",
    "x-enumNames": [
      "VersionOnly",
      "ProductFutureVersions"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "ThirdPartyPatchApprovalState": {
    "type": "integer",
    "x-enumNames": [
      "Unapproved",
      "Approved",
      "Denied"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "ThirdPartyPatchDiscoverySnapshot": {
    "properties": {
      "error": {
        "type": [
          "null",
          "string"
        ]
      },
      "isStale": {
        "type": "boolean"
      },
      "observedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "packages": {
        "items": {
          "$ref": "#/components/schemas/ThirdPartyPackageFact"
        },
        "type": "array"
      }
    },
    "required": [
      "packages",
      "observedAtUtc",
      "isStale"
    ],
    "type": "object"
  },
  "ThirdPartyPatchPolicyAssignment": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "enabled": {
        "default": true,
        "type": "boolean"
      },
      "name": {
        "type": "string"
      },
      "policy": {
        "$ref": "#/components/schemas/ThirdPartyPatchPolicySpec"
      },
      "rebootBehavior": {
        "$ref": "#/components/schemas/ThirdPartyPatchRebootBehavior"
      },
      "revision": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "schedule": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationScheduleSpec"
          }
        ]
      },
      "target": {
        "$ref": "#/components/schemas/AutomationTargetSpec"
      }
    },
    "required": [
      "name",
      "policy",
      "target"
    ],
    "type": "object"
  },
  "ThirdPartyPatchPolicyAssignmentListItem": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "enabled": {
        "type": "boolean"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "nextDueAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "policy": {
        "$ref": "#/components/schemas/ThirdPartyPatchPolicySpec"
      },
      "rebootBehavior": {
        "$ref": "#/components/schemas/ThirdPartyPatchRebootBehavior"
      },
      "revision": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "schedule": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationScheduleSpec"
          }
        ]
      },
      "target": {
        "$ref": "#/components/schemas/AutomationTargetSpec"
      }
    },
    "required": [
      "id",
      "companyId",
      "name",
      "policy",
      "target",
      "schedule",
      "rebootBehavior",
      "enabled",
      "nextDueAtUtc",
      "revision"
    ],
    "type": "object"
  },
  "ThirdPartyPatchPolicySpec": {
    "properties": {
      "approvals": {
        "items": {
          "$ref": "#/components/schemas/ThirdPartyPackageApproval"
        },
        "type": "array"
      },
      "deniedPackages": {
        "items": {
          "$ref": "#/components/schemas/ThirdPartyPackageIdentity"
        },
        "type": "array"
      },
      "mode": {
        "$ref": "#/components/schemas/PatchPolicyMode"
      },
      "policyMode": {
        "$ref": "#/components/schemas/PatchPolicyMode"
      },
      "schemaVersion": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "approvals",
      "deniedPackages"
    ],
    "type": "object"
  },
  "ThirdPartyPatchRebootBehavior": {
    "type": "integer",
    "x-enumNames": [
      "Defer",
      "Allow",
      "RequireApproval"
    ],
    "x-enumValues": [
      0,
      1,
      2
    ]
  },
  "TicketRequest": {
    "properties": {
      "externalId": {
        "type": [
          "null",
          "string"
        ]
      },
      "state": {
        "type": [
          "null",
          "string"
        ]
      },
      "url": {
        "type": [
          "null",
          "string"
        ]
      },
      "version": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "externalId",
      "url",
      "state",
      "version"
    ],
    "type": "object"
  },
  "TicketResponse": {
    "properties": {
      "alertId": {
        "format": "uuid",
        "type": "string"
      },
      "externalId": {
        "type": [
          "null",
          "string"
        ]
      },
      "state": {
        "type": [
          "null",
          "string"
        ]
      },
      "url": {
        "type": [
          "null",
          "string"
        ]
      },
      "version": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "alertId",
      "externalId",
      "url",
      "state",
      "version"
    ],
    "type": "object"
  },
  "TokenRequest": {
    "properties": {
      "audience": {
        "default": "api",
        "type": "string"
      },
      "password": {
        "type": [
          "null",
          "string"
        ]
      },
      "username": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "username",
      "password"
    ],
    "type": "object"
  },
  "UserInviteDto": {
    "properties": {
      "companyId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "companyName": {
        "type": [
          "null",
          "string"
        ]
      },
      "createdAt": {
        "format": "date-time",
        "type": "string"
      },
      "createdByDisplayName": {
        "type": "string"
      },
      "email": {
        "type": "string"
      },
      "expiresAt": {
        "format": "date-time",
        "type": "string"
      },
      "grantOwner": {
        "type": "boolean"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "rmmRoleKeys": {
        "items": {
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "role": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "email",
      "role",
      "companyId",
      "companyName",
      "grantOwner",
      "createdByDisplayName",
      "createdAt",
      "expiresAt"
    ],
    "type": "object"
  },
  "VersionConflictResponse": {
    "properties": {
      "currentVersion": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "error": {
        "type": "string"
      },
      "message": {
        "type": "string"
      }
    },
    "required": [
      "error",
      "message",
      "currentVersion"
    ],
    "type": "object"
  },
  "VirtualMachineResponse": {
    "properties": {
      "checkpointCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "diskAllocatedBytes": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "diskCapacityBytes": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "diskCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "diskType": {
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "isOnline": {
        "type": "boolean"
      },
      "name": {
        "type": "string"
      },
      "replicationMode": {
        "type": "string"
      },
      "vmId": {
        "format": "uuid",
        "type": "string"
      }
    },
    "required": [
      "id",
      "deviceId",
      "vmId",
      "name",
      "isOnline",
      "diskAllocatedBytes",
      "diskCapacityBytes",
      "diskCount",
      "checkpointCount",
      "diskType",
      "replicationMode"
    ],
    "type": "object"
  },
  "VirtualisationResponse": {
    "properties": {
      "deviceRole": {
        "type": [
          "null",
          "string"
        ]
      },
      "factsUpdatedAtUtc": {
        "format": "date-time",
        "type": [
          "null",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "os": {
        "type": "string"
      },
      "virtualMachineCount": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      }
    },
    "required": [
      "id",
      "deviceRole",
      "os",
      "virtualMachineCount",
      "factsUpdatedAtUtc"
    ],
    "type": "object"
  },
  "VolumeResponse": {
    "properties": {
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "freeBytes": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "letter": {
        "type": "string"
      },
      "totalBytes": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "id",
      "deviceId",
      "letter",
      "totalBytes",
      "freeBytes",
      "updatedAtUtc"
    ],
    "type": "object"
  },
  "VulnerabilityMachine": {
    "properties": {
      "company": {
        "type": "string"
      },
      "complete": {
        "type": "boolean"
      },
      "deviceId": {
        "format": "uuid",
        "type": "string"
      },
      "kb": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "patchSeverity": {
        "type": "string"
      },
      "revisionNumber": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "scannedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "site": {
        "type": [
          "null",
          "string"
        ]
      },
      "stale": {
        "type": "boolean"
      },
      "title": {
        "type": "string"
      },
      "updateId": {
        "type": "string"
      }
    },
    "required": [
      "deviceId",
      "name",
      "company",
      "site",
      "updateId",
      "revisionNumber",
      "kb",
      "title",
      "patchSeverity",
      "scannedAtUtc",
      "stale",
      "complete"
    ],
    "type": "object"
  },
  "WebhookRequest": {
    "properties": {
      "url": {
        "type": "string"
      }
    },
    "required": [
      "url"
    ],
    "type": "object"
  },
  "WebhookResponse": {
    "properties": {
      "afterEventId": {
        "format": "int64",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "enabled": {
        "type": "boolean"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "url": {
        "type": "string"
      }
    },
    "required": [
      "id",
      "url",
      "enabled",
      "afterEventId"
    ],
    "type": "object"
  },
  "WindowsAutomaticUpdateMode": {
    "default": 0,
    "type": "integer",
    "x-enumNames": [
      "NotConfigured",
      "NotifyBeforeDownload",
      "AutoDownloadNotifyInstall",
      "ScheduledInstall",
      "Disabled"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "WindowsPatchPolicyInput": {
    "properties": {
      "description": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "policy": {
        "$ref": "#/components/schemas/PatchManagementPolicySpec"
      },
      "precondition": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationConditionNode"
          }
        ]
      },
      "replacePrecondition": {
        "default": false,
        "type": "boolean"
      },
      "restriction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationTargetRestriction"
          }
        ]
      },
      "schedule": {
        "$ref": "#/components/schemas/AutomationSimpleTriggerInput"
      },
      "scope": {
        "$ref": "#/components/schemas/AutomationHierarchyScope"
      },
      "smartGroupIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "tagIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      }
    },
    "required": [
      "name",
      "description",
      "scope",
      "schedule",
      "policy"
    ],
    "type": "object"
  },
  "WindowsPatchPolicyListItem": {
    "properties": {
      "approvalRefreshNeeded": {
        "default": false,
        "type": "boolean"
      },
      "description": {
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "policy": {
        "$ref": "#/components/schemas/PatchManagementPolicySpec"
      },
      "precondition": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationConditionNode"
          }
        ]
      },
      "restriction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationTargetRestriction"
          }
        ]
      },
      "schedule": {
        "$ref": "#/components/schemas/AutomationSimpleTriggerInput"
      },
      "scope": {
        "$ref": "#/components/schemas/AutomationHierarchyScope"
      },
      "smartGroupIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "state": {
        "$ref": "#/components/schemas/AutomationState"
      },
      "tagIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "description",
      "state",
      "scope",
      "schedule",
      "policy",
      "updatedAtUtc"
    ],
    "type": "object"
  },
  "WindowsRdpState": {
    "type": "integer",
    "x-enumNames": [
      "Unknown",
      "Disabled",
      "Enabled",
      "PolicyBlocked",
      "Unsupported"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4
    ]
  },
  "WindowsRdpStatusDto": {
    "properties": {
      "checkedAtUtc": {
        "format": "date-time",
        "type": "string"
      },
      "detail": {
        "type": [
          "null",
          "string"
        ]
      },
      "listenerAvailable": {
        "type": [
          "null",
          "boolean"
        ]
      },
      "state": {
        "$ref": "#/components/schemas/WindowsRdpState"
      }
    },
    "required": [
      "state",
      "checkedAtUtc"
    ],
    "type": "object"
  },
  "WindowsUpdateConfigurationInput": {
    "properties": {
      "description": {
        "type": "string"
      },
      "expectedVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "name": {
        "type": "string"
      },
      "policy": {
        "$ref": "#/components/schemas/WindowsUpdateConfigurationSpec"
      },
      "precondition": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationConditionNode"
          }
        ]
      },
      "replacePrecondition": {
        "default": false,
        "type": "boolean"
      },
      "restriction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationTargetRestriction"
          }
        ]
      },
      "schedule": {
        "$ref": "#/components/schemas/AutomationSimpleTriggerInput"
      },
      "scope": {
        "$ref": "#/components/schemas/AutomationHierarchyScope"
      },
      "smartGroupIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "tagIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      }
    },
    "required": [
      "name",
      "description",
      "scope",
      "schedule",
      "policy"
    ],
    "type": "object"
  },
  "WindowsUpdateConfigurationListItem": {
    "properties": {
      "activeVersionId": {
        "format": "uuid",
        "type": [
          "null",
          "string"
        ]
      },
      "description": {
        "type": "string"
      },
      "id": {
        "format": "uuid",
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "policy": {
        "$ref": "#/components/schemas/WindowsUpdateConfigurationSpec"
      },
      "precondition": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationConditionNode"
          }
        ]
      },
      "restriction": {
        "oneOf": [
          {
            "type": "null"
          },
          {
            "$ref": "#/components/schemas/AutomationTargetRestriction"
          }
        ]
      },
      "schedule": {
        "$ref": "#/components/schemas/AutomationSimpleTriggerInput"
      },
      "scope": {
        "$ref": "#/components/schemas/AutomationHierarchyScope"
      },
      "smartGroupIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "state": {
        "$ref": "#/components/schemas/AutomationState"
      },
      "tagIds": {
        "items": {
          "format": "uuid",
          "type": "string"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "updatedAtUtc": {
        "format": "date-time",
        "type": "string"
      }
    },
    "required": [
      "id",
      "name",
      "description",
      "state",
      "scope",
      "schedule",
      "policy",
      "updatedAtUtc"
    ],
    "type": "object"
  },
  "WindowsUpdateConfigurationMode": {
    "type": "integer",
    "x-enumNames": [
      "AuditOnly",
      "Enforce"
    ],
    "x-enumValues": [
      0,
      1
    ]
  },
  "WindowsUpdateConfigurationSpec": {
    "properties": {
      "activeHoursEnd": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "activeHoursStart": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "automaticUpdateMode": {
        "$ref": "#/components/schemas/WindowsAutomaticUpdateMode"
      },
      "deadlineGraceDays": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "disableFastStartup": {
        "default": false,
        "type": "boolean"
      },
      "disableWindowsUpdateInternetLocations": {
        "default": false,
        "type": "boolean"
      },
      "featureUpdateDeferralDays": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "holdCurrentFeatureRelease": {
        "default": false,
        "type": "boolean"
      },
      "includeDrivers": {
        "default": false,
        "type": "boolean"
      },
      "includeMicrosoftUpdate": {
        "default": true,
        "type": "boolean"
      },
      "localPeerDeliveryOptimization": {
        "default": false,
        "type": "boolean"
      },
      "managedSettings": {
        "items": {
          "$ref": "#/components/schemas/WindowsUpdateSetting"
        },
        "type": [
          "null",
          "array"
        ]
      },
      "mode": {
        "$ref": "#/components/schemas/WindowsUpdateConfigurationMode"
      },
      "noAutoRestartBeforeDeadline": {
        "default": true,
        "type": "boolean"
      },
      "qualityUpdateDeadlineDays": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "qualityUpdateDeferralDays": {
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "null",
          "integer",
          "string"
        ]
      },
      "rgManagedRestarts": {
        "default": false,
        "type": "boolean"
      },
      "schemaVersion": {
        "default": 1,
        "format": "int32",
        "pattern": "^-?(?:0|[1-9]\\d*)$",
        "type": [
          "integer",
          "string"
        ]
      },
      "takeControlOfExistingPolicy": {
        "default": false,
        "type": "boolean"
      },
      "targetFeatureRelease": {
        "type": [
          "null",
          "string"
        ]
      },
      "wsusServerUri": {
        "type": [
          "null",
          "string"
        ]
      }
    },
    "required": [
      "mode"
    ],
    "type": "object"
  },
  "WindowsUpdateSetting": {
    "type": "integer",
    "x-enumNames": [
      "AutomaticUpdates",
      "Drivers",
      "MicrosoftUpdate",
      "UpdateServer",
      "FeatureDeferral",
      "QualityDeferral",
      "ActiveHours",
      "RestartPolicy",
      "DeliveryOptimization",
      "FastStartup",
      "FeatureRelease"
    ],
    "x-enumValues": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10
    ]
  }
}

3f225a253 sửa đổi nội dung · OpenAPI SHA-256: b12c42306a89