RemoteGymp · API v1

API reference

Access and behaviour

Reference examples are templates. Replace placeholders and check the endpoint's parameters, permissions and schema before running them. For uncertain writes, follow that endpoint's recovery and retry rules.

Requires a bearer token and the endpoint’s permissions. Access remains limited to your credential’s scope. Check capabilities before using device or management actions.

Search results: 289

AI11
POSTRead saved AI actions/v1/assistant/actions

Read saved actions for the supplied assistant scope.

POST /v1/assistant/actions ↗

mcp.cap.AssistantRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTApply an AI task/v1/assistant/apply

Apply supported work from an assistant task using its required approvals and constraints.

POST /v1/assistant/apply ↗

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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETRead AI elevated-action policy/v1/assistant/elevated-policy

Inspect the policy governing elevated assistant actions before planning work.

GET /v1/assistant/elevated-policy ↗

mcp.cap.AssistantRead

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
POSTEstimate an AI task/v1/assistant/estimate

Estimate a proposed assistant task before starting it.

POST /v1/assistant/estimate ↗

mcp.cap.AssistantRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTRun an AI pilot/v1/assistant/pilot

Run the assistant task's pilot workflow before a broader rollout.

POST /v1/assistant/pilot ↗

mcp.cap.AutomationExecute + mcp.cap.AssistantPilot

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETRead AI reports/v1/assistant/reports

Read reports produced by assistant tasks.

GET /v1/assistant/reports ↗

mcp.cap.AssistantRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
POSTRetry an AI pilot/v1/assistant/retry-pilot

Request a retry of the assistant pilot using the supplied task context.

POST /v1/assistant/retry-pilot ↗

mcp.cap.AutomationExecute + mcp.cap.AssistantPilot

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTStart an AI task/v1/assistant/start

Start an assistant task with the supplied targets and instructions.

POST /v1/assistant/start ↗

mcp.cap.AssistantPropose

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTInspect AI target context/v1/assistant/target-context

Read the permitted target context used to prepare an assistant task.

POST /v1/assistant/target-context ↗

mcp.cap.AssistantRead

Schemas (OpenAPI)

OsKind

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

AutomationScopeKind

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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETList AI tasks/v1/assistant/tasks

Browse AI assistant tasks visible to your credential.

GET /v1/assistant/tasks ↗

mcp.cap.AssistantRead

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
GETGet an AI task/v1/assistant/tasks/{id}

Read one assistant task's state and details.

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

mcp.cap.AssistantRead

Schemas (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

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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
Request and response schema (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"
  ]
}
Alerts6
GETList alerts/v1/alerts

Browse monitor alerts. Unresolved alerts are returned by default; use state=all to include resolved history.

GET /v1/alerts ↗

mcp.cap.InventoryRead

Schemas (OpenAPI)

state

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

severity

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

Paginated typed monitor alert history. Default is unresolved; state=all includes resolved history. companyId and deviceId filters remain inside credential scope.

Parameters

pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.
companyId · query · optional
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
deviceId · query · optional
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
state · query · optional
Omit to return open and acknowledged alerts. Use Open, Acknowledged or Resolved for one state, or all for every state.
severity · query · optional
Filter alerts by notification severity.
monitorId · query · optional
Identifier of the monitor to read or filter by.
observedFrom · query · optional
Include alerts last observed at or after this timestamp, including a UTC offset.
observedTo · query · optional
Include alerts last observed before this timestamp. It must be later than the start timestamp.

Example request

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
Request and response schema (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"
  ]
}
POSTAcknowledge an alert/v1/alerts/{alertId}/acknowledge

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.

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

mcp.cap.AlertWrite

Parameters

alertId · path · required
Identifier of the alert returned by the alerts endpoint.

Example request

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))
Request and response schema (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"
  ]
}
GETGet an alert's ticket link/v1/alerts/{alertId}/ticket

Read the external ticket reference, URL, state and version attached to an alert.

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

mcp.cap.InventoryRead

Parameters

alertId · path · required
Identifier of the alert returned by the alerts endpoint.

Example request

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
Request and response schema (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"
  ]
}
PATCHUpdate an alert's ticket link/v1/alerts/{alertId}/ticket

Save an external ticket reference using the last-read version. Closing the ticket does not resolve the alert.

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

mcp.cap.AlertWrite

Parameters

alertId · path · required
Identifier of the alert returned by the alerts endpoint.

Example request

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))
Request and response schema (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"
  ]
}
POSTGet alerts for several devices/v1/alerts:batch-query

Read recorded alerts for a supplied set of devices in one request.

POST /v1/alerts:batch-query ↗

mcp.cap.InventoryRead

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETGet device alerts/v1/devices/{deviceId}/alerts

Read recorded alerts for one device.

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

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
API5
POSTGet an access token/v1/auth/token

Exchange your API credential for a short-lived bearer token to use on subsequent requests.

POST /v1/auth/token ↗

Use API credentials created in Settings → API access. No bearer token is needed for this exchange.

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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETCheck available features/v1/capabilities

See the features, permissions and limits available to your credential before using an integration.

GET /v1/capabilities ↗

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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": []
}
GETCheck API access/v1/health

Check that your credential can reach and authenticate with the API.

GET /v1/health ↗

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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": []
}
GETCheck installer options/v1/management/installers/capabilities

Discover the installer capabilities available on this host.

GET /v1/management/installers/capabilities ↗

mcp.cap.EnrollmentRead

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
GETCheck operation capabilities/v1/operations/capabilities

Discover integration operation capabilities before attempting device actions.

GET /v1/operations/capabilities ↗

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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": []
}
Automation72
PUTSave alert routing/v1/automation/alert-routing

Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.

PUT /v1/automation/alert-routing ↗

mcp.cap.AutomationManage + mcp.cap.AlertWrite

Schemas (OpenAPI)

AutomationAlertRoutingKind

0 = QuietHours
1 = ParentDependency

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTValidate alert routing/v1/automation/alert-routing/validate

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.

POST /v1/automation/alert-routing/validate ↗

mcp.cap.AutomationRead

Schemas (OpenAPI)

AutomationAlertRoutingKind

0 = QuietHours
1 = ParentDependency

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTAcknowledge a monitor alert/v1/automation/alerts/{id}/acknowledge

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.

POST /v1/automation/alerts/{id}/acknowledge ↗

mcp.cap.AutomationManage

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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))
Request and response schema (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"
  ]
}
GETList alert routing/v1/automation/companies/{companyId}/alert-routing

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.

GET /v1/automation/companies/{companyId}/alert-routing ↗

mcp.cap.AutomationRead

Schemas (OpenAPI)

AutomationAlertRoutingKind

0 = QuietHours
1 = ParentDependency

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.

Example request

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
Request and response schema (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"
  ]
}
PUTSave patch exclusions/v1/automation/companies/{companyId}/patch-exclusions

Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.

PUT /v1/automation/companies/{companyId}/patch-exclusions ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.

Example request

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))
Request and response schema (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"
  ]
}
GETList tags/v1/automation/companies/{companyId}/tags

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.

GET /v1/automation/companies/{companyId}/tags ↗

mcp.cap.AutomationRead

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
GETList configuration policies/v1/automation/configuration-policies

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.

GET /v1/automation/configuration-policies ↗

mcp.cap.AutomationRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate configuration policy/v1/automation/configuration-policies

Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.

POST /v1/automation/configuration-policies ↗

mcp.cap.AutomationManage + mcp.cap.SettingsManage

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTPreview configuration policy/v1/automation/configuration-policies/preview

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.

POST /v1/automation/configuration-policies/preview ↗

mcp.cap.AutomationRead + mcp.cap.SecurityRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTInstall Windows patch/v1/automation/devices/{deviceId}/patch-install

Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.

POST /v1/automation/devices/{deviceId}/patch-install ↗

mcp.cap.PatchingExecute

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
GETGet device tags/v1/automation/devices/{deviceId}/tags

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.

GET /v1/automation/devices/{deviceId}/tags ↗

mcp.cap.AutomationRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
PUTAssign device tags/v1/automation/devices/{deviceId}/tags

Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.

PUT /v1/automation/devices/{deviceId}/tags ↗

mcp.cap.AutomationManage

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
POSTReset Windows update/v1/automation/devices/{deviceId}/update-reset

Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.

POST /v1/automation/devices/{deviceId}/update-reset ↗

mcp.cap.PatchingExecute

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
POSTRun a patch policy/v1/automation/devices/{id}/patch-runs

Request a patch-policy run on the selected authorised device.

POST /v1/automation/devices/{id}/patch-runs ↗

mcp.cap.PatchingExecute

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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))
Request and response schema (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"
  ]
}
GETRead device patch-policy status/v1/automation/devices/{id}/patch-status

Read the device's patch-policy status and reported patching information.

GET /v1/automation/devices/{id}/patch-status ↗

mcp.cap.PatchingRead

