X.509 Onboarding

The onboarding is triggered by each customer device by using our Device API during the device’s start-up/initialization phase.
A reference implementation for the service can be found in section 1NCE SDK & Blueprints.

API Documentation

Base URL: device.connectivity-suite.cloud
Protocol: HTTPS

/device-api/onboarding

GET-Parameters:

NameLocated inDescriptionRequiredSchema
AcceptheaderThe Accept request HTTP header advertises which content types, expressed
as MIME types, the client is able to understand.
Default: application/json
Other supported: txt/csv
NoString

Explanation of MIME-types: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types

Responses:

CodeDescriptionSchema
200200 responseCertificates
400400 responseBadRequestResponse
404404 responseNotFoundResponse
500500 responseServerSideErrorResponse
503503 responseERROR

Certificates
Certificates model:

NameTypeDescription
certificatestringDevice Certificate for AWS IoT Core
privateKeystringDevice private Key for AWS IoT Core
amazonRootCaURLstringURL to the AmazonRoot CA or the CA provided directly Accept: text/csv
iotCoreEndpointURLstringAWS Account region-specific AWS IoT Core Endpoint URL
ICCIDstringICCID of the device/SIM

ConflictResponse
API error response when a conflict is found:

NameTypeDescription
statusTextstringHttp status text
errors[ object ]Detailed error information

NotFoundResponse
API response when the resource is not found:

NameTypeDescription
statusTextstringHttp status text
errors[ object ]Detailed error information

ServerSideErrorResponse
API response in case of server-side errors:

NameTypeDescription
statusTextstringHttp status text
errors[ object ]List of errors encountered while calling the API

Example

The following example is an output using a regular curl request from a device with a 1NCE SIM Card

Request: curl –i –v https://device.connectivity-suite.cloud/device-api/onboarding

HTTP/2 200
server: awselb/2.0
date: Mon, 22 Jun 2020 14:26:15 GMT
content-type: application/json; charset=utf-8
content-length: 3156
etag: W/"c54-l8hc4And5ODwW2GDRbihJtLzNrI"
access-control-allow-origin: *

{
    "certificate": "-----BEGIN CERTIFICATE-----\HERE_WOULD_BE_CERTIFICATE\n-----END CERTIFICATE-----\n",
    "privateKey": "-----BEGIN RSA PRIVATE KEY-----\HERE_WOULD_BE_KEY\n-----END RSA PRIVATE KEY-----\n",
    "amazonRootCaUrl": "https://www.amazontrust.com/repository/AmazonRootCA1.pem",
    "iotCoreEndpointUrl": "a259hu9tuXXXXX-ats.iot.eu-central-1.amazonaws.com",
    "ICCID": "898828066600000XXXX”
}