# Error Codes HWLAB uses JSON-RPC standard errors plus a reserved HWLAB server-error range. | Code | Name | Meaning | | --- | --- | --- | | `-32700` | `parse_error` | Invalid JSON payload. | | `-32600` | `invalid_request` | Invalid JSON-RPC envelope. | | `-32601` | `method_not_found` | Method is unknown to the target service. | | `-32602` | `invalid_params` | Method parameters failed validation. | | `-32603` | `internal_error` | Unexpected service failure. | | `-32000` | `hwlab_unknown` | Unclassified HWLAB runtime error. | | `-32010` | `project_not_found` | Project ID is not known or not visible. | | `-32011` | `session_not_found` | Gateway, agent, or worker session is missing. | | `-32020` | `capability_unavailable` | Requested hardware capability is unavailable. | | `-32021` | `resource_locked` | Box resource is already reserved or running. | | `-32022` | `wiring_invalid` | Wiring config violates topology constraints. | | `-32023` | `operation_rejected` | Hardware operation cannot be accepted. | | `-32030` | `evidence_missing` | Required evidence record was not produced. | | `-32040` | `audit_required` | A mutating action was attempted without audit metadata. | Error responses must include `error.message`. `error.data` should carry stable machine-readable fields such as `projectId`, `sessionId`, `resourceId`, or `operationId` when available.