Scaleway IoT Hub is a PaaS enabling device-to-device and device-to-Scaleway communication, you can see it as a managed message broker.
Main features:
We have planned a lot of other exciting features, do not hesitate to reach out to us and say what you would like to see next!
We are available on Scaleway Community Slack on the #iot-hub
channel.
fr-par
).Please refer to our online documentation to get more information.
Managed message brokers
name_asc
, name_desc
, status_asc
, status_desc
, product_plan_asc
, product_plan_desc
, created_at_asc
, created_at_desc
, updated_at_asc
and updated_at_desc
. The default value is name_asc
.error
, enabling
, ready
, disabling
and disabled
. The default value is error
.plan_unknown
, plan_shared
, plan_dedicated
and plan_ha
. The default value is plan_unknown
.{
"total_count": 42,
"hubs": [
{
"id": "string",
"name": "string",
"status": "error",
"product_plan": "plan_unknown",
"enabled": "boolean",
"device_count": 42,
"connected_device_count": 42,
"endpoint": "string",
"events_enabled": "boolean",
"events_topic_prefix": "string",
"region": "string",
"created_at": "string",
"updated_at": "string",
"organization_id": "string"
}
]
}
plan_unknown
, plan_shared
, plan_dedicated
and plan_ha
. The default value is plan_shared
.{
"name": "string",
"organization_id": "string",
"product_plan": "plan_shared",
"disable_events": "boolean",
"events_topic_prefix": "string"
}
error
, enabling
, ready
, disabling
and disabled
. The default value is error
.plan_unknown
, plan_shared
, plan_dedicated
and plan_ha
. The default value is plan_unknown
.{
"id": "string",
"name": "string",
"status": "error",
"product_plan": "plan_unknown",
"enabled": "boolean",
"device_count": 42,
"connected_device_count": 42,
"endpoint": "string",
"events_enabled": "boolean",
"events_topic_prefix": "string",
"region": "string",
"created_at": "string",
"updated_at": "string",
"organization_id": "string"
}
error
, enabling
, ready
, disabling
and disabled
. The default value is error
.plan_unknown
, plan_shared
, plan_dedicated
and plan_ha
. The default value is plan_unknown
.{
"id": "string",
"name": "string",
"status": "error",
"product_plan": "plan_unknown",
"enabled": "boolean",
"device_count": 42,
"connected_device_count": 42,
"endpoint": "string",
"events_enabled": "boolean",
"events_topic_prefix": "string",
"region": "string",
"created_at": "string",
"updated_at": "string",
"organization_id": "string"
}
plan_unknown
, plan_shared
, plan_dedicated
and plan_ha
. The default value is plan_unknown
.{
"name": "string",
"product_plan": "plan_unknown",
"disable_events": "boolean",
"events_topic_prefix": "string"
}
error
, enabling
, ready
, disabling
and disabled
. The default value is error
.plan_unknown
, plan_shared
, plan_dedicated
and plan_ha
. The default value is plan_unknown
.{
"id": "string",
"name": "string",
"status": "error",
"product_plan": "plan_unknown",
"enabled": "boolean",
"device_count": 42,
"connected_device_count": 42,
"endpoint": "string",
"events_enabled": "boolean",
"events_topic_prefix": "string",
"region": "string",
"created_at": "string",
"updated_at": "string",
"organization_id": "string"
}
{
"delete_devices": "boolean"
}
error
, enabling
, ready
, disabling
and disabled
. The default value is error
.plan_unknown
, plan_shared
, plan_dedicated
and plan_ha
. The default value is plan_unknown
.{
"id": "string",
"name": "string",
"status": "error",
"product_plan": "plan_unknown",
"enabled": "boolean",
"device_count": 42,
"connected_device_count": 42,
"endpoint": "string",
"events_enabled": "boolean",
"events_topic_prefix": "string",
"region": "string",
"created_at": "string",
"updated_at": "string",
"organization_id": "string"
}
error
, enabling
, ready
, disabling
and disabled
. The default value is error
.plan_unknown
, plan_shared
, plan_dedicated
and plan_ha
. The default value is plan_unknown
.{
"id": "string",
"name": "string",
"status": "error",
"product_plan": "plan_unknown",
"enabled": "boolean",
"device_count": 42,
"connected_device_count": 42,
"endpoint": "string",
"events_enabled": "boolean",
"events_topic_prefix": "string",
"region": "string",
"created_at": "string",
"updated_at": "string",
"organization_id": "string"
}
{
"metrics": [
{
"name": "string",
"values": [
{
"time": "string",
"value": 42
}
]
}
]
}
Devices allowed to connect to a Hub
name_asc
, name_desc
, status_asc
, status_desc
, hub_id_asc
, hub_id_desc
, created_at_asc
, created_at_desc
, updated_at_asc
, updated_at_desc
, allow_insecure_asc
and allow_insecure_desc
. The default value is name_asc
.error
, enabled
and disabled
. The default value is error
.{
"total_count": 42,
"devices": [
{
"id": "string",
"name": "string",
"status": "error",
"hub_id": "string",
"last_activity_at": "string",
"is_connected": "boolean",
"allow_insecure": "boolean",
"allow_multiple_connections": "boolean",
"message_filters": {
"publish": {
"policy": "unknown",
"topics": [
"string"
]
},
"subscribe": {
"policy": "unknown",
"topics": [
"string"
]
}
},
"created_at": "string",
"updated_at": "string",
"organization_id": "string"
}
]
}
{
"name": "string",
"hub_id": "string",
"allow_insecure": "boolean",
"allow_multiple_connections": "boolean",
"message_filters": {
"publish": {
"policy": "unknown",
"topics": [
"string"
]
},
"subscribe": {
"policy": "unknown",
"topics": [
"string"
]
}
}
}
error
, enabled
and disabled
. The default value is error
.{
"device": {
"id": "string",
"name": "string",
"status": "error",
"hub_id": "string",
"last_activity_at": "string",
"is_connected": "boolean",
"allow_insecure": "boolean",
"allow_multiple_connections": "boolean",
"message_filters": {
"publish": {
"policy": "unknown",
"topics": [
"string"
]
},
"subscribe": {
"policy": "unknown",
"topics": [
"string"
]
}
},
"created_at": "string",
"updated_at": "string",
"organization_id": "string"
},
"crt": "string",
"key": "string"
}
error
, enabled
and disabled
. The default value is error
.{
"id": "string",
"name": "string",
"status": "error",
"hub_id": "string",
"last_activity_at": "string",
"is_connected": "boolean",
"allow_insecure": "boolean",
"allow_multiple_connections": "boolean",
"message_filters": {
"publish": {
"policy": "unknown",
"topics": [
"string"
]
},
"subscribe": {
"policy": "unknown",
"topics": [
"string"
]
}
},
"created_at": "string",
"updated_at": "string",
"organization_id": "string"
}
{
"name": "string",
"allow_insecure": "boolean",
"allow_multiple_connections": "boolean",
"message_filters": {
"publish": {
"policy": "unknown",
"topics": [
"string"
]
},
"subscribe": {
"policy": "unknown",
"topics": [
"string"
]
}
},
"hub_id": "string"
}
error
, enabled
and disabled
. The default value is error
.{
"id": "string",
"name": "string",
"status": "error",
"hub_id": "string",
"last_activity_at": "string",
"is_connected": "boolean",
"allow_insecure": "boolean",
"allow_multiple_connections": "boolean",
"message_filters": {
"publish": {
"policy": "unknown",
"topics": [
"string"
]
},
"subscribe": {
"policy": "unknown",
"topics": [
"string"
]
}
},
"created_at": "string",
"updated_at": "string",
"organization_id": "string"
}
error
, enabled
and disabled
. The default value is error
.{
"id": "string",
"name": "string",
"status": "error",
"hub_id": "string",
"last_activity_at": "string",
"is_connected": "boolean",
"allow_insecure": "boolean",
"allow_multiple_connections": "boolean",
"message_filters": {
"publish": {
"policy": "unknown",
"topics": [
"string"
]
},
"subscribe": {
"policy": "unknown",
"topics": [
"string"
]
}
},
"created_at": "string",
"updated_at": "string",
"organization_id": "string"
}
error
, enabled
and disabled
. The default value is error
.{
"id": "string",
"name": "string",
"status": "error",
"hub_id": "string",
"last_activity_at": "string",
"is_connected": "boolean",
"allow_insecure": "boolean",
"allow_multiple_connections": "boolean",
"message_filters": {
"publish": {
"policy": "unknown",
"topics": [
"string"
]
},
"subscribe": {
"policy": "unknown",
"topics": [
"string"
]
}
},
"created_at": "string",
"updated_at": "string",
"organization_id": "string"
}
{
"metrics": [
{
"name": "string",
"values": [
{
"time": "string",
"value": 42
}
]
}
]
}
Managed routes
name_asc
, name_desc
, hub_id_asc
, hub_id_desc
, type_asc
, type_desc
, created_at_asc
and created_at_desc
. The default value is name_asc
.unknown
, s3
, database
and rest
. The default value is unknown
.{
"total_count": 42,
"routes": [
{
"id": "string",
"name": "string",
"organization_id": "string",
"hub_id": "string",
"topic": "string",
"type": "unknown",
"created_at": "string"
}
]
}
Create a route that will record subscribed MQTT messages into your database.
You need to manage the database by yourself.{
"name": "string",
"hub_id": "string",
"topic": "string",
"query": "string",
"database": {
"host": "string",
"port": 42,
"dbname": "string",
"username": "string",
"password": "string"
}
}
{
"id": "string",
"name": "string",
"organization_id": "string",
"hub_id": "string",
"topic": "string",
"created_at": "string",
"query": "string",
"database": {
"host": "string",
"port": 42,
"dbname": "string",
"username": "string",
"password": "string"
}
}
{
"id": "string",
"name": "string",
"organization_id": "string",
"hub_id": "string",
"topic": "string",
"created_at": "string",
"query": "string",
"database": {
"host": "string",
"port": 42,
"dbname": "string",
"username": "string",
"password": "string"
}
}
Create a route that will call a REST API on received subscribed MQTT messages.
get
, post
, put
, patch
and delete
. The default value is get
.{
"name": "string",
"hub_id": "string",
"topic": "string",
"verb": "get",
"uri": "string",
"headers": {
"<headerKey>": "string"
}
}
get
, post
, put
, patch
and delete
. The default value is get
.{
"id": "string",
"name": "string",
"organization_id": "string",
"hub_id": "string",
"topic": "string",
"created_at": "string",
"verb": "get",
"uri": "string",
"headers": {
"<headerKey>": "string"
}
}
get
, post
, put
, patch
and delete
. The default value is get
.{
"id": "string",
"name": "string",
"organization_id": "string",
"hub_id": "string",
"topic": "string",
"created_at": "string",
"verb": "get",
"uri": "string",
"headers": {
"<headerKey>": "string"
}
}
Create a route that will put subscribed MQTT messages into an S3 bucket. You need to create the bucket yourself and grant us write access:
> s3cmd setacl s3://<my-bucket> --acl-grant=write:555c69c3-87d0-4bf8-80f1-99a2f757d031:555c69c3-87d0-4bf8-80f1-99a2f757d031
{
"name": "string",
"hub_id": "string",
"topic": "string",
"bucket_region": "string",
"bucket_name": "string",
"object_prefix": "string",
"strategy": "per_topic"
}
{
"id": "string",
"name": "string",
"organization_id": "string",
"hub_id": "string",
"topic": "string",
"created_at": "string",
"bucket_region": "string",
"bucket_name": "string",
"object_prefix": "string",
"strategy": "per_topic"
}
{
"id": "string",
"name": "string",
"organization_id": "string",
"hub_id": "string",
"topic": "string",
"created_at": "string",
"bucket_region": "string",
"bucket_name": "string",
"object_prefix": "string",
"strategy": "per_topic"
}
Links to external IoT networks
name_asc
, name_desc
, type_asc
, type_desc
, created_at_asc
and created_at_desc
. The default value is name_asc
.unknown
, sigfox
and rest
. The default value is unknown
.{
"total_count": 42,
"networks": [
{
"id": "string",
"name": "string",
"type": "unknown",
"endpoint": "string",
"hub_id": "string",
"created_at": "string",
"topic_prefix": "string",
"region": "string",
"organization_id": "string"
}
]
}
unknown
, sigfox
and rest
. The default value is unknown
.{
"name": "string",
"organization_id": "string",
"type": "unknown",
"hub_id": "string",
"topic_prefix": "string"
}
unknown
, sigfox
and rest
. The default value is unknown
.{
"network": {
"id": "string",
"name": "string",
"type": "unknown",
"endpoint": "string",
"hub_id": "string",
"created_at": "string",
"topic_prefix": "string",
"region": "string",
"organization_id": "string"
},
"secret": "string"
}
unknown
, sigfox
and rest
. The default value is unknown
.{
"id": "string",
"name": "string",
"type": "unknown",
"endpoint": "string",
"hub_id": "string",
"created_at": "string",
"topic_prefix": "string",
"region": "string",
"organization_id": "string"
}