{ "opencollection": "1.0.0", "info": { "name": "Golioth Management Access Devices API", "version": "1.0" }, "request": { "auth": { "type": "apikey", "key": "x-api-key", "value": "{{x-api-key}}", "placement": "header" } }, "items": [ { "info": { "name": "Devices", "type": "folder" }, "items": [ { "info": { "name": "List devices in the project", "type": "http" }, "http": { "method": "GET", "url": "https://api.golioth.io/v1/projects/:projectId/devices", "params": [ { "name": "projectId", "value": "", "type": "path", "description": "Project ID" }, { "name": "page", "value": "", "type": "query", "description": "Pagination page number" }, { "name": "perPage", "value": "", "type": "query", "description": "Pagination items per page.\nMust be between 1 and 100 (inclusive). Default is 100." }, { "name": "deviceName", "value": "", "type": "query", "description": "Filter by device name (full match)" }, { "name": "hardwareId", "value": "", "type": "query", "description": "Filter by hardware ID (full match)" }, { "name": "tags", "value": "", "type": "query", "description": "Filter by tag IDs. Devices must have all specified tags." }, { "name": "blueprintId", "value": "", "type": "query", "description": "Filter by blueprint ID" }, { "name": "statePath", "value": "", "type": "query", "description": "Path to device state to include in the response" }, { "name": "streamPath", "value": "", "type": "query", "description": "Path to device stream data to include in the response" }, { "name": "updatePath", "value": "", "type": "query", "description": "Ignored, kept for backward compatibility" }, { "name": "term", "value": "", "type": "query", "description": "Partial text search term to filter devices by name or hardware IDs" }, { "name": "enabled", "value": "", "type": "query", "description": "Filter by enabled status" }, { "name": "cohortId", "value": "", "type": "query", "description": "Filter by cohort ID" } ] }, "docs": "List devices in the project, optionally applying filters and pagination parameters.\n\nDevices can be filtered by any property, and additionally filtered by a freetext search term." }, { "info": { "name": "Create a new device", "type": "http" }, "http": { "method": "POST", "url": "https://api.golioth.io/v1/projects/:projectId/devices", "params": [ { "name": "projectId", "value": "", "type": "path", "description": "Project ID" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Create a new device with a unique name in an existing project. The tags, blueprint and cohort must already have been created.\n\nIf no hardware ID is specified, a new hardware ID is generated. The device will also be assigned a unique device ID that can be used to fetch it later." }, { "info": { "name": "Get a device by its ID", "type": "http" }, "http": { "method": "GET", "url": "https://api.golioth.io/v1/projects/:projectId/devices/:deviceId", "params": [ { "name": "projectId", "value": "", "type": "path", "description": "Project ID" }, { "name": "deviceId", "value": "", "type": "path", "description": "Device ID" } ] }, "docs": "Get a device by its assigned device ID." }, { "info": { "name": "Update a device", "type": "http" }, "http": { "method": "PUT", "url": "https://api.golioth.io/v1/projects/:projectId/devices/:deviceId", "params": [ { "name": "projectId", "value": "", "type": "path", "description": "Project ID" }, { "name": "deviceId", "value": "", "type": "path", "description": "Device ID" }, { "name": "updateMask", "value": "", "type": "query", "description": "Field mask specifying which fields to update (only used for PATCH requests)" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Use the `PUT` method to replace a device in its entirety, or the `PATCH` method to replace a subset of the device properties.\n\nFor the `PATCH` method, hardware IDs and tags can be added or removed with the `add_...` and `remove_...` properties respectively, or the entire set of hardware IDs or tags can be replaced by assigning a value to their respective properties." }, { "info": { "name": "Update a device", "type": "http" }, "http": { "method": "PATCH", "url": "https://api.golioth.io/v1/projects/:projectId/devices/:deviceId", "params": [ { "name": "projectId", "value": "", "type": "path", "description": "Project ID" }, { "name": "deviceId", "value": "", "type": "path", "description": "Device ID" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Use the `PUT` method to replace a device in its entirety, or the `PATCH` method to replace a subset of the device properties.\n\nFor the `PATCH` method, hardware IDs and tags can be added or removed with the `add_...` and `remove_...` properties respectively, or the entire set of hardware IDs or tags can be replaced by assigning a value to their respective properties." }, { "info": { "name": "Delete a device", "type": "http" }, "http": { "method": "DELETE", "url": "https://api.golioth.io/v1/projects/:projectId/devices/:deviceId", "params": [ { "name": "projectId", "value": "", "type": "path", "description": "Project ID" }, { "name": "deviceId", "value": "", "type": "path", "description": "Device ID" } ] }, "docs": "Permanently delete a device and all its data. Data already pushed to other services by this device will not be removed retroactively." } ] } ], "bundled": true }