This API allows you to manage your IoT hubs and devices.
IoT Device commands.
Attach a device to a given Hub.
Usage:
scw iot device create [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| name | Required Default: <generated> |
Device name |
| hub-id | Required | Hub ID of the device |
| allow-insecure | Defines whether to allow plain and server-authenticated SSL connections in addition to mutually-authenticated ones | |
| allow-multiple-connections | Defines whether to allow multiple physical devices to connect with this device's credentials | |
| message-filters.publish.policy | One of: unknown, accept, reject |
How to use the topic list |
| message-filters.publish.topics.{index} | List of topics to accept or reject. It must be valid MQTT topics and up to 65535 characters | |
| message-filters.subscribe.policy | One of: unknown, accept, reject |
How to use the topic list |
| message-filters.subscribe.topics.{index} | List of topics to accept or reject. It must be valid MQTT topics and up to 65535 characters | |
| description | Device description | |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Remove a specific device from the specific Hub it is attached to.
Usage:
scw iot device delete <device-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| device-id | Required | Device ID |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Disable an existing device, specified by its device ID.
Usage:
scw iot device disable <device-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| device-id | Required | Device ID |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Enable a specific device, specified by its device ID.
Usage:
scw iot device enable <device-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| device-id | Required | Device ID |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Retrieve information about an existing device, specified by its device ID. Its full details, including name, status and ID, are returned in the response object.
Usage:
scw iot device get <device-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| device-id | Required | Device ID |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Get information for a particular PEM-encoded certificate, specified by the device ID. The response returns full details of the device, including its type of certificate.
Usage:
scw iot device get-certificate <device-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| device-id | Required | Device ID |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Get the metrics of an existing device, specified by its device ID.
Usage:
scw iot device get-metrics <device-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| device-id | Required | Device ID |
| start-date | Required | Start date used to compute the best scale for the returned metrics |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
List all devices in the specified region. By default, returned devices are ordered by creation date in ascending order, though this can be modified via the order_by field.
Usage:
scw iot device list [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| order-by | One of: 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, allow_insecure_desc |
Ordering of requested devices |
| name | Name to filter for, only devices with this name will be returned | |
| hub-id | Hub ID to filter for, only devices attached to this Hub will be returned | |
| allow-insecure | Defines whether to filter the allow_insecure flag | |
| status | One of: unknown, error, enabled, disabled |
Device status (enabled, disabled, etc.) |
| region | Default: fr-parOne of: fr-par, all |
Region to target. If none is passed will use default region from the config |
Renew the certificate of an existing device, specified by its device ID.
Usage:
scw iot device renew-certificate <device-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| device-id | Required | Device ID |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Switch the existing certificate of a given device with an EM-encoded custom certificate.
Usage:
scw iot device set-certificate <device-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| device-id | Required | Device ID |
| certificate-pem | Required | PEM-encoded custom certificate |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Update the parameters of an existing device, specified by its device ID.
Usage:
scw iot device update <device-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| device-id | Required | Device ID |
| description | Description for the device | |
| allow-insecure | Defines whether to allow plain and server-authenticated SSL connections in addition to mutually-authenticated ones | |
| allow-multiple-connections | Defines whether to allow multiple physical devices to connect with this device's credentials | |
| message-filters.publish.policy | One of: unknown, accept, reject |
How to use the topic list |
| message-filters.publish.topics.{index} | List of topics to accept or reject. It must be valid MQTT topics and up to 65535 characters | |
| message-filters.subscribe.policy | One of: unknown, accept, reject |
How to use the topic list |
| message-filters.subscribe.topics.{index} | List of topics to accept or reject. It must be valid MQTT topics and up to 65535 characters | |
| hub-id | Change Hub for this device, additional fees may apply, see IoT Hub pricing | |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
IoT Hub commands.
Create a new Hub in the targeted region, specifying its configuration including name and product plan.
Usage:
scw iot hub create [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| name | Required Default: <generated> |
Hub name (up to 255 characters) |
| project-id | Project ID to use. If none is passed the default project ID will be used | |
| product-plan | Required Default: plan_sharedOne of: plan_unknown, plan_shared, plan_dedicated, plan_ha |
Hub product plan |
| disable-events | Disable Hub events | |
| events-topic-prefix | Topic prefix (default '$SCW/events') of Hub events | |
| twins-graphite-config.push-uri | ||
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Delete an existing IoT Hub, specified by its Hub ID. Deleting a Hub is permanent, and cannot be undone.
Usage:
scw iot hub delete <hub-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| hub-id | Required | Hub ID |
| delete-devices | Defines whether to force the deletion of devices added to this Hub or reject the operation | |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Disable an existing IoT Hub, specified by its Hub ID.
Usage:
scw iot hub disable <hub-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| hub-id | Required | Hub ID |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Enable an existing IoT Hub, specified by its Hub ID.
Usage:
scw iot hub enable <hub-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| hub-id | Required | Hub ID |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Retrieve information about an existing IoT Hub, specified by its Hub ID. Its full details, including name, status and endpoint, are returned in the response object.
Usage:
scw iot hub get <hub-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| hub-id | Required | Hub ID |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Get information for a particular PEM-encoded certificate, specified by the Hub ID.
Usage:
scw iot hub get-ca [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| hub-id | Required | |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
List all Hubs in the specified zone. By default, returned Hubs are ordered by creation date in ascending order, though this can be modified via the order_by field.
Usage:
scw iot hub list [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| order-by | One of: name_asc, name_desc, status_asc, status_desc, product_plan_asc, product_plan_desc, created_at_asc, created_at_desc, updated_at_asc, updated_at_desc |
Sort order of Hubs in the response |
| project-id | Only list Hubs of this Project ID | |
| name | Hub name | |
| organization-id | Only list Hubs of this Organization ID | |
| region | Default: fr-parOne of: fr-par, all |
Region to target. If none is passed will use default region from the config |
Set a particular PEM-encoded certificate, specified by the Hub ID.
Usage:
scw iot hub set-ca <hub-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| hub-id | Required | Hub ID |
| ca-cert-pem | Required | CA's PEM-encoded certificate |
| challenge-cert-pem | Required | Proof of possession of PEM-encoded certificate |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Update the parameters of an existing IoT Hub, specified by its Hub ID.
Usage:
scw iot hub update <hub-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| hub-id | Required | ID of the Hub you want to update |
| name | Hub name (up to 255 characters) | |
| product-plan | One of: plan_unknown, plan_shared, plan_dedicated, plan_ha |
Hub product plan |
| disable-events | Disable Hub events | |
| events-topic-prefix | Topic prefix of Hub events | |
| enable-device-auto-provisioning | Enable device auto provisioning | |
| twins-graphite-config.push-uri | ||
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
IoT Network commands.
Create a new network for an existing hub. Beside the default network, you can add networks for different data providers. Possible network types are Sigfox and REST.
Usage:
scw iot network create [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| name | Required Default: <generated> |
Network name |
| type | Required One of: unknown, sigfox, rest |
Type of network to connect with |
| hub-id | Required | Hub ID to connect the Network to |
| topic-prefix | Required | Topic prefix for the Network |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Delete an existing network, specified by its network ID. Deleting a network is permanent, and cannot be undone.
Usage:
scw iot network delete <network-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| network-id | Required | Network ID |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Retrieve an existing network, specified by its network ID. The response returns full details of the network, including its type, the topic prefix and its endpoint.
Usage:
scw iot network get <network-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| network-id | Required | Network ID |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
List the networks.
Usage:
scw iot network list [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| order-by | One of: name_asc, name_desc, type_asc, type_desc, created_at_asc, created_at_desc |
Ordering of requested routes |
| name | Network name to filter for | |
| hub-id | Hub ID to filter for | |
| topic-prefix | Topic prefix to filter for | |
| region | Default: fr-parOne of: fr-par, all |
Region to target. If none is passed will use default region from the config |
IoT Route commands.
Multiple kinds of routes can be created, such as:
- Database Route Create a route that will record subscribed MQTT messages into your database. You need to manage the database by yourself.
- REST Route. Create a route that will call a REST API on received subscribed MQTT messages.
- Amazon S3 Routes.
Create a route that will put subscribed MQTT messages into an Object Storage bucket.
You need to create the bucket yourself and grant write access.
Granting can be done with s3cmd (
s3cmd setacl s3://<my-bucket> --acl-grant=write:555c69c3-87d0-4bf8-80f1-99a2f757d031:555c69c3-87d0-4bf8-80f1-99a2f757d031).
Usage:
scw iot route create [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| name | Default: <generated> |
Route name |
| hub-id | Hub ID of the route | |
| topic | Topic the route subscribes to. It must be a valid MQTT topic and up to 65535 characters | |
| s3-config.bucket-region | ||
| s3-config.bucket-name | ||
| s3-config.object-prefix | ||
| s3-config.strategy | One of: unknown, per_topic, per_message |
|
| db-config.host | ||
| db-config.port | ||
| db-config.dbname | ||
| db-config.username | ||
| db-config.password | ||
| db-config.query | ||
| db-config.engine | One of: unknown, postgresql, mysql |
|
| rest-config.verb | One of: unknown, get, post, put, patch, delete |
|
| rest-config.uri | ||
| rest-config.headers.{key} | ||
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Delete an existing route, specified by its route ID. Deleting a route is permanent, and cannot be undone.
Usage:
scw iot route delete <route-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| route-id | Required | Route ID |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
Get information for a particular route, specified by the route ID. The response returns full details of the route, including its type, the topic it subscribes to and its configuration.
Usage:
scw iot route get <route-id ...> [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| route-id | Required | Route ID |
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |
List all routes in the specified region. By default, returned routes are ordered by creation date in ascending order, though this can be modified via the order_by field.
Usage:
scw iot route list [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| order-by | One of: name_asc, name_desc, hub_id_asc, hub_id_desc, type_asc, type_desc, created_at_asc, created_at_desc |
Ordering of requested routes |
| hub-id | Hub ID to filter for | |
| name | Route name to filter for | |
| region | Default: fr-parOne of: fr-par, all |
Region to target. If none is passed will use default region from the config |
Update the parameters of an existing route, specified by its route ID.
Usage:
scw iot route update [arg=value ...]
Args:
| Name | Description | |
|---|---|---|
| route-id | Required | Route id |
| name | Route name | |
| topic | Topic the route subscribes to. It must be a valid MQTT topic and up to 65535 characters | |
| s3-config.bucket-region | ||
| s3-config.bucket-name | ||
| s3-config.object-prefix | ||
| s3-config.strategy | One of: unknown, per_topic, per_message |
|
| db-config.host | ||
| db-config.port | ||
| db-config.dbname | ||
| db-config.username | ||
| db-config.password | ||
| db-config.query | ||
| db-config.engine | One of: unknown, postgresql, mysql |
|
| rest-config.verb | One of: unknown, get, post, put, patch, delete |
|
| rest-config.uri | ||
| rest-config.headers.{key} | ||
| region | Default: fr-parOne of: fr-par |
Region to target. If none is passed will use default region from the config |