API Reference
GET /machines/{machine_id}
Return a peaqOS Machine Card for a machine identified by its numeric machine ID.
GET
GET /machines/{machine_id}
Endpoint
Path parameters
On-chain machine ID (not an NFT token ID and not a DID)
Response
200 OK| Field | Type | Description |
|---|---|---|
type | string | peaqOS registration type: "peaqos:registration:v1" |
name | string | "Machine #<machine_id>" |
description | string | Fixed string: "peaqOS machine" |
did | string | Machine DID derived from the machine wallet address (did:peaq:<wallet_address>) |
active | boolean | Always true for registered machines |
services | array | List of service endpoints. Contains one "web" entry if a data_api attribute is configured on the DID document; otherwise empty. |
services[].name | string | "web" |
services[].endpoint | string | Value of the data_api DID attribute |
data_visibility | string | "private", "onchain", or "public". Defaults to "private" if the DID document has no data_visibility attribute. |
documentation_url | string | Documentation URL from the DID document. Empty string if not set. |
operator | string or null | Operator DID from the DID document |
bond_status | string | "bonded" or "unbonded" |
event_count | integer | Total on-chain event count |
registrations | array | List of registry references (always one entry) |
registrations[].type | string | "peaqos:registration:v1" |
registrations[].machineId | integer | The machine’s on-chain ID |
registrations[].machineRegistry | string | CAIP-compatible registry identifier: eip155:<chainId>:<registryAddress> |
chainId in machineRegistry is read from the connected RPC at server startup (default 3338 for peaq ). The registryAddress is the IdentityRegistry contract address.
Error responses
| Status | detail | Condition |
|---|---|---|
| 404 | "Machine not found" | Machine ID does not exist in the IdentityRegistry contract |
| 404 | "Machine wallet not found" | The machine’s wallet address is the zero address (0x0000...0000) |
| 422 | (FastAPI validation error) | machine_id is less than 1 or not an integer |
| 503 | "Service not initialised" | Server started without contract addresses |
| 503 | "Chain unavailable" | Any chain or DID call failed |
Example
Related endpoints
- GET /machine/ returns the full machine profile with MCR score and data visibility-dependent fields.
- GET /mcr/ returns the detailed MCR score, revenue trend, and revenue summary.
- GET /metadata/ returns NFT metadata for a MachineNFT token.
Previous
GET /health and GET /readyLiveness and readiness probes for monitoring the peaqOS MCR API server.
Next
GET /machines/{machine_id}

