1. Overview

SymbIoTe CloudCoreInterface Description

1.1. Version information

Version : 3.0.0

1.2. Contact information

Contact : Artur Jaworski
Contact Email : artur.jaworski@man.poznan.pl

1.3. License information

License : GNU Lesser General Public License v3.0
License URL : https://github.com/symbiote-h2020/CloudCoreInterface/blob/master/LICENSE.txt
Terms of service : null

1.4. URI scheme

1.5. Tags

  • Cloud Core Interface Controller : Operations of Cloud Core Interface Controller

1.6. Produces

  • application/json

2. Resources

2.1. Cloud Core Interface Controller

Operations of Cloud Core Interface Controller

2.1.1. Access notifications handler

POST /cloudCoreInterface/accessNotifications
Description

Access notifications handler

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Body

notificationMessage
required

Request body, containing notification message

NotificationMessage

Responses
HTTP Code Description Schema

200

Notification received OK

ResponseEntity

201

Created

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

No Content

500

Error on server side

No Content

Consumes
  • application/json

2.1.2. Device status update

POST /cloudCoreInterface/crm/Monitoring/{platformId}/devices/status
Description

Notify Core Resource Monitor of platform status

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Path

platformId
required

ID of a platform that the device belongs to

string

Body

cloudMonitoringPlatform
required

Current status information that CRM should be notified of

CloudMonitoringPlatform

Responses
HTTP Code Description Schema

200

OK

string

201

Created

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

No Content

500

Error on server side

No Content

Consumes
  • application/json

2.1.3. Clear data

POST /cloudCoreInterface/platforms/{platformId}/clearData
Description

Clear all resources of the platform

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Path

platformId
required

ID of a platform for which resources should be cleared

string

Responses
HTTP Code Description Schema

200

Returns success message

string

201

Created

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

No Content

500

Error on server side

No Content

Consumes
  • application/json

2.1.4. Register resources (RDF)

POST /cloudCoreInterface/platforms/{platformId}/rdfResources
Description

Register resources using extended RDF description

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Path

platformId
required

ID of a platform that resources belong to

string

Body

resourceRegistryRequest
required

Request body, containing RDF description of resources to register

RDFResourceRegistryRequest

Responses
HTTP Code Description Schema

200

Returns resources map in a form <internalId, Resource>

string

201

Created

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

No Content

500

Error on server side

No Content

Consumes
  • application/json

2.1.5. Modify resources (RDF)

PUT /cloudCoreInterface/platforms/{platformId}/rdfResources
Description

Modify registered resources using extended RDF description

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Path

platformId
required

ID of a platform that resources belong to

string

Body

resourceRegistryRequest
required

Request body, containing RDF description of resources to modify

RDFResourceRegistryRequest

Responses
HTTP Code Description Schema

200

Returns resources map in a form <internalId, Resource>

string

201

Created

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

No Content

500

Error on server side

No Content

Consumes
  • application/json

2.1.6. Delete resources (RDF)

DELETE /cloudCoreInterface/platforms/{platformId}/rdfResources
Description

Delete registered resources using extended RDF description

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Path

platformId
required

ID of a platform that resources belong to

string

Body

resourceRegistryRequest
required

Request body, containing RDF description of resources to delete

RDFResourceRegistryRequest

Responses
HTTP Code Description Schema

200

Returns resources map in a form <internalId, Resource>

string

204

No Content

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

500

Error on server side

No Content

2.1.7. Create resources (JSON)

POST /cloudCoreInterface/platforms/{platformId}/resources
Description

Create resources using basic JSON description

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Path

platformId
required

ID of a platform that resources belong to

string

Body

resourceRegistryRequest
required

Request body, containing JSON description of resources to create

ResourceRegistryRequest

Responses
HTTP Code Description Schema

200

Returns resources map in a form <internalId, Resource>

string

201

Created

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

No Content

500

Error on server side

No Content

Consumes
  • application/json

2.1.8. Modify resources (JSON)

PUT /cloudCoreInterface/platforms/{platformId}/resources
Description

Modify resources using basic JSON description

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Path

platformId
required

ID of a platform that resources belong to

string

Body

resourceRegistryRequest
required

Request body, containing JSON description of resources to modify

ResourceRegistryRequest

Responses
HTTP Code Description Schema

200

Returns resources map in a form <internalId, Resource>

string

201

Created

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

No Content

500

Error on server side

No Content

Consumes
  • application/json

2.1.9. Delete resources (JSON)

DELETE /cloudCoreInterface/platforms/{platformId}/resources
Description

Delete resources using basic JSON description

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Path

platformId
required

ID of a platform that resources belong to

string

Body

resourceRegistryRequest
required

Request body, containing JSON description of resources to delete

ResourceRegistryRequest

Responses
HTTP Code Description Schema

200

Returns resources map in a form <internalId, Resource>

string

204

No Content

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

500

Error on server side

No Content

2.1.10. Create a smart device

POST /cloudCoreInterface/ssps/{sspId}/sdevs
Description

Create a smart device

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Path

sspId
required

ID of an SSP

string

Body

sdevRegistryRequest
required

Request object describing an sdev

SdevRegistryRequest

Responses
HTTP Code Description Schema

200

OK

SdevRegistryResponse

201

Created

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

No Content

500

Error on server side

No Content

Consumes
  • application/json

2.1.11. Modify a smart device

PUT /cloudCoreInterface/ssps/{sspId}/sdevs
Description

Modify a smart device

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Path

sspId
required

ID of an SSP

string

Body

sdevRegistryRequest
required

Request object describing an sdev

SdevRegistryRequest

Responses
HTTP Code Description Schema

200

OK

SdevRegistryResponse

201

Created

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

No Content

500

Error on server side

No Content

