Skip to main content

Blueprints API

The Blueprints API helps to manage device blueprints.

Validate Blueprint

POST blueprints/validate

Validates a specified blueprint.

Request

$ curl -X POST \
http://api.enapter.com/v3/blueprints/validate \
-F data=@my_blueprint.zip

Body Parameters

databytesrequired#

A zipped folder with Enapter blueprint.

Response

The list containing validation errors, if occurred.

{
"validation_errors": []
}
{
"validation_errors": ["missed file manifest.yml"]
}

Upload Blueprint

POST blueprints/upload

Uploads blueprint to the Enapter Platform.

Request

$ curl -X POST \
http://api.enapter.com/v3/blueprints/upload \
-H 'X-Enapter-Auth-Token: {ACCESS_TOKEN}' \
-F data=@blueprint2.zip
databytesrequired#

A zipped folder with Enapter blueprint.

Response

{
"blueprint_id": "bluepri2-61n4-4t9d-e6v0-69i310cb110e",
"created_at": 1735689600
}

Get Blueprint

GET blueprints/{blueprint_id}

Returns information about a specified blueprint.

Request

$ curl http://api.enapter.com/v3/blueprints/bluepri2-61n4-4t9d-e6v0-69i310cb110e \
-H 'X-Enapter-Auth-Token: {ACCESS_TOKEN}'

Response

{
"blueprint": {
"id": "bluepri2-61n4-4t9d-e6v0-69i310cb110e",
"created_at": 1735689600,
"full_names": [
{
"namespace": "enapter",
"name": "gas_sensor",
"tag": "2.0"
},
{
"namespace": "enapter",
"name": "gas_sensor",
"tag": "3.0"
}
]
}

}
Blueprintobject#

Blueprint object.

Blueprint.idstring#

Blueprint's ID.

Blueprint.created_atinteger#

The timestamp when the blueprint was first created.

Blueprint.full_namesarray of objects#

A list of FullName objects.

FullName.namespacestring#

Blueprint's namespace. By default, all blueprints belong to the enapter namespace.

Fullname.namestring#

Blueprint's name.

FullName.tagstring#

Blueprint's tag. The tag is used as an optional identifier to specify a particular version or variant of the blueprint.

Get Blueprint By Name

GET blueprints/{namespace}/{name}/{tag}

Returns information about a specified blueprint.

Request

$ curl http://api.enapter.com/v3/blueprints/enapter/electrolyser/3.0 \
-H 'X-Enapter-Auth-Token: {ACCESS_TOKEN}'

Response

{
"blueprint": {
"id": "bluepri2-61n4-4t9d-e6v0-69i310cb110e",
"created_at": 1735689600,
"full_names": [
{
"namespace": "enapter",
"name": "gas_sensor",
"tag": "2.0"
},
{
"namespace": "enapter",
"name": "gas_sensor",
"tag": "3.0"
}
]
}

}
Blueprintobject#

Blueprint object.

Blueprint.idstring#

Blueprint's ID.

Blueprint.created_atinteger#

The timestamp when the blueprint was first created.

Blueprint.full_namesarray of objects#

A list of FullName objects.

FullName.namespacestring#

Blueprint's namespace. By default, all blueprints belong to the enapter namespace.

Fullname.namestring#

Blueprint's name.

FullName.tagstring#

Blueprint's tag. The tag is used as an optional identifier to specify a particular version or variant of the blueprint.

Get Blueprint as .zip archive

GET blueprints/{blueprint_id}/zip

Downloads blueprint as a .zip archive.

Request

$ curl http://api.enapter.com/v3/blueprints/bluepri2-61n4-4t9d-e6v0-69i310cb110e -G \
-H 'X-Enapter-Auth-Token: {ACCESS_TOKEN}' \
-d view=ORIGINAL

Path Parameters

viewstring#
  • ORIGINAL - as the blueprint was uploaded to Enapter Platform.
  • COMPILED - a compiled version of the blueprint.

Response

A .zip archive containing the requested view of the blueprint.

Get Blueprint Compatible Devices

GET blueprints/{blueprint_id}/compatible_devices

Returns lists of runtimes and devices, which are compatible with a specified blueprint.

Request

$ curl http://api.enapter.com/v3/blueprints/bluepri2-61n4-4t9d-e6v0-69i310cb110e/compatible_devices \
-H 'X-Enapter-Auth-Token: {ACCESS_TOKEN}'

Response

{
"devices": [
{
"id": "devicea0-45f2-4e9e-a6f0-69a310ab110b",
"blueprint_id": "bluepri1-50n3-4t9d-e6v0-69i310cb110e",
"name": "Hydrogen detector",
"site_id": "sitebba0-79f2-4e9e-a6f0-69a310ab110b",
"updated_at": 1735689600,
"slug": "gas-detector-in-living-room",
"type": "LUA",
"authorized_role": "INSTALLER"
}
],
"runtimes": [
{
{
"id": "fecbbba0-79f2-4e9e-a6f0-69a310ab110b",
"blueprint_id": "bluepri0-79n2-4t9e-u6c0-69m310ab110b",
"name": "My UCM",
"site_id": "sitebba0-79f2-4e9e-a6f0-69a310ab110b",
"updated_at": 1735689600,
"slug": "my-ucm",
"type": "HARDWARE_UCM",
"authorized_role": "INSTALLER"
}
}
]
}

Get All Device Profiles

GET blueprints/download_device_profiles

Downloads all device profiles from Enapter Platform as a .zip archive.

Request

$ curl http://api.enapter.com/v3/blueprints/download_device_profiles \
-H 'X-Enapter-Auth-Token: {ACCESS_TOKEN}'

Response

A .zip archive containing all profiles from the Enapter platform.

Upload Device Profiles Gateway

POST /blueprints/upload_device_profiles

Uploads specified device profile(s) to the Enapter Platform. The profile(s) then can be used in a device manifest.

Request

$ curl -X POST \
http://api.enapter.com/v3/blueprints/upload_device_profiles \
-H 'X-Enapter-Auth-Token: {ACCESS_TOKEN}' \
-F data=@my_profiles.zip

Body Parameters

databytesrequired#

Profile(s) (directories with a manifest.yml file only) that should be uploaded in a .zip format.

All Rights Reserved © 2025 Enapter AG.