Schemas (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

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.
offset · query · optional
Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.

Example request

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
Request and response schema (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"
  ]
}
POSTChange the emergency stop/v1/automation/emergency-stop

Set the automation emergency-stop state. Inspect the result before assuming active work has stopped.

POST /v1/automation/emergency-stop ↗

mcp.cap.AutomationStop

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETList smart groups/v1/automation/groups

Browse automation device groups and their definitions.

GET /v1/automation/groups ↗

mcp.cap.AutomationRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate a smart group/v1/automation/groups

Create an automation group using the supplied selection rules.

POST /v1/automation/groups ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTDelete a smart group/v1/automation/groups/delete

Remove the selected automation group.

POST /v1/automation/groups/delete ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTPreview smart-group membership/v1/automation/groups/preview

Evaluate proposed group rules to see which permitted devices would match before saving.

POST /v1/automation/groups/preview ↗

mcp.cap.AutomationRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETGet a smart group/v1/automation/groups/{id}

Read one automation group's definition and membership information.

GET /v1/automation/groups/{id} ↗

mcp.cap.AutomationRead

Schemas (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

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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
Request and response schema (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"
  ]
}
PUTUpdate a smart group/v1/automation/groups/{id}

Change an existing automation group's definition.

PUT /v1/automation/groups/{id} ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Schemas (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

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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))
Request and response schema (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"
  ]
}
POSTInstall monitor pack/v1/automation/monitor-packs/install

Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.

POST /v1/automation/monitor-packs/install ↗

mcp.cap.AutomationManage

Schemas (OpenAPI)

AutomationScopeKind

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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTList monitor packs/v1/automation/monitor-packs/query

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.

POST /v1/automation/monitor-packs/query ↗

mcp.cap.AutomationRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETList monitors/v1/automation/monitors

Browse configured monitoring definitions.

GET /v1/automation/monitors ↗

mcp.cap.AutomationRead

Schemas (OpenAPI)

AutomationMonitorLifecycleState

0 = Enabled
1 = Paused
2 = Archived

Parameters

offset · query · optional
Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.
take · query · optional
Maximum number of items requested for this page. The server clamps this value to the endpoint limit.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate a monitor/v1/automation/monitors

Create a monitoring definition using the supplied checks and settings.

POST /v1/automation/monitors ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTPreview monitor condition/v1/automation/monitors/preview

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.

POST /v1/automation/monitors/preview ↗

mcp.cap.AutomationRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETGet a monitor/v1/automation/monitors/{id}

Read one monitor's checks and configuration.

GET /v1/automation/monitors/{id} ↗

mcp.cap.AutomationRead

Schemas (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

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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
Request and response schema (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"
  ]
}
PUTUpdate a monitor/v1/automation/monitors/{id}

Save changes to an existing monitoring definition.

PUT /v1/automation/monitors/{id} ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Schemas (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

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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))
Request and response schema (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"
  ]
}
POSTChange monitor state/v1/automation/monitors/{id}/state

Enable or disable the selected monitor.

POST /v1/automation/monitors/{id}/state ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Schemas (OpenAPI)

AutomationMonitorLifecycleState

0 = Enabled
1 = Paused
2 = Archived

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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))
Request and response schema (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"
  ]
}
GETGet automation operation status/v1/automation/operations/{operationId}

Read the receipt and status of an automation management operation.

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

mcp.cap.AutomationRead

Parameters

operationId · path · required
Top-level operation receipt identifier. Poll this receipt to inspect progress and the result.

Example request

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
Request and response schema (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"
  ]
}
GETGet automation outcomes/v1/automation/outcomes

Read recorded per-device automation outcomes. Execution status alone does not prove device health.

GET /v1/automation/outcomes ↗

mcp.cap.AutomationRead

Parameters

companyId · query · optional
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
deviceId · query · optional
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
GETList software packages/v1/automation/packages

Browse packages available to automation workflows.

GET /v1/automation/packages ↗

mcp.cap.AutomationRead

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
PUTSave a software package/v1/automation/packages

Create or update a package definition in the automation catalogue.

PUT /v1/automation/packages ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTRevoke a software package/v1/automation/packages/revoke

Revoke the selected package from further authorised use.

POST /v1/automation/packages/revoke ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETRead patch approvals/v1/automation/patch-approvals

Review patch approval information before making approval decisions.

GET /v1/automation/patch-approvals ↗

mcp.cap.PatchingRead

Schemas (OpenAPI)

AutomationPatchApprovalState

0 = Unapproved
1 = Approved
2 = Denied

Parameters

offset · query · optional
Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
state · query · optional
Filter by the resource state. Allowed states and defaults depend on the endpoint.

Example request

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
Request and response schema (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"
  ]
}
POSTDecide patch approvals/v1/automation/patch-approvals/decisions

Record approval decisions for the selected patches. Approval is not proof of installation.

POST /v1/automation/patch-approvals/decisions ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Schemas (OpenAPI)

AutomationPatchApprovalState

0 = Unapproved
1 = Approved
2 = Denied

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTInspect patch backlog/v1/automation/patch-backlog:query

Query stored patch backlog for the requested scope. This does not install updates.

POST /v1/automation/patch-backlog:query ↗

mcp.cap.PatchingRead

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETList patch policies/v1/automation/patch-policies

Read configured policies controlling device patching.

GET /v1/automation/patch-policies ↗

mcp.cap.PatchingRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate a patch policy/v1/automation/patch-policies

Create a policy defining how eligible devices should be patched.

POST /v1/automation/patch-policies ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTPreview patch policy/v1/automation/patch-policies/preview

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.

POST /v1/automation/patch-policies/preview ↗

mcp.cap.PatchingRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTUpdate a patch policy/v1/automation/patch-policies/{id}

Change an existing patch policy's settings.

PUT /v1/automation/patch-policies/{id} ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Schemas (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

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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))
Request and response schema (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"
  ]
}
GETList report schedules/v1/automation/report-schedules

Read configured schedules for automation reports.

GET /v1/automation/report-schedules ↗

mcp.cap.ReportsRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
PUTSave a report schedule/v1/automation/report-schedules

Create or update when an automation report should be produced.

PUT /v1/automation/report-schedules ↗

mcp.cap.ReportsManage

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTDelete a report schedule/v1/automation/report-schedules/{id}/delete

Remove the selected report schedule.

POST /v1/automation/report-schedules/{id}/delete ↗

mcp.cap.ReportsManage

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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))
Request and response schema (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"
  ]
}
GETRead automation reports/v1/automation/reports

Read automation reporting data using the supplied filters.

GET /v1/automation/reports ↗

mcp.cap.ReportsRead

Parameters

companyId · query · optional
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.

Example request

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
Request and response schema (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"
  ]
}
GETList workflow runs/v1/automation/runs

Browse recorded workflow runs and their execution states.

GET /v1/automation/runs ↗

mcp.cap.AutomationRead

Schemas (OpenAPI)

AutomationRunState

0 = Materializing
1 = Queued
2 = Running
3 = Succeeded
4 = PartiallySucceeded
5 = Failed
6 = Skipped
7 = Cancelled
8 = Indeterminate

Parameters

offset · query · optional
Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.
take · query · optional
Maximum number of items requested for this page. The server clamps this value to the endpoint limit.

Example request

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
Request and response schema (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"
  ]
}
GETGet a workflow run/v1/automation/runs/{runId}

Read one run's progress and target results.

GET /v1/automation/runs/{runId} ↗

mcp.cap.AutomationRead

Schemas (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

Parameters

runId · path · required
Domain run identifier returned by the operation result, not the operation receipt identifier.
offset · query · optional
Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.
take · query · optional
Maximum number of items requested for this page. The server clamps this value to the endpoint limit.

Example request

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
Request and response schema (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"
  ]
}
POSTCancel a workflow run/v1/automation/runs/{runId}/cancel

Request cancellation of a workflow run. Completed actions are not reversed.

POST /v1/automation/runs/{runId}/cancel ↗

mcp.cap.AutomationStop

Parameters

runId · path · required
Domain run identifier returned by the operation result, not the operation receipt identifier.

Example request

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))
Request and response schema (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"
  ]
}
GETList scripts/v1/automation/scripts

Browse automation script definitions available to your credential.

GET /v1/automation/scripts ↗

mcp.cap.AutomationRead

Parameters

offset · query · optional
Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.
take · query · optional
Maximum number of items requested for this page. The server clamps this value to the endpoint limit.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate a script/v1/automation/scripts

Add a script definition to the automation library. Saving a script does not run it.

POST /v1/automation/scripts ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTUpdate a script/v1/automation/scripts

Save changes to a script definition. This does not execute the script.

PUT /v1/automation/scripts ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTDelete a script/v1/automation/scripts/delete

Remove the selected script definition from the library.

POST /v1/automation/scripts/delete ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETGet a script/v1/automation/scripts/{id}

Read one script definition, including its configured content.

