Update product by ID

post

/productionMonitoring/clientapi/v2/products/{product-id}

This operation updates information about a product specified by its ID, with the provided product definition that is partial or complete. 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
Path Parameters
Header Parameters
  • To perform a partial update of the product, the POST request should be orchestrated with method override set to PATCH.
  • 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.
Body ()
Root Schema : Product_update
Type: object
Show Source
Nested Schema : attributes
Type: array
Custom attributes provided by the user as {name, type, value} tuples.
Show Source
Nested Schema : Attribute_update
Type: object
Show Source
Back to Top

Response

Supported Media Types

200 Response

Successfully processed.
Body ()
Root Schema : Product_receive
Type: object
Show Source
Nested Schema : attributes
Type: array
Custom attributes provided by the user as {name, type, value} tuples.
Show Source
Nested Schema : properties
Type: object
Additional Properties Allowed
Show Source
  • A map of the following type: Map<String, String>
The machine's external entity properties as key, value pairs.
Show Source
Nested Schema : routing
Type: array
The list of routing tasks for the product.
Show Source
Nested Schema : Attribute_receive
Type: object
Show Source
  • The device model URN, applicable and must be specified when attribute type is 'device', 'sensor', 'alert'.
  • The name of the attribute.
  • The type of the attribute. One of [STRING, NUMBER, BOOLEAN, DATE, BINARY, DEVICE, SENSOR, ALERT].

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.

403 Response

Forbidden. The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated.

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.
Back to Top

Examples

curl -X POST 
   -u <username>:<password>
   -H 'Accept: application/json'
   -H 'Content-Type: application/json'
   --header "X-HTTP-Method-Override: PATCH"
   https://iotserver/productionMonitoring/clientapi/v2/products/{product-id}

Example of Request Body

The following example shows the content of the request body in JSON format:


{
"attributes":[
{
"dataType":"Following types are supported: {'BOOLEAN', 'INTEGER', 'NUMBER', 'STRING', 'URI', 'DATETIME'}.One of [STRING, NUMBER, BOOLEAN, INTEGER, DATETIME, URI, DATE].",
"deviceModel":"The device model URN, applicable and must be specified when attribute type is 'device', 'sensor', 'alert'.",
"name":"The name of the attribute.",
"type":"The type of the attribute.One of [STRING, NUMBER, BOOLEAN, DATE, BINARY, DEVICE, SENSOR, ALERT, URI]."
}
],
"category":"Category for the product (for a product = car, this value could be SUV, sedan, etc.).",
"code":"The optional unique id/code for the product provided by the user.",
"description":"The description of the product.",
"id":"67e84ae72f70-1cd9",
"name":"The unique name of the product."
}

Example of Response Body

The following example shows the content of the response body in JSON format:


{
"attributes":[
{
"dataType":"Following types are supported: {'BOOLEAN', 'INTEGER', 'NUMBER', 'STRING', 'URI', 'DATETIME'}.One of [STRING, NUMBER, BOOLEAN, INTEGER, DATETIME, URI, DATE].",
"deviceModel":"The device model URN, applicable and must be specified when attribute type is 'device', 'sensor', 'alert'.",
"name":"The name of the attribute.",
"type":"The type of the attribute.One of [STRING, NUMBER, BOOLEAN, DATE, BINARY, DEVICE, SENSOR, ALERT, URI]."
}
],
"category":"Category for the product (for a product = car, this value could be SUV, sedan, etc.).",
"code":"The optional unique id/code for the product provided by the user.",
"description":"The description of the product.",
"extId":"370b7520370-4944",
"id":"42e4b8e6790-6e7e",
"integrationId":"172c16032d2f-79a8",
"lastModifiedTime":1469184297746,
"lastModifiedTimeAsString":1469184297746,
"modifiedBy":"The name of the user who last modified the definition of the product.",
"name":"The unique name of the product.",
"properties":{
"properties_key1":"properties_value1",
"properties_key2":"properties_value2",
"properties_key3":"properties_value3"
},
"registeredBy":"The name of the user who registered this product",
"registrationTime":1469184297746,
"registrationTimeAsString":1469184297746,
"routing":[
"routing_1",
"routing_2",
"routing_3"
]
}



Complete cURL Example

The following example shows a complete cURL command that you can use to perform the described operation:

curl -X POST 
   -u <username>:<password>
   -H 'Accept: application/json'
   -H 'Content-Type: application/json'
   --header "X-HTTP-Method-Override: PATCH"
   -d '{"attributes":[{"dataType":"Following types are supported: {'BOOLEAN', 'INTEGER', 'NUMBER', 'STRING', 'URI', 'DATETIME'}.One of [STRING, NUMBER, BOOLEAN, INTEGER, DATETIME, URI, DATE].","deviceModel":"The device model URN, applicable and must be specified when attribute type is 'device', 'sensor', 'alert'.","name":"The name of the attribute.","type":"The type of the attribute.One of [STRING, NUMBER, BOOLEAN, DATE, BINARY, DEVICE, SENSOR, ALERT, URI]."}],"category":"Category for the product (for a product = car, this value could be SUV, sedan, etc.).","code":"The optional unique id/code for the product provided by the user.","description":"The description of the product.","id":"67e84ae72f70-1cd9","name":"The unique name of the product."}'
   https://iotserver/productionMonitoring/clientapi/v2/products/53874e7a3070-47e1



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.
Back to Top