Consumes
  • application/json

2.1.12. Delete a smart device

DELETE /cloudCoreInterface/ssps/{sspId}/sdevs
Description

Delete a smart device

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Path

sspId
required

ID of an SSP

string

Body

sdevRegistryRequest
required

Request object describing an sdev

SdevRegistryRequest

Responses
HTTP Code Description Schema

200

OK

SdevRegistryResponse

204

No Content

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

500

Error on server side

No Content

2.1.13. Create an SSP resource

POST /cloudCoreInterface/ssps/{sspId}/sdevs/{sdevId}/resources
Description

Create an SSP resource

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Path

sdevId
required

ID of an sdev

string

Path

sspId
required

ID of an SSP

string

Body

sspResourceRegistryRequest
required

Request object describing an ssp resource

SspResourceRegistryRequest

Responses
HTTP Code Description Schema

200

OK

SspResourceReqistryResponse

201

Created

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

No Content

500

Error on server side

No Content

Consumes
  • application/json

2.1.14. Modify an SSP resource

PUT /cloudCoreInterface/ssps/{sspId}/sdevs/{sdevId}/resources
Description

Modify an SSP resource

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Path

sdevId
required

ID of an sdev

string

Path

sspId
required

ID of an SSP

string

Body

sspResourceRegistryRequest
required

Request object describing an ssp resource

SspResourceRegistryRequest

Responses
HTTP Code Description Schema

200

OK

SspResourceReqistryResponse

201

Created

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

404

Not Found

No Content

500

Error on server side

No Content

Consumes
  • application/json

2.1.15. Delete an SSP resource

DELETE /cloudCoreInterface/ssps/{sspId}/sdevs/{sdevId}/resources
Description

Delete an SSP resource

Parameters
Type Name Description Schema

Header

x-auth-*
required

each SecurityCredentials entry header, they are numbered 1..size

string

Header

x-auth-size
required

securityCredentials set size header

string

Header

x-auth-timestamp
required

timestamp of the request

string

Path

sdevId
required

ID of an sdev

string

Path

sspId
required

ID of an SSP

string

Body

sspResourceRegistryRequest
required

Request object describing an ssp resource

SspResourceRegistryRequest

Responses
HTTP Code Description Schema

200

OK

SspResourceReqistryResponse

204

No Content

No Content

401

Unauthorized

No Content

403

Forbidden

No Content

500

Error on server side

No Content

3. Definitions

3.1. CloudMonitoringDevice

Name Schema

id
optional

string

metrics
optional

< Metric > array

3.2. CloudMonitoringPlatform

Name Schema

metrics
optional

< CloudMonitoringDevice > array

platformId
optional

string

3.3. FailedAccessMessageInfo

Name Schema

appId
optional

string

code
optional

string

issuer
optional

string

message
optional

string

requestParams
optional

string

symbIoTeId
optional

string

timestamp
optional

< string(date-time) > array

validationStatus
optional

string

3.4. IAccessPolicySpecifier

Type : object

3.5. Metric

Name Schema

date
optional

string(date-time)

tag
optional

string

value
optional

string

3.6. NotificationMessage

Name Schema

failedAttempts
optional

< FailedAccessMessageInfo > array

successfulAttempts
optional

< SuccessfulAccessMessageInfo > array

successfulPushes
optional

< SuccessfulPushesMessageInfo > array

3.7. RDFInfo

Name Schema

rdf
optional

string

rdfFormat
optional

enum (TURTLE, NTRIPLES, RDFXML, N3, JSONLD)

3.8. RDFResourceRegistryRequest

Name Schema

body
optional

RDFInfo

filteringPolicies
optional

< string, IAccessPolicySpecifier > map

interworkingServiceUrl
optional

string

3.9. Resource

Description of a Resource. Can be one of following subclasses: Actuator, Service, ActuatingService, StationarySensor, StationaryDevice, MobileSensor, MobileDevice (consult SymbIoTeLibraries documentation for API).

Name Schema

description
optional

< string > array

id
optional

string

interworkingServiceURL
optional

string

name
optional

string

3.10. ResourceRegistryRequest

Name Schema

body
optional

< string, Resource > map

filteringPolicies
optional

< string, IAccessPolicySpecifier > map

3.11. ResourceRegistryResponse

Name Schema

body
optional

< string, Resource > map

message
optional

string

status
optional

integer(int32)

3.12. ResponseEntity

Name Schema

body
optional

object

statusCode
optional

enum (100, 101, 102, 103, 200, 201, 202, 203, 204, 205, 206, 207, 208, 226, 300, 301, 302, 303, 304, 305, 307, 308, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 426, 428, 429, 431, 451, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511)

statusCodeValue
optional

integer(int32)

3.13. SdevRegistryRequest

Name Schema

body
optional

SspRegInfo

3.14. SdevRegistryResponse

Name Schema

body
optional

SspRegInfo

message
optional

string

status
optional

integer(int32)

3.15. SspRegInfo

Name Schema

dk1
optional

string

hashField
optional

string

pluginId
optional

string

pluginURL
optional

string

roaming
optional

boolean

sspId
optional

string

symId
optional

string

3.16. SspResourceRegistryRequest

Name Schema

body
optional

< string, Resource > map

filteringPolicies
optional

< string, IAccessPolicySpecifier > map

3.17. SspResourceReqistryResponse

Name Schema

body
optional

< string, Resource > map

message
optional

string

status
optional

integer(int32)

3.18. SuccessfulAccessMessageInfo

Name Schema

accessType
optional

string

symbIoTeId
optional

string

timestamp
optional

< string(date-time) > array

3.19. SuccessfulPushesMessageInfo

Name Schema

symbIoTeId
optional

string

timestamp
optional

< string(date-time) > array