GET /v1/automation/scripts/{id} ↗

mcp.cap.AutomationRead

Schemas (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

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate tag/v1/automation/tags

Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.

POST /v1/automation/tags ↗

mcp.cap.AutomationManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETList third-party patch approvals/v1/automation/third-party/approvals

Read current approvals and policy assignments within credential scope.

GET /v1/automation/third-party/approvals ↗

mcp.cap.PatchingRead

Schemas (OpenAPI)

ThirdPartyPatchApprovalMode

0 = VersionOnly
1 = ProductFutureVersions

ThirdPartyPatchApprovalState

0 = Unapproved
1 = Approved
2 = Denied

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
POSTSet a third-party patch approval/v1/automation/third-party/approvals

Change approvals or policy assignments. Enabling a policy can permit installation.

POST /v1/automation/third-party/approvals ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Schemas (OpenAPI)

ThirdPartyPatchApprovalMode

0 = VersionOnly
1 = ProductFutureVersions

AutomationPatchApprovalState

0 = Unapproved
1 = Approved
2 = Denied

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETList third-party patch policies/v1/automation/third-party/policies

Read current approvals and policy assignments within credential scope.

GET /v1/automation/third-party/policies ↗

mcp.cap.PatchingRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate a third-party patch policy/v1/automation/third-party/policies

Change approvals or policy assignments. Enabling a policy can permit installation.

POST /v1/automation/third-party/policies ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTUpdate a third-party patch policy/v1/automation/third-party/policies/{id}

Change approvals or policy assignments. Enabling a policy can permit installation.

PUT /v1/automation/third-party/policies/{id} ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Schemas (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

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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))
Request and response schema (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"
  ]
}
POSTEnable or disable a patch policy/v1/automation/third-party/policies/{id}/enabled

Change approvals or policy assignments. Enabling a policy can permit installation.

POST /v1/automation/third-party/policies/{id}/enabled ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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))
Request and response schema (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"
  ]
}
GETList update configurations/v1/automation/update-configurations

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.

GET /v1/automation/update-configurations ↗

mcp.cap.PatchingRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate update configuration/v1/automation/update-configurations

Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.

POST /v1/automation/update-configurations ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTPreview update configuration/v1/automation/update-configurations/preview

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.

POST /v1/automation/update-configurations/preview ↗

mcp.cap.PatchingRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTSave update configuration/v1/automation/update-configurations/{id}

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.

PUT /v1/automation/update-configurations/{id} ↗

mcp.cap.PatchingManage + mcp.cap.PatchingExecute

Schemas (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

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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))
Request and response schema (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"
  ]
}
POSTQuery patch vulnerabilities/v1/automation/vulnerabilities:query

Read scoped CVE, CVSS, affected devices and fixing patches. Preserve unknown scores and incomplete coverage; patch associations do not prove device exploitability.

POST /v1/automation/vulnerabilities:query ↗

mcp.cap.PatchingRead

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETList workflows/v1/automation/workflows

Browse automation workflows available to your credential.

GET /v1/automation/workflows ↗

mcp.cap.AutomationRead

Schemas (OpenAPI)

AutomationState

0 = Draft
1 = Enabled
2 = Paused
3 = Archived

Parameters

offset · query · optional
Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.
take · query · optional
Maximum number of items requested for this page. The server clamps this value to the endpoint limit.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate a workflow/v1/automation/workflows

Create an automation workflow from the supplied definition.

POST /v1/automation/workflows ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETGet a workflow/v1/automation/workflows/{automationId}

Read an automation workflow definition and configuration.

GET /v1/automation/workflows/{automationId} ↗

mcp.cap.AutomationRead

Schemas (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

Parameters

automationId · path · required
Identifier of the automation workflow, not its version or an individual run.

Example request

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
Request and response schema (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"
  ]
}
PUTUpdate a workflow/v1/automation/workflows/{automationId}

Save changes to an existing automation workflow.

PUT /v1/automation/workflows/{automationId} ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Schemas (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

Parameters

automationId · path · required
Identifier of the automation workflow, not its version or an individual run.

Example request

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))
Request and response schema (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"
  ]
}
POSTRun a workflow/v1/automation/workflows/{automationId}/runs

Start a workflow run for the supplied authorised targets.

POST /v1/automation/workflows/{automationId}/runs ↗

mcp.cap.AutomationExecute

Parameters

automationId · path · required
Identifier of the automation workflow, not its version or an individual run.

Example request

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))
Request and response schema (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"
  ]
}
POSTChange workflow state/v1/automation/workflows/{automationId}/state

Enable or disable the selected workflow using the supplied state.

POST /v1/automation/workflows/{automationId}/state ↗

mcp.cap.AutomationManage + mcp.cap.AutomationExecute

Schemas (OpenAPI)

AutomationState

0 = Draft
1 = Enabled
2 = Paused
3 = Archived

Parameters

automationId · path · required
Identifier of the automation workflow, not its version or an individual run.

Example request

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))
Request and response schema (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"
  ]
}
Companies11
GETList companies/v1/companies

Get a bounded list of companies you can access. Use the paginated company query for larger exports.

GET /v1/companies ↗

mcp.cap.InventoryRead

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
GETGet a company/v1/companies/{companyId}

Look up a company's ID and name.

GET /v1/companies/{companyId} ↗

mcp.cap.InventoryRead

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.

Example request

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
Request and response schema (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"
  ]
}
GETList company sites/v1/companies/{companyId}/sites

Find the sites belonging to one company.

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

mcp.cap.InventoryRead

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.

Example request

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
Request and response schema (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"
  ]
}
GETGet your organisation/v1/organization

Read the organisation details associated with your credential.

GET /v1/organization ↗

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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": []
}
GETBrowse companies in pages/v1/queries/companies

Export companies in bounded pages, following next until no further page remains.

GET /v1/queries/companies ↗

mcp.cap.InventoryRead

Parameters

pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
GETBrowse sites in pages/v1/queries/sites

Export sites in bounded pages, optionally restricted to one company.

GET /v1/queries/sites ↗

mcp.cap.InventoryRead

Parameters

companyId · query · optional
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
GETList client reports/v1/reports/companies/{companyId}/monthly

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.

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

mcp.cap.ReportsRead

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
offset · query · optional
Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.

Example request

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
Request and response schema (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"
  ]
}
GETGet client report settings/v1/reports/companies/{companyId}/monthly/settings

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.

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

mcp.cap.ReportsRead

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.

Example request

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
Request and response schema (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"
  ]
}
GETGet client report/v1/reports/companies/{companyId}/monthly/{id}

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.

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

mcp.cap.ReportsRead

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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
Request and response schema (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"
  ]
}
GETExport client report/v1/reports/companies/{companyId}/monthly/{id}/html

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.

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

mcp.cap.ReportsRead

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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
Request and response schema (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"
  ]
}
GETGet a site/v1/sites/{siteId}

Look up one site using its ID.

GET /v1/sites/{siteId} ↗

mcp.cap.InventoryRead

Parameters

siteId · path · required
Site identifier. A query parameter narrows the results to this site within credential scope.

Example request

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
Request and response schema (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"
  ]
}
Custom fields7
GETGet company custom fields/v1/companies/{companyId}/custom-fields

Read the extra metadata fields stored against a company.

GET /v1/companies/{companyId}/custom-fields ↗

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.

Example request

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
Request and response schema (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"
  ]
}
PATCHUpdate a custom field/v1/custom-fields/{fieldId}

Change a metadata value using its last-read version. A conflict means you must read it again before updating.

PATCH /v1/custom-fields/{fieldId} ↗

mcp.cap.MetadataWrite

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.

Parameters

fieldId · path · required
Identifier of the custom-field value to update. Read its current version before writing.

Example request

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))
Request and response schema (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"
  ]
}
POSTGet several custom fields/v1/custom-fields:batch-get

Read custom-field values for several supplied targets at once.

POST /v1/custom-fields:batch-get ↗

mcp.cap.InventoryRead

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETGet device custom fields/v1/devices/{deviceId}/custom-fields

Read the extra metadata fields stored against a device.

GET /v1/devices/{deviceId}/custom-fields ↗

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETList field definitions/v1/field-definitions

Discover built-in and integration-defined custom fields and their data types.

GET /v1/field-definitions ↗

mcp.cap.InventoryRead

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate a field definition/v1/field-definitions

Define an integration custom field with a scope, key, label and type. Definitions are immutable.

POST /v1/field-definitions ↗

mcp.cap.FieldDefinitionsWrite

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETGet site custom fields/v1/sites/{siteId}/custom-fields

Read the extra metadata fields stored against a site.

GET /v1/sites/{siteId}/custom-fields ↗

Parameters

siteId · path · required
Site identifier. A query parameter narrows the results to this site within credential scope.

Example request

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
Request and response schema (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"
  ]
}
Devices58
GETList devices/v1/devices

