Edge inference package (ADR 0072) — openpi_client + embodiment fail-closed.
| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| modelVersionId | path | string | 是 | OpenAPI 中未发布 |
| Idempotency-Key | header | string | 否 | Optional idempotency key, at most 255 characters (UUIDv4 recommended). A repeated key returns the first response byte-for-byte, including a 5xx. The same key with a different body, or a second in-flight request, returns 409 IDEMPOTENCY_CONFLICT. Keys are unique per tenant and retained for 24 hours. |
{
"type": "object",
"properties": {
"embodimentProfileId": {
"type": "string",
"format": "uuid"
},
"mode": {
"type": "string",
"enum": [
"local",
"remote_ws"
]
},
"strategyKey": {
"type": "string"
},
"remotePolicyHost": {
"type": "string"
},
"remotePolicyPort": {
"type": "number",
"minimum": 1,
"maximum": 65535
},
"steps": {
"type": "number",
"minimum": 1,
"maximum": 100000
},
"targetArch": {
"type": "string",
"description": "Image line (ADR 0145 §6). Jetson is a separate line, not a platform.",
"enum": [
"x86-cuda",
"jetson-jp6",
"cpu"
]
},
"wireProtocols": {
"type": "array",
"description": "Non-empty subset when provided; defaults to `openpi-ws` only.",
"minItems": 1,
"items": {
"type": "string"
},
"enum": [
"openpi-ws",
"lerobot-grpc"
]
},
"useFakeTransport": {
"type": "boolean"
}
},
"required": [
"embodimentProfileId",
"mode"
]
}| 状态码 | 说明 | Content-Type | Schema |
|---|---|---|---|
| 201 | Success | application/json | object |
| 400 | Bad request. Enumerated catalog codes for this operation. | application/problem+json | union |
| 401 | Authentication failed. A specific TOKEN_* cause is returned only when the presented hash matched a stored row. | application/problem+json | union |
| 403 | Authorization failed. PERMISSION_DENIED on an any-of route lists the alternatives in message. | application/problem+json | union |
| 404 | Not found. Enumerated catalog codes for this operation. | application/problem+json | union |
| 409 | Conflict. Enumerated catalog codes for this operation. | application/problem+json | union |
| 429 | Authenticated per-principal or per-tenant request budget exceeded. Rate-limit headers appear only on 429. | application/problem+json | union |
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/EdgeInferencePackageDto"
}
},
"required": [
"data"
]
}{
"allOf": [
{
"$ref": "#/components/schemas/ProblemJson"
},
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
400
]
},
"code": {
"type": "string",
"enum": [
"BAD_REQUEST",
"IDEMPOTENCY_KEY_INVALID",
"IF_MATCH_INVALID",
"IMPORTED_CHECKPOINT_INCOMPLETE",
"IMPORTED_CHECKPOINT_INVALID_PATH",
"MODEL_BUNDLE_OBJECTS_REQUIRED",
"MODEL_BUNDLE_PREFIX_INVALID",
"MODEL_BUNDLE_PREFIX_REQUIRED",
"MODEL_VERSION_INVALID_STATUS",
"TENANT_CONTEXT_MISMATCH",
"TENANT_REQUIRED",
"TRAINING_JOB_HAS_NO_OUTPUT_ARTIFACT",
"TRAINING_JOB_NOT_COMPLETED",
"VALIDATION_ERROR"
]
}
}
}
]
}{
"allOf": [
{
"$ref": "#/components/schemas/PublishedAuthProblem"
},
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
401
]
},
"code": {
"type": "string",
"enum": [
"TOKEN_MALFORMED",
"TOKEN_NOT_FOUND",
"TOKEN_EXPIRED",
"TOKEN_REVOKED",
"UNAUTHORIZED",
"SESSION_EXPIRED",
"ACTIVATION_REQUIRED",
"MFA_REQUIRED"
]
}
}
}
]
}{
"allOf": [
{
"$ref": "#/components/schemas/PublishedAuthProblem"
},
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
403
]
},
"code": {
"type": "string",
"enum": [
"PERMISSION_DENIED",
"PERMISSION_NOT_DECLARED",
"FORBIDDEN",
"MEMBERSHIP_NOT_FOUND",
"MEMBERSHIP_DISABLED",
"MEMBERSHIP_EXPIRED",
"PROJECT_MEMBERSHIP_EXPIRED"
]
}
}
}
]
}{
"allOf": [
{
"$ref": "#/components/schemas/ProblemJson"
},
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
404
]
},
"code": {
"type": "string",
"enum": [
"IMPORTED_CHECKPOINT_NOT_FOUND",
"MODEL_BUNDLE_JOB_NOT_FOUND",
"MODEL_VERSION_NOT_FOUND",
"NOT_FOUND",
"USER_NOTIFICATION_NOT_FOUND"
]
}
}
}
]
}{
"allOf": [
{
"$ref": "#/components/schemas/ProblemJson"
},
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
409
]
},
"code": {
"type": "string",
"enum": [
"IDEMPOTENCY_CONFLICT",
"MODEL_BUNDLE_JOB_NOT_RUNNING"
]
}
}
}
]
}{
"allOf": [
{
"$ref": "#/components/schemas/PublishedAuthProblem"
},
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
429
]
},
"code": {
"type": "string",
"enum": [
"RATE_LIMITED"
]
}
}
}
]
}curl -X POST 'https://api.embodiflow.io/v1/model-versions/{modelVersionId}/edge-inference-package' \
-H 'Authorization: Bearer $EMBODIFLOW_PAT' \
-H 'Content-Type: application/json' \
-d '{}'