POST v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/iots

Create a new IOT device on the network. Each IOT device must have a unique id (usually it's MAC address), otherwise a failure result with a 409 error code is returned.<br/> To maximize ease of use if this is the first call to be seen from an Api user, then the AccountNetwork and Api Account resources are automatically created for the user. <br/><br/> Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request. When the IOT device is created successfully on the Asavie network it's Status property will be set as 'complete'

Request Information

URI Parameters

NameDescriptionTypeAdditional information
foreignaccountkey

The Api Account to create the IOT Device on

string

Required

foreignkey

The network on the account create the IOT Device on

string

Required

Body Parameters

The details of the new IOT device

IOTDevice
NameDescriptionTypeAdditional information
DeviceUniqueId

The unique device identifier

string

Required

CertificateNames

Collection of string

None.

SOC

Gets and sets the SOC code assigned to the IOTDevice by the API consumer. This is optional and dependent on the billing arrangements.

string

None.

StartDate

Gets the date the IOTDevice was created on

date

None.

EndDate

Get the date the IOTDevice was removed on

date

None.

FriendlyName

Gets and sets an optional friendly name for the device

string

None.

Version

The version of the IOTDevice actor. Every time a change is made to the IOTDevice its version is incremented.

integer

None.

ActorStatus

The IOTDevice actor status. Every resource in the api is represented by an actor. The actor status represents the health of the resource. The ActorStatus can be one of the following values:-<br/> stable = 0 /* everything is ok */ pending = 1 /* an operation is long running */ stalled = 10 /* an unrecoverable error has occurred that will require support desk intervention */

ActorStatusValues

None.

ProvisioningMetaData

Gets and sets optional provisioning data that may be required to be suppled on IOTDevice creation. This will depend on the integration

Dictionary of string [key] and string [value]

None.

Hints

The Hints allow the auto creation of the Account resource. If the account doesn't exist when a IOTDevice is created the Hints can contain information to assist in auto created the Account resource.

AccountHints

None.

InternalSOC

The SOC code assigned to the IOTDevice by the Asavie. This is optional and dependent on the billing arrangements.

string

None.

IPAddress

Gets the IP address assigned to the device. Depending on the topology of the AccountNetwork the device is a member of this may not be applicable

string

None.

Status

StatusValues

None.

NetworkStatus

Gets the connection status of the device to the Passbridge core. It can have one of the following values:-<br/><br/> disconnected = 0 connected = 1 activation = 10

NetworkStatusValues

None.

Enabled

Gets and sets whether the APNDeivce is enabled or disabled on the Passbridge Core

boolean

None.

LastSync

date

None.

Request Formats

application/json, text/json

Sample:
{
  "DeviceUniqueId": "sample string 1",
  "CertificateNames": [
    "sample string 1",
    "sample string 2"
  ],
  "SOC": "sample string 2",
  "StartDate": "2018-12-13T16:19:53.0859641+00:00",
  "EndDate": "2018-12-13T16:19:53.0859641+00:00",
  "FriendlyName": "sample string 4",
  "Version": 5,
  "ActorStatus": 0,
  "ProvisioningMetaData": {
    "sample string 1": "sample string 2",
    "sample string 3": "sample string 4"
  },
  "Hints": {
    "BillingCycleDay": 1,
    "EmailContact": "sample string 2",
    "TenantId": "sample string 3"
  },
  "InternalSOC": "sample string 6",
  "IPAddress": "sample string 7",
  "Status": 0,
  "NetworkStatus": 0,
  "Enabled": true,
  "LastSync": "2018-12-13T16:19:53.0859641+00:00"
}

application/xml, text/xml

Sample:
<IOTDevice xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AS.Models.API">
  <ActorStatus>stable</ActorStatus>
  <CertificateNames xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>sample string 1</d2p1:string>
    <d2p1:string>sample string 2</d2p1:string>
  </CertificateNames>
  <DeviceUniqueId>sample string 1</DeviceUniqueId>
  <Enabled>true</Enabled>
  <EndDate>2018-12-13T16:19:53.0859641+00:00</EndDate>
  <FriendlyName>sample string 4</FriendlyName>
  <Hints>
    <BillingCycleDay>1</BillingCycleDay>
    <EmailContact>sample string 2</EmailContact>
    <TenantId>sample string 3</TenantId>
  </Hints>
  <IPAddress>sample string 7</IPAddress>
  <InternalSOC>sample string 6</InternalSOC>
  <LastSync>2018-12-13T16:19:53.0859641+00:00</LastSync>
  <NetworkStatus>disconnected</NetworkStatus>
  <ProvisioningMetaData xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>sample string 1</d2p1:Key>
      <d2p1:Value>sample string 2</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>sample string 3</d2p1:Key>
      <d2p1:Value>sample string 4</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
  </ProvisioningMetaData>
  <SOC>sample string 2</SOC>
  <StartDate>2018-12-13T16:19:53.0859641+00:00</StartDate>
  <Status>pending</Status>
  <Version>5</Version>
</IOTDevice>

application/x-www-form-urlencoded

Sample:

Failed to generate the sample for media type 'application/x-www-form-urlencoded'. Cannot use formatter 'JQueryMvcFormUrlEncodedFormatter' to write type 'IOTDevice'.

Response Information

Resource Description

The newly created IOT device

PBPRReturnOfIOTDevice
NameDescriptionTypeAdditional information
Data

IOTDevice

None.

Success

Gets the success status of the API call

boolean

None.

Meta

Gets the optional meta-data

Dictionary of string [key] and string [value]

None.

Code

Get the http code of the API call e.g. 200, 202, 409

integer

None.

ErrorCode

Get the failure error code of the API call. This is available if Success is false

integer

None.

ErrorSubCode

Gets the error sub code if available

integer

None.

ErrorDescription

Gets a textual description of the error

string

None.

StatusUrl

Gets the status url for any ACCEPTed API commands. Any command (POST,DELETE,PATCh,PUT) to the API usually returns a 202 response code. The status of the command can be queried using the URL provided

string

None.

ContinuationToken

Gets the token to be used for paged queries

string

None.

Response Formats

application/json, text/json

Sample:
{
  "Success": true,
  "Meta": {
    "sample string 1": "sample string 2",
    "sample string 3": "sample string 4"
  },
  "Code": 2,
  "ErrorCode": 3,
  "Data": {
    "DeviceUniqueId": "sample string 1",
    "CertificateNames": [
      "sample string 1",
      "sample string 2"
    ],
    "SOC": "sample string 2",
    "StartDate": "2018-12-13T16:19:53.0859641+00:00",
    "EndDate": "2018-12-13T16:19:53.0859641+00:00",
    "FriendlyName": "sample string 4",
    "Version": 5,
    "ActorStatus": 0,
    "ProvisioningMetaData": {
      "sample string 1": "sample string 2",
      "sample string 3": "sample string 4"
    },
    "Hints": {
      "BillingCycleDay": 1,
      "EmailContact": "sample string 2",
      "TenantId": "sample string 3"
    },
    "InternalSOC": "sample string 6",
    "IPAddress": "sample string 7",
    "Status": 0,
    "NetworkStatus": 0,
    "Enabled": true,
    "LastSync": "2018-12-13T16:19:53.0859641+00:00"
  },
  "ErrorSubCode": 4,
  "ErrorDescription": "sample string 5",
  "StatusUrl": "sample string 6",
  "ContinuationToken": "18GQjcXU%2BYWuncPLyoCWpA%3D%3D"
}

application/xml, text/xml

Sample:
<PBPRReturnOfIOTDevice7NMnQmOk xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AS.Models.API">
  <Code>2</Code>
  <ContinuationToken>18GQjcXU%2BYWuncPLyoCWpA%3D%3D</ContinuationToken>
  <ErrorCode>3</ErrorCode>
  <ErrorDescription>sample string 5</ErrorDescription>
  <ErrorSubCode>4</ErrorSubCode>
  <Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>sample string 1</d2p1:Key>
      <d2p1:Value>sample string 2</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>sample string 3</d2p1:Key>
      <d2p1:Value>sample string 4</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
  </Meta>
  <StatusUrl>sample string 6</StatusUrl>
  <Success>true</Success>
  <Data>
    <ActorStatus>stable</ActorStatus>
    <CertificateNames xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:string>sample string 1</d3p1:string>
      <d3p1:string>sample string 2</d3p1:string>
    </CertificateNames>
    <DeviceUniqueId>sample string 1</DeviceUniqueId>
    <Enabled>true</Enabled>
    <EndDate>2018-12-13T16:19:53.0859641+00:00</EndDate>
    <FriendlyName>sample string 4</FriendlyName>
    <Hints>
      <BillingCycleDay>1</BillingCycleDay>
      <EmailContact>sample string 2</EmailContact>
      <TenantId>sample string 3</TenantId>
    </Hints>
    <IPAddress>sample string 7</IPAddress>
    <InternalSOC>sample string 6</InternalSOC>
    <LastSync>2018-12-13T16:19:53.0859641+00:00</LastSync>
    <NetworkStatus>disconnected</NetworkStatus>
    <ProvisioningMetaData xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>sample string 1</d3p1:Key>
        <d3p1:Value>sample string 2</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>sample string 3</d3p1:Key>
        <d3p1:Value>sample string 4</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </ProvisioningMetaData>
    <SOC>sample string 2</SOC>
    <StartDate>2018-12-13T16:19:53.0859641+00:00</StartDate>
    <Status>pending</Status>
    <Version>5</Version>
  </Data>
</PBPRReturnOfIOTDevice7NMnQmOk>