Browse device summaries one page at a time. Follow the next cursor for more results.

GET /v1/devices ↗

mcp.cap.InventoryRead

Schemas (OpenAPI)

status

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

Parameters

pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.
companyId · query · optional
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
siteId · query · optional
Site identifier. A query parameter narrows the results to this site within credential scope.
status · query · optional
Filter devices by their stored device status.
name · query · optional
Filter by a device or software name, according to the resource being queried.

Example request

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
Request and response schema (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"
  ]
}
GETGet a device/v1/devices/{deviceId}

Read one device's summary using its ID.

GET /v1/devices/{deviceId} ↗

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
POSTUninstall an agent/v1/devices/{deviceId}/agent/uninstall

Choose whether to retain its inventory entry. Acknowledgement does not prove removal.

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

mcp.cap.EnrollmentManage

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
POSTCancel a command/v1/devices/{deviceId}/commands/{operationId}/cancel

Use the original command receipt owned by this credential. Cancellation does not undo effects.

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

mcp.cap.CommandsExecute

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
operationId · path · required
Top-level operation receipt identifier. Poll this receipt to inspect progress and the result.

Example request

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))
Request and response schema (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"
  ]
}
POSTScan disk usage/v1/devices/{deviceId}/disk-usage

Supply a scan identifier and selected volumes. Reuse the identifier to cancel the scan.

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

mcp.cap.DeviceMaintenance

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
POSTCancel a disk scan/v1/devices/{deviceId}/disk-usage/cancel

Supply a scan identifier and selected volumes. Reuse the identifier to cancel the scan.

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

mcp.cap.DeviceMaintenance

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
GETList disk volumes/v1/devices/{deviceId}/disk-usage/volumes

Read current endpoint diagnostics within credential scope.

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

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETRead stored event-log results/v1/devices/{deviceId}/event-logs

Read event-log results already collected for the device.

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

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
offset · query · optional
Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.

Example request

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
Request and response schema (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"
  ]
}
GETRead live event logs/v1/devices/{deviceId}/event-logs/live

Request event-log information from the device rather than relying only on stored results.

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

mcp.cap.InventoryRead

Schemas (OpenAPI)

level

"Critical"
"Error"
"Warning"

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
from · query · optional
Start timestamp for the requested time range. Include a UTC offset.
to · query · optional
End timestamp for the requested time range. Include a UTC offset and choose a time after the start.
level · query · optional
Filter the requested event logs by event level.

Example request

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
Request and response schema (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"
  ]
}
POSTCollect event-log results/v1/devices/{deviceId}/event-logs/query

Request a bounded event-log query on the device and record its results for later reading.

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

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
GETGet stored inventory/v1/devices/{deviceId}/inventory

Read collected hardware and security facts. Missing values are unknown; this does not trigger a new scan.

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

mcp.cap.InventoryRead

Stored hardware and security summary facts. Null values are unknown; timestamps establish observation freshness. No recovery keys, secret material or device-control authority.

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETGet an inventory section/v1/devices/{deviceId}/inventory/{section}

Read one supported section of the device's stored asset inventory.

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

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
section · path · required
Inventory section to read. Read manifest first for supported sections; follow nextOffset for array sections.
offset · query · optional
Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.

Example request

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
Request and response schema (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"
  ]
}
GETList queued jobs/v1/devices/{deviceId}/jobs

Read pending and running jobs. Missing jobs do not prove success.

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

mcp.cap.InventoryRead

Schemas (OpenAPI)

DeviceJobStatus

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

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
POSTQueue an offline command/v1/devices/{deviceId}/jobs/command

Queue work for reconnection. Current credentials and permissions are checked again before execution.

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

mcp.cap.CommandsExecute

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
POSTQueue an agent uninstall/v1/devices/{deviceId}/jobs/uninstall

Queue work for reconnection. Current credentials and permissions are checked again before execution.

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

mcp.cap.EnrollmentManage

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
GETRead a queued job/v1/devices/{deviceId}/jobs/{jobId}

Read pending and running jobs. Missing jobs do not prove success.

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

mcp.cap.InventoryRead

Schemas (OpenAPI)

DeviceJobStatus

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

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
jobId · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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
Request and response schema (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"
  ]
}
POSTCancel a queued job/v1/devices/{deviceId}/jobs/{jobId}/cancel

Cancel only before the job is claimed for execution.

POST /v1/devices/{deviceId}/jobs/{jobId}/cancel ↗

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
jobId · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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))
Request and response schema (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"
  ]
}
GETCheck Linux readiness/v1/devices/{deviceId}/linux-readiness

Read current endpoint diagnostics within credential scope.

GET /v1/devices/{deviceId}/linux-readiness ↗

mcp.cap.InventoryRead

Schemas (OpenAPI)

LinuxReadinessState

0 = Ready
1 = Warning
2 = Blocked
3 = NotApplicable

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETGet recorded patch status/v1/devices/{deviceId}/patches

Read stored patch facts, missing updates and failures. This does not scan for or install updates.

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

mcp.cap.PatchingRead

Schemas (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

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETGet performance history/v1/devices/{deviceId}/performance

Read retained performance samples for a time range. Gaps mean no sample was collected.

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

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
from · query · optional
Start timestamp for the requested time range. Include a UTC offset.
to · query · optional
End timestamp for the requested time range. Include a UTC offset and choose a time after the start.

Example request

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
Request and response schema (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"
  ]
}
GETCheck device prerequisites/v1/devices/{deviceId}/preflight

Read stored device capability and readiness information without dispatching an action.

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

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETRead running processes/v1/devices/{deviceId}/processes

Request process information from an authorised device.

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

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
offset · query · optional
Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.

Example request

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
Request and response schema (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"
  ]
}
POSTTerminate a process/v1/devices/{deviceId}/processes/terminate

Check the process ID and name before termination. This check is not atomic at the endpoint.

POST /v1/devices/{deviceId}/processes/terminate ↗

mcp.cap.InventoryRead + mcp.cap.CommandsExecute

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
GETCheck Windows remote desktop/v1/devices/{deviceId}/rdp

Read current endpoint diagnostics within credential scope.

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

mcp.cap.InventoryRead

Schemas (OpenAPI)

WindowsRdpState

0 = Unknown
1 = Disabled
2 = Enabled
3 = PolicyBlocked
4 = Unsupported

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
POSTEnable Windows remote desktop/v1/devices/{deviceId}/rdp/enable

Enable remote desktop with existing endpoint safeguards.

POST /v1/devices/{deviceId}/rdp/enable ↗

mcp.cap.DeviceMaintenance

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
GETRead device services/v1/devices/{deviceId}/services

Request service information from an authorised device; device availability affects the result.

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

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
offset · query · optional
Number of items to skip, starting at zero. Continue using the offset returned by the endpoint when available.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.

Example request

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
Request and response schema (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"
  ]
}
GETGet installed software/v1/devices/{deviceId}/software

Read saved software observations in pages. This does not scan or install software.

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

mcp.cap.InventoryRead

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.

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
POSTInstall software/v1/devices/{deviceId}/software/install

Request installation of the supplied software on an authorised device and inspect the operation result.

POST /v1/devices/{deviceId}/software/install ↗

mcp.cap.SoftwareManage + mcp.cap.AutomationRead + mcp.cap.AutomationExecute

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
POSTUninstall software/v1/devices/{deviceId}/software/uninstall

Request removal of selected software from an authorised device.

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

mcp.cap.SoftwareManage

Schemas (OpenAPI)

SoftwareKind

0 = ClassicDesktop
1 = PackagedApp

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
GETGet speed-test status/v1/devices/{deviceId}/speed-tests

Read the device's speed-test status and available results.

GET /v1/devices/{deviceId}/speed-tests ↗

mcp.cap.NetworkRead

