Replace machine type by ID
put
/productionMonitoring/clientapi/v2/machineTypes/{type-id}
This operation replaces the specified machine type information with the provided machine type definition. This method supports the request header with name 'X-ORACLE-IOT-ORG', which allows targeting requests to different organizations. The value of this request header should contain the organization identifier.
Request
Supported Media Types
- multipart/form-data
Path Parameters
-
type-id: string
Identifier created by the Oracle IoT Cloud Service for the machine type
Header Parameters
-
X-ORACLE-IOT-ORG: string
This method supports the request header with name 'X-ORACLE-IOT-ORG', which allows targeting requests to different organizations. The value of this request header should contain the organization identifier.
Root Schema : MachineType_create
Type:
Show Source
object
-
attributes(optional):
array attributes
A list of attributes supported by this machine type. Each definition contains data type for the attribute value, whether it's optional/mandatory, default value, etc.
-
description(optional):
string
The description for the given machine type.
-
name(optional):
string
The user-defined unique name for the machine type e.g. miller, welder, cooler etc.
Nested Schema : attributes
Type:
array
A list of attributes supported by this machine type. Each definition contains data type for the attribute value, whether it's optional/mandatory, default value, etc.
Show Source
Nested Schema : MachineAttributeDefinition_create
Type:
Show Source
object
-
allowedValues(optional):
array allowedValues
The list of allowed values for the given field.
-
dataType(optional):
string
Applicable only when "type" is sensor. If type is sensor, then dataType must be specified.One of [STRING, NUMBER, BOOLEAN, INTEGER, DATETIME, URI, DATE].
-
deviceModel(optional):
string
The applicable only when the attribute type is 'device', must be specified then.
-
instructions(optional):
string
The instructions on how to fill the machine attribute.
-
legacySensorAttribute:
boolean
Property description was not set
-
name:
string
The name of the machine attribute e.g. 'brand', 'color', 'size', 'status' etc. Name should be unique across machine attributes of a given type.
-
partitioningByAllowedValues(optional):
boolean
If set to true, partitioning attributes will be considered by the system for detecting state-aware anomalies.
-
properties(optional):
object properties
Additional Properties Allowed: additionalPropertiesOptional field for additional properties.
-
required:
boolean
The boolean flag indicating if the machine should have this attribute.
-
sensorAttributes:
array sensorAttributes
Property description was not set
-
type:
string
The type of the machine attribute. Following types are supported: ['string', 'number', 'boolean', 'date', 'binary', 'device', 'sensor'].One of [STRING, NUMBER, BOOLEAN, DATE, BINARY, DEVICE, SENSOR, ALERT, URI].
-
unique:
boolean
This specifies whether the machine attribute value must be unique.
Nested Schema : allowedValues
Type:
array
The list of allowed values for the given field.
Show Source
Nested Schema : properties
Type:
object
Additional Properties Allowed
Show Source
-
string
A map of the following type: Map<String, String>
Optional field for additional properties.
Show Source
Nested Schema : items
Type:
object
Nested Schema : SensorAttributeType_create
Type:
Show Source
object
-
field:
string
The name of the field.
-
fieldType:
string
The type of the field.
-
format:
string
The format asssociated with this attribute.
-
id:
string
The unique id of the sensor.
-
keepHistory:
boolean
A flag for whether to keep history for this attribute.
-
name:
string
The name of this attribute.
Response
Supported Media Types
- application/json
- application/vnd.oracle.resource+json;type=singular
200 Response
Successfully processed.
Root Schema : MachineType_receive
Type:
Show Source
object
-
attributes:
array attributes
A list of attributes supported by this machine type. Each definition contains data type for the attribute value, whether it's optional/mandatory, default value, etc.
-
description:
string
The description for the given machine type.
-
extId:
string
The external identifier representing the external machine type imported
-
icon:
object icon
Binary object representing machine type icon.
-
id:
string
Identifier created by the Oracle IoT Cloud Service for the machine type
-
integrationId:
string
The integration identifier that imported the machine type
-
lastModifiedBy:
string
The name of the user who last modified the definition of the machine type.
-
lastModifiedTime:
integer
The time when the machine type definition was last updated as an epoch milliseconds.
-
lastModifiedTimeAsString:
integer
The time when the machine type definition was last updated as an ISO-8601 formatted string.
-
name:
string
The user-defined unique name for the machine type e.g. miller, welder, cooler etc.
-
properties:
object properties
Additional Properties Allowed: additionalPropertiesThe machine type's external entity properties as key, value pairs.
-
registeredBy:
string
The name of the user who registered this machine type.
-
registrationTime:
integer
The time when the machine type was registered with the app as an epoch milliseconds.
-
registrationTimeAsString:
integer
The time when the machine type was registered with the app as an ISO-8601 formatted string.
Nested Schema : attributes
Type:
array
A list of attributes supported by this machine type. Each definition contains data type for the attribute value, whether it's optional/mandatory, default value, etc.
Show Source
Nested Schema : icon
Type:
object
Binary object representing machine type icon.
Show Source
-
links(optional):
array links
The set of API navigation links.
Nested Schema : properties
Type:
object
Additional Properties Allowed
Show Source
-
string
A map of the following type: Map<String, String>
The machine type's external entity properties as key, value pairs.
Show Source
Nested Schema : MachineAttributeDefinition_receive
Type:
Show Source
object
-
allowedValues:
array allowedValues
The list of allowed values for the given field.
-
dataType:
string
Applicable only when "type" is sensor. If type is sensor, then dataType must be specified.One of [STRING, NUMBER, BOOLEAN, INTEGER, DATETIME, URI, DATE].
-
deviceModel:
string
The applicable only when the attribute type is 'device', must be specified then.
-
id:
string
Identifier of the machine attribute e.g. &qot;id&qot;, &qot;0-AB&qot; etc. Identifier should be unique across machine attributes of a given type. This value is present only for attributes of type equal to SENSOR
-
instructions:
string
The instructions on how to fill the machine attribute.
-
name:
string
The name of the machine attribute e.g. 'brand', 'color', 'size', 'status' etc. Name should be unique across machine attributes of a given type.
-
partitioningByAllowedValues:
boolean
If set to true, partitioning attributes will be considered by the system for detecting state-aware anomalies.
-
properties:
object properties
Additional Properties Allowed: additionalPropertiesOptional field for additional properties.
-
required:
boolean
The boolean flag indicating if the machine should have this attribute.
-
sensorAttributes:
array sensorAttributes
Property description was not set
-
type:
string
The type of the machine attribute. Following types are supported: ['string', 'number', 'boolean', 'date', 'binary', 'device', 'sensor'].One of [STRING, NUMBER, BOOLEAN, DATE, BINARY, DEVICE, SENSOR, ALERT, URI].
-
unique:
boolean
This specifies whether the machine attribute value must be unique.
Nested Schema : allowedValues
Type:
array
The list of allowed values for the given field.
Show Source
Nested Schema : properties
Type:
object
Additional Properties Allowed
Show Source
-
string
A map of the following type: Map<String, String>
Optional field for additional properties.
Show Source
Nested Schema : items
Type:
object
Nested Schema : SensorAttributeType_receive
Type:
Show Source
object
-
field:
string
The name of the field.
-
format:
string
The format asssociated with this attribute.
-
id:
string
The unique id of the sensor.
-
name:
string
The name of this attribute.
Nested Schema : items
Type:
Show Source
object
-
href(optional):
string
The target resource URIExample:
https://iotserver/iot/api/vX/some/API/path
-
rel(optional):
string
Relation typeExample:
canonical
400 Response
Bad Request. The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications.
401 Response
Unauthorized. The request requires user authentication.
404 Response
Not Found. The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.
406 Response
Request Not Acceptable. The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request.
415 Response
Unsupported Media Type. The request entity has a media type which the server or resource does not support.
Examples
curl -X PUT
-u <username>:<password>
-H 'Accept: application/json'
https://iotserver/productionMonitoring/clientapi/v2/machineTypes/{type-id}
Example of Request Body
The following example shows the content of the request body in JSON format:
{
"attributes":[
{
"dataType":"Applicable only when 'type' is sensor. If type is sensor, then dataType must be specified.One of [STRING, NUMBER, BOOLEAN, INTEGER, DATETIME, URI, DATE].",
"deviceModel":"The applicable only when the attribute type is 'device', must be specified then.",
"instructions":"The instructions on how to fill the machine attribute.",
"legacySensorAttribute":false,
"name":"The name of the machine attribute e.g. 'brand', 'color', 'size', 'status' etc. Name should be unique across machine attributes of a given type.",
"partitioningByAllowedValues":false,
"properties":{
"properties_key1":"properties_value1",
"properties_key2":"properties_value2",
"properties_key3":"properties_value3"
},
"required":false,
"sensorAttributes":[
{
"field":"The name of the field.",
"fieldType":"The type of the field.",
"format":"The format asssociated with this attribute.",
"id":"202f3c1c62a7-1a45",
"keepHistory":false,
"name":"The name of this attribute."
}
],
"type":"The type of the machine attribute. Following types are supported: ['string', 'number', 'boolean', 'date', 'binary', 'device', 'sensor'].One of [STRING, NUMBER, BOOLEAN, DATE, BINARY, DEVICE, SENSOR, ALERT, URI].",
"unique":false
}
],
"description":"The description for the given machine type.",
"name":"The user-defined unique name for the machine type e.g. miller, welder, cooler etc."
}
Example of Response Body
The following example shows the content of the response body in JSON format:
{
"attributes":[
{
"dataType":"Applicable only when 'type' is sensor. If type is sensor, then dataType must be specified.One of [STRING, NUMBER, BOOLEAN, INTEGER, DATETIME, URI, DATE].",
"deviceModel":"The applicable only when the attribute type is 'device', must be specified then.",
"id":"323648cd135b-2beb",
"instructions":"The instructions on how to fill the machine attribute.",
"name":"The name of the machine attribute e.g. 'brand', 'color', 'size', 'status' etc. Name should be unique across machine attributes of a given type.",
"partitioningByAllowedValues":false,
"properties":{
"properties_key1":"properties_value1",
"properties_key2":"properties_value2",
"properties_key3":"properties_value3"
},
"required":false,
"sensorAttributes":[
{
"field":"The name of the field.",
"format":"The format asssociated with this attribute.",
"id":"304d51953feb-1d4e",
"name":"The name of this attribute."
}
],
"type":"The type of the machine attribute. Following types are supported: ['string', 'number', 'boolean', 'date', 'binary', 'device', 'sensor'].One of [STRING, NUMBER, BOOLEAN, DATE, BINARY, DEVICE, SENSOR, ALERT, URI].",
"unique":false
}
],
"description":"The description for the given machine type.",
"extId":"4a6739dd582d-770d",
"icon":{
"links":[
{
"href":"https://iotserver/productionMonitoring/clientapi/version/resource/path",
"rel":"self"
},
{
"href":"https://iotserver/productionMonitoring/clientapi/version/resource/path",
"rel":"canonical"
}
]
},
"id":"350d671e4944-531d",
"integrationId":"7adc622123a0-207b",
"lastModifiedBy":"The name of the user who last modified the definition of the machine type.",
"lastModifiedTime":1469184297746,
"lastModifiedTimeAsString":1469184297746,
"name":"The user-defined unique name for the machine type e.g. miller, welder, cooler etc.",
"properties":{
"properties_key1":"properties_value1",
"properties_key2":"properties_value2",
"properties_key3":"properties_value3"
},
"registeredBy":"The name of the user who registered this machine type.",
"registrationTime":1469184297746,
"registrationTimeAsString":1469184297746
}
Complete cURL Example
The following example shows a complete cURL command that you can use to perform the described operation:
curl -X PUT
-u <username>:<password>
-H 'Accept: application/json'
-d '{"attributes":[{"dataType":"Applicable only when 'type' is sensor. If type is sensor, then dataType must be specified.One of [STRING, NUMBER, BOOLEAN, INTEGER, DATETIME, URI, DATE].","deviceModel":"The applicable only when the attribute type is 'device', must be specified then.","instructions":"The instructions on how to fill the machine attribute.","legacySensorAttribute":false,"name":"The name of the machine attribute e.g. 'brand', 'color', 'size', 'status' etc. Name should be unique across machine attributes of a given type.","partitioningByAllowedValues":false,"properties":{"properties_key1":"properties_value1","properties_key2":"properties_value2","properties_key3":"properties_value3"},"required":false,"sensorAttributes":[{"field":"The name of the field.","fieldType":"The type of the field.","format":"The format asssociated with this attribute.","id":"202f3c1c62a7-1a45","keepHistory":false,"name":"The name of this attribute."}],"type":"The type of the machine attribute. Following types are supported: ['string', 'number', 'boolean', 'date', 'binary', 'device', 'sensor'].One of [STRING, NUMBER, BOOLEAN, DATE, BINARY, DEVICE, SENSOR, ALERT, URI].","unique":false}],"description":"The description for the given machine type.","name":"The user-defined unique name for the machine type e.g. miller, welder, cooler etc."}'
https://iotserver/productionMonitoring/clientapi/v2/machineTypes/70d43d72925-569e
Note that in the request,
https://iotserver
will be replaced by the name and port of your assigned IoT Cloud Service instance. The format of the Cloud Service instance is
https://myinstance-myidentitydomain.iot.us.oraclecloud.com
and the default port is 443.