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
                    • Models
                      • Artifacts and export
                        • GET
                          List artifacts
                        • GET
                          Get a artifact
                        • GET
                          List compute profiles
                        • GET
                          List deployment packages
                        • POST
                          Create a deployment package
                        • GET
                          Get a deployment package
                        • GET
                          List download sessions
                        • POST
                          Create a download session
                        • GET
                          Get a download session
                        • POST
                          Presigned GET URLs for CLI / scripts; auth = download sessionToken only.
                        • GET
                          List embodiment profiles
                        • GET
                          Get a embodiment profile
                        • GET
                          List gpu class profiles
                        • POST
                          Create a completion request
                        • GET
                          List inference deployments
                        • POST
                          Create a inference deployment
                        • GET
                          Get a inference deployment
                        • POST
                          Connection details for a robot client (ADR 0145 §4). Read-tier because it hands out a dial target and the deployment's own token, not because it is harmless — the token is the credential guarding both wires, so the response carries no internal Kubernetes identifier.
                        • POST
                          Create a control request
                        • POST
                          Create a invocation
                        • GET
                          List model image definitions
                        • POST
                          Create a model image definition
                        • GET
                          Get a model image definition
                        • GET
                          List revisions for a model image definition
                        • POST
                          Create a revision
                        • POST
                          Create a publication request
                        • POST
                          Human review (must not be the revision author). Publish is a separate step.
                        • POST
                          Create a revocation
                        • POST
                          Create a image ref validation
                        • GET
                          List model versions
                        • POST
                          Create a model version
                        • DELETE
                          Delete a model version
                        • GET
                          Get a model version
                        • POST
                          Create a archival
                        • POST
                          Queue a model bundle build (ADR 0145 §5). Idempotent per reason.
                        • POST
                          Edge inference package (ADR 0072) — openpi_client + embodiment fail-closed.
                        • POST
                          Create a promotion
                        • POST
                          Create a import
                        • POST
                          Create a imported checkpoint
                        • GET
                          List exports of a version
                        • POST
                          Create or reuse a cached version export
                        • GET
                          Get a version export
                        • POST
                          Create a download session of presigned version-export files
                        • GET
                          Preview what an export of a version contains, with the unreviewed AI episodes and the privacy warnings
                        • GET
                          Recommend a training policy for a version
                        • POST
                          Start training from a version
                        • DELETE
                          Delete a training checkpoint
                        • GET
                          Get a training checkpoint
                        • POST
                          Create a download
                        • GET
                          List training jobs
                        • POST
                          Create a training job
                        • GET
                          Get a training job
                        • GET
                          List attempts for a training job
                        • GET
                          Get a attempt
                        • GET
                          List checkpoints for a attempt
                        • GET
                          List logs for a attempt
                        • GET
                          List metrics for a attempt
                        • POST
                          Create a cancellation request
                        • GET
                          List reproducibility bundle for a training job
                        • POST
                          Create a retry request
                      • 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. Artifacts and export
                              4. Create or reuse a cached version export

                              Create or reuse a cached version export

                              POST
                              /v1/projects/{projectId}/versions/{versionNumber}/exports
                              curl -X POST 'https://api.embodiflow.io/v1/projects/{projectId}/versions/{versionNumber}/exports' \
                                -H 'Authorization: Bearer $EMBODIFLOW_PAT' \
                                -H 'Content-Type: application/json' \
                                -d '{
                                  "format": "lerobot-v3",
                                  "params": {},
                                  "options": {
                                    "episodePer": "episode",
                                    "includeDerivedAction": true,
                                    "includeImages": true,
                                    "includeLabels": true,
                                    "splits": "train",
                                    "taskLanguage": "en",
                                    "videoCodec": "av1",
                                    "maxWidth": 0
                                  }
                                }'

                              Authorization

                              Send a personal access token with every request.

                              • Authorization: Bearer PAT
                              Authentication guide

                              Path parameters

                              • projectIdstringrequired
                              • versionNumbernumberrequired

                              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
                              • formatstringrequired

                                The format the project's bound export workflow writes (preview `workflow.format`): lerobot-v3 for the platform LeRobot exporter, workflow for a team export algorithm.

                                Allowed values
                                lerobot-v3
                                lerobot-v21
                                original
                                mp4-json
                                rlds
                                hdf5-robomimic
                                workflow
                              • paramsobject

                                Values for the bound export workflow's own parameters (preview `workflow.params`); a name it does not declare is refused with EXPORT_OPTION_UNSUPPORTED.

                              • optionsobject
                                • episodePerstring
                                  Allowed values
                                  episode
                                  subtask
                                • includeDerivedActionboolean
                                • includeImagesboolean

                                  Embed camera frames in the file; meaningful for hdf5-robomimic.

                                • includeLabelsboolean
                                • splitsarray<string>
                                • taskLanguagestring
                                  Allowed values
                                  en
                                  zh
                                • videoCodecstring
                                  Allowed values
                                  av1
                                  h264
                                  keep
                                • maxWidthnumber

                                  Camera width after export; 0 keeps the native size. Absent means 1024 for human projects and native for robot projects.

                              Responses

                              Success

                              • dataobjectrequired
                                • idstringrequired
                                • formatstringrequired
                                • optionsobjectrequired
                                • statestringrequired
                                  Allowed values
                                  queued
                                  running
                                  succeeded
                                  failed
                                  cancelled
                                • loadCheckstring | null
                                  Allowed values
                                  passed
                                  failed
                                  not_applicable
                                  not_evaluated
                                • loadCheckErrorstring | null
                                • sizeBytesnumber | null
                                • createdAtstringrequired
                                • workflowRunIdstring | null
                                • progressobject | null

                                  Progress of the running export step; null unless state is running.

                              Response example
                              {
                                "data": {
                                  "id": "string",
                                  "format": "string",
                                  "options": {},
                                  "state": "queued",
                                  "loadCheck": "passed",
                                  "loadCheckError": "string",
                                  "sizeBytes": 0,
                                  "createdAt": "string",
                                  "workflowRunId": "string",
                                  "progress": {}
                                }
                              }
                              Servershttps://api.embodiflow.io/v1https://api.embodiflow.dev/v1
                              Previous

                              GET /projects/{projectId}/versions/{versionNumber}/exports

                              Next

                              GET /projects/{projectId}/versions/{versionNumber}/exports/{exportId}

                              curl -X POST 'https://api.embodiflow.io/v1/projects/{projectId}/versions/{versionNumber}/exports' \
                                -H 'Authorization: Bearer $EMBODIFLOW_PAT' \
                                -H 'Content-Type: application/json' \
                                -d '{
                                  "format": "lerobot-v3",
                                  "params": {},
                                  "options": {
                                    "episodePer": "episode",
                                    "includeDerivedAction": true,
                                    "includeImages": true,
                                    "includeLabels": true,
                                    "splits": "train",
                                    "taskLanguage": "en",
                                    "videoCodec": "av1",
                                    "maxWidth": 0
                                  }
                                }'
                              Response example
                              Status code
                              200
                              ​
                              {
                                "data": {
                                  "id": "string",
                                  "format": "string",
                                  "options": {},
                                  "state": "queued",
                                  "loadCheck": "passed",
                                  "loadCheckError": "string",
                                  "sizeBytes": 0,
                                  "createdAt": "string",
                                  "workflowRunId": "string",
                                  "progress": {}
                                }
                              }