Schemas (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

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETRead speed-test history/v1/devices/{deviceId}/speed-tests/history

Browse retained speed-test results for a device.

GET /v1/devices/{deviceId}/speed-tests/history ↗

mcp.cap.NetworkRead

Schemas (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

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.

Example request

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
Request and response schema (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"
  ]
}
GETGet a speed-test run/v1/devices/{deviceId}/speed-tests/{runId}

Read one recorded speed-test run using its ID.

GET /v1/devices/{deviceId}/speed-tests/{runId} ↗

mcp.cap.NetworkRead

Schemas (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

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
runId · path · required
Domain run identifier returned by the operation result, not the operation receipt identifier.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate a temporary administrator/v1/devices/{deviceId}/temporary-admin

Return credentials once, for up to 24 hours. Stored receipts never contain the password.

POST /v1/devices/{deviceId}/temporary-admin ↗

mcp.cap.CommandsExecute + mcp.cap.SecurityRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
GETRead a device thumbnail/v1/devices/{deviceId}/thumbnail

Read an available desktop thumbnail, subject to access and thumbnail policy.

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

mcp.cap.ScreenRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
POSTRefresh a device thumbnail/v1/devices/{deviceId}/thumbnail/refresh

Request a new desktop thumbnail from an eligible device. Dispatch does not guarantee a new image.

POST /v1/devices/{deviceId}/thumbnail/refresh ↗

mcp.cap.ScreenRead + mcp.cap.DeviceRefresh

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
GETList virtual machines/v1/devices/{deviceId}/virtual-machines

Read the virtual machines reported by this device.

GET /v1/devices/{deviceId}/virtual-machines ↗

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETGet virtualisation details/v1/devices/{deviceId}/virtualisation

Read the device's stored virtualisation summary.

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

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETGet device disks/v1/devices/{deviceId}/volumes

Read stored volume information, such as disk capacity and available space.

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

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETRead warranty information/v1/devices/{deviceId}/warranty

Read the stored warranty lookup and its freshness information.

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

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
POSTRefresh warranty information/v1/devices/{deviceId}/warranty/refresh

Request an updated warranty lookup rather than reading only the stored result.

POST /v1/devices/{deviceId}/warranty/refresh ↗

mcp.cap.DeviceRefresh

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
POSTGet several devices/v1/devices:batch-get

Read summaries for a supplied list of device IDs in one request.

POST /v1/devices:batch-get ↗

mcp.cap.InventoryRead

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTQuery device audit/v1/history/devices/query

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started. Supply an authorized CompanyId.

POST /v1/history/devices/query ↗

mcp.cap.ActivityRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTQuery session history/v1/history/sessions/query

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started. Supply an authorized CompanyId.

POST /v1/history/sessions/query ↗

mcp.cap.ActivityRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETGet PSA integrations/v1/integrations/psa

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.

GET /v1/integrations/psa ↗

mcp.cap.SettingsRead + mcp.cap.WebhooksRead

Parameters

after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
PUTSave PSA connection/v1/integrations/psa/connections

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.

PUT /v1/integrations/psa/connections ↗

mcp.cap.SettingsManage + mcp.cap.WebhooksWrite

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTSet PSA delivery paused/v1/integrations/psa/deliveries/pause

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.

PUT /v1/integrations/psa/deliveries/pause ↗

mcp.cap.WebhooksWrite

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTSave PSA mapping/v1/integrations/psa/mappings

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.

PUT /v1/integrations/psa/mappings ↗

mcp.cap.SettingsManage + mcp.cap.WebhooksWrite

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETSearch PSA customers/v1/integrations/psa/{id}/customers

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.

GET /v1/integrations/psa/{id}/customers ↗

mcp.cap.SettingsRead + mcp.cap.WebhooksRead

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.
search · query · required
Customer search text, at most 200 characters.

Example request

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
Request and response schema (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"
  ]
}
GETBrowse fleet inventory/v1/queries/inventory

Read stored hardware and security summaries across devices, optionally restricted to one company.

GET /v1/queries/inventory ↗

mcp.cap.InventoryRead

Parameters

companyId · query · optional
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
GETFind installed software/v1/queries/software

Read saved software inventories across devices, with an optional software-name filter. No scan is started.

GET /v1/queries/software ↗

mcp.cap.InventoryRead

Parameters

companyId · query · optional
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
name · query · optional
Filter by a device or software name, according to the resource being queried.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
GETFind user sessions/v1/queries/user-sessions

Search for user-session information within your permitted device scope.

GET /v1/queries/user-sessions ↗

mcp.cap.InventoryRead

Parameters

userName · query · required
User name to find in active user sessions within credential scope.
companyId · query · optional
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.

Example request

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
Request and response schema (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"
  ]
}
POSTQuery resolver history/v1/resolver/history/query

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.

POST /v1/resolver/history/query ↗

mcp.cap.AssistantRead + mcp.cap.SecurityRead

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETGet resolver result/v1/resolver/runs/{id}

Read current scoped evidence. Missing evidence is unknown. No endpoint action or AI charge is started.

GET /v1/resolver/runs/{id} ↗

mcp.cap.AssistantRead + mcp.cap.SecurityRead

Schemas (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

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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
Request and response schema (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"
  ]
}
GETRead thumbnail policy/v1/settings/device-thumbnails

Read the settings controlling desktop thumbnail collection.

GET /v1/settings/device-thumbnails ↗

mcp.cap.SettingsRead

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
PUTUpdate thumbnail policy/v1/settings/device-thumbnails

Change the policy controlling desktop thumbnail collection for the permitted scope.

PUT /v1/settings/device-thumbnails ↗

mcp.cap.SettingsManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTStart speed tests/v1/speed-tests

Request speed tests for the supplied targets. These tests generate network traffic.

POST /v1/speed-tests ↗

mcp.cap.NetworkScan

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTCancel speed tests/v1/speed-tests/cancel

Request cancellation of the selected speed-test work.

POST /v1/speed-tests/cancel ↗

mcp.cap.NetworkScan

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTGet disks for several devices/v1/volumes:batch-query

Read stored volume information for a supplied set of devices.

POST /v1/volumes:batch-query ↗

mcp.cap.InventoryRead

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
Groups3
GETList groups/v1/groups

Browse the device groups available to your credential.

GET /v1/groups ↗

mcp.cap.InventoryRead

Parameters

pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
GETGet a group/v1/groups/{groupId}

Read details of one device group.

GET /v1/groups/{groupId} ↗

mcp.cap.InventoryRead

Parameters

groupId · path · required
Identifier of the device group to read.

Example request

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
Request and response schema (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"
  ]
}
GETList group members/v1/groups/{groupId}/devices

Read device IDs from the group's last evaluated membership. Follow next for more members.

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

mcp.cap.InventoryRead

Membership of the last evaluated active group version. Follow next for remaining deviceIds; maximumReturned is the selected page size.

Parameters

groupId · path · required
Identifier of the device group to read.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
Integrations12
GETGet credential activity/v1/activity

Read retained API audit activity for this credential. This is not the organisation's complete audit history.

GET /v1/activity ↗

mcp.cap.ActivityRead

Parameters

pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
GETRead recent changes/v1/events

Read tracked device and alert changes from the replayable event feed. Keep the cursor and periodically reconcile a full inventory.

GET /v1/events ↗

mcp.cap.InventoryRead

Parameters

after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate a device snapshot/v1/sync/devices

Start a stable device-summary export, or compare with a previous completed snapshot to find changes.

POST /v1/sync/devices ↗

mcp.cap.InventoryRead

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.

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETRead device snapshot changes/v1/sync/devices/{snapshotId}

Page through a snapshot's added, updated and deleted device summaries. Save the snapshot ID only after reading every page.

GET /v1/sync/devices/{snapshotId} ↗

mcp.cap.InventoryRead

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.

Parameters

snapshotId · path · required
Identifier of the snapshot to page through. Use the same credential and scope that created it.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate a resource snapshot/v1/sync/{resource}

Start an inventory, software, alerts or custom-fields snapshot, optionally compared with a previous snapshot.

POST /v1/sync/{resource} ↗

mcp.cap.InventoryRead

Schemas (OpenAPI)

resource

"inventory"
"software"
"alerts"
"custom-fields"

Parameters

resource · path · required
Resource collection to snapshot. Use a supported resource name from the endpoint contract.

Example request

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))
Request and response schema (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"
  ]
}
GETRead resource changes/v1/sync/{resource}/{snapshotId}

Page through a resource snapshot. An expired snapshot requires a new full baseline.

GET /v1/sync/{resource}/{snapshotId} ↗

mcp.cap.InventoryRead

Schemas (OpenAPI)

resource

"inventory"
"software"
"alerts"
"custom-fields"

Parameters

resource · path · required
Resource collection to snapshot. Use a supported resource name from the endpoint contract.
snapshotId · path · required
Identifier of the snapshot to page through. Use the same credential and scope that created it.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
GETList webhook subscriptions/v1/webhooks

Read subscriptions owned by your credential, without their signing secrets.

GET /v1/webhooks ↗

mcp.cap.WebhooksRead

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate a webhook subscription/v1/webhooks

Register an HTTPS destination for future events. Store the signing secret when it is returned once.

POST /v1/webhooks ↗

mcp.cap.WebhooksWrite

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
DELETEDelete a webhook subscription/v1/webhooks/{webhookId}

Stop a subscription and remove its delivery history.

DELETE /v1/webhooks/{webhookId} ↗

mcp.cap.WebhooksWrite

Parameters

webhookId · path · required
Identifier of the webhook subscription.

Example request

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
Request and response schema (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"
  ]
}
GETRead webhook deliveries/v1/webhooks/{webhookId}/deliveries

Inspect delivery attempts and their recorded status for one subscription.

GET /v1/webhooks/{webhookId}/deliveries ↗

mcp.cap.WebhooksRead

Parameters

webhookId · path · required
Identifier of the webhook subscription.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
POSTRetry a webhook delivery/v1/webhooks/{webhookId}/deliveries/{deliveryId}/replay

