'1.0', 'info' => ['style' => 'RPC', 'product' => 'Linkvisual', 'version' => '2023-06-30'], 'directories' => [ [ 'children' => [ 'QueryDeviceDetail', 'QueryGenerateDevicesRecord', 'GetThingEventSnapshot', 'GetAccountById', 'GetDeviceStatus', 'GetSubDeviceList', 'GetThingPropertySnapshot', 'InvokeThingService', 'ListBindingAccountByDevice', 'SetThingProperty', 'BatchBindDevice', 'BindStorageOrder', 'CheckFreeStorageValid', 'ConsumeFreeStorage', 'CreateAndPayStorageOrder', 'EnableFreeStorage', 'EnableStorageOrder', 'FreezeFreeStorage', 'FreezeStorageOrder', 'GenerateDevice', 'GenerateDeviceByBatchId', 'ListBindingDeviceByAccount', 'QueryBatchStatus', 'QueryDevicesDownloadUrl', 'QueryFreeStorage', 'QueryGenerateDevicesInfoList', 'QueryStorageCommodityList', 'QueryStorageOrder', 'QueryStorageOrderList', 'TransferStorageOrder', 'UnbindAllUserByDevice', 'UnbindDevice', 'UploadDeviceNameList', ], 'type' => 'directory', 'title' => 'Others', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ 'BatchBindDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'OpenId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'OpenIdAppKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IdentityId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceList', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], 'DeviceName' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], 'IotId' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 20, 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'BindDeviceList' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'BindResultMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ProductKey' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'BindResultCode' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => 'The system failed to query information about the account.'], ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => 'The account does not exist.'], ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => 'The tenant of the API operation caller is different from the tenant to which the account belongs.'], ['errorCode' => 'iot.vision.IdentityAppKeyProductNotBind', 'errorMessage' => 'The app associated with the identityId does not have permission to access the product.', 'description' => 'No product is associated with the AppKey that is related to the account.'], ['errorCode' => 'iot.vision.BindFailed', 'errorMessage' => 'Bind account and device failed.', 'description' => 'The system failed to associate the account with the device.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchBindDevice'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:BatchBindDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"BindDeviceList\\": [\\n {\\n \\"BindResultMessage\\": \\"\\",\\n \\"ProductKey\\": \\"\\",\\n \\"BindResultCode\\": 0,\\n \\"DeviceName\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'BindStorageOrder' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'EventRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '30', 'minimum' => '0', 'default' => '10', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'OrderId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EventRecordProlong', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UserName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UserId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'MaxRecordFileDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '600', 'default' => '1800', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EnableDefaultPlan', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PreRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5', 'minimum' => '0', 'default' => '0', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Copies' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'PreConsume' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'UserId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IdentityId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OutOrderNo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OrderType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'PaymentStatus' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'UserName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OrderId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => 'Device owner changed.'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], ['errorCode' => 'iot.vision.GetOwnerIdentityInfoFailed', 'errorMessage' => 'Get owner identity info failed.', 'description' => 'The system failed to query information about the device administrator.'], ['errorCode' => 'iot.vision.SetDefaultRecordPlanFailed', 'errorMessage' => 'Set default record plan failed.', 'description' => 'The system failed to configure the default video recording plan.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindStorageOrder'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:BindStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": 0,\\n \\"Copies\\": 0,\\n \\"Specification\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"CommodityCode\\": \\"\\",\\n \\"PreConsume\\": 0,\\n \\"EndTimeUTC\\": \\"\\",\\n \\"UserId\\": \\"\\",\\n \\"IdentityId\\": \\"\\",\\n \\"StartTimeUTC\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"OutOrderNo\\": \\"\\",\\n \\"Price\\": \\"\\",\\n \\"OrderType\\": 0,\\n \\"PaymentStatus\\": 0,\\n \\"UserName\\": \\"\\",\\n \\"OrderId\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'CheckFreeStorageValid' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => 'No enough free storage quota or exceed limit.'], ['errorCode' => 'iot.vision.InvalidStorageCommodity', 'errorMessage' => 'Invalid storage commodity.', 'description' => 'Invalid storage commodity.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ['errorCode' => 'iot.vision.GetDeviceInfoFailed', 'errorMessage' => 'Get device info failed.', 'description' => 'The system failed to query the details of the device.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CheckFreeStorageValid'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:CheckFreeStorageValid', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false\\n}","type":"json"}]', ], 'ConsumeFreeStorage' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'EventRecordProlong', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EventRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '30', 'minimum' => '0', 'default' => '10', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ImmediateUse', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EnableDefaultPlan', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PreRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5', 'minimum' => '0', 'default' => '0', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Quota', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Type' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Months' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Expired' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'RemainQuota' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Consumed' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Lifecycle' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => 'No enough free storage quota or exceed limit.'], ['errorCode' => 'iot.vision.GetOwnerIdentityInfoFailed', 'errorMessage' => 'Get owner identity info failed.', 'description' => 'The system failed to query information about the device administrator.'], ['errorCode' => 'iot.vision.GetDeviceInfoFailed', 'errorMessage' => 'Get device info failed.', 'description' => 'The system failed to query the details of the device.'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], ['errorCode' => 'iot.vision.SetDefaultRecordPlanFailed', 'errorMessage' => 'Set default record plan failed.', 'description' => 'The system failed to configure the default video recording plan.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:ConsumeFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"EndTime\\": \\"\\",\\n \\"Type\\": 0,\\n \\"StartTime\\": \\"\\",\\n \\"EndTimeUTC\\": \\"\\",\\n \\"Months\\": 0,\\n \\"Expired\\": 0,\\n \\"RemainQuota\\": 0,\\n \\"StartTimeUTC\\": \\"\\",\\n \\"Consumed\\": 0,\\n \\"Lifecycle\\": 0\\n }\\n}","type":"json"}]', ], 'CreateAndPayStorageOrder' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'DeviceNoOwner', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EventRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '30', 'minimum' => '0', 'default' => '10', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Copies', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'CommodityCode', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EventRecordProlong', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'Specification', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ImmediateUse', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UserName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UserId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'MaxRecordFileDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '600', 'default' => '1800', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EnableDefaultPlan', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PreRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5', 'minimum' => '0', 'default' => '0', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Copies' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'PreConsume' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'UserId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IdentityId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OutOrderNo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OrderType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'PaymentStatus' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'UserName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OrderId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], ['errorCode' => 'iot.vision.CreateStorageOrderFailed', 'errorMessage' => 'Create storage order failed.', 'description' => 'Create storage order failed.'], ['errorCode' => 'iot.vision.GetDeviceInfoFailed', 'errorMessage' => 'Get device info failed.', 'description' => 'The system failed to query the details of the device.'], ['errorCode' => 'iot.vision.InvalidStorageCommodity', 'errorMessage' => 'Invalid storage commodity.', 'description' => 'Invalid storage commodity.'], ['errorCode' => 'iot.vision.StorageCommodityUnavailable', 'errorMessage' => 'Storage commodity unavailable.', 'description' => 'You cannot use the cloud storage product.'], ['errorCode' => 'iot.vision.GetOwnerIdentityInfoFailed', 'errorMessage' => 'Get owner identity info failed.', 'description' => 'The system failed to query information about the device administrator.'], ['errorCode' => 'iot.vision.SetDefaultRecordPlanFailed', 'errorMessage' => 'Set default record plan failed.', 'description' => 'The system failed to configure the default video recording plan.'], ['errorCode' => 'iot.vision.QueryCommodityPriceFailed', 'errorMessage' => 'Query commodity price failed.', 'description' => 'The system failed to query the price of the cloud storage product.'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], ['errorCode' => 'iot.vision.StorageOrderAlreadyPaid', 'errorMessage' => 'Storage order had been paid.', 'description' => 'The payment for the cloud storage order is complete.'], ['errorCode' => 'iot.vision.StorageOrderPayFailed', 'errorMessage' => 'Storage order pay failed.', 'description' => 'The payment for the cloud storage order failed.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAndPayStorageOrder'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:CreateAndPayStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": 0,\\n \\"Copies\\": 0,\\n \\"Specification\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"CommodityCode\\": \\"\\",\\n \\"PreConsume\\": 0,\\n \\"EndTimeUTC\\": \\"\\",\\n \\"UserId\\": \\"\\",\\n \\"IdentityId\\": \\"\\",\\n \\"StartTimeUTC\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"OutOrderNo\\": \\"\\",\\n \\"Price\\": \\"\\",\\n \\"OrderType\\": 0,\\n \\"PaymentStatus\\": 0,\\n \\"UserName\\": \\"\\",\\n \\"OrderId\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'EnableFreeStorage' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Type' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Months' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Expired' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'RemainQuota' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Consumed' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Lifecycle' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => 'No enough free storage quota or exceed limit.'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableFreeStorage'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:EnableFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"EndTime\\": \\"\\",\\n \\"Type\\": 0,\\n \\"StartTime\\": \\"\\",\\n \\"EndTimeUTC\\": \\"\\",\\n \\"Months\\": 0,\\n \\"Expired\\": 0,\\n \\"RemainQuota\\": 0,\\n \\"StartTimeUTC\\": \\"\\",\\n \\"Consumed\\": 0,\\n \\"Lifecycle\\": 0\\n }\\n}","type":"json"}]', ], 'EnableStorageOrder' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'OrderId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Copies' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'PreConsume' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'UserId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IdentityId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OutOrderNo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OrderType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'PaymentStatus' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'UserName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OrderId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => 'Device owner changed.'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], ['errorCode' => 'iot.vision.StorageOrderStatusInvalid', 'errorMessage' => 'Storage order status invalid.', 'description' => 'You cannot perform the operation on the cloud storage order.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableStorageOrder'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:EnableStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": 0,\\n \\"Copies\\": 0,\\n \\"Specification\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"CommodityCode\\": \\"\\",\\n \\"PreConsume\\": 0,\\n \\"EndTimeUTC\\": \\"\\",\\n \\"UserId\\": \\"\\",\\n \\"IdentityId\\": \\"\\",\\n \\"StartTimeUTC\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"OutOrderNo\\": \\"\\",\\n \\"Price\\": \\"\\",\\n \\"OrderType\\": 0,\\n \\"PaymentStatus\\": 0,\\n \\"UserName\\": \\"\\",\\n \\"OrderId\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'FreezeFreeStorage' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Type' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Months' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Expired' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'RemainQuota' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Consumed' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Lifecycle' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => 'No enough free storage quota or exceed limit.'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FreezeFreeStorage'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:FreezeFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"EndTime\\": \\"\\",\\n \\"Type\\": 0,\\n \\"StartTime\\": \\"\\",\\n \\"EndTimeUTC\\": \\"\\",\\n \\"Months\\": 0,\\n \\"Expired\\": 0,\\n \\"RemainQuota\\": 0,\\n \\"StartTimeUTC\\": \\"\\",\\n \\"Consumed\\": 0,\\n \\"Lifecycle\\": 0\\n }\\n}","type":"json"}]', ], 'FreezeStorageOrder' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'DeviceNoOwner', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'OrderId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Copies' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'PreConsume' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'UserId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IdentityId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OutOrderNo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OrderType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'PaymentStatus' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'UserName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OrderId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => 'Device owner changed.'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FreezeStorageOrder'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:FreezeStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": 0,\\n \\"Copies\\": 0,\\n \\"Specification\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"CommodityCode\\": \\"\\",\\n \\"PreConsume\\": 0,\\n \\"EndTimeUTC\\": \\"\\",\\n \\"UserId\\": \\"\\",\\n \\"IdentityId\\": \\"\\",\\n \\"StartTimeUTC\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"OutOrderNo\\": \\"\\",\\n \\"Price\\": \\"\\",\\n \\"OrderType\\": 0,\\n \\"PaymentStatus\\": 0,\\n \\"UserName\\": \\"\\",\\n \\"OrderId\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'GenerateDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'Amount', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '10000', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProjectId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'BatchId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.ActiveCodeInsufficient', 'errorMessage' => 'Active code quota is insufficient.', 'description' => ''], ['errorCode' => 'iot.vision.DevicesCountExceedLimit', 'errorMessage' => 'The devices count exceed the limit.', 'description' => 'The devices count exceed the limit.'], ['errorCode' => 'iot.vision.DevicesExceedUnreleasedProductLimit', 'errorMessage' => 'Devices count exceed the limit of unreleased product.', 'description' => ''], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateDevice'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GenerateDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"BatchId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'GenerateDeviceByBatchId' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'BatchId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProjectId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'BatchId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.ParamBatchIdInvalid', 'errorMessage' => 'Parameter batchId is invalid.', 'description' => 'Parameter batchId is invalid.'], ['errorCode' => 'iot.vision.BatchHasCreated', 'errorMessage' => 'This batch task has been created.', 'description' => 'This batch task has been created.'], ['errorCode' => 'iot.vision.DeviceNameChecking', 'errorMessage' => 'Device names are checking.', 'description' => ''], ['errorCode' => 'iot.vision.DeviceNameCheckFailed', 'errorMessage' => 'Device names check failed.', 'description' => 'Device names check failed.'], ['errorCode' => 'iot.vision.ActiveCodeInsufficient', 'errorMessage' => 'Active code quota is insufficient.', 'description' => ''], ['errorCode' => 'iot.vision.DevicesCountExceedLimit', 'errorMessage' => 'The devices count exceed the limit.', 'description' => 'The devices count exceed the limit.'], ['errorCode' => 'iot.vision.DevicesExceedUnreleasedProductLimit', 'errorMessage' => 'Devices count exceed the limit of unreleased product.', 'description' => ''], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateDeviceByBatchId'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GenerateDeviceByBatchId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"BatchId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'GetAccountById' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'OpenId', 'in' => 'query', 'schema' => ['description' => 'The third-party platform user ID.'."\n" .'> If you specify this parameter, you must also specify **OpenIdAppKey**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => '60yqjd1**************************561da00851', 'title' => ''], ], [ 'name' => 'OpenIdAppKey', 'in' => 'query', 'schema' => ['description' => 'The AppKey issued by the third-party platform.'."\n" ."\n" .'> If you specify this parameter, you must also specify **OpenId**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => '76****57', 'title' => ''], ], [ 'name' => 'IdentityId', 'in' => 'query', 'schema' => ['description' => 'The user identity ID.'."\n" ."\n" .'> **IdentityId** serves as the user identifier and has a one-to-one mapping with the combination of **OpenId** and **OpenIdAppKey**. If you specify this parameter, you do not need to specify **OpenId** or **OpenIdAppKey**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => '5035op97******************a63994', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Unexpected internal error.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.', 'type' => 'object', 'properties' => [ 'LoginName' => ['description' => 'The logon name of the account.', 'type' => 'string', 'example' => '18*******20', 'title' => ''], 'Email' => ['description' => 'The email address.', 'type' => 'string', 'example' => '******', 'title' => ''], 'IdentityId' => ['description' => 'The user identity ID.', 'type' => 'string', 'example' => '5035op97******************a63994', 'title' => ''], 'LastLoginTime' => ['description' => 'The last logon time, in the format of a 13-digit millisecond-level timestamp.', 'type' => 'integer', 'format' => 'int64', 'example' => '1700209499000', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the account was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1700189358000', 'title' => ''], 'NickName' => ['description' => 'The nickname of the user.', 'type' => 'string', 'example' => '18*******20', 'title' => ''], 'GmtModified' => ['description' => 'The time when the account was last modified.', 'type' => 'integer', 'format' => 'int64', 'example' => '1700209499000', 'title' => ''], 'Phone' => ['description' => 'The phone number.', 'type' => 'string', 'example' => '18*******20', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => 'The system failed to query information about the account.'], ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => 'The account does not exist.'], ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => 'The tenant of the API operation caller is different from the tenant to which the account belongs.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Unexpected internal error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"LoginName\\": \\"18*******20\\",\\n \\"Email\\": \\"******\\",\\n \\"IdentityId\\": \\"5035op97******************a63994\\",\\n \\"LastLoginTime\\": 1700209499000,\\n \\"GmtCreate\\": 1700189358000,\\n \\"NickName\\": \\"18*******20\\",\\n \\"GmtModified\\": 1700209499000,\\n \\"Phone\\": \\"18*******20\\"\\n }\\n}","type":"json"}]', 'title' => 'GetAccountById', 'summary' => 'Queries user account information by user identity ID (IdentityId) or third-party platform user ID (OpenId).', 'description' => '## QPS limit'."\n" ."\n" .'The maximum queries per second (QPS) per Alibaba Cloud account for invoking this operation is 50.'."\n" ."\n" .'> All Resource Access Management (RAM) users under a single Alibaba Cloud account share the quota of that account.', 'requestParamsDescription' => 'In addition to the request parameters described in this topic, you must also specify common request parameters when you call this API operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAccountById'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetAccountById', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetDeviceStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the video device belongs.'."\n" ."\n" .'>If you specify this parameter, you must also specify **DeviceName**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the video device.'."\n" ."\n" .'>If you specify this parameter, you must also specify **ProductKey**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the video device.'."\n" .'>'."\n" .'**IotId** is a globally unique identifier of a device and corresponds to a combination of **ProductKey** and **DeviceName** on a one-to-one basis. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Unexpected internal error.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call was successful.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The current status of the device. Valid values:'."\n" ."\n" .'- **ONLINE**: The device is online.'."\n" .'- **OFFLINE**: The device is offline.'."\n" .'- **UNACTIVE**: The device is not activated.'."\n" .'- **DISABLE**: The device is disabled.', 'type' => 'string', 'example' => 'ONLINE', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => 'Invalid iot instance.'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => 'Instance arrearage.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => ''], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Unexpected internal error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"ONLINE\\"\\n }\\n}","type":"json"}]', 'title' => 'GetDeviceStatus', 'summary' => 'Queries the status of a device.', 'description' => '## QPS limit'."\n" ."\n" .'You can invoke this operation up to 50 times per second per Alibaba Cloud account.'."\n" ."\n" .'> All Resource Access Management (RAM) users within an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the operation-specific request parameters described in this topic, you must also specify common request parameters when you call this operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDeviceStatus'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetDeviceStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetSubDeviceList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of records per page in the response. Maximum value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '50', 'minimum' => '1', 'example' => '5', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the gateway device belongs.'."\n" ."\n" .'>If you specify this parameter, you must also specify **DeviceName**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the gateway device.'."\n" ."\n" .'>If you specify this parameter, you must also specify **ProductKey**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the gateway device.'."\n" .'>'."\n" .'**IotId** is a globally unique identifier of a device and corresponds to a combination of **ProductKey** and **DeviceName** on a one-to-one basis. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['description' => 'The page number to return. Maximum value: 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Request parameter error.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call was successful.', 'type' => 'object', 'properties' => [ 'PageNo' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of records per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of records.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], 'SubDeviceList' => [ 'description' => 'The list of sub-devices.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.', 'type' => 'string', 'example' => 'wse5******', 'title' => ''], 'DeviceName' => ['description' => 'The name of the device.', 'type' => 'string', 'example' => 'device-test', 'title' => ''], 'IotId' => ['description' => 'The ID of the device.', 'type' => 'string', 'example' => 'qswdfrttgg*********', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => 'Invalid iot instance.'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => 'Instance arrearage.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => ''], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 1,\\n \\"Total\\": 1,\\n \\"SubDeviceList\\": [\\n {\\n \\"ProductKey\\": \\"wse5******\\",\\n \\"DeviceName\\": \\"device-test\\",\\n \\"IotId\\": \\"qswdfrttgg*********\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'GetSubDeviceList', 'summary' => 'Queries the list of sub-devices for a gateway device.', 'description' => '## QPS limit'."\n" ."\n" .'The maximum number of queries per second (QPS) per Alibaba Cloud account for invoking this operation is 50.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the request parameters described in this topic, you must specify common parameters when you call this operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSubDeviceList'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetSubDeviceList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetThingEventSnapshot' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'Identifier', 'in' => 'query', 'schema' => ['description' => 'The event identifier of the thing model.', 'type' => 'string', 'required' => true, 'example' => 'AlarmType', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the video device belongs.'."\n" ."\n" .'>If you specify this parameter, you must also specify **DeviceName**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the video device.'."\n" ."\n" .'>If you specify this parameter, you must also specify **ProductKey**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the video device.'."\n" .'>'."\n" .'**IotId** is a globally unique identifier of the device and corresponds one-to-one with the combination of **ProductKey** and **DeviceName**. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Unexpected internal error.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'EventType' => ['description' => 'The event type. Valid values:'."\n" ."\n" .'- **info**: information.'."\n" .'- **alert**: alert.'."\n" .'- **error**: fault.', 'type' => 'string', 'example' => 'alert', 'title' => ''], 'EventCode' => ['description' => 'The event code.', 'type' => 'string', 'example' => 'IntelligentAlarm', 'title' => ''], 'Identifier' => ['description' => 'The event identifier.', 'type' => 'string', 'example' => 'IntelligentAlarm', 'title' => ''], 'Timestamp' => ['description' => 'The timestamp when the event occurred. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1700010288668', 'title' => ''], 'EventBody' => ['description' => 'The event content.', 'type' => 'string', 'example' => '{\\"EventList \\":[{\\"AlarmPicID \\":\\"\\",\\"EventTime \\":\\"1700010288542 \\",\\"AlarmType \\":1,\\"AlarmPicSize \\":1,\\"Data \\":\\"test \\"}]}', 'title' => ''], 'IotId' => ['description' => 'The device ID.', 'type' => 'string', 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => 'Invalid iot instance.'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], ['errorCode' => 'iot.vision.ThingModelNotExist', 'errorMessage' => 'Thing model not exist.', 'description' => 'Thing model not exist.'], ['errorCode' => 'iot.vision.ThingModelIdentifierNotExist', 'errorMessage' => 'Thing model identifier not exist.', 'description' => 'Thing model identifier not exist.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => 'Instance arrearage.'], ['errorCode' => 'iot.vision.GetThingEventSnapshotFailed', 'errorMessage' => 'Get thing event snapshot failed.', 'description' => 'The system failed to query TSL event snapshots.'], ['errorCode' => 'iot.vision.ThingEventNotFound', 'errorMessage' => 'Thing event not found.', 'description' => 'The TSL event does not exist.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => ''], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Unexpected internal error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": [\\n {\\n \\"EventType\\": \\"alert\\",\\n \\"EventCode\\": \\"IntelligentAlarm\\",\\n \\"Identifier\\": \\"IntelligentAlarm\\",\\n \\"Timestamp\\": 1700010288668,\\n \\"EventBody\\": \\"{\\\\\\\\\\\\\\"EventList \\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"AlarmPicID \\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"EventTime \\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1700010288542 \\\\\\\\\\\\\\",\\\\\\\\\\\\\\"AlarmType \\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"AlarmPicSize \\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"Data \\\\\\\\\\\\\\":\\\\\\\\\\\\\\"test \\\\\\\\\\\\\\"}]}\\",\\n \\"IotId\\": \\"C47T6xwp6ms4bNlkHRWCg4****\\"\\n }\\n ]\\n}","type":"json"}]', 'title' => 'Query thing model event snapshot', 'description' => '## QPS limit'."\n" ."\n" .'The maximum number of queries per second (QPS) per Alibaba Cloud account is 50.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the request parameters described in this topic, you must also specify common parameters when you call this operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingEventSnapshot'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetThingEventSnapshot', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'summary' => '', ], 'GetThingPropertySnapshot' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the video device belongs.'."\n" ."\n" .'>If you specify this parameter, you must also specify **DeviceName**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the video device.'."\n" ."\n" .'>If you specify this parameter, you must also specify **ProductKey**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the video device.'."\n" .'>'."\n" .'**IotId** is a globally unique identifier of a device and corresponds to a combination of **ProductKey** and **DeviceName** on a one-to-one basis. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], 'Data' => ['description' => 'The property data returned if the call is successful.', 'type' => 'string', 'example' => '{\\"StreamVideoQuality\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"MotionDetectSensitivity\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"ImageFlipState\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"SubStreamVideoQuality\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"AlarmSwitch\\":{\\"time\\":1699951400324,\\"value\\":\\"0\\"},\\"AlarmFrequencyLevel\\":{\\"time\\":1700009930921,\\"value\\":\\"10\\"}}', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Request parameter error.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call is successful.'."\n" ."\n" .'- **true**: The call is successful.'."\n" .'- **false**: The call fails.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => 'Invalid iot instance.'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], ['errorCode' => 'iot.vision.ThingModelNotExist', 'errorMessage' => 'Thing model not exist.', 'description' => 'Thing model not exist.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => 'Instance arrearage.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => ''], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"Data\\": \\"{\\\\\\\\\\\\\\"StreamVideoQuality\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"MotionDetectSensitivity\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"ImageFlipState\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"SubStreamVideoQuality\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"AlarmSwitch\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1699951400324,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"0\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"AlarmFrequencyLevel\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"time\\\\\\\\\\\\\\":1700009930921,\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"10\\\\\\\\\\\\\\"}}\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'GetThingPropertySnapshot', 'summary' => 'Queries the snapshots of all Thing Specification Language (TSL) properties of a specified device and returns the latest property data.', 'description' => '## Rate limit'."\n" ."\n" .'The maximum number of queries per second (QPS) per Alibaba Cloud account is 50.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the operation-specific request parameters described in this topic, you must also specify common request parameters when you call this operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingPropertySnapshot'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetThingPropertySnapshot', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'InvokeThingService' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'Identifier', 'in' => 'query', 'schema' => ['description' => 'The service identifier in the Thing Specification Language (TSL) model.', 'type' => 'string', 'required' => true, 'example' => 'SetNum', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the video device belongs.'."\n" ."\n" .'>If you specify this parameter, you must also specify **DeviceName**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the video device.'."\n" ."\n" .'>If you specify this parameter, you must also specify **ProductKey**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ 'name' => 'Args', 'in' => 'query', 'schema' => ['description' => 'The input parameters of the service to invoke. The value is a JSON string, such as **Args={"param1":1}**.', 'type' => 'string', 'required' => false, 'example' => '{"param1":1}', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the video device.'."\n" .'>'."\n" .'**IotId** is a globally unique identifier of a device and corresponds to a combination of **ProductKey** and **DeviceName** on a one-to-one basis. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Request parameter error.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.', 'type' => 'object', 'properties' => [ 'Data' => ['description' => 'The result of the service invocation, in JSON string format.', 'type' => 'string', 'example' => '{"param1":1}', 'title' => ''], 'MessageId' => ['description' => 'The ID of the message sent from the cloud to the device for the service invocation.', 'type' => 'string', 'example' => 'abcabcabc1234****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => 'Invalid iot instance.'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], ['errorCode' => 'iot.vision.ThingModelNotExist', 'errorMessage' => 'Thing model not exist.', 'description' => 'Thing model not exist.'], ['errorCode' => 'iot.vision.ThingModelIdentifierNotExist', 'errorMessage' => 'Thing model identifier not exist.', 'description' => 'Thing model identifier not exist.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => 'Instance arrearage.'], ['errorCode' => 'iot.vision.ServiceParamNotExist', 'errorMessage' => 'Invoke service failed as service param not exist.', 'description' => 'The parameter of the TSL service does not exist.'], ['errorCode' => 'iot.vision.ServiceNotFound', 'errorMessage' => 'Invoke service failed as service not found.', 'description' => 'The TSL service does not exist.'], ['errorCode' => 'iot.vision.DeviceInactive', 'errorMessage' => 'Device inactive.', 'description' => 'The device is inactive.'], ['errorCode' => 'iot.vision.DevcieOffline', 'errorMessage' => 'Device offline.', 'description' => 'The device is offline.'], ['errorCode' => 'iot.vision.ServiceEnumSpecError', 'errorMessage' => 'Service enum spec error.', 'description' => 'The enumeration parameter of the TSL service is invalid.'], ['errorCode' => 'iot.vision.ServiceResponseTimeout', 'errorMessage' => 'Invoke service response timeout.', 'description' => 'The device response timed out.'], ['errorCode' => 'iot.vision.InvokeServiceFailed', 'errorMessage' => 'Invoke service failed:%s', 'description' => 'The system failed to call the TSL service.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => ''], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Data\\": \\"{\\\\\\"param1\\\\\\":1}\\",\\n \\"MessageId\\": \\"abcabcabc1234****\\"\\n }\\n}","type":"json"}]', 'title' => 'InvokeThingService', 'summary' => 'Invokes a specified service on a single device.', 'description' => '## QPS limit'."\n" ."\n" .'The maximum number of queries per second (QPS) per Alibaba Cloud account is 200.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of that account.', 'requestParamsDescription' => 'In addition to the request parameters described in this topic, you must also specify common parameters when calling this API operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InvokeThingService'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:InvokeThingService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListBindingAccountByDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of records to display on each page. Maximum value: 50.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '50', 'minimum' => '1', 'example' => '5', 'title' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the video device belongs.'."\n" ."\n" .'>If you specify this parameter, you must also specify **DeviceName**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the video device.'."\n" ."\n" .'>If you specify this parameter, you must also specify **ProductKey**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the video device.'."\n" .'>'."\n" .'**IotId** is a globally unique identifier of a device and corresponds to a combination of **ProductKey** and **DeviceName** on a one-to-one basis. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['description' => 'The page number to display in the returned results. Maximum value: 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'Owned', 'in' => 'query', 'schema' => ['description' => 'The binding type between the user and the device.'."\n" ."\n" .'- **0**: shared user.'."\n" .'- **1**: administrator user.'."\n" .'- If this parameter is not specified, all users are queried.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1', 'minimum' => '0', 'example' => '0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Unexpected internal error.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.', 'type' => 'object', 'properties' => [ 'PageNo' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of records displayed on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of records.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'AccountList' => [ 'description' => 'The list of user information.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'IdentityAlias' => ['description' => 'The display name of the user.', 'type' => 'string', 'example' => '18*******20', 'title' => ''], 'IdentityId' => ['description' => 'The identity ID of the user.', 'type' => 'string', 'example' => '5035op97******************a63994', 'title' => ''], 'BindTime' => ['description' => 'The time when the device was bound to the user. The value is a 13-digit timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '2222220000000', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => 'The tenant of the API operation caller is different from the tenant to which the account belongs.'], ['errorCode' => 'iot.vision.QueryBindingAccountFailed', 'errorMessage' => 'Query binding account failed.', 'description' => 'The system failed to query associated users.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Unexpected internal error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 1,\\n \\"Total\\": 1,\\n \\"AccountList\\": [\\n {\\n \\"IdentityAlias\\": \\"18*******20\\",\\n \\"IdentityId\\": \\"5035op97******************a63994\\",\\n \\"BindTime\\": 2222220000000\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'ListBindingAccountByDevice', 'summary' => 'Queries the list of users bound to a specified device.', 'description' => '## Rate limit'."\n" ."\n" .'You can invoke this operation up to 50 times per second (QPS) for each Alibaba Cloud account.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the operation-specific request parameters described in this topic, you must also specify common request parameters when you call this operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBindingAccountByDevice'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:ListBindingAccountByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListBindingDeviceByAccount' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'OpenId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'OpenIdAppKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '50', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IdentityId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'SubDevice', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'PageNo' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'PageSize' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Total' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], 'PageCount' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'DeviceList' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ProductKey' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Owned' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'NodeType' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'BindTime' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''], 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.QueryBindingDeviceFailed', 'errorMessage' => 'Query binding device failed.', 'description' => 'The system failed to query the associated device list.'], ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => 'The system failed to query information about the account.'], ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => 'The account does not exist.'], ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => 'The tenant of the API operation caller is different from the tenant to which the account belongs.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBindingDeviceByAccount'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:ListBindingDeviceByAccount', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"PageNo\\": 0,\\n \\"PageSize\\": 0,\\n \\"Total\\": 0,\\n \\"PageCount\\": 0,\\n \\"DeviceList\\": [\\n {\\n \\"ProductKey\\": \\"\\",\\n \\"Owned\\": 0,\\n \\"DeviceName\\": \\"\\",\\n \\"NodeType\\": \\"\\",\\n \\"BindTime\\": 0,\\n \\"IotId\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'QueryBatchStatus' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'BatchId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProjectId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'Status' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'InvalidDetailList' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMsg' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], 'InvalidList' => [ 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'description' => '', 'title' => '', 'example' => '', ], 'ValidList' => [ 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryBatchStatus'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryBatchStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": \\"\\",\\n \\"InvalidDetailList\\": [\\n {\\n \\"DeviceName\\": \\"\\",\\n \\"ErrorMsg\\": \\"\\"\\n }\\n ],\\n \\"InvalidList\\": [\\n \\"\\"\\n ],\\n \\"ValidList\\": [\\n \\"\\"\\n ]\\n }\\n}","type":"json"}]', ], 'QueryDeviceDetail' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the video device belongs.'."\n" ."\n" .'>If you specify this parameter, you must also specify **DeviceName**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the video device.'."\n" ."\n" .'>If you specify this parameter, you must also specify **ProductKey**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the video device.'."\n" .'>'."\n" .'**IotId** is a globally unique identifier of a device and corresponds to a combination of **ProductKey** and **DeviceName** on a one-to-one basis. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], [ 'name' => 'ProjectId', 'in' => 'query', 'schema' => ['description' => 'The project ID.', 'type' => 'string', 'required' => true, 'example' => 'a123qs*****sy4QU', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Request parameter error.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned if the call is successful.', 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The device status. Valid values:'."\n" ."\n" .'- **ONLINE**: The device is online.'."\n" .'- **OFFLINE**: The device is offline.'."\n" .'- **UNACTIVE**: The device is not activated.'."\n" .'- **DISABLE**: The device is disabled.', 'type' => 'string', 'example' => 'ONLINE', 'title' => ''], 'ProductName' => ['description' => 'The name of the product to which the device belongs.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'DeviceName' => ['description' => 'The device name.', 'type' => 'string', 'example' => 'Device01', 'title' => ''], 'CreateTime' => ['description' => 'The time when the device was created. The value is a 13-digit timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1834500000000', 'title' => ''], 'FirmwareVersion' => ['description' => 'The version number of the default OTA module of the device.', 'type' => 'string', 'example' => 'V1.0.0.0', 'title' => ''], 'OnlineTime' => ['description' => 'The last online time of the device. The value is a 13-digit UNIX timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '2298700000000', 'title' => ''], 'ActiveTime' => ['description' => 'The time when the device was activated. The value is a 13-digit timestamp in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1934500000000', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.', 'type' => 'string', 'example' => 'a1Bw******', 'title' => ''], 'IpAddress' => ['description' => 'The IP address of the device.', 'type' => 'string', 'example' => '10.***.***.***', 'title' => ''], 'NodeType' => ['description' => 'The node type. Valid values:'."\n" ."\n" .'- **0**: device. A device cannot mount child devices.'."\n" .'- **1**: gateway. A gateway can mount child devices.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Region' => ['description' => 'The ID of the region where the device resides.', 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], 'DeviceSecret' => ['description' => 'The device secret.', 'type' => 'string', 'example' => 'mz2Canp4GB7qRVf1OYPNtRqB2anu****', 'title' => ''], 'Nickname' => ['description' => 'The alias of the device.', 'type' => 'string', 'example' => 'detectors_in_beijing', 'title' => ''], 'IotId' => ['description' => 'The device ID.', 'type' => 'string', 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => 'Invalid iot instance.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], ['errorCode' => 'iot.vision.DeviceNameFormatInvalid', 'errorMessage' => 'Device name format invalid.', 'description' => 'Device name format invalid.'], ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => 'Instance arrearage.'], ['errorCode' => 'iot.vision.ProductKeyFormatInvalid', 'errorMessage' => 'Product key format invalid.', 'description' => 'Product key format invalid.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => ''], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Status\\": \\"ONLINE\\",\\n \\"ProductName\\": \\"test\\",\\n \\"DeviceName\\": \\"Device01\\",\\n \\"CreateTime\\": 1834500000000,\\n \\"FirmwareVersion\\": \\"V1.0.0.0\\",\\n \\"OnlineTime\\": 2298700000000,\\n \\"ActiveTime\\": 1934500000000,\\n \\"ProductKey\\": \\"a1Bw******\\",\\n \\"IpAddress\\": \\"10.***.***.***\\",\\n \\"NodeType\\": 0,\\n \\"Region\\": \\"cn-shanghai\\",\\n \\"DeviceSecret\\": \\"mz2Canp4GB7qRVf1OYPNtRqB2anu****\\",\\n \\"Nickname\\": \\"detectors_in_beijing\\",\\n \\"IotId\\": \\"C47T6xwp6ms4bNlkHRWCg4****\\"\\n }\\n}","type":"json"}]', 'title' => 'QueryDeviceDetail', 'summary' => 'Queries the details of a specified device.', 'description' => '## Rate limit'."\n" ."\n" .'You can invoke this operation up to 50 times per second (QPS) per Alibaba Cloud account.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the operation-specific request parameters described in this topic, you must also specify common request parameters when you call this operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceDetail'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryDeviceDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDevicesDownloadUrl' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'BatchId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'OssDownloadUrl' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.system.SystemException', 'errorMessage' => 'An internal error occurred. Try again later.', 'description' => ''], ['errorCode' => 'iot.common.AuthActionPermissionDeny', 'errorMessage' => 'The authorization fails.', 'description' => 'The authorization fails.'], ], 403 => [ ['errorCode' => 'iot.lv.requestAuthError', 'errorMessage' => 'Request auth error.', 'description' => 'The verification failed.'], ['errorCode' => 'iot.lv.requestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'The request parameter is invalid.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDevicesDownloadUrl'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryDevicesDownloadUrl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"OssDownloadUrl\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'QueryFreeStorage' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Type' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Months' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Expired' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'RemainQuota' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Consumed' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Lifecycle' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], ['errorCode' => 'iot.vision.FreeStorageQuotaLimit', 'errorMessage' => 'No enough free storage quota or exceed limit.', 'description' => 'No enough free storage quota or exceed limit.'], ['errorCode' => 'iot.vision.GetDeviceInfoFailed', 'errorMessage' => 'Get device info failed.', 'description' => 'The system failed to query the details of the device.'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryFreeStorage'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"EndTime\\": \\"\\",\\n \\"Type\\": 0,\\n \\"StartTime\\": \\"\\",\\n \\"EndTimeUTC\\": \\"\\",\\n \\"Months\\": 0,\\n \\"Expired\\": 0,\\n \\"RemainQuota\\": 0,\\n \\"StartTimeUTC\\": \\"\\",\\n \\"Consumed\\": 0,\\n \\"Lifecycle\\": 0\\n }\\n}","type":"json"}]', ], 'QueryGenerateDevicesInfoList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '50', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'BatchId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '1000', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProjectId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'PageNo' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'PageSize' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Total' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'ListData' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'DeviceSecret' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.common.RamActionPermissionDeny', 'errorMessage' => 'You do not have the RAM permission.', 'description' => 'The RAM user does not have permissions to access the resource.'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGenerateDevicesInfoList'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryGenerateDevicesInfoList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"PageNo\\": 0,\\n \\"PageSize\\": 0,\\n \\"Total\\": 0,\\n \\"ListData\\": [\\n {\\n \\"DeviceName\\": \\"\\",\\n \\"IotId\\": \\"\\",\\n \\"DeviceSecret\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'QueryGenerateDevicesRecord' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'PageSize', 'in' => 'formData', 'schema' => ['description' => 'The number of records per page. Maximum value: 100.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageNo', 'in' => 'formData', 'schema' => ['description' => 'The page number to return. Maximum value: 1000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '1000', 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'formData', 'schema' => ['description' => 'The start time in millisecond-level UNIX timestamp.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999999999', 'minimum' => '1', 'example' => '1690819200000', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'formData', 'schema' => ['description' => 'The end time in millisecond-level UNIX timestamp.'."\n" ."\n" .'> The interval between the start time and end time cannot exceed 30 days.'."\n" .'>.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '9999999999999', 'minimum' => '1', 'example' => '1659283200000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The result code of the call:'."\n" .'- A value of 200 indicates success.'."\n" .'- Any other value indicates failure. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Request parameter error.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E5******-4***-***B-8**E-D3********65', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The result returned if the call was successful.', 'type' => 'object', 'properties' => [ 'PageNo' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of records per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Total' => ['description' => 'The total number of records.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'ListData' => [ 'description' => 'The details of the device registration records.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ApplyDeviceCount' => ['description' => 'The number of devices applied for.', 'type' => 'integer', 'format' => 'int64', 'example' => '133', 'title' => ''], 'SpecCode' => ['description' => 'The activation code specification. Valid values:'."\n" ."\n" .'- **Consumer_IPC_512Kbps**: consumer IPC 512 Kbps.'."\n" .'- **Consumer_IPC_1Mbps**: consumer IPC 1 Mbps.'."\n" .'- **Consumer_IPC_2Mbps**: consumer IPC 2 Mbps.'."\n" .'- **Consumer_IPC_4Mbps**: consumer IPC 4 Mbps.'."\n" .'- **Industry_IPC**: industry IPC.'."\n" .'- **NVR_Less64**: network video recorder with 64 or fewer channels.'."\n" .'- **NVR_Higher64**: network video recorder with more than 64 channels.', 'type' => 'string', 'example' => 'Consumer_IPC_512Kbps', 'title' => ''], 'ProductKey' => ['description' => 'The **ProductKey** of the product to which the device belongs.', 'type' => 'string', 'example' => 'a3w******', 'title' => ''], 'ProductName' => ['description' => 'The name of the product to which the device belongs.', 'type' => 'string', 'example' => '电饭煲', 'title' => ''], 'CreateTime' => ['description' => 'The time when the batch registration task was submitted, in millisecond-level UNIX timestamp.', 'type' => 'integer', 'format' => 'int64', 'example' => '1690819200000', 'title' => ''], 'BatchStatus' => ['description' => 'The batch status of the batch registration. Valid values:'."\n" ."\n" .'- **CREATE**: Devices are being created.'."\n" .'- **CREATE_SUCCESS**: All devices in the application were created.'."\n" .'- **CREATE_FAILED**: Some devices in the application failed to be created.', 'type' => 'string', 'example' => 'CREATE', 'title' => ''], 'NetworkType' => ['description' => 'The network connectivity type of the product. Valid values:'."\n" ."\n" .'- **WIFI**: Wi-Fi.'."\n" .'- **CELLULAR**: cellular (GPRS/3G/4G/5G).'."\n" .'- **ETHERNET**: Ethernet.'."\n" .'- **OTHER**: other network type.', 'type' => 'string', 'example' => 'WIFI', 'title' => ''], 'OperateUid' => ['description' => 'The UID of the account that performed the operation.', 'type' => 'integer', 'format' => 'int64', 'example' => '110000000000', 'title' => ''], 'SuccessCount' => ['description' => 'The number of devices that were successfully registered in the batch.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], 'BatchId' => ['description' => 'The batch ID of the application.', 'type' => 'string', 'example' => '1508******195', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E5******-4***-***B-8**E-D3********65\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 1,\\n \\"Total\\": 5,\\n \\"ListData\\": [\\n {\\n \\"ApplyDeviceCount\\": 133,\\n \\"SpecCode\\": \\"Consumer_IPC_512Kbps\\",\\n \\"ProductKey\\": \\"a3w******\\",\\n \\"ProductName\\": \\"电饭煲\\",\\n \\"CreateTime\\": 1690819200000,\\n \\"BatchStatus\\": \\"CREATE\\",\\n \\"NetworkType\\": \\"WIFI\\",\\n \\"OperateUid\\": 110000000000,\\n \\"SuccessCount\\": 5,\\n \\"BatchId\\": \\"1508******195\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'QueryGenerateDevicesRecord', 'summary' => 'Queries the records of batch device registration.', 'description' => '## Rate limit'."\n" ."\n" .'The maximum number of queries per second (QPS) per Alibaba Cloud account for invoking this operation is 20.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the request parameters described in this topic, you must specify common parameters when you call this operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGenerateDevicesRecord'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryGenerateDevicesRecord', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryStorageCommodityList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Months' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'CommodityName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Lifecycle' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageCommodityList'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryStorageCommodityList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": [\\n {\\n \\"Specification\\": \\"\\",\\n \\"CommodityCode\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"Price\\": \\"\\",\\n \\"Months\\": 0,\\n \\"CommodityName\\": \\"\\",\\n \\"Lifecycle\\": 0\\n }\\n ]\\n}","type":"json"}]', ], 'QueryStorageOrder' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'DeviceNoOwner', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'OrderId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Copies' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'PreConsume' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'UserId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IdentityId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OutOrderNo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OrderType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'PaymentStatus' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'UserName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OrderId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => 'Device owner changed.'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageOrder'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": 0,\\n \\"Copies\\": 0,\\n \\"Specification\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"CommodityCode\\": \\"\\",\\n \\"PreConsume\\": 0,\\n \\"EndTimeUTC\\": \\"\\",\\n \\"UserId\\": \\"\\",\\n \\"IdentityId\\": \\"\\",\\n \\"StartTimeUTC\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"OutOrderNo\\": \\"\\",\\n \\"Price\\": \\"\\",\\n \\"OrderType\\": 0,\\n \\"PaymentStatus\\": 0,\\n \\"UserName\\": \\"\\",\\n \\"OrderId\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'QueryStorageOrderList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'DeviceNoOwner', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '200', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '1000', 'minimum' => '1', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'PageNo' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'PageSize' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Total' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'PageCount' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'StorageOrderList' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Copies' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'PreConsume' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'UserId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IdentityId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OutOrderNo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OrderType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'PaymentStatus' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'UserName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OrderId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => 'Device owner changed.'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageOrderList'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryStorageOrderList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"PageNo\\": 0,\\n \\"PageSize\\": 0,\\n \\"Total\\": 0,\\n \\"PageCount\\": 0,\\n \\"StorageOrderList\\": [\\n {\\n \\"Status\\": 0,\\n \\"Copies\\": 0,\\n \\"Specification\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"CommodityCode\\": \\"\\",\\n \\"PreConsume\\": 0,\\n \\"EndTimeUTC\\": \\"\\",\\n \\"UserId\\": \\"\\",\\n \\"IdentityId\\": \\"\\",\\n \\"StartTimeUTC\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"OutOrderNo\\": \\"\\",\\n \\"Price\\": \\"\\",\\n \\"OrderType\\": 0,\\n \\"PaymentStatus\\": 0,\\n \\"UserName\\": \\"\\",\\n \\"OrderId\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'SetThingProperty' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['description' => 'The **ProductKey** of the product to which the video device belongs.'."\n" ."\n" .'>If you specify this parameter, you must also specify **DeviceName**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'a1Bw******', 'title' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['description' => 'The name of the video device.'."\n" ."\n" .'>If you specify this parameter, you must also specify **ProductKey**.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'Device01', 'title' => ''], ], [ 'name' => 'Args', 'in' => 'query', 'schema' => ['description' => 'The property information to set, in JSON format.'."\n" ."\n" .'Each property is represented as an **identifier** and **property value** (**key:value**) pair. Separate multiple properties with commas (,).', 'type' => 'string', 'required' => true, 'example' => '{"Switch":1,"Color":"blue"}', 'title' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['description' => 'The ID of the video device.'."\n" .'>'."\n" .'**IotId** is a globally unique identifier of a device and corresponds to a combination of **ProductKey** and **DeviceName** on a one-to-one basis. If you specify this parameter, you do not need to specify **ProductKey** or **DeviceName**. If you specify **IotId** together with **ProductKey** and **DeviceName**, **IotId** takes precedence.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => 'C47T6xwp6ms4bNlkHRWCg4****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The error code returned if the call fails. For more information, see **Error codes** in this topic.', 'type' => 'string', 'example' => '400', 'title' => ''], 'ErrorMessage' => ['description' => 'The error message returned if the call fails.', 'type' => 'string', 'example' => 'Request parameter error.', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier generated by Alibaba Cloud for the request.', 'type' => 'string', 'example' => 'E55***B7-4***-4***-8***-D3******F565', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.'."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.InvalidIotInstance', 'errorMessage' => 'Invalid iot instance.', 'description' => 'Invalid iot instance.'], ['errorCode' => 'iot.vision.ProductNotExist', 'errorMessage' => 'Product not exist.', 'description' => 'Product not exist.'], ['errorCode' => 'iot.vision.ThingModelNotExist', 'errorMessage' => 'Thing model not exist.', 'description' => 'Thing model not exist.'], ['errorCode' => 'iot.vision.ThingModelIdentifierNotExist', 'errorMessage' => 'Thing model identifier not exist.', 'description' => 'Thing model identifier not exist.'], ['errorCode' => 'iot.vision.DeviceNotExist', 'errorMessage' => 'Device not exist.', 'description' => 'Device not exist.'], ['errorCode' => 'iot.vision.InstanceArrearage', 'errorMessage' => 'Instance arrearage.', 'description' => 'Instance arrearage.'], ['errorCode' => 'iot.vision.SetPropertyFailed', 'errorMessage' => 'Set property failed.', 'description' => 'The system failed to configure the TSL property.'], ['errorCode' => 'iot.vision.PropertyNotFound', 'errorMessage' => 'Property not found.', 'description' => 'The TSL property does not exist.'], ['errorCode' => 'iot.vision.PropertyReadOnly', 'errorMessage' => 'Property is read only.', 'description' => 'The TSL property is read-only.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ['errorCode' => 'iot.vision.HasNoAccessPermission', 'errorMessage' => 'Has no access permission.', 'description' => ''], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"400\\",\\n \\"ErrorMessage\\": \\"Request parameter error.\\",\\n \\"RequestId\\": \\"E55***B7-4***-4***-8***-D3******F565\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'SetThingProperty', 'summary' => 'Sets property values for a specified device.', 'description' => '## QPS limit'."\n" ."\n" .'The maximum number of queries per second (QPS) per Alibaba Cloud account for this operation is 50.'."\n" ."\n" .'> All Resource Access Management (RAM) users under an Alibaba Cloud account share the quota of the account.', 'requestParamsDescription' => 'In addition to the operation-specific request parameters described in this topic, you must also specify common request parameters when you call this operation.', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetThingProperty'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:SetThingProperty', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'TransferStorageOrder' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'EventRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '30', 'minimum' => '0', 'default' => '10', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DstIotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'SupportCrossIdentityTransfer', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'SrcIotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'SrcOrderId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EventRecordProlong', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ImmediateUse', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UserName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UserId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'EnableDefaultPlan', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'PreRecordDuration', 'in' => 'query', 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5', 'minimum' => '0', 'default' => '0', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'Status' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Copies' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'Specification' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RecordType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'CommodityCode' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'PreConsume' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'EndTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'UserId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IdentityId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartTimeUTC' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'EndTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'StartTime' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OutOrderNo' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Price' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OrderType' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'PaymentStatus' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'UserName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'OrderId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.DeviceNoOwner', 'errorMessage' => 'Device has no owner.', 'description' => 'Device has no owner.'], ['errorCode' => 'iot.vision.DeviceOwnerChanged', 'errorMessage' => 'Device owner changed.', 'description' => 'Device owner changed.'], ['errorCode' => 'iot.vision.InvalidStorageOrder', 'errorMessage' => 'Invalid storage order.', 'description' => 'Invalid storage order.'], ['errorCode' => 'iot.vision.StorageOrderGetLockFailed', 'errorMessage' => 'Get storage order lock failed try again later.', 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], ['errorCode' => 'iot.vision.StorageOrderStatusInvalid', 'errorMessage' => 'Storage order status invalid.', 'description' => 'You cannot perform the operation on the cloud storage order.'], ['errorCode' => 'iot.vision.TargetDeviceOwnerDifferent', 'errorMessage' => 'Target device owner is different.', 'description' => 'The administrator of the destination device is different from the administrator of the order to be transferred.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TransferStorageOrder'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:TransferStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"Status\\": 0,\\n \\"Copies\\": 0,\\n \\"Specification\\": \\"\\",\\n \\"RecordType\\": 0,\\n \\"CommodityCode\\": \\"\\",\\n \\"PreConsume\\": 0,\\n \\"EndTimeUTC\\": \\"\\",\\n \\"UserId\\": \\"\\",\\n \\"IdentityId\\": \\"\\",\\n \\"StartTimeUTC\\": \\"\\",\\n \\"EndTime\\": \\"\\",\\n \\"StartTime\\": \\"\\",\\n \\"OutOrderNo\\": \\"\\",\\n \\"Price\\": \\"\\",\\n \\"OrderType\\": 0,\\n \\"PaymentStatus\\": 0,\\n \\"UserName\\": \\"\\",\\n \\"OrderId\\": \\"\\",\\n \\"IotId\\": \\"\\"\\n }\\n}","type":"json"}]', ], 'UnbindAllUserByDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UnbindSubDevice', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'SubDeviceUnbindResult' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'UnbindResultMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ProductKey' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'UnbindResultCode' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => 'The system failed to query information about the account.'], ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => 'The account does not exist.'], ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => 'The tenant of the API operation caller is different from the tenant to which the account belongs.'], ['errorCode' => 'iot.vision.UnbindFailed', 'errorMessage' => 'Unbind account and device failed.', 'description' => 'The system failed to disassociate the device from the account.'], ['errorCode' => 'iot.vision.BindingRelationNotFound', 'errorMessage' => 'Account and device binding relation not found.', 'description' => 'The device is not associated with the account.'], ['errorCode' => 'iot.vision.QueryBindingAccountFailed', 'errorMessage' => 'Query binding account failed.', 'description' => 'The system failed to query associated users.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindAllUserByDevice'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:UnbindAllUserByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"SubDeviceUnbindResult\\": [\\n {\\n \\"UnbindResultMessage\\": \\"\\",\\n \\"ProductKey\\": \\"\\",\\n \\"DeviceName\\": \\"\\",\\n \\"UnbindResultCode\\": 0,\\n \\"IotId\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'UnbindDevice' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'OpenId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'OpenIdAppKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'DeviceName', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IotId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'IdentityId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'UnbindSubDevice', 'in' => 'query', 'schema' => ['type' => 'boolean', 'required' => false, 'default' => 'true', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'SubDeviceUnbindResult' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'UnbindResultMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ProductKey' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'UnbindResultCode' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], 'IotId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.RequestFailed', 'errorMessage' => 'Request failed.', 'description' => 'Request failed.'], ['errorCode' => 'iot.vision.GetAccountInfoFailed', 'errorMessage' => 'Get account info failed.', 'description' => 'The system failed to query information about the account.'], ['errorCode' => 'iot.vision.AccountNotFound', 'errorMessage' => 'Account not found.', 'description' => 'The account does not exist.'], ['errorCode' => 'iot.vision.TenantMismatch', 'errorMessage' => 'Caller tenant and account belong tenant mismatch.', 'description' => 'The tenant of the API operation caller is different from the tenant to which the account belongs.'], ['errorCode' => 'iot.vision.BindingRelationNotFound', 'errorMessage' => 'Account and device binding relation not found.', 'description' => 'The device is not associated with the account.'], ['errorCode' => 'iot.vision.UnbindFailed', 'errorMessage' => 'Unbind account and device failed.', 'description' => 'The system failed to disassociate the device from the account.'], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindDevice'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:UnbindDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"SubDeviceUnbindResult\\": [\\n {\\n \\"UnbindResultMessage\\": \\"\\",\\n \\"ProductKey\\": \\"\\",\\n \\"DeviceName\\": \\"\\",\\n \\"UnbindResultCode\\": 0,\\n \\"IotId\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'UploadDeviceNameList' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => [], 'parameters' => [ [ 'name' => 'DeviceNames', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'required' => true, 'maxItems' => 10000, 'description' => '', 'title' => '', 'example' => '', ], ], [ 'name' => 'ProductKey', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], [ 'name' => 'ProjectId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMessage' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'RequestId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Success' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'BatchId' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'InvalidDetailList' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DeviceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'ErrorMsg' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => '', 'title' => '', 'example' => '', ], 'RepeatedDeviceNameList' => [ 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'description' => '', 'title' => '', 'example' => '', ], 'InvalidDeviceNameList' => [ 'type' => 'array', 'items' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'iot.vision.RequestParamError', 'errorMessage' => 'Request parameter error.', 'description' => 'Request parameter error.'], ['errorCode' => 'iot.vision.UnexpectedInternalError', 'errorMessage' => 'Unexpected internal error.', 'description' => 'Unexpected internal error.'], ['errorCode' => 'iot.vision.ActiveCodeInsufficient', 'errorMessage' => 'Active code quota is insufficient.', 'description' => ''], ['errorCode' => 'iot.vision.DevicesCountExceedLimit', 'errorMessage' => 'The devices count exceed the limit.', 'description' => 'The devices count exceed the limit.'], ['errorCode' => 'iot.vision.DevicesExceedUnreleasedProductLimit', 'errorMessage' => 'Devices count exceed the limit of unreleased product.', 'description' => ''], ], 403 => [ ['errorCode' => 'iot.vision.RequestAuthFailed', 'errorMessage' => 'Request auth failed.', 'description' => 'Request auth failed.'], ['errorCode' => 'iot.vision.RequestForbidden', 'errorMessage' => 'Request forbidden.', 'description' => 'Request forbidden.'], ], 429 => [ ['errorCode' => 'iot.vision.RequestTrafficControl', 'errorMessage' => 'Request traffic control.', 'description' => 'Request traffic control.'], ], ], 'title' => '', 'summary' => '', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UploadDeviceNameList'], ], ], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:UploadDeviceNameList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"\\",\\n \\"ErrorMessage\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": false,\\n \\"Data\\": {\\n \\"BatchId\\": \\"\\",\\n \\"InvalidDetailList\\": [\\n {\\n \\"DeviceName\\": \\"\\",\\n \\"ErrorMsg\\": \\"\\"\\n }\\n ],\\n \\"RepeatedDeviceNameList\\": [\\n \\"\\"\\n ],\\n \\"InvalidDeviceNameList\\": [\\n \\"\\"\\n ]\\n }\\n}","type":"json"}]', ], ], 'endpoints' => [ ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.ap-northeast-1.aliyuncs.com', 'endpoint' => 'linkvisual.ap-northeast-1.aliyuncs.com', 'vpc' => 'linkvisual-vpc.ap-northeast-1.aliyuncs.com'], ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.cn-hangzhou.aliyuncs.com', 'endpoint' => 'linkvisual.cn-hangzhou.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.cn-shanghai.aliyuncs.com', 'endpoint' => 'linkvisual.cn-shanghai.aliyuncs.com', 'vpc' => 'linkvisual-vpc.cn-shanghai.aliyuncs.com'], ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'linkvisual.aliyuncs.com', 'endpoint' => 'linkvisual.aliyuncs.com', 'vpc' => ''], ], 'errorCodes' => [ ['code' => '403', 'message' => 'tenant auth error', 'http_code' => 200, 'description' => 'The request was denied due to a failure in device or user authentication.'], ['code' => '403', 'message' => 'request forbidden.', 'http_code' => 200, 'description' => 'The request was forbidden due to a failure in parameter authentication.'], ['code' => '460', 'message' => 'picture type error.', 'http_code' => 200, 'description' => 'The specified image type is invalid.'], ['code' => '460', 'message' => 'RAM system auth error.', 'http_code' => 200, 'description' => 'Failed to perform RAM authentication.'], ['code' => '460', 'message' => 'beginTime can not bigger or equal endTime.', 'http_code' => 200, 'description' => 'The specified beginTime must not be later than the endTime.'], ['code' => '460', 'message' => 'beginTime or endTime can not be null.', 'http_code' => 200, 'description' => 'Both beginTime and endTime must be specified.'], ['code' => '460', 'message' => 'product is not active.', 'http_code' => 200, 'description' => 'The device has not activated the video service.'], ['code' => '466', 'message' => 'request too frequently.', 'http_code' => 200, 'description' => 'The request was sent too frequently.'], ['code' => '466', 'message' => 'alarm picture exist.', 'http_code' => 200, 'description' => 'The specified alert image was existed, couldn\'t upload again.'], ['code' => '466', 'message' => 'device offline.', 'http_code' => 200, 'description' => 'The specified device is offline.'], ['code' => '466', 'message' => 'deviceList lifecycle not exist.', 'http_code' => 200, 'description' => 'The device list life cycle does not exist.'], ['code' => '466', 'message' => 'triggerPicture failed.', 'http_code' => 200, 'description' => 'The device failed to capture an image.'], ['code' => '466', 'message' => 'push stream fail.', 'http_code' => 200, 'description' => 'Stream ingest failed.'], ['code' => '466', 'message' => 'device status is disable.', 'http_code' => 200, 'description' => 'The IoT channel of the device is disabled.'], ['code' => '466', 'message' => 'device status is initial.', 'http_code' => 200, 'description' => 'The IoT channel for the device has not been activated. It is activated when the device is brought online.'], ['code' => '466', 'message' => 'device status is offline.', 'http_code' => 200, 'description' => 'The device is offline.'], ['code' => 'Forbidden.RiskControl', 'message' => 'Your account is at risk. Contact customer support for more details.', 'http_code' => 400, 'description' => ''], ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 500, 'description' => 'An unknown error occurred on the server.'], ['code' => 'iot.common.AuthActionPermissionDeny', 'message' => 'The authorization fails.', 'http_code' => 400, 'description' => 'The authorization fails.'], ['code' => 'iot.common.RamActionPermissionDeny', 'message' => 'You do not have the RAM permission.', 'http_code' => 400, 'description' => 'The RAM user does not have permissions to access the resource.'], ['code' => 'iot.lv.requestAuthError', 'message' => 'Request auth error.', 'http_code' => 403, 'description' => 'The verification failed.'], ['code' => 'iot.lv.requestError', 'message' => 'Post-paid change limit.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.lv.requestError', 'message' => 'Request error.', 'http_code' => 400, 'description' => 'Request error.'], ['code' => 'iot.lv.requestError', 'message' => 'Request error', 'http_code' => 400, 'description' => 'Request error'], ['code' => 'iot.lv.requestParamError', 'message' => 'Request parameter error.', 'http_code' => 403, 'description' => 'The request parameter is invalid.'], ['code' => 'iot.lv.requestTimeError', 'message' => 'Request time error.', 'http_code' => 403, 'description' => ''], ['code' => 'iot.system.InstanceNotFound', 'message' => 'The instance ID does not exist.', 'http_code' => 400, 'description' => 'The instance ID does not exist.'], ['code' => 'iot.system.UidNotFound', 'message' => 'The Alibaba Cloud account does not exist or the IoT Platform service is not activated.', 'http_code' => 400, 'description' => 'The Alibaba Cloud account does not exist or the IoT Platform service is not activated.'], ['code' => 'iot.vision.AccountAlreadyExist', 'message' => 'Account already exist.', 'http_code' => 400, 'description' => 'The account already exists.'], ['code' => 'iot.vision.AccountNotFound', 'message' => 'Account not found.', 'http_code' => 400, 'description' => 'The account does not exist.'], ['code' => 'iot.vision.AccountRegistryAddFailed', 'message' => 'Add account registry failed.', 'http_code' => 400, 'description' => 'Failed to add account registration information.'], ['code' => 'iot.vision.AccountRegistryLockFailed', 'message' => 'Get account registry lock failed.', 'http_code' => 400, 'description' => 'Failed to obtain a distributed lock during account registration.'], ['code' => 'iot.vision.AccountRegistryRemoveFailed', 'message' => 'Remove account registry failed.', 'http_code' => 400, 'description' => 'Failed to delete account registration information.'], ['code' => 'iot.vision.ActiveCodeInsufficient', 'message' => 'Active code quota is insufficient.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.vision.AppNameExist', 'message' => 'AppName exist.', 'http_code' => 400, 'description' => 'The name that you specified for the application already exists.'], ['code' => 'iot.vision.BatchHasCreated', 'message' => 'This batch task has been created.', 'http_code' => 400, 'description' => 'This batch task has been created.'], ['code' => 'iot.vision.BatchUpgradeDeviceFailed', 'message' => 'Batch upgrade device failed:%s', 'http_code' => 400, 'description' => 'The system failed to batch update the devices.'], ['code' => 'iot.vision.BindFailed', 'message' => 'Bind account and device failed.', 'http_code' => 400, 'description' => 'The system failed to associate the account with the device.'], ['code' => 'iot.vision.BindingRelationNotFound', 'message' => 'Account and device binding relation not found.', 'http_code' => 400, 'description' => 'The device is not associated with the account.'], ['code' => 'iot.vision.CancelOTATaskFailed', 'message' => 'Cancel ota task failed:%s', 'http_code' => 400, 'description' => 'The upgrade task failed to be canceled.'], ['code' => 'iot.vision.CancelUpgradeTaskFailed', 'message' => 'Cancel upgrade task failed:%s', 'http_code' => 400, 'description' => 'The system failed to cancel the device update.'], ['code' => 'iot.vision.CheckDeviceFileFailed', 'message' => 'Check device file failed:%s', 'http_code' => 400, 'description' => 'The system failed to verify the device list file.'], ['code' => 'iot.vision.CheckDeviceFileRequestFailed', 'message' => 'Check device file request failed:%s', 'http_code' => 400, 'description' => 'The request to verify the device list file failed.'], ['code' => 'iot.vision.ConcurrencyExceedLimit', 'message' => 'Concurrency exceed the limit.', 'http_code' => 400, 'description' => 'The number of concurrent threads exceeds the limit.'], ['code' => 'iot.vision.CreateDeviceFailed', 'message' => 'create device failed.', 'http_code' => 400, 'description' => 'create device failed.'], ['code' => 'iot.vision.CreateFirmwareFailed', 'message' => 'Create firmware failed:%s', 'http_code' => 400, 'description' => 'The system failed to create the update package.'], ['code' => 'iot.vision.CreateFirmwareModuleFailed', 'message' => 'Create firmware module failed:%s', 'http_code' => 400, 'description' => 'The system failed to create the update package module.'], ['code' => 'iot.vision.CreateProductFailed', 'message' => 'Create product failed.', 'http_code' => 400, 'description' => 'Create product failed.'], ['code' => 'iot.vision.CreateProductNotAllow', 'message' => 'Create product not allow.', 'http_code' => 400, 'description' => 'Create product not allow.'], ['code' => 'iot.vision.CreateProjectFailed', 'message' => 'Create project failed.', 'http_code' => 400, 'description' => 'Create project failed.'], ['code' => 'iot.vision.CreateStorageOrderFailed', 'message' => 'Create storage order failed.', 'http_code' => 400, 'description' => 'Create storage order failed.'], ['code' => 'iot.vision.CreateSubscribeRelationFailed', 'message' => 'Create subscribe relation failed:%s', 'http_code' => 400, 'description' => 'The system failed to create the subscription.'], ['code' => 'iot.vision.DeleteDeviceFailed', 'message' => 'delete device failed.', 'http_code' => 400, 'description' => 'delete device failed.'], ['code' => 'iot.vision.DeleteFirmwareFailed', 'message' => 'Delete firmware failed:%s', 'http_code' => 400, 'description' => 'The system failed to delete the update package.'], ['code' => 'iot.vision.DeleteFirmwareModuleFailed', 'message' => 'Delete firmware module failed:%s', 'http_code' => 400, 'description' => 'The system failed to delete the update package module.'], ['code' => 'iot.vision.DeleteProductFailed', 'message' => 'Delete product failed.', 'http_code' => 400, 'description' => 'Delete product failed.'], ['code' => 'iot.vision.DeleteProjectFailed', 'message' => 'Delete project failed.', 'http_code' => 400, 'description' => 'Delete project failed.'], ['code' => 'iot.vision.DeleteSubscribeRelationFailed', 'message' => 'Delete subscribe relation failed:%s', 'http_code' => 400, 'description' => 'The system failed to delete the subscription.'], ['code' => 'iot.vision.DevcieOffline', 'message' => 'Device offline.', 'http_code' => 400, 'description' => 'The device is offline.'], ['code' => 'iot.vision.DeviceInactive', 'message' => 'Device inactive.', 'http_code' => 400, 'description' => 'The device is inactive.'], ['code' => 'iot.vision.DeviceNameCheckFailed', 'message' => 'Device names check failed.', 'http_code' => 400, 'description' => 'Device names check failed.'], ['code' => 'iot.vision.DeviceNameChecking', 'message' => 'Device names are checking.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.vision.DeviceNameDuplicate', 'message' => 'Device name duplicate.', 'http_code' => 400, 'description' => 'The DeviceName already exists.'], ['code' => 'iot.vision.DeviceNameFormatInvalid', 'message' => 'Device name format invalid.', 'http_code' => 400, 'description' => 'Device name format invalid.'], ['code' => 'iot.vision.DeviceNicknameInvalid', 'message' => 'Device nickname invalid.', 'http_code' => 400, 'description' => 'Device nickname invalid.'], ['code' => 'iot.vision.DeviceNoOwner', 'message' => 'Device has no owner.', 'http_code' => 400, 'description' => 'Device has no owner.'], ['code' => 'iot.vision.DeviceNotExist', 'message' => 'Device not exist.', 'http_code' => 400, 'description' => 'Device not exist.'], ['code' => 'iot.vision.DeviceNotStreaming', 'message' => 'Device is not streaming.', 'http_code' => 400, 'description' => 'The device does not ingest streams.'], ['code' => 'iot.vision.DeviceNumLimit', 'message' => 'device num exceed limit.', 'http_code' => 400, 'description' => 'device num exceed limit.'], ['code' => 'iot.vision.DeviceOffline', 'message' => 'Device is offline.', 'http_code' => 400, 'description' => 'The device is offline.'], ['code' => 'iot.vision.DeviceOwnerChanged', 'message' => 'Device owner changed.', 'http_code' => 400, 'description' => 'Device owner changed.'], ['code' => 'iot.vision.DevicePropertyFormatInvalid', 'message' => 'Device property format invalid.', 'http_code' => 400, 'description' => 'Device property format invalid.'], ['code' => 'iot.vision.DevicesCountExceedLimit', 'message' => 'The devices count exceed the limit.', 'http_code' => 400, 'description' => 'The devices count exceed the limit.'], ['code' => 'iot.vision.DevicesExceedUnreleasedProductLimit', 'message' => 'Devices count exceed the limit of unreleased product.', 'http_code' => 400, 'description' => ''], ['code' => 'iot.vision.DownloadJobError', 'message' => 'Download job error.', 'http_code' => 400, 'description' => 'An exception occurred on the download task.'], ['code' => 'iot.vision.FirmwareNotFound', 'message' => 'The specified firmware does not exist.', 'http_code' => 400, 'description' => 'No update package of the version exists.'], ['code' => 'iot.vision.FirmwareNotVerified', 'message' => 'Firmware validation not completed.', 'http_code' => 400, 'description' => 'The update package is verified.'], ['code' => 'iot.vision.FirmwareSourceVersionMismatch', 'message' => 'Current firmware version of device does not match source version of firmware.', 'http_code' => 400, 'description' => 'The current version number of the device does not match the original version number of the update package.'], ['code' => 'iot.vision.FirmwareVerifyFailed', 'message' => 'Firmware verify failed.', 'http_code' => 400, 'description' => 'The system failed to verify the update package.'], ['code' => 'iot.vision.FirmwareVersionMismatch', 'message' => 'The version of firmware mismatch.', 'http_code' => 400, 'description' => 'The version number of the update package does not match the specified version number.'], ['code' => 'iot.vision.FreeStorageLimit', 'message' => 'Free storage quota exceed limit.', 'http_code' => 400, 'description' => 'Free storage quota exceed limit.'], ['code' => 'iot.vision.FreeStorageQuotaLimit', 'message' => 'No enough free storage quota or exceed limit.', 'http_code' => 400, 'description' => 'No enough free storage quota or exceed limit.'], ['code' => 'iot.vision.GbIdDuplicate', 'message' => 'The GB28181 deviceId is duplicated.', 'http_code' => 400, 'description' => 'The standard ID already exists.'], ['code' => 'iot.vision.GbServiceNotEnabled', 'message' => 'The GB28181 service has not been enabled.', 'http_code' => 400, 'description' => 'The standard service is not started.'], ['code' => 'iot.vision.GenerateDeviceNameListUrlFailed', 'message' => 'Generate device name list url failed:%s', 'http_code' => 400, 'description' => 'The system failed to generate a device list upload URL.'], ['code' => 'iot.vision.GenerateFirmwareUploadUrlFailed', 'message' => 'Generate firmware upload url failed:%s', 'http_code' => 400, 'description' => 'The system failed to generate a firmware upload URL.'], ['code' => 'iot.vision.GetAccountInfoFailed', 'message' => 'Get account info failed.', 'http_code' => 400, 'description' => 'The system failed to query information about the account.'], ['code' => 'iot.vision.GetDeviceInfoFailed', 'message' => 'Get device info failed.', 'http_code' => 400, 'description' => 'The system failed to query the details of the device.'], ['code' => 'iot.vision.GetOwnerIdentityInfoFailed', 'message' => 'Get owner identity info failed.', 'http_code' => 400, 'description' => 'The system failed to query information about the device administrator.'], ['code' => 'iot.vision.GetThingEventSnapshotFailed', 'message' => 'Get thing event snapshot failed.', 'http_code' => 400, 'description' => 'The system failed to query TSL event snapshots.'], ['code' => 'iot.vision.HasNoAccessPermission', 'message' => 'Has no access permission.', 'http_code' => 403, 'description' => ''], ['code' => 'iot.vision.HasRelatedProduct', 'message' => 'Has related product.', 'http_code' => 400, 'description' => 'One or more associated products cannot be deleted.'], ['code' => 'iot.vision.IdentityAppKeyProductNotBind', 'message' => 'The app associated with the identityId does not have permission to access the product.', 'http_code' => 400, 'description' => 'No product is associated with the AppKey that is related to the account.'], ['code' => 'iot.vision.ImportProjectFailed', 'message' => 'Import project failed.', 'http_code' => 400, 'description' => 'Import project failed.'], ['code' => 'iot.vision.InstanceArrearage', 'message' => 'Instance arrearage.', 'http_code' => 400, 'description' => 'Instance arrearage.'], ['code' => 'iot.vision.InvalidCallerType', 'message' => 'Invalid caller type.', 'http_code' => 400, 'description' => 'Invalid caller type.'], ['code' => 'iot.vision.InvalidFirmwareId', 'message' => 'Invalid firmware Id.', 'http_code' => 400, 'description' => 'The ID of the update package is invalid.'], ['code' => 'iot.vision.InvalidIotInstance', 'message' => 'Invalid iot instance.', 'http_code' => 400, 'description' => 'Invalid iot instance.'], ['code' => 'iot.vision.InvalidStorageCommodity', 'message' => 'Invalid storage commodity.', 'http_code' => 400, 'description' => 'Invalid storage commodity.'], ['code' => 'iot.vision.InvalidStorageOrder', 'message' => 'Invalid storage order.', 'http_code' => 400, 'description' => 'Invalid storage order.'], ['code' => 'iot.vision.InvokeServiceFailed', 'message' => '%s', 'http_code' => 400, 'description' => 'The system failed to call the TSL service.'], ['code' => 'iot.vision.InvokeServiceFailed', 'message' => '%s failed.', 'http_code' => 400, 'description' => 'The system failed to call the TSL service.'], ['code' => 'iot.vision.InvokeServiceFailed', 'message' => 'Invoke service failed:%s', 'http_code' => 400, 'description' => 'The system failed to call the TSL service.'], ['code' => 'iot.vision.JobNotExist', 'message' => 'Job not exist or expired.', 'http_code' => 400, 'description' => 'The task does not exist or has expired.'], ['code' => 'iot.vision.ModifyFirmwareFailed', 'message' => 'Modify firmware failed:%s', 'http_code' => 400, 'description' => 'The system failed to modify the update package.'], ['code' => 'iot.vision.NoAvailableActiveCode', 'message' => 'No available active codes.', 'http_code' => 400, 'description' => 'No available active codes.'], ['code' => 'iot.vision.NoStorageQuota', 'message' => 'No storage quota.', 'http_code' => 400, 'description' => 'The storage quota is exceeded.'], ['code' => 'iot.vision.ParamBatchIdInvalid', 'message' => 'Parameter batchId is invalid.', 'http_code' => 400, 'description' => 'Parameter batchId is invalid.'], ['code' => 'iot.vision.PreviousImportProjectTaskNotFinished', 'message' => 'Previous import project task not finished.', 'http_code' => 400, 'description' => 'Previous import project task not finished.'], ['code' => 'iot.vision.ProductCancelReleaseFailed.', 'message' => 'Product cancel release failed.', 'http_code' => 400, 'description' => 'Product cancel release failed.'], ['code' => 'iot.vision.ProductHasRelatedAuthorization', 'message' => 'Product has related authorization.', 'http_code' => 400, 'description' => 'Product has related authorization.'], ['code' => 'iot.vision.ProductHasRelatedResource', 'message' => 'Product has related resource.', 'http_code' => 400, 'description' => 'Product has related resource.'], ['code' => 'iot.vision.ProductKeyFormatInvalid', 'message' => 'Product key format invalid.', 'http_code' => 400, 'description' => 'Product key format invalid.'], ['code' => 'iot.vision.ProductNameDuplicated', 'message' => 'Product name duplicated.', 'http_code' => 400, 'description' => 'Product name duplicated.'], ['code' => 'iot.vision.ProductNameFormatInvalid', 'message' => 'Product name format invalid.', 'http_code' => 400, 'description' => 'Product name format invalid.'], ['code' => 'iot.vision.ProductNameLengthInvalid', 'message' => 'Product name length invalid.', 'http_code' => 400, 'description' => 'Product name length invalid.'], ['code' => 'iot.vision.ProductNotExist', 'message' => 'Product not exist.', 'http_code' => 400, 'description' => 'Product not exist.'], ['code' => 'iot.vision.ProductNotRelease', 'message' => 'Product not release.', 'http_code' => 400, 'description' => 'Product not release.'], ['code' => 'iot.vision.ProductNumLimit', 'message' => 'Product number exceed limit.', 'http_code' => 400, 'description' => 'Product number exceed limit.'], ['code' => 'iot.vision.ProductReleased', 'message' => 'Product had been released.', 'http_code' => 400, 'description' => 'Product had been released.'], ['code' => 'iot.vision.ProductReleaseFailed', 'message' => 'Product release failed.', 'http_code' => 400, 'description' => 'Product release failed.'], ['code' => 'iot.vision.ProductShouldNotDelete', 'message' => 'Product should not delete.', 'http_code' => 400, 'description' => 'Product should not delete.'], ['code' => 'iot.vision.ProductShouldNotEdit', 'message' => 'Product should not edit.', 'http_code' => 400, 'description' => 'Product should not edit.'], ['code' => 'iot.vision.ProductTagDuplicated', 'message' => 'Product tag duplicated.', 'http_code' => 400, 'description' => 'Product tag duplicated.'], ['code' => 'iot.vision.ProductTagLengthInvalid', 'message' => 'Product tag length invalid.', 'http_code' => 400, 'description' => 'Product tag length invalid.'], ['code' => 'iot.vision.ProductTagNotFound', 'message' => 'Product tag not found.', 'http_code' => 400, 'description' => 'Product tag not found.'], ['code' => 'iot.vision.ProductTagNumLimit', 'message' => 'Product tag num limit.', 'http_code' => 400, 'description' => 'Product tag num limit.'], ['code' => 'iot.vision.ProductTypeMismatch', 'message' => 'Product type mismatch.', 'http_code' => 400, 'description' => 'Product type mismatch.'], ['code' => 'iot.vision.ProductUpdateFailed', 'message' => 'Product update failed.', 'http_code' => 400, 'description' => 'Product update failed.'], ['code' => 'iot.vision.ProjectCreateLimit', 'message' => 'Project still in initializing please try again later.', 'http_code' => 400, 'description' => 'One or more of your projects are being created. Try again later.'], ['code' => 'iot.vision.ProjectHasNoProducts', 'message' => 'Project has no products.', 'http_code' => 400, 'description' => 'Project has no products.'], ['code' => 'iot.vision.ProjectHasRelatedResource', 'message' => 'Project has related resource.', 'http_code' => 400, 'description' => 'Project has related resource.'], ['code' => 'iot.vision.ProjectNameDuplicated', 'message' => 'Project name duplicated.', 'http_code' => 400, 'description' => 'Project name duplicated.'], ['code' => 'iot.vision.ProjectNameLengthInvalid', 'message' => 'Project name length invalid.', 'http_code' => 400, 'description' => 'Project name length invalid.'], ['code' => 'iot.vision.ProjectNotExist', 'message' => 'Project does not exist.', 'http_code' => 400, 'description' => 'Project does not exist.'], ['code' => 'iot.vision.ProjectNumLimit', 'message' => 'Project num exceed limit.', 'http_code' => 400, 'description' => 'Project num exceed limit.'], ['code' => 'iot.vision.PropertyNotFound', 'message' => 'Property not found.', 'http_code' => 400, 'description' => 'The TSL property does not exist.'], ['code' => 'iot.vision.PropertyReadOnly', 'message' => 'Property is read only.', 'http_code' => 400, 'description' => 'The TSL property is read-only.'], ['code' => 'iot.vision.QueryAppListError', 'message' => 'No Result.', 'http_code' => 400, 'description' => 'No Result.'], ['code' => 'iot.vision.QueryBindingAccountFailed', 'message' => 'Query binding account failed.', 'http_code' => 400, 'description' => 'The system failed to query associated users.'], ['code' => 'iot.vision.QueryBindingDeviceFailed', 'message' => 'Query binding device failed.', 'http_code' => 400, 'description' => 'The system failed to query the associated device list.'], ['code' => 'iot.vision.QueryCommodityPriceFailed', 'message' => 'Query commodity price failed.', 'http_code' => 400, 'description' => 'The system failed to query the price of the cloud storage product.'], ['code' => 'iot.vision.QueryConsumerGroupFailed', 'message' => 'Query consumer group failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the consumer group.'], ['code' => 'iot.vision.QueryDeviceFailed', 'message' => 'query device failed.', 'http_code' => 400, 'description' => 'query device failed.'], ['code' => 'iot.vision.QueryDeviceGroupFailed', 'message' => 'Query device group failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the device group.'], ['code' => 'iot.vision.QueryDeviceUpgradeCountFailed', 'message' => 'Query device upgrade count failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the number of device updates.'], ['code' => 'iot.vision.QueryDeviceUpgradeInfoFailed', 'message' => 'Query device upgrade info failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the update status of the device.'], ['code' => 'iot.vision.QueryDeviceVersionStatisticsFailed', 'message' => 'Query device version statistics failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the details of the distribution of device versions.'], ['code' => 'iot.vision.QueryFirmwareFailed', 'message' => 'Query firmware failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the firmware.'], ['code' => 'iot.vision.QueryFirmwareModuleFailed', 'message' => 'Query firmware module failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the update package module.'], ['code' => 'iot.vision.QueryFirmwareVersionFailed', 'message' => 'Query firmware version failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the update package version.'], ['code' => 'iot.vision.QueryProductRelatedDeviceFailed', 'message' => 'Query product related device failed.', 'http_code' => 400, 'description' => 'Query product related device failed.'], ['code' => 'iot.vision.QuerySubscribeRelationFailed', 'message' => 'Query subscribe relation failed:%s', 'http_code' => 400, 'description' => 'The system failed to query subscriptions.'], ['code' => 'iot.vision.QueryUpgradeDefaultTimeoutFailed', 'message' => 'Query upgrade default timeout failed:%s', 'http_code' => 400, 'description' => 'The request to query the default timeout period of the update failed.'], ['code' => 'iot.vision.QueryUpgradeDeviceFailed', 'message' => 'Query upgrade device failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the device to be updated.'], ['code' => 'iot.vision.QueryUpgradeStatisticsInfoFailed', 'message' => 'Query upgrade statistics info failed:%s', 'http_code' => 400, 'description' => 'The system failed to query statistics on updates.'], ['code' => 'iot.vision.QueryUpgradeTaskFailed', 'message' => 'Query upgrade task failed:%s', 'http_code' => 400, 'description' => 'The system failed to query the update task.'], ['code' => 'iot.vision.RecordNotExist', 'message' => 'Record not exist.', 'http_code' => 400, 'description' => 'The video file does not exist.'], ['code' => 'iot.vision.RefreshTooFrequently', 'message' => 'Refresh too frequently.', 'http_code' => 400, 'description' => 'Refresh requests are submitted too frequently.'], ['code' => 'iot.vision.RequestAuthFailed', 'message' => 'Request auth failed.', 'http_code' => 403, 'description' => 'Request auth failed.'], ['code' => 'iot.vision.RequestError', 'message' => 'Request error.', 'http_code' => 400, 'description' => 'The request failed.'], ['code' => 'iot.vision.RequestFailed', 'message' => 'Request failed.', 'http_code' => 400, 'description' => 'Request failed.'], ['code' => 'iot.vision.RequestFailed', 'message' => 'product already publish operation not allowed.', 'http_code' => 400, 'description' => 'The operation cannot be performed on the product because the product is published.'], ['code' => 'iot.vision.RequestFailed', 'message' => 'product not exist.', 'http_code' => 400, 'description' => 'The product does not exist.'], ['code' => 'iot.vision.RequestForbidden', 'message' => 'Request forbidden.', 'http_code' => 403, 'description' => 'Request forbidden.'], ['code' => 'iot.vision.RequestParamError', 'message' => 'Request parameter error.', 'http_code' => 400, 'description' => 'Request parameter error.'], ['code' => 'iot.vision.RequestParamError', 'message' => 'Request parameter error:%s', 'http_code' => 400, 'description' => 'The request parameter is invalid.'], ['code' => 'iot.vision.RequestParameterError', 'message' => 'Request parameter error:%s', 'http_code' => 400, 'description' => 'The request parameter is invalid.'], ['code' => 'iot.vision.RequestTrafficControl', 'message' => 'Request traffic control.', 'http_code' => 429, 'description' => 'Request traffic control.'], ['code' => 'iot.vision.ReUpgradeDeviceFailed', 'message' => 'ReUpgrade device failed:%s', 'http_code' => 400, 'description' => 'The system failed to re-update the device.'], ['code' => 'iot.vision.RtmpKeyNotSet', 'message' => 'Rtmp key not set.', 'http_code' => 400, 'description' => 'No authentication key is specified.'], ['code' => 'iot.vision.ServerError', 'message' => 'server error.', 'http_code' => 400, 'description' => 'server error.'], ['code' => 'iot.vision.ServiceEnumSpecError', 'message' => 'Service enum spec error.', 'http_code' => 400, 'description' => 'The enumeration parameter of the TSL service is invalid.'], ['code' => 'iot.vision.ServiceNotFound', 'message' => 'Invoke service failed as service not found.', 'http_code' => 400, 'description' => 'The TSL service does not exist.'], ['code' => 'iot.vision.ServiceParamNotExist', 'message' => 'Invoke service failed as service param not exist.', 'http_code' => 400, 'description' => 'The parameter of the TSL service does not exist.'], ['code' => 'iot.vision.ServiceResponseTimeout', 'message' => 'Invoke service response timeout.', 'http_code' => 400, 'description' => 'The device response timed out.'], ['code' => 'iot.vision.SetAccountFailed', 'message' => 'Set account failed.', 'http_code' => 400, 'description' => 'Set account failed.'], ['code' => 'iot.vision.SetDefaultRecordPlanFailed', 'message' => 'Set default record plan failed.', 'http_code' => 400, 'description' => 'The system failed to configure the default video recording plan.'], ['code' => 'iot.vision.SetPropertyFailed', 'message' => 'Set property failed.', 'http_code' => 400, 'description' => 'The system failed to configure the TSL property.'], ['code' => 'iot.vision.StorageCommodityUnavailable', 'message' => 'Storage commodity unavailable.', 'http_code' => 400, 'description' => 'You cannot use the cloud storage product.'], ['code' => 'iot.vision.StorageOrderAlreadyPaid', 'message' => 'Storage order had been paid.', 'http_code' => 400, 'description' => 'The payment for the cloud storage order is complete.'], ['code' => 'iot.vision.StorageOrderGetLockFailed', 'message' => 'Get storage order lock failed try again later.', 'http_code' => 400, 'description' => 'The system failed to obtain the distributed lock of the cloud storage order. Try again later.'], ['code' => 'iot.vision.StorageOrderPayFailed', 'message' => 'Storage order pay failed.', 'http_code' => 400, 'description' => 'The payment for the cloud storage order failed.'], ['code' => 'iot.vision.StorageOrderStatusInvalid', 'message' => 'Storage order status invalid.', 'http_code' => 400, 'description' => 'You cannot perform the operation on the cloud storage order.'], ['code' => 'iot.vision.StreamNameDuplicate', 'message' => 'Stream name duplicate.', 'http_code' => 400, 'description' => 'The stream name already exists.'], ['code' => 'iot.vision.StreamPushFailed', 'message' => 'Stream push failed.', 'http_code' => 400, 'description' => 'The stream ingest failed.'], ['code' => 'iot.vision.TargetDeviceOwnerDifferent', 'message' => 'Target device owner is different.', 'http_code' => 400, 'description' => 'The administrator of the destination device is different from the administrator of the order to be transferred.'], ['code' => 'iot.vision.TemplateMacroInvalid', 'message' => 'macro invalid.', 'http_code' => 400, 'description' => 'The format of the macro is invalid.'], ['code' => 'iot.vision.TemplateTextInvalid', 'message' => 'var or text invalid.', 'http_code' => 400, 'description' => 'The format of the variable or the text is invalid.'], ['code' => 'iot.vision.TenantMismatch', 'message' => 'Caller tenant and account belong tenant mismatch.', 'http_code' => 400, 'description' => 'The tenant of the API operation caller is different from the tenant to which the account belongs.'], ['code' => 'iot.vision.ThingAbilityNameDuplicated', 'message' => 'Thing model ability name duplicated.', 'http_code' => 400, 'description' => 'The name that you specified for the TSL feature already exists.'], ['code' => 'iot.vision.ThingEventNotFound', 'message' => 'Thing event not found.', 'http_code' => 400, 'description' => 'The TSL event does not exist.'], ['code' => 'iot.vision.ThingModelAbilityDuplicated', 'message' => 'Thing model ability duplicated.', 'http_code' => 400, 'description' => 'Thing model ability duplicated.'], ['code' => 'iot.vision.ThingModelIdentifierNotExist', 'message' => 'Thing model identifier not exist.', 'http_code' => 400, 'description' => 'Thing model identifier not exist.'], ['code' => 'iot.vision.ThingModelNotExist', 'message' => 'Thing model not exist.', 'http_code' => 400, 'description' => 'Thing model not exist.'], ['code' => 'iot.vision.ThingModelParamsFormatInvalid', 'message' => 'Thing model params format invalid.', 'http_code' => 400, 'description' => 'Thing model params format invalid.'], ['code' => 'iot.vision.ThingModelParamsInvalid', 'message' => 'Thing model params invalid.', 'http_code' => 400, 'description' => 'Thing model params invalid.'], ['code' => 'iot.vision.ThingModelUpdateFailed', 'message' => 'Thing model update failed.', 'http_code' => 400, 'description' => 'The modification on the TSL model failed to take effect.'], ['code' => 'iot.vision.UnbindFailed', 'message' => 'Unbind account and device failed.', 'http_code' => 400, 'description' => 'The system failed to disassociate the device from the account.'], ['code' => 'iot.vision.UnexpectedInternalError', 'message' => 'Unexpected internal error.', 'http_code' => 400, 'description' => 'Unexpected internal error.'], ['code' => 'iot.vision.UpdateConsumerGroupFailed', 'message' => 'Update consumer group failed:%s', 'http_code' => 400, 'description' => 'The system failed to update the consumer group.'], ['code' => 'iot.vision.UpdateFirmwareModuleFailed', 'message' => 'Update firmware module failed:%s', 'http_code' => 400, 'description' => 'The system failed to update the update package module.'], ['code' => 'iot.vision.UpdateOTATaskStrategyFailed', 'message' => 'Update ota task strategy failed:%s', 'http_code' => 400, 'description' => 'Failed to update the OTA upgrade task policy.'], ['code' => 'iot.vision.UpdateSubscribeRelationFailed', 'message' => 'Update subscribe relation failed:%s', 'http_code' => 400, 'description' => 'The system failed to update the subscription.'], ['code' => 'iot.vision.VerifyFirmwareRequestFailed', 'message' => 'Verify firmware request failed:%s', 'http_code' => 400, 'description' => 'The request to verify the update package failed.'], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingEventSnapshot'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FreezeFreeStorage'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSubDeviceList'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageOrder'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDevicesDownloadUrl'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TransferStorageOrder'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetThingProperty'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDeviceStatus'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableFreeStorage'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'FreezeStorageOrder'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryFreeStorage'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindDevice'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBindingDeviceByAccount'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryBatchStatus'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateDevice'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnbindAllUserByDevice'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGenerateDevicesRecord'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CheckFreeStorageValid'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableStorageOrder'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BindStorageOrder'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetThingPropertySnapshot'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageOrderList'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateDeviceByBatchId'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UploadDeviceNameList'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryDeviceDetail'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InvokeThingService'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListBindingAccountByDevice'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAndPayStorageOrder'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryStorageCommodityList'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryGenerateDevicesInfoList'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchBindDevice'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetAccountById'], ['threshold' => '200', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ConsumeFreeStorage'], ], ], 'ram' => [ 'productCode' => 'LinkVisual', 'productName' => 'Link Visual', 'ramCodes' => ['linkvisual'], 'ramLevel' => 'RESOURCE', 'ramConditions' => [], 'ramActions' => [ [ 'apiName' => 'FreezeStorageOrder', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:FreezeStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GenerateDeviceByBatchId', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GenerateDeviceByBatchId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'EnableFreeStorage', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:EnableFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryFreeStorage', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateAndPayStorageOrder', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:CreateAndPayStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SetThingProperty', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:SetThingProperty', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListBindingDeviceByAccount', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:ListBindingDeviceByAccount', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'EnableStorageOrder', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:EnableStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetThingEventSnapshot', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetThingEventSnapshot', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryStorageOrder', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GenerateDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GenerateDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDeviceDetail', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryDeviceDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UploadDeviceNameList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:UploadDeviceNameList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'FreezeFreeStorage', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:FreezeFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryGenerateDevicesRecord', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryGenerateDevicesRecord', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryStorageCommodityList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryStorageCommodityList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CheckFreeStorageValid', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:CheckFreeStorageValid', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UnbindDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:UnbindDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'InvokeThingService', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:InvokeThingService', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UnbindAllUserByDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:UnbindAllUserByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'TransferStorageOrder', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:TransferStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryGenerateDevicesInfoList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryGenerateDevicesInfoList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDevicesDownloadUrl', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryDevicesDownloadUrl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BindStorageOrder', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:BindStorageOrder', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetSubDeviceList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetSubDeviceList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetThingPropertySnapshot', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetThingPropertySnapshot', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetDeviceStatus', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetDeviceStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetAccountById', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:GetAccountById', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryBatchStatus', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryBatchStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchBindDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:BatchBindDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ConsumeFreeStorage', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:ConsumeFreeStorage', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListBindingAccountByDevice', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:ListBindingAccountByDevice', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryStorageOrderList', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'linkvisual:QueryStorageOrderList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'LinkVisual', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'resourceTypes' => [], ], ];