Create an Import Request
post
/iot/api/v2/imports
Creates an import request object that provides status of the operation.
The import process is a two phase protocol with some user input.
The import process is a two phase protocol with some user input.
- The first phase of the protocol requires the user to upload a file with the import data to Oracle IoT Cloud Service. The server performs the following tasks:
- creates a record for the import operation and stores the file
- validates all import entries (applications / device models / settings etc)
- sends the response to the user which includes import request identifier and list of valid and conflicted entries.
- The second phase of the protocol allows the user to proceed with the import (it is assumed that the user provides information about resolution for conflicted entries). These steps are done:
- re-validates all import entries (applications / device models / settings etc)
- creates or updates entries
- sends the summary report with information about the entries that are successfully imported; if import fails the report has information on what import entry caused the failure.
Request
Supported Media Types
- multipart/form-data
Response
Supported Media Types
- application/json
201 Response
Successfully processed.
Root Schema : ImportRequestImpl_receive
Type:
Show Source
object
-
completed:
integer
Date of the request completion in milliseconds since January 1, 1970
-
completedAsString:
string
Date of the request completion represented as ISO string.
-
content:
object ConflictReport_receive
-
created:
integer
Date of the request creation in milliseconds since January 1, 1970
-
createdAsString:
string
Date of the request creation represented as ISO string.
-
description:
string
Import request description.
-
id:
string
Unique identifier that identifies the import request.
-
lastModifiedBy:
string
Name of the user who last modified(created/completed) this request.
-
status:
string
The state associated with the request.One of [CREATED, VERIFIED, CONFLICT, RUNNING, COMPLETED, FAILED].
Nested Schema : ConflictReport_receive
Type:
Show Source
object
-
applications:
array applications
Application part of the report
-
deviceModels:
array deviceModels
Device model part of the report
-
settings:
array settings
Setting part of the report
Nested Schema : ConflictReportImpl$ApplicationItem_receive
Type:
Show Source
object
-
conflicts:
object AppConflicts_receive
-
id:
string
Unique identifier of the application
-
name:
string
Application name
Nested Schema : AppConflicts_receive
Type:
Show Source
object
-
conflictItems:
object conflictItems
Additional Properties Allowed: additionalPropertiesProperty description was not set
-
genericConflicts:
array genericConflicts
Property description was not set
Nested Schema : conflictItems
Type:
object
Additional Properties Allowed
Show Source
-
string
A map of the following type: Map<String, String>
Property description was not set
Show Source
Nested Schema : ConflictReportImpl$DeviceModelItem_receive
Type:
Show Source
object
-
conflict:
object ConflictItem_receive
-
name:
string
Device model name
-
urn:
string
Device model URN
Nested Schema : ConflictReportImpl$SettingItem_receive
Type:
Show Source
object
-
conflicts:
array conflicts
List of conflicts for the setting
-
group:
string
Group name of the setting
-
name:
string
Setting name
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.
Examples
curl -X POST
-u <username>:<password>
-H 'Accept: application/json'
https://iotserver/iot/api/v2/imports
Example of Request Body
The following example shows the content of the request body in JSON format:
{
}
Example of Response Body
The following example shows the content of the response body in JSON format:
{
"id":"653d1b991e32-7fd5",
"status":"The state associated with the request.One of [CREATED, VERIFIED, CONFLICT, RUNNING, COMPLETED, FAILED].",
"description":"Import request description.",
"lastModifiedBy":"Name of the user who last modified(created/completed) this request.",
"created":1469184297746,
"createdAsString":"2016-07-22T10:44:57.746Z",
"completed":12345,
"completedAsString":"Date of the request completion represented as ISO string.",
"content":{
"applications":[
{
"id":"1fa657ca632f-45e2",
"name":"Application name",
"conflicts":{
"conflictItems":{
"conflictItems_key1":"conflictItems_value1",
"conflictItems_key2":"conflictItems_value2",
"conflictItems_key3":"conflictItems_value3"
}
}
}
],
"deviceModels":[
{
"urn":"urn:example:unique:identifier:of:the:resource:1f67",
"name":"Device model name",
"conflict":{
}
}
],
"settings":[
{
"group":"Group name of the setting",
"name":"Setting name"
}
]
}
}
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'
-d '{}'
https://iotserver/iot/api/v2/imports
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.