Create a workflow run
| 名称 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| projectId | 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": {
"revisionRef": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"normal",
"test"
]
},
"input": {
"$ref": "#/components/schemas/Record"
},
"params": {
"$ref": "#/components/schemas/Record"
}
}
}| 状态码 | 说明 | Content-Type | Schema |
|---|---|---|---|
| 201 | Success | application/json | union |
| 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 |
{
"oneOf": [
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"runIndex": {
"type": "number"
},
"stepId": {
"type": "string"
},
"scopeKey": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"system",
"algorithm",
"gather",
"review"
]
},
"recordingId": {
"type": "string",
"nullable": true
},
"dataVersion": {
"type": "string",
"nullable": true
},
"algorithmRevisionId": {
"type": "string",
"nullable": true
},
"algorithmVersion": {
"type": "string",
"nullable": true
},
"cached": {
"oneOf": [
{
"type": "boolean",
"enum": [
false
]
},
{
"type": "boolean",
"enum": [
true
]
}
]
},
"dependsOn": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"runIndex",
"stepId",
"scopeKey",
"kind",
"recordingId",
"dataVersion",
"algorithmRevisionId",
"algorithmVersion",
"cached",
"dependsOn"
]
}
},
"recordings": {
"type": "object",
"properties": {
"included": {
"type": "array",
"items": {
"type": "object",
"properties": {
"recordingId": {
"type": "string"
},
"captureSessionId": {
"type": "string",
"nullable": true
},
"sessionRole": {
"type": "string",
"enum": [
"other",
"calibration",
"mapping",
"gripper_calibration",
"demo"
],
"nullable": true
}
},
"required": [
"recordingId",
"captureSessionId",
"sessionRole"
]
}
},
"skipped": {
"type": "array",
"items": {
"type": "object",
"properties": {
"recordingId": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"required": [
"recordingId",
"reason"
]
}
}
},
"required": [
"included",
"skipped"
]
},
"estimate": {
"$ref": "#/components/schemas/FlowEstimate"
},
"cachedSteps": {
"type": "number"
},
"workflowRevisionId": {
"type": "string"
},
"planToken": {
"type": "string"
},
"runGroupId": {
"type": "object",
"additionalProperties": true
},
"runs": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"steps",
"recordings",
"estimate",
"cachedSteps",
"workflowRevisionId",
"planToken"
]
}
},
"required": [
"data"
]
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"runGroupId": {
"type": "string"
},
"runs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FlowRunSummary"
}
},
"steps": {
"type": "object",
"additionalProperties": true
},
"recordings": {
"type": "object",
"additionalProperties": true
},
"estimate": {
"type": "object",
"additionalProperties": true
},
"cachedSteps": {
"type": "object",
"additionalProperties": true
},
"workflowRevisionId": {
"type": "object",
"additionalProperties": true
},
"planToken": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"runGroupId",
"runs"
]
}
},
"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",
"IMPORT_EXECUTION_FAILED",
"IMPORT_VALIDATION_FAILED",
"INVALID_PERMISSION_OVERLAY",
"INVALID_ROLE_TRANSITION",
"TENANT_CONTEXT_MISMATCH",
"TENANT_REQUIRED",
"VALIDATION_ERROR",
"WORKFLOW_DEFINITION_REVISION_NOT_PUBLISHED"
]
}
}
}
]
}{
"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": [
"IMPORT_JOB_NOT_FOUND",
"IMPORT_SOURCE_NOT_FOUND",
"NOT_FOUND",
"PIPELINE_BINDING_NOT_FOUND",
"PROJECT_NOT_FOUND",
"RESOURCE_NOT_FOUND",
"USER_NOTIFICATION_NOT_FOUND",
"WORKFLOW_DEFINITION_NOT_FOUND",
"WORKFLOW_NOT_FOUND",
"WORKFLOW_NOT_VISIBLE",
"WORKFLOW_REVISION_NOT_FOUND"
]
}
}
}
]
}{
"allOf": [
{
"$ref": "#/components/schemas/ProblemJson"
},
{
"type": "object",
"properties": {
"status": {
"type": "integer",
"enum": [
409
]
},
"code": {
"type": "string",
"enum": [
"IDEMPOTENCY_CONFLICT",
"IMPORT_SOURCE_CHANGED",
"LAST_OWNER_PROTECTION",
"PIPELINE_BINDING_ALREADY_EXISTS",
"SLUG_GENERATION_CONFLICT",
"WORKFLOW_DEFINITION_CODE_CONFLICT"
]
}
}
}
]
}{
"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/projects/{projectId}/workflow-runs' \
-H 'Authorization: Bearer $EMBODIFLOW_PAT' \
-H 'Content-Type: application/json' \
-d '{}'