Replay a retained delivery with its original delivery ID. Receivers must handle duplicates.

POST /v1/webhooks/{webhookId}/deliveries/{deliveryId}/replay ↗

mcp.cap.WebhooksWrite

Parameters

webhookId · path · required
Identifier of the webhook subscription.
deliveryId · path · required
Identifier of a delivery belonging to this webhook subscription.

Example request

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
Request and response schema (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"
  ]
}
PUTSet webhook enabled/v1/webhooks/{webhookId}/enabled

Requires FullAccess and current owner authority. Supply an idempotency key, reuse the identical request after uncertainty, and inspect the operation receipt.

PUT /v1/webhooks/{webhookId}/enabled ↗

mcp.cap.WebhooksWrite

Parameters

webhookId · path · required
Identifier of the webhook subscription.

Example request

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))
Request and response schema (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"
  ]
}
Maintenance5
GETList maintenance windows/v1/maintenance-windows

Browse scheduled maintenance windows within your credential's scope.

GET /v1/maintenance-windows ↗

mcp.cap.InventoryRead

Schemas (OpenAPI)

state

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

Parameters

pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.
state · query · optional
Filter by the resource state. Allowed states and defaults depend on the endpoint.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate a maintenance window/v1/maintenance-windows

Schedule maintenance metadata for a company, site or device, with a reason and duration.

POST /v1/maintenance-windows ↗

mcp.cap.MetadataWrite

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.

Parameters

Idempotency-Key · header · optional
Use the same key and body after an uncertain create outcome. Scoped to the credential.

Example request

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))
Request and response schema (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"
  ]
}
DELETERemove a maintenance window/v1/maintenance-windows/{windowId}

Delete the selected maintenance window.

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

mcp.cap.MetadataWrite

Parameters

windowId · path · required
Identifier of the maintenance window returned when it was created or listed.

Example request

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
Request and response schema (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"
  ]
}
GETGet a maintenance window/v1/maintenance-windows/{windowId}

Read the timing, scope and details of one maintenance window.

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

mcp.cap.InventoryRead

Parameters

windowId · path · required
Identifier of the maintenance window returned when it was created or listed.

Example request

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
Request and response schema (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"
  ]
}
POSTFind active maintenance/v1/maintenance-windows:active-query

Check which maintenance windows are active for the supplied targets.

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

mcp.cap.InventoryRead

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
Management30
POSTCreate a company/v1/management/companies

Add a company within your authorised organisation.

POST /v1/management/companies ↗

mcp.cap.CompaniesManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTDelete a company/v1/management/companies/delete

Request removal of a company through the existing management safeguards. Review the target carefully.

POST /v1/management/companies/delete ↗

mcp.cap.CompaniesDelete

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTDelete a device/v1/management/devices/delete

Request device removal through the management workflow.

POST /v1/management/devices/delete ↗

mcp.cap.DevicesDelete

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTMove a device/v1/management/devices/move

Change a device's company or site assignment within the permitted scope.

POST /v1/management/devices/move ↗

mcp.cap.DevicesManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTRevoke device access/v1/management/devices/revoke

Revoke the selected device's agent access.

POST /v1/management/devices/revoke ↗

mcp.cap.DevicesManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTRestore device access/v1/management/devices/unrevoke

Remove a device's revoked state using the authorised management workflow.

POST /v1/management/devices/unrevoke ↗

mcp.cap.DevicesManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTRotate an enrollment key/v1/management/enrollment/rotate

Replace a company's enrollment credential. Existing enrollment installers using the old key lose enrollment ability.

POST /v1/management/enrollment/rotate ↗

mcp.cap.EnrollmentRotate

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTRequest an installer/v1/management/installers

Queue installer preparation for an authorised company and platform.

POST /v1/management/installers ↗

mcp.cap.EnrollmentManage

Schemas (OpenAPI)

InstallerPlatform

0 = Windows
1 = Linux
2 = MacOs

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETRead installer history/v1/management/installers/history

Read retained installer build and distribution history.

GET /v1/management/installers/history ↗

mcp.cap.EnrollmentRead

Schemas (OpenAPI)

InstallerPlatform

0 = Windows
1 = Linux
2 = MacOs

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
GETList installer jobs/v1/management/installers/jobs

Read queued installer jobs and their status.

GET /v1/management/installers/jobs ↗

mcp.cap.EnrollmentRead

Schemas (OpenAPI)

InstallerPlatform

0 = Windows
1 = Linux
2 = MacOs

DeviceJobStatus

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

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
GETGet management-operation status/v1/management/operations/{operationId}

Read the status and retained result of a management change without repeating it.

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

Parameters

operationId · path · required
Top-level operation receipt identifier. Poll this receipt to inspect progress and the result.

Example request

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
Request and response schema (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": []
}
GETRead a setting/v1/management/settings

Read a supported management setting in the requested authorised scope.

GET /v1/management/settings ↗

mcp.cap.SettingsRead

Schemas (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

Parameters

scopeType · query · required
Kind of settings scope. Use the enum value matching the intended scope.
scopeId · query · required
Identifier of the settings scope selected by scopeType.
key · query · required
Setting key to read. Use the enum value for the intended setting.

Example request

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
Request and response schema (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"
  ]
}
PUTUpdate a setting/v1/management/settings

Change a supported management setting within the permitted scope.

PUT /v1/management/settings ↗

mcp.cap.SettingsManage

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTCreate a site/v1/management/sites

Add a site to an authorised company.

POST /v1/management/sites ↗

mcp.cap.CompaniesManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTDelete a site/v1/management/sites/delete

Remove a site using the management workflow and its scope checks.

POST /v1/management/sites/delete ↗

mcp.cap.CompaniesDelete

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTChange team access/v1/management/team/access

Update a team member's permitted scope and role assignments.

PUT /v1/management/team/access ↗

mcp.cap.TeamAccessManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETList team invitations/v1/management/team/invites

Read team invitations and their current state.

GET /v1/management/team/invites ↗

mcp.cap.TeamRead

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
POSTInvite a team member/v1/management/team/invites

Send an invitation with the requested team access.

POST /v1/management/team/invites ↗

mcp.cap.TeamManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTResend an invitation/v1/management/team/invites/resend

Resend an existing team invitation.

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

mcp.cap.TeamManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTRevoke an invitation/v1/management/team/invites/revoke

Invalidate a team invitation that should no longer be accepted.

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

mcp.cap.TeamManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTChange a team member's name/v1/management/team/name

Update the selected user's display name.

PUT /v1/management/team/name ↗

mcp.cap.TeamManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTChange owner status/v1/management/team/owner

Update a team member's owner status, subject to owner-management safeguards.

PUT /v1/management/team/owner ↗

mcp.cap.TeamOwnerManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETList team roles/v1/management/team/roles

Read configured roles and their permissions.

GET /v1/management/team/roles ↗

mcp.cap.TeamRead

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
PUTSave a team role/v1/management/team/roles

Create or update a role's name and permissions.

PUT /v1/management/team/roles ↗

mcp.cap.TeamAccessManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTDelete a role/v1/management/team/roles/delete

Remove the selected role through the team-management checks.

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

mcp.cap.TeamAccessManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETList team users/v1/management/team/users

Read team users visible to your management credential.

GET /v1/management/team/users ↗

mcp.cap.TeamRead

Schemas (OpenAPI)

AccountAccessState

0 = Active
1 = TemporarilyLocked
2 = Deactivated

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
POSTDeactivate a team member/v1/management/team/users/deactivate

Disable a user's access through the team-management workflow.

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

mcp.cap.TeamManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTReactivate a team member/v1/management/team/users/reactivate

Restore an eligible inactive user's team access.

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

mcp.cap.TeamManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTRemove a team member/v1/management/team/users/remove

Remove a user from the managed team through the existing safeguards.

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

mcp.cap.TeamManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTUnlock a team member/v1/management/team/users/unlock

Clear an eligible user's account lockout through the management workflow.

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

mcp.cap.TeamManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
Network30
GETRead company network discovery/v1/network/companies/{companyId}

Read discovered network information for an authorised company.

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

mcp.cap.NetworkRead

Schemas (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

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
includeManaged · query · optional
Include managed devices in the network company view. Defaults to false.
includeNetworkDetails · query · optional
Include network details in the company view. Defaults to false.

Example request

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
Request and response schema (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"
  ]
}
GETRead a network device/v1/network/companies/{companyId}/devices/{deviceId}

Inspect one discovered network device and its recorded details.

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

mcp.cap.NetworkRead

