EmbodiFlowDocs
Get startedDataWorkflows and algorithmsTraining and deploymentDeveloper reference
  • Developer reference

Authentication

  • Authentication overview
  • API keys
  • Personal access tokens
  • Browser sessions

REST API

  • Using the REST API
  • All endpoints
  • Projects
    • Recordings
      • Upload
        • Episodes and versions
          • Annotation
            • Quality and tasks
              • Search
                • Workflows
                  • Algorithms
                    • GET
                      List algorithms
                    • POST
                      Create a algorithm
                    • GET
                      Get a algorithm
                    • GET
                      List builds for a algorithm
                    • POST
                      Create a build
                    • GET
                      Get a build
                    • GET
                      List logs for a build
                    • POST
                      Create a retry
                    • GET
                      List used by for a algorithm
                    • GET
                      List versions for a algorithm
                    • POST
                      Create a version
                    • GET
                      Get a version
                    • PATCH
                      Update a version
                    • POST
                      Builds the image of a Python version: no build when it has no requirements (the platform base image is used), otherwise a queued cloud build (no reuse of an earlier version's image). Idempotent: a version with an image or an active build answers with it.
                    • POST
                      Create a registry token
                    • POST
                      Create a sample run
                    • GET
                      Get a sample run
                    • POST
                      Lowest version a save of this source or image may carry (the proposal of the interface change); writes nothing.
                    • GET
                      Categories with default ports, data types, semantic types, facts, the SDK index and a starter per category
                    • GET
                      Docker registry token protocol (non-envelope). HTTP Basic password is a PAT.
                  • Models
                    • Artifacts and export
                      • Billing and usage
                        • Team and governance
                          • Account and notifications
                            • Webhook endpoints

                              Events

                              • Outbound events
                              • Signature verification

                              Tools

                              • CLI
                              • SDK
                              • MCP

                              Updates

                              • Changelog

                              © 2026 EmbodiFlow

                              llms.txtOpenAPI JSON
                              1. Developer reference
                              2. REST API
                              3. Algorithms
                              4. Create a sample run

                              Create a sample run

                              POST
                              /v1/algorithms/sample-runs
                              curl -X POST 'https://api.embodiflow.io/v1/algorithms/sample-runs' \
                                -H 'Authorization: Bearer $EMBODIFLOW_PAT' \
                                -H 'Content-Type: application/json' \
                                -d '{
                                  "source": "string",
                                  "algorithmVersion": {
                                    "algorithmId": "00000000-0000-0000-0000-000000000000",
                                    "version": "string"
                                  },
                                  "inputs": {
                                    "recordingId": "00000000-0000-0000-0000-000000000000",
                                    "episode": {
                                      "recordingId": "00000000-0000-0000-0000-000000000000",
                                      "index": 0
                                    },
                                    "versionId": "00000000-0000-0000-0000-000000000000"
                                  },
                                  "window": {},
                                  "params": {}
                                }'

                              Authorization

                              Send a personal access token with every request.

                              • Authorization: Bearer PAT
                              Authentication guide

                              Header parameters

                              • Idempotency-Keystring

                                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.

                              Request body

                              Content-Typeapplication/json
                              • sourcestring | null
                              • algorithmVersionobject | null
                                • algorithmIdstring (uuid)required
                                • versionstringrequired
                              • inputsobjectrequired
                                • recordingIdstring (uuid) | null
                                • episodeobject | null
                                • versionIdstring (uuid) | null
                              • windowobject | null
                              • paramsobject | null

                              Responses

                              Run accepted; poll GET for state

                              • dataobjectrequired
                                • idstringrequired
                                • statestringrequired
                                  Allowed values
                                  queued
                                  running
                                  succeeded
                                  failed
                                  timed_out
                                • recordingIdsarray<string>required
                                • inputKindstringrequired
                                  Allowed values
                                  metadata_only
                                  recording_files
                                  version_files
                                • inputBytesnumber | nullrequired
                                • deadlineSecondsnumberrequired
                                • createdAtstringrequired
                                • startedAtstring | nullrequired
                                • finishedAtstring | nullrequired
                                • resultobjectrequired
                              Response example
                              {
                                "data": {
                                  "id": "string",
                                  "state": "queued",
                                  "recordingIds": [
                                    "string"
                                  ],
                                  "inputKind": "metadata_only",
                                  "inputBytes": 0,
                                  "deadlineSeconds": 0,
                                  "createdAt": "string",
                                  "startedAt": "string",
                                  "finishedAt": "string",
                                  "result": {
                                    "state": "succeeded",
                                    "durationMs": 0,
                                    "logs": "string",
                                    "logsTruncated": false,
                                    "outputs": [
                                      {
                                        "name": "string",
                                        "type": "string",
                                        "summary": "string"
                                      }
                                    ],
                                    "preview": {
                                      "contract": "embodiflow-sample-preview/v1",
                                      "category": "export",
                                      "window": {
                                        "startS": 0,
                                        "endS": 0
                                      },
                                      "outcome": "succeeded",
                                      "series": [
                                        {
                                          "name": "string",
                                          "type": "string",
                                          "unit": "string",
                                          "columns": [],
                                          "t": [],
                                          "y": [],
                                          "rows": 0
                                        }
                                      ],
                                      "recordingValues": [
                                        {
                                          "name": "string",
                                          "type": "string"
                                        }
                                      ],
                                      "episodeValues": [
                                        {
                                          "name": "string",
                                          "type": "string",
                                          "values": []
                                        }
                                      ],
                                      "checks": [
                                        {
                                          "id": "string",
                                          "title": "string",
                                          "status": "warn",
                                          "value": 0,
                                          "threshold": 0,
                                          "message": "string",
                                          "at": {},
                                          "episodeIndex": 0
                                        }
                                      ],
                                      "episodes": [
                                        {
                                          "index": 0,
                                          "startS": 0,
                                          "endS": 0,
                                          "task": "string",
                                          "labels": {},
                                          "confidence": 0
                                        }
                                      ],
                                      "selection": {
                                        "kept": 0,
                                        "dropped": 0,
                                        "items": [
                                          {}
                                        ]
                                      },
                                      "canonical": {
                                        "ok": false,
                                        "issues": [
                                          {}
                                        ]
                                      },
                                      "artifact": {
                                        "format": "string",
                                        "files": [
                                          {}
                                        ],
                                        "summary": {}
                                      },
                                      "logs": "string",
                                      "errors": [
                                        {
                                          "code": "string",
                                          "message": "string",
                                          "file": "string",
                                          "line": 0
                                        }
                                      ]
                                    },
                                    "error": {
                                      "code": "string",
                                      "message": "string"
                                    }
                                  }
                                }
                              }
                              Servershttps://api.embodiflow.io/v1https://api.embodiflow.dev/v1
                              Previous

                              POST /algorithms/registry-tokens

                              Next

                              GET /algorithms/sample-runs/{id}

                              curl -X POST 'https://api.embodiflow.io/v1/algorithms/sample-runs' \
                                -H 'Authorization: Bearer $EMBODIFLOW_PAT' \
                                -H 'Content-Type: application/json' \
                                -d '{
                                  "source": "string",
                                  "algorithmVersion": {
                                    "algorithmId": "00000000-0000-0000-0000-000000000000",
                                    "version": "string"
                                  },
                                  "inputs": {
                                    "recordingId": "00000000-0000-0000-0000-000000000000",
                                    "episode": {
                                      "recordingId": "00000000-0000-0000-0000-000000000000",
                                      "index": 0
                                    },
                                    "versionId": "00000000-0000-0000-0000-000000000000"
                                  },
                                  "window": {},
                                  "params": {}
                                }'
                              Response example
                              Status code
                              202
                              ​
                              {
                                "data": {
                                  "id": "string",
                                  "state": "queued",
                                  "recordingIds": [
                                    "string"
                                  ],
                                  "inputKind": "metadata_only",
                                  "inputBytes": 0,
                                  "deadlineSeconds": 0,
                                  "createdAt": "string",
                                  "startedAt": "string",
                                  "finishedAt": "string",
                                  "result": {
                                    "state": "succeeded",
                                    "durationMs": 0,
                                    "logs": "string",
                                    "logsTruncated": false,
                                    "outputs": [
                                      {
                                        "name": "string",
                                        "type": "string",
                                        "summary": "string"
                                      }
                                    ],
                                    "preview": {
                                      "contract": "embodiflow-sample-preview/v1",
                                      "category": "export",
                                      "window": {
                                        "startS": 0,
                                        "endS": 0
                                      },
                                      "outcome": "succeeded",
                                      "series": [
                                        {
                                          "name": "string",
                                          "type": "string",
                                          "unit": "string",
                                          "columns": [],
                                          "t": [],
                                          "y": [],
                                          "rows": 0
                                        }
                                      ],
                                      "recordingValues": [
                                        {
                                          "name": "string",
                                          "type": "string"
                                        }
                                      ],
                                      "episodeValues": [
                                        {
                                          "name": "string",
                                          "type": "string",
                                          "values": []
                                        }
                                      ],
                                      "checks": [
                                        {
                                          "id": "string",
                                          "title": "string",
                                          "status": "warn",
                                          "value": 0,
                                          "threshold": 0,
                                          "message": "string",
                                          "at": {},
                                          "episodeIndex": 0
                                        }
                                      ],
                                      "episodes": [
                                        {
                                          "index": 0,
                                          "startS": 0,
                                          "endS": 0,
                                          "task": "string",
                                          "labels": {},
                                          "confidence": 0
                                        }
                                      ],
                                      "selection": {
                                        "kept": 0,
                                        "dropped": 0,
                                        "items": [
                                          {}
                                        ]
                                      },
                                      "canonical": {
                                        "ok": false,
                                        "issues": [
                                          {}
                                        ]
                                      },
                                      "artifact": {
                                        "format": "string",
                                        "files": [
                                          {}
                                        ],
                                        "summary": {}
                                      },
                                      "logs": "string",
                                      "errors": [
                                        {
                                          "code": "string",
                                          "message": "string",
                                          "file": "string",
                                          "line": 0
                                        }
                                      ]
                                    },
                                    "error": {
                                      "code": "string",
                                      "message": "string"
                                    }
                                  }
                                }
                              }