Device Config

Get Workspace Default Config

Returns the workspace-level default device configuration. This is the base default config with the workspace's config patch (if any) merged in. Use it as a template when provisioning a new device before calling POST /:workspace/devices/v2.

Required scope: device:read

This is a workspace-wide endpoint. Device-scoped API keys will receive 403 since there is no :deviceId in the path.

Example Request

curl "https://api.roboflow.com/{workspace}/devices/v2/default-config?api_key=$ROBOFLOW_API_KEY"

Example Response

{
  "config": {
    "version": "1.0.0",
    "config": {
      "inference": { "confidence": 0.7, "threshold": 0.3 },
      "device_type": "edge"
    },
    "services": {}
  },
  "patch": {
    "config": {
      "inference": { "confidence": 0.7 }
    }
  }
}
  • config -- the merged result (base default + workspace patch).

  • patch -- the workspace's stored patch. Empty object {} if the workspace has no custom patch.

Get Config

Returns the device's current runtime configuration. The response shape mirrors the Roboflow Device Manager (RFDM) config spec.

Required scope: device:read

Get Device Config

get

Returns the device's current runtime configuration. The response includes per-service environment_variables and any integration credentials embedded in the config; treat the body as sensitive.

Authorizations
AuthorizationstringRequired

Roboflow API key passed as a Bearer token.

Path parameters
workspacestringRequired

Workspace ID (URL slug).

deviceIdstringRequired

Device ID.

Responses
200

The current device configuration.

application/json

Full RFDM configuration document.

Other propertiesanyOptional
get
/{workspace}/devices/v2/{deviceId}/config

Example Request

The response is the full configuration document and includes (but is not limited to) the following top-level fields:

  • device_id, device_name

  • workspace_id

  • version, last_updated, last_updated_at, created_at

  • config (the device's runtime config tree, including device_type, stream, and offline_mode)

  • services (per-service container definitions including image, volumes, and environment_variables)

  • environment_variables (top-level environment variables, in addition to the per-service ones inside services)

  • production_mode, last_automatic_update, updated, updated_by, $schema, id

Additional fields written by RFDM may also appear. Treat the response shape as open-ended and only depend on the fields you need.

Returns 404 if the device does not exist or does not belong to your workspace, or if no configuration is stored for it.

Config History

List prior configuration revisions for a device, newest first.

Required scope: device:read

List Config Revisions

get

List prior configuration revisions for a device, newest first.

Authorizations
AuthorizationstringRequired

Roboflow API key passed as a Bearer token.

Path parameters
workspacestringRequired

Workspace ID (URL slug).

deviceIdstringRequired

Device ID.

Query parameters
limitinteger · min: 1 · max: 500Optional

Number of revisions to return. Clamped to 1-500.

Default: 10
cursorstringOptional

Opaque pagination cursor from a previous response. Pass back next_cursor to fetch the next page.

Responses
200

A page of revisions, newest first.

application/json
get
/{workspace}/devices/v2/{deviceId}/config/history

Example Request

Example Response

A malformed cursor returns 400 with {"error": "Invalid cursor format"}.

Last updated

Was this helpful?