Schemas (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

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETRead managed SNMP facts/v1/network/companies/{companyId}/managed-snmp/{deviceId}

Read SNMP information for a managed device.

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

mcp.cap.NetworkRead

Schemas (OpenAPI)

NetworkProbeOutcome

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

SnmpProtocolVersion

1 = V1
2 = V2C
3 = V3

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETRead managed TCP ports/v1/network/companies/{companyId}/managed-tcp/{deviceId}

Read TCP port information for a managed device.

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

mcp.cap.NetworkRead

Schemas (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

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETRead the network map/v1/network/companies/{companyId}/map

Read the stored network map and evidence freshness. Inferred links are not proof of physical cabling; no scan is queued.

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

mcp.cap.NetworkRead

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.

Example request

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
Request and response schema (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"
  ]
}
GETRead network monitoring/v1/network/companies/{companyId}/monitoring

Inspect a company's network monitoring configuration and state.

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

mcp.cap.NetworkRead

Schemas (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

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.

Example request

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
Request and response schema (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"
  ]
}
GETRead discovered SNMP facts/v1/network/companies/{companyId}/snmp/{deviceId}

Read stored SNMP observations for a discovered device.

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

mcp.cap.NetworkRead

Schemas (OpenAPI)

NetworkProbeOutcome

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

SnmpProtocolVersion

1 = V1
2 = V2C
3 = V3

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETRead discovered TCP ports/v1/network/companies/{companyId}/tcp/{deviceId}

Read recorded TCP port observations for a discovered device.

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

mcp.cap.NetworkRead

Schemas (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

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETRead traffic history/v1/network/companies/{companyId}/traffic-history/{monitorId}

Read retained traffic samples for a monitor over the requested time range.

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

mcp.cap.NetworkRead

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
monitorId · path · required
Identifier of the monitor to read or filter by.
minutes · query · required
Number of minutes of traffic history to read.

Example request

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
Request and response schema (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"
  ]
}
GETRead traffic ports/v1/network/companies/{companyId}/traffic/{deviceId}

Read network traffic monitoring ports for the selected device.

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

mcp.cap.NetworkRead

Parameters

companyId · path · required
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
PUTSet a network device type/v1/network/devices/type

Assign a device-type classification to a discovered network device.

PUT /v1/network/devices/type ↗

mcp.cap.NetworkManage

Schemas (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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTRefresh device classification/v1/network/devices/type/refresh

Request a fresh device-type classification through the discovery workflow.

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

mcp.cap.NetworkManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETResolve network service/v1/network/devices/{deviceId}/services/{port}/source

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.

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

mcp.cap.NetworkRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
port · path · required
Discovered TCP service port, 1 through 65535. Uses current verified discovery evidence.

Example request

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
Request and response schema (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"
  ]
}
PUTConfigure iDRAC integration/v1/network/idrac

Save the permitted iDRAC integration settings for hardware management.

PUT /v1/network/idrac ↗

mcp.cap.NetworkManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTConfigure iLO integration/v1/network/ilo

Save the permitted iLO integration settings for hardware management.

PUT /v1/network/ilo ↗

mcp.cap.NetworkManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTChange discovery mode/v1/network/mode

Set how network discovery should operate for a company.

POST /v1/network/mode ↗

mcp.cap.NetworkManage

Schemas (OpenAPI)

NetworkDiscoveryMode

0 = Disabled
1 = PassiveOnly
2 = Gentle

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTRename a network realm/v1/network/realms/name

Update the name and name-lock setting of a discovered network realm.

POST /v1/network/realms/name ↗

mcp.cap.NetworkManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTSuspend a network realm/v1/network/realms/suspend

Change whether a network realm participates in discovery work.

POST /v1/network/realms/suspend ↗

mcp.cap.NetworkManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTStart a network scan/v1/network/scans

Queue a network scan for the supplied authorised scope.

POST /v1/network/scans ↗

mcp.cap.NetworkScan

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTCancel a network scan/v1/network/scans/cancel

Request cancellation of network discovery work.

POST /v1/network/scans/cancel ↗

mcp.cap.NetworkScan

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTOpen network service/v1/network/services/open

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.

POST /v1/network/services/open ↗

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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTSet SNMP communities/v1/network/snmp/communities

Update the SNMP community configuration used for authorised discovery.

PUT /v1/network/snmp/communities ↗

mcp.cap.NetworkCredentialsManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTSave an SNMP credential/v1/network/snmp/credentials

Create or update an SNMP credential for authorised network monitoring.

PUT /v1/network/snmp/credentials ↗

mcp.cap.NetworkCredentialsManage

Schemas (OpenAPI)

SnmpAuthenticationProtocol

0 = None
1 = Sha1
2 = Sha256

SnmpPrivacyProtocol

0 = None
1 = Aes128

SnmpProtocolVersion

1 = V1
2 = V2C
3 = V3

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTDelete an SNMP credential/v1/network/snmp/credentials/delete

Remove a stored SNMP credential from the network configuration.

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

mcp.cap.NetworkCredentialsManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTSave SNMP policy/v1/network/snmp/policy

Update the SNMP discovery and monitoring policy.

PUT /v1/network/snmp/policy ↗

mcp.cap.NetworkManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTSet expected SNMP port state/v1/network/snmp/ports

Update the expected port configuration used by SNMP monitoring.

PUT /v1/network/snmp/ports ↗

mcp.cap.NetworkManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTRefresh SNMP data/v1/network/snmp/refresh

Request updated SNMP observations for the selected target.

POST /v1/network/snmp/refresh ↗

mcp.cap.NetworkScan

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTSave company TCP policy/v1/network/tcp/company-policy

Change TCP discovery policy for a company.

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

mcp.cap.NetworkManage

Schemas (OpenAPI)

NetworkPortInteraction

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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTSave organisation TCP policy/v1/network/tcp/organization-policy

Change the organisation-wide TCP discovery policy.

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

mcp.cap.NetworkManage

Schemas (OpenAPI)

NetworkPortInteraction

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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
PUTControl a traffic monitoring port/v1/network/traffic/ports

Requires an existing monitoring entitlement. Purchases and renewal changes remain in the application.

PUT /v1/network/traffic/ports ↗

mcp.cap.NetworkManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
Operations11
POSTRun commands across devices/v1/command-batches

Submit a command batch for multiple authorised targets. Inspect its receipt to track individual outcomes.

POST /v1/command-batches ↗

mcp.cap.CommandsExecute

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
GETGet command-batch progress/v1/command-batches/{operationId}

Read the batch's progress and per-target outcomes without running it again.

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

mcp.cap.CommandsExecute

Parameters

operationId · path · required
Top-level operation receipt identifier. Poll this receipt to inspect progress and the result.

Example request

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
Request and response schema (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"
  ]
}
POSTCancel a command batch/v1/command-batches/{operationId}/cancel

Request cancellation of the batch. Work already performed cannot be undone by cancellation.

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

mcp.cap.CommandsExecute

Parameters

operationId · path · required
Top-level operation receipt identifier. Poll this receipt to inspect progress and the result.

Example request

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))
Request and response schema (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"
  ]
}
POSTRun a device action/v1/devices/{deviceId}/actions

Submit a supported typed action to a device. The action's capabilities and permissions are checked before dispatch.

POST /v1/devices/{deviceId}/actions ↗
Schemas (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

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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": []
}
POSTRun an antivirus action/v1/devices/{deviceId}/antivirus/actions

Run a supported antivirus action and inspect the returned result.

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

mcp.cap.DeviceMaintenance

Schemas (OpenAPI)

AntivirusAction

0 = QuickScan
1 = FullScan
2 = UpdateDefinitions

AntivirusActionProvider

0 = MicrosoftDefender
1 = BitdefenderBest

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
POSTRun a command/v1/devices/{deviceId}/commands

Execute a command on an authorised device. Reuse the idempotency key when checking an uncertain outcome.

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

mcp.cap.CommandsExecute

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
POSTSchedule device power/v1/devices/{deviceId}/jobs/power

Supply the local time and an explicit time zone. Ambiguous or invalid times are rejected.

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

mcp.cap.PowerControl

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
POSTChange device power state/v1/devices/{deviceId}/power

Request a supported restart or Safe Mode action. This can interrupt the person using the device.

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

mcp.cap.PowerControl

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
GETList operations/v1/operations

Find retained operations created by your credential and inspect their progress.

GET /v1/operations ↗

Parameters

pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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": []
}
GETFind an operation by key/v1/operations/by-key

Recover an operation using its idempotency key after a timeout or lost response, instead of repeating it.

GET /v1/operations/by-key ↗

Parameters

idempotencyKey · query · required
Exact idempotency key used for the original request. Looks up the receipt without repeating the action.

Example request

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
Request and response schema (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": []
}
GETGet operation progress/v1/operations/{operationId}

Read the current status and available result of one operation. An unknown outcome is not proof of failure.

GET /v1/operations/{operationId} ↗

Parameters

operationId · path · required
Top-level operation receipt identifier. Poll this receipt to inspect progress and the result.

Example request

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
Request and response schema (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": []
}
Remote sessions13
GETList Windows sessions/v1/devices/{deviceId}/windows-sessions

