openapi: 3.0.2 info: contact: name: IXON B.V. url: https://www.ixon.cloud/ email: support@ixon.cloud description: API for the IXON Cloud Platform license: name: All Rights Reserved url: https://www.ixon.cloud/ title: IXON AccessRecoverList ControlledDevice API version: 0.1.294 servers: - description: IXON Cloud platform server url: https://portal.ixon.cloud:443/api/ tags: - name: ControlledDevice paths: /controlled-devices/{publicId}: get: tags: - ControlledDevice summary: ControlledDevice responses: '200': description: Success response content: application/json: schema: type: object required: - status - type - data properties: status: type: string default: success nullable: false type: type: string nullable: false data: nullable: false type: object properties: publicId: maxLength: 12 minLength: 12 nullable: false type: string name: maxLength: 255 minLength: 1 nullable: false type: string agent: nullable: false type: object properties: publicId: maxLength: 12 minLength: 12 nullable: false type: string deviceId: maxLength: 128 minLength: 1 nullable: false type: string type: nullable: false type: object properties: publicId: maxLength: 12 minLength: 12 nullable: false type: string additionalSubnets: nullable: false type: boolean allowDataPublishing: nullable: false type: boolean allowDemoDevice: nullable: false type: boolean allowTemplating: nullable: false type: boolean allowReboot: nullable: false type: boolean configPush: nullable: false type: boolean configFileFormat: maximum: 4294967295 nullable: false type: integer format: int32 customServers: nullable: false type: boolean deviceIdFormat: maxLength: 255 minLength: 1 nullable: false type: string httpProxyPort: maximum: 65535 nullable: true type: integer format: int32 latestFirmwareFile: nullable: false type: object properties: publicId: maxLength: 12 minLength: 12 nullable: false type: string name: maxLength: 255 minLength: 1 nullable: false type: string description: maxLength: 65535 minLength: 0 nullable: false type: string code: maxLength: 255 minLength: 1 nullable: false type: string notes: maxLength: 65535 minLength: 0 nullable: false type: string agentType: nullable: false type: object properties: publicId: nullable: false type: string type: enum: - firmware nullable: false type: string latest: nullable: false type: boolean custom: nullable: false type: object name: maxLength: 255 minLength: 1 nullable: false type: string offlineConfiguration: nullable: false type: boolean openvpnConfigMultiUse: nullable: false type: boolean purchasePrice: nullable: false type: object properties: gratis: nullable: false type: boolean router: nullable: false type: boolean stunnelSupport: nullable: false type: boolean wanPortForwardings: nullable: false type: boolean custom: nullable: false type: object hasSecondWanPort: nullable: false type: boolean config: nullable: false type: object properties: publicId: maxLength: 12 minLength: 12 nullable: false type: string agent: nullable: false type: object properties: publicId: nullable: false type: string configFileServer: maxLength: 4294967295 minLength: 0 nullable: true type: string configPushedOn: nullable: true type: string format: date-time configFileReported: maxLength: 4294967295 minLength: 0 nullable: true type: string configFileReportedWlanKeyEnabled: nullable: false type: boolean configFileReportedCellularPasswordEnabled: nullable: false type: boolean configReportedOn: nullable: true type: string format: date-time differentConfigs: nullable: false type: boolean differentWanConfigs: nullable: false type: boolean stewardConfigFileServer: maxLength: 4294967295 minLength: 0 nullable: true type: string stewardConfigFileReported: maxLength: 4294967295 minLength: 0 nullable: true type: string stewardConfigReportedOn: nullable: true type: string format: date-time differentStewardConfigs: nullable: false type: boolean routerLan: nullable: false type: object properties: agent: nullable: false type: object properties: publicId: nullable: false type: string ipAddress: maxLength: 255 minLength: 0 nullable: false type: string netMask: maxLength: 255 minLength: 0 nullable: false type: string network: maxLength: 255 minLength: 0 nullable: false type: string dhcpServerEnabled: nullable: false type: boolean dhcpServerRangeFrom: maxLength: 255 minLength: 0 nullable: true type: string dhcpServerRangeTo: maxLength: 255 minLength: 0 nullable: true type: string gatewayLessRouting: nullable: false type: boolean forwardLanWan: enum: - neither - public - private - both nullable: false type: string forwardLanWan2: enum: - neither - public - private - both nullable: false type: string wlanEnable: nullable: true type: boolean wlanSsid: maxLength: 32 minLength: 0 nullable: true type: string wlanKey: maxLength: 255 minLength: 0 nullable: true type: string wlanChannel: maximum: 4294967295 nullable: true type: integer format: int32 bacnetBbmd: type: array items: maxLength: 255 minLength: 0 nullable: false type: string udpBroadcastRelayPort: type: array items: maximum: 65535 nullable: false type: integer format: int32 routerVpn: nullable: false type: object properties: agent: nullable: false type: object properties: publicId: nullable: false type: string sourceNatEnabled: nullable: false type: boolean routerWan: nullable: false type: object properties: agent: nullable: false type: object properties: publicId: nullable: false type: string multiwanPolicy: enum: - eth_cell_wifi - cell_eth_wifi - eth_wifi_cell - wifi_eth_cell - cell_wifi_eth - wifi_cell_eth nullable: true type: string ipUseDhcp: nullable: true type: boolean ipAddress: maxLength: 255 minLength: 0 nullable: true type: string ipGateway: maxLength: 255 minLength: 0 nullable: true type: string ipNetMask: maxLength: 255 minLength: 0 nullable: true type: string dnsServers: type: array items: maxLength: 255 minLength: 0 nullable: false type: string dnsRebindProtectionEnabled: nullable: true type: boolean cellularApn: maxLength: 255 minLength: 0 nullable: true type: string cellularPincode: maxLength: 8 minLength: 0 nullable: true type: string cellularMtu: maximum: 1500 minimum: 576 nullable: true type: integer format: int32 digitalInputMode: enum: - disable_vpn_high - disable_vpn_low - disable_wan_high - disable_wan_low nullable: true type: string wanTrackInterval: maximum: 4294967295 nullable: true type: integer format: int32 wanTrackIps: type: array items: maxLength: 255 minLength: 0 nullable: false type: string wlanTrackInterval: maximum: 4294967295 nullable: true type: integer format: int32 wlanTrackIps: type: array items: maxLength: 255 minLength: 0 nullable: false type: string cellularTrackInterval: maximum: 4294967295 nullable: true type: integer format: int32 cellularTrackIps: type: array items: maxLength: 255 minLength: 0 nullable: false type: string httpProxyAddress: maxLength: 255 minLength: 0 nullable: true type: string httpProxyPort: maximum: 4294967295 nullable: true type: integer format: int32 httpProxyAuthentication: enum: - none - basic - ntlm nullable: true type: string httpProxyUsername: maxLength: 255 minLength: 0 nullable: true type: string httpProxyIsSocks5: nullable: true type: boolean wlanSsid: maxLength: 255 minLength: 0 nullable: true type: string wlanIpUseDhcp: nullable: true type: boolean wlanIpAddress: maxLength: 255 minLength: 0 nullable: true type: string wlanIpGateway: maxLength: 255 minLength: 0 nullable: true type: string wlanIpNetMask: maxLength: 255 minLength: 0 nullable: true type: string wlanDnsServers: type: array items: maxLength: 255 minLength: 0 nullable: false type: string cellularUsername: maxLength: 255 minLength: 0 nullable: true type: string routerDisplay: nullable: false type: object properties: agent: nullable: false type: object properties: publicId: nullable: false type: string lockEnabled: nullable: false type: boolean lockCode: maxLength: 4 minLength: 4 nullable: true pattern: '[0-9]+' type: string routerAdditionalSubnets: type: array items: nullable: false type: object properties: publicId: maxLength: 12 minLength: 12 nullable: false type: string networkAddress: maxLength: 255 minLength: 0 nullable: false type: string networkMask: maxLength: 255 minLength: 0 nullable: false type: string gatewayAddress: maxLength: 255 minLength: 0 nullable: false type: string agent: nullable: false type: object properties: publicId: nullable: false type: string routerPortForwards: type: array items: nullable: false type: object properties: publicId: maxLength: 12 minLength: 12 nullable: false type: string interface: enum: - VPN - WAN - WAN2 nullable: false type: string targetIpAddress: maxLength: 255 minLength: 0 nullable: false type: string targetPort: maximum: 65535 nullable: false type: integer format: int32 externalPort: maximum: 65535 nullable: false type: integer format: int32 agent: nullable: false type: object properties: publicId: nullable: false type: string routerNtpServers: type: array items: nullable: false type: object properties: publicId: maxLength: 12 minLength: 12 nullable: false type: string agent: nullable: false type: object properties: publicId: nullable: false type: string server: maxLength: 255 minLength: 1 nullable: false type: string macAddress: maxLength: 17 minLength: 1 nullable: false type: string serialNumber: maxLength: 128 minLength: 1 nullable: false type: string company: nullable: false type: object properties: publicId: maxLength: 24 minLength: 24 nullable: false pattern: (\d{4}-){4}\d{4} type: string name: maxLength: 255 minLength: 1 nullable: false type: string activeStatus: enum: - active - inactive nullable: false type: string activeVpnSession: nullable: true type: object properties: rscServer: nullable: false type: object properties: publicId: maxLength: 12 minLength: 12 nullable: false type: string name: maxLength: 255 minLength: 1 nullable: false type: string vpnRange: maxLength: 255 minLength: 1 nullable: false type: string supportedLayers: type: array items: enum: - tun - tap nullable: false type: string location: nullable: false type: object properties: name: maxLength: 255 minLength: 1 nullable: false type: string latitude: nullable: false type: string longitude: nullable: false type: string startedOn: nullable: false type: string format: date-time sessionName: maxLength: 255 minLength: 1 nullable: false type: string vpnAddress: maxLength: 255 minLength: 0 nullable: true type: string closed: nullable: false type: boolean vpnChangedOn: nullable: true type: string format: date-time mqttChangedOn: nullable: true type: string format: date-time mdrServer: nullable: true type: object properties: publicId: maxLength: 12 minLength: 12 nullable: false type: string name: maxLength: 255 minLength: 1 nullable: false type: string lastSeenAgentUserAgent: nullable: true type: object properties: publicId: maxLength: 12 minLength: 12 nullable: false type: string value: maxLength: 255 minLength: 0 nullable: true type: string configName: maxLength: 255 minLength: 0 nullable: true type: string configVersion: maxLength: 255 minLength: 0 nullable: true type: string hardware: maxLength: 255 minLength: 0 nullable: true type: string hardwareCode: maxLength: 255 minLength: 0 nullable: true type: string hardwareVersion: maxLength: 255 minLength: 0 nullable: true type: string firmwareVersion: maxLength: 255 minLength: 0 nullable: true type: string osName: maxLength: 255 minLength: 0 nullable: true type: string osVersion: maxLength: 255 minLength: 0 nullable: true type: string appName: maxLength: 255 minLength: 0 nullable: true type: string appVersion: maxLength: 255 minLength: 0 nullable: true type: string packageName: maxLength: 255 minLength: 0 nullable: true type: string packageVersion: maxLength: 255 minLength: 0 nullable: true type: string libixagentVersion: maxLength: 255 minLength: 0 nullable: true type: string libixloggerVersion: maxLength: 255 minLength: 0 nullable: true type: string logOnTrigger: nullable: false type: boolean alarming: nullable: false type: boolean dataMonitoring: nullable: false type: boolean wifi: nullable: false type: boolean remoteFirmwareUpgrade: nullable: false type: boolean staticMapping: nullable: false type: boolean stewardConfigPush: nullable: false type: boolean wanInterfaceEth0: nullable: false type: boolean wanInterfaceWifi0: nullable: false type: boolean wanInterfaceCell0: enum: - 3G - 4G - neither nullable: false type: string multiWan: nullable: false type: boolean openvpnVersion: maxLength: 255 minLength: 0 nullable: true type: string openvpnOccEnabled: nullable: false type: boolean openvpnOpensslVersion: maxLength: 255 minLength: 0 nullable: true type: string vpnLocked: nullable: false type: boolean webAccessLocked: nullable: false type: boolean memberships: type: array items: nullable: false type: object properties: publicId: maxLength: 12 minLength: 12 nullable: false type: string controlledDevice: nullable: false type: object properties: publicId: nullable: false type: string group: nullable: false type: object properties: publicId: nullable: false type: string 4XX: $ref: '#/components/responses/4XXErrorResponse' parameters: - $ref: '#/components/parameters/apiVersion' - $ref: '#/components/parameters/apiApplication' - $ref: '#/components/parameters/apiCompany' - $ref: '#/components/parameters/apiBrandingOptional' - $ref: '#/components/parameters/fieldsParameter' - $ref: '#/components/parameters/filtersParameter' - required: true name: publicId in: path schema: type: string security: - bearerToken: [] patch: tags: - ControlledDevice summary: ControlledDevice responses: '200': description: Success response content: application/json: schema: type: object required: - status - type - data properties: status: type: string default: success nullable: false type: type: string nullable: false data: type: object nullable: true 4XX: $ref: '#/components/responses/4XXErrorResponse' parameters: - $ref: '#/components/parameters/apiVersion' - $ref: '#/components/parameters/apiApplication' - $ref: '#/components/parameters/apiCompany' - $ref: '#/components/parameters/apiBrandingOptional' - required: true name: publicId in: path schema: type: string requestBody: required: true content: application/json: schema: type: object properties: name: maxLength: 255 minLength: 1 nullable: false type: string agent: nullable: false type: object properties: vpnLocked: nullable: false type: boolean webAccessLocked: nullable: false type: boolean security: - bearerToken: [] post: tags: - ControlledDevice summary: ControlledDevice responses: '201': description: Success response. Data could be an object instead of a list when one value is returned content: application/json: schema: type: object required: - status - type - data properties: status: type: string default: success nullable: false type: type: string nullable: false moreAfter: type: string nullable: true data: nullable: false type: array items: type: object properties: publicId: maxLength: 12 minLength: 12 nullable: false type: string required: - publicId 4XX: $ref: '#/components/responses/4XXErrorResponse' parameters: - $ref: '#/components/parameters/apiVersion' - $ref: '#/components/parameters/apiApplication' - $ref: '#/components/parameters/apiCompany' - $ref: '#/components/parameters/apiBrandingOptional' - required: true name: publicId in: path schema: type: string requestBody: required: true content: application/json: schema: type: object properties: name: maxLength: 255 minLength: 1 nullable: false type: string device: maxLength: 255 minLength: 1 nullable: false type: string controlKey: maxLength: 11 minLength: 11 nullable: false pattern: '[B-DF-HJ-NP-TV-Z]{3}-[1-9]{3}-[B-DF-HJ-NP-TV-Z]{3}' type: string groups: type: array items: nullable: false type: object properties: publicId: nullable: false type: string required: - name - device - controlKey security: - bearerToken: [] delete: tags: - ControlledDevice summary: ControlledDevice responses: '200': description: Success response content: application/json: schema: type: object required: - status - type - data properties: status: type: string default: success nullable: false type: type: string nullable: false data: type: object nullable: true 4XX: $ref: '#/components/responses/4XXErrorResponse' parameters: - $ref: '#/components/parameters/apiVersion' - $ref: '#/components/parameters/apiApplication' - $ref: '#/components/parameters/apiCompany' - $ref: '#/components/parameters/apiBrandingOptional' - required: true name: publicId in: path schema: type: string security: - bearerToken: [] components: parameters: apiApplication: required: true description: Get your Application ID via support@ixon.cloud name: Api-Application in: header schema: type: string pattern: ^[0-9a-zA-Z]{12}$ apiVersion: required: true description: Version of the API to use name: Api-Version in: header schema: type: integer format: int32 enum: - 2 apiBrandingOptional: required: false description: Domain that provides the branding name: Api-Branding in: header schema: type: string pattern: .+(\..[^.]+) fieldsParameter: required: false description: 'Fields to select. Use "*" for all the top-level fields. Or check the "Success response" below for other fields. To get the fields of a subresource do subresource.field or for multiple fields of one subresource do subresource(field,field)' name: fields in: query schema: type: array items: type: string filtersParameter: required: false description: 'Filter the returned item(s). Format: operator(column,val) Possible operators are: lt, less, lte, lessorequal, eq, equals, ne, differs, gt, greater, gte, greaterorequal, in, ni, isnull, isnotnull, between, contains. Example: eq(publicId,"publicId_val")' name: filters in: query schema: type: array items: type: string apiCompany: required: true description: PublicId of the company name: Api-Company in: header schema: type: string pattern: ^(\d{4}-){4}\d{4}$ responses: 4XXErrorResponse: description: 4XX error response content: application/json: schema: type: object required: - status - type - data properties: status: type: string default: error nullable: false type: type: string default: Error nullable: false data: nullable: false type: array items: $ref: '#/components/schemas/4XXErrorSchema' schemas: 4XXErrorSchema: type: object properties: message: nullable: false type: string propertyName: nullable: true type: string listIndex: nullable: true type: integer format: int32 required: - message securitySchemes: bearerToken: type: http description: Bearer token created by the endpoint "POST AccessTokenList" scheme: bearer x-samples-languages: - curl - ruby - javascript - python - powershell