Find Windows sessions available for selecting the interactive desktop.

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

mcp.cap.InventoryRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
GETList remote sessions/v1/remote-sessions

Find retained remote-session handles owned by your credential.

GET /v1/remote-sessions ↗
Schemas (OpenAPI)

SessionKind

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

Parameters

pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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": []
}
POSTOpen a remote session/v1/remote-sessions

Request an authorised remote session for a device and receive a handle for subsequent access.

POST /v1/remote-sessions ↗
Schemas (OpenAPI)

SessionKind

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

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
DELETEClose a remote session/v1/remote-sessions/{handleId}

End the selected remote-session handle and its access.

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

Parameters

handleId · path · required
Top-level receipt identifier from opening the remote session, not the underlying session identifier.

Example request

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
Request and response schema (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": []
}
GETGet remote-session status/v1/remote-sessions/{handleId}

Read the state of a remote-session handle before using it.

GET /v1/remote-sessions/{handleId} ↗
Schemas (OpenAPI)

SessionKind

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

Parameters

handleId · path · required
Top-level receipt identifier from opening the remote session, not the underlying session identifier.

Example request

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
Request and response schema (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": []
}
POSTSend a remote-session action/v1/remote-sessions/{handleId}/actions

Perform an allowed session action, such as input or file work, using the action-specific request fields.

POST /v1/remote-sessions/{handleId}/actions ↗
Schemas (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

Parameters

handleId · path · required
Top-level receipt identifier from opening the remote session, not the underlying session identifier.

Example request

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))
Request and response schema (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"
  ]
}
GETRead the remote clipboard/v1/remote-sessions/{handleId}/clipboard

Read clipboard content through a session with clipboard access.

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

mcp.cap.ClipboardRead

Parameters

handleId · path · required
Top-level receipt identifier from opening the remote session, not the underlying session identifier.

Example request

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
Request and response schema (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"
  ]
}
GETGet connection details/v1/remote-sessions/{handleId}/connection

Read connection information for an authorised remote-session handle.

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

mcp.cap.ScreenRead

Parameters

handleId · path · required
Top-level receipt identifier from opening the remote session, not the underlying session identifier.

Example request

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
Request and response schema (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"
  ]
}
GETPreview remote deletion/v1/remote-sessions/{handleId}/delete-preview

Inspect the files and folders that a proposed deletion would affect before submitting the delete action.

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

mcp.cap.FilesRead

Schemas (OpenAPI)

FileEntryKind

0 = Drive
1 = Directory
2 = File

Parameters

handleId · path · required
Top-level receipt identifier from opening the remote session, not the underlying session identifier.
path · query · required
Path on the remote device, within the opened file session's permitted scope.

Example request

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
Request and response schema (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"
  ]
}
GETRead a remote file/v1/remote-sessions/{handleId}/file

Retrieve file content through an authorised file-access session.

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

mcp.cap.FilesRead

Parameters

handleId · path · required
Top-level receipt identifier from opening the remote session, not the underlying session identifier.
path · query · required
Path on the remote device, within the opened file session's permitted scope.

Example request

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
Request and response schema (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"
  ]
}
GETList a remote folder/v1/remote-sessions/{handleId}/files

Browse a directory through an authorised file-access session.

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

mcp.cap.FilesRead

Schemas (OpenAPI)

FileEntryKind

0 = Drive
1 = Directory
2 = File

Parameters

handleId · path · required
Top-level receipt identifier from opening the remote session, not the underlying session identifier.
path · query · optional
Path on the remote device, within the opened file session's permitted scope.

Example request

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
Request and response schema (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"
  ]
}
GETRead a remote screen/v1/remote-sessions/{handleId}/screen

Read screen data through an authorised session. This can contain sensitive information visible on the desktop.

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

mcp.cap.ScreenRead

Parameters

handleId · path · required
Top-level receipt identifier from opening the remote session, not the underlying session identifier.
monitorId · query · optional
Identifier of the monitor to read or filter by.

Example request

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
Request and response schema (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"
  ]
}
GETRead terminal output/v1/remote-sessions/{handleId}/terminal

Read terminal output associated with the authorised remote session.

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

mcp.cap.TerminalRead

Parameters

handleId · path · required
Top-level receipt identifier from opening the remote session, not the underlying session identifier.
waitMilliseconds · query · optional
Wait before reading terminal output, in milliseconds. Defaults to 200 and is clamped to 0–2000.
cursor · query · optional
Continuation cursor from the previous terminal read. Omit to start reading available output.

Example request

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
Request and response schema (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"
  ]
}
Security6
GETGet security inventory/v1/devices/{deviceId}/security

Read recorded antivirus, firewall and encryption facts. Recovery secrets are excluded.

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

mcp.cap.SecurityRead

Schemas (OpenAPI)

AntivirusActionProvider

0 = MicrosoftDefender
1 = BitdefenderBest

AntivirusProductState

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

AntivirusAction

0 = QuickScan
1 = FullScan
2 = UpdateDefinitions

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
POSTRun a password audit/v1/devices/{deviceId}/security/password-audit

Request the supported account-password checks on an authorised device.

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

mcp.cap.PasswordAudit

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
GETList password-audit schedules/v1/security/password-audit-schedules

Read recurring password-audit schedules in your permitted scope.

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

mcp.cap.PasswordAudit

Parameters

companyId · query · optional
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
deviceId · query · optional
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
POSTSave a password-audit schedule/v1/security/password-audit-schedules

Create or update a recurring password-audit schedule with its target and timing settings.

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

mcp.cap.PasswordAudit

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
DELETEDelete a password-audit schedule/v1/security/password-audit-schedules/{id}

Remove a recurring schedule to stop future scheduled checks.

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

mcp.cap.PasswordAudit

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.
expectedRevision · query · required
Current schedule revision from the last read. A stale revision prevents deletion of a changed schedule.

Example request

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
Request and response schema (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"
  ]
}
GETCheck password-audit targets/v1/security/password-audits/targets

Inspect target eligibility before requesting a password audit.

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

mcp.cap.PasswordAudit

Parameters

companyId · query · optional
Company identifier. A query parameter narrows the results to this company; it never expands credential scope.
deviceId · query · optional
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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
Request and response schema (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"
  ]
}
Support9
POSTAsk for user confirmation/v1/devices/{deviceId}/confirmations

Request a response from the device user before continuing a supported workflow.

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

mcp.cap.InventoryRead + mcp.cap.DeviceMessage

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
POSTRestart after confirmation/v1/devices/{deviceId}/confirmed-restart

Request a restart using the user-confirmation workflow. A request does not itself prove the restart completed.

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

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

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
POSTSend a user message/v1/devices/{deviceId}/messages

Display a message to the person using the selected device.

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

mcp.cap.InventoryRead + mcp.cap.DeviceMessage

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.

Example request

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))
Request and response schema (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"
  ]
}
GETList visitor passes/v1/devices/{deviceId}/visitor-passes

Read visitor passes associated with one device.

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

mcp.cap.ScreenRead

Parameters

deviceId · path · required
Device identifier returned by the corresponding device list. Managed agents and discovered network devices have different identifiers.
pageSize · query · optional
Maximum number of items requested for this page. Endpoint-specific limits may reduce the page size.
after · query · optional
Continuation position from the previous response. Omit for the first page; keep the same filters when continuing.

Example request

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
Request and response schema (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"
  ]
}
GETList Quick Support sessions/v1/quick-support

Read the Quick Support sessions available to your credential.

GET /v1/quick-support ↗

mcp.cap.ScreenRead

Parameters

No path, query or header parameters.

Example request

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
Request and response schema (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"
  ]
}
POSTCreate Quick Support access/v1/quick-support

Create an attended-support invitation using the supplied access settings.

POST /v1/quick-support ↗

mcp.cap.ScreenControl + mcp.cap.EnrollmentManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTRevoke Quick Support access/v1/quick-support/{id}/revoke

Revoke the selected Quick Support invitation.

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

mcp.cap.ScreenControl + mcp.cap.EnrollmentManage

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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))
Request and response schema (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"
  ]
}
POSTCreate a visitor pass/v1/visitor-passes

Create temporary visitor access with the requested device and restrictions.

POST /v1/visitor-passes ↗

mcp.cap.ScreenControl + mcp.cap.EnrollmentManage

Parameters

No path, query or header parameters.

Example request

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))
Request and response schema (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"
  ]
}
POSTRevoke a visitor pass/v1/visitor-passes/{id}/revoke

Stop the selected visitor pass from granting further access.

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

mcp.cap.ScreenControl + mcp.cap.EnrollmentManage

Parameters

id · path · required
Identifier returned by the corresponding resource list or creation result.

Example request

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))
Request and response schema (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"
  ]
}
Schemas (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
    ]
  }
}

Content revision 3f225a253 · OpenAPI SHA-256: b12c42306a89