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
          • GET
            Get a dataset version composition profile
          • GET
            List quality findings for a dataset version composition profile
          • POST
            Create a composition profile request
          • GET
            List composition profiles for a dataset version
          • GET
            Count episodes matching a filter
          • POST
            Apply label and segment operations to a selection of episodes
          • GET
            Semantic search availability and index coverage for the project
          • GET
            List episodes in a project
          • GET
            Get an episode
          • GET
            List revisions of an episode
          • POST
            Append one episode revision (never If-Match)
          • GET
            Find similar episodes in the same project
          • GET
            List version aliases in a project
          • DELETE
            Delete a version alias
          • PUT
            Create or move a version alias
          • GET
            List versions in a project
          • POST
            Create a version from a selection of episodes
          • DELETE
            Move a version to trash
          • GET
            Get a version
          • PATCH
            Patch version name, readme, and licence
          • GET
            Get a version citation
          • GET
            List episodes in a version
          • POST
            Preview a version selection without writing
        • Annotation
          • Quality and tasks
            • Search
              • Workflows
                • Algorithms
                  • 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. Episodes and versions
                              4. Preview a version selection without writing

                              Preview a version selection without writing

                              POST
                              /v1/projects/{projectId}/versions/previews
                              curl -X POST 'https://api.embodiflow.io/v1/projects/{projectId}/versions/previews' \
                                -H 'Authorization: Bearer $EMBODIFLOW_PAT' \
                                -H 'Content-Type: application/json' \
                                -d '{
                                  "selection": {
                                    "filter": {},
                                    "savedViewId": "00000000-0000-0000-0000-000000000000",
                                    "episodeIds": [
                                      "00000000-0000-0000-0000-000000000000"
                                    ],
                                    "selectionRunId": "00000000-0000-0000-0000-000000000000"
                                  },
                                  "name": "string",
                                  "split": {
                                    "strategy": "episode",
                                    "ratios": {
                                      "train": 0,
                                      "val": 0,
                                      "test": 0
                                    },
                                    "seed": 0
                                  },
                                  "labelPolicy": "current",
                                  "includeFailing": true,
                                  "includeIncomplete": true,
                                  "preprocessing": {
                                    "fps": 0,
                                    "cameraKeys": [
                                      "string"
                                    ],
                                    "trimIdle": true,
                                    "maxDurationS": 0,
                                    "padMs": 0
                                  },
                                  "readmeMd": "string",
                                  "licence": "string"
                                }'

                              Authorization

                              Send a personal access token with every request.

                              • Authorization: Bearer PAT
                              Authentication guide

                              Path parameters

                              • projectIdstringrequired

                              Request body

                              Content-Typeapplication/json
                              • selectionobjectrequired
                                • filterobject
                                • savedViewIdstring (uuid)
                                • episodeIdsarray<string (uuid)>
                                • selectionRunIdstring (uuid)

                                  The episodes a workflow run was asked about (an upload run: every episode of its recordings).

                              • namestringrequired
                              • splitobject
                                • strategystringrequired
                                  Allowed values
                                  episode
                                  recording
                                  collector
                                  stratified_task
                                  manual
                                • ratiosobjectrequired
                                • seednumber
                              • labelPolicystring
                                Allowed values
                                current
                                approved_only
                              • includeFailingboolean
                              • includeIncompleteboolean
                              • preprocessingobject
                                • fpsnumber | null
                                • cameraKeysarray<string> | null
                                • trimIdleboolean
                                • maxDurationSnumber | null
                                • padMsnumber
                              • readmeMdstring | null
                              • licencestring | null

                              Responses

                              Success

                              • dataobjectrequired
                                • episodeCountnumberrequired
                                • unreviewedAiEpisodeCountnumberrequired
                                • warningEpisodeCountnumberrequired
                                • unfinishedEpisodeCountnumberrequired
                                • trainCountnumberrequired
                                • valCountnumberrequired
                                • testCountnumberrequired
                                • totalDurationNsnumberrequired
                                • schemaGroupsarray<VersionDataContractGroup>required
                                • featuresarray<ProjectVersionFeatureCoverageDto>required
                                • excludedobjectrequired
                                • blockedarray<ProjectVersionBlockedEpisodeDto>required
                                • warningsarray<string>required
                              Response example
                              {
                                "data": {
                                  "episodeCount": 0,
                                  "unreviewedAiEpisodeCount": 0,
                                  "warningEpisodeCount": 0,
                                  "unfinishedEpisodeCount": 0,
                                  "trainCount": 0,
                                  "valCount": 0,
                                  "testCount": 0,
                                  "totalDurationNs": 0,
                                  "schemaGroups": [
                                    {
                                      "key": "string",
                                      "dataContractDigest": "string",
                                      "episodeCount": 0,
                                      "schema": {
                                        "fps": 0,
                                        "cameraKeys": [
                                          "string"
                                        ],
                                        "features": {}
                                      },
                                      "cameraOrder": [
                                        {
                                          "key": "string",
                                          "role": "string"
                                        }
                                      ],
                                      "sourceFormats": [
                                        "string"
                                      ],
                                      "actionSemantics": {
                                        "space": "none",
                                        "dimensionNames": [
                                          "string"
                                        ],
                                        "units": [
                                          "string"
                                        ],
                                        "coordinateFrames": [
                                          "string"
                                        ],
                                        "representation": "absolute",
                                        "embodimentId": "string",
                                        "controlRateHz": 0
                                      },
                                      "conventions": {
                                        "version": "embodiflow-data-conventions/v1",
                                        "frames": {},
                                        "features": {},
                                        "sourceClocks": {},
                                        "stereoPairs": [
                                          {}
                                        ],
                                        "timeOffsets": {}
                                      }
                                    }
                                  ],
                                  "features": [
                                    {
                                      "feature": "string",
                                      "presentCount": 0,
                                      "missingCount": 0,
                                      "missingRecordingIds": [
                                        "string"
                                      ]
                                    }
                                  ],
                                  "excluded": {
                                    "failing": 0,
                                    "incomplete": 0,
                                    "deleted": 0,
                                    "notAnonymized": 0,
                                    "noApprovedRevision": 0,
                                    "excludedFlag": 0
                                  },
                                  "blocked": [
                                    {
                                      "episodeId": "string",
                                      "recordingId": "string",
                                      "recordingName": "string",
                                      "startNs": 0,
                                      "endNs": 0,
                                      "reason": "incomplete",
                                      "checkIds": [
                                        "string"
                                      ],
                                      "privacyState": "pending",
                                      "privacyBlocker": "consent_missing"
                                    }
                                  ],
                                  "warnings": [
                                    "string"
                                  ]
                                }
                              }
                              Servershttps://api.embodiflow.io/v1https://api.embodiflow.dev/v1
                              Previous

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

                              curl -X POST 'https://api.embodiflow.io/v1/projects/{projectId}/versions/previews' \
                                -H 'Authorization: Bearer $EMBODIFLOW_PAT' \
                                -H 'Content-Type: application/json' \
                                -d '{
                                  "selection": {
                                    "filter": {},
                                    "savedViewId": "00000000-0000-0000-0000-000000000000",
                                    "episodeIds": [
                                      "00000000-0000-0000-0000-000000000000"
                                    ],
                                    "selectionRunId": "00000000-0000-0000-0000-000000000000"
                                  },
                                  "name": "string",
                                  "split": {
                                    "strategy": "episode",
                                    "ratios": {
                                      "train": 0,
                                      "val": 0,
                                      "test": 0
                                    },
                                    "seed": 0
                                  },
                                  "labelPolicy": "current",
                                  "includeFailing": true,
                                  "includeIncomplete": true,
                                  "preprocessing": {
                                    "fps": 0,
                                    "cameraKeys": [
                                      "string"
                                    ],
                                    "trimIdle": true,
                                    "maxDurationS": 0,
                                    "padMs": 0
                                  },
                                  "readmeMd": "string",
                                  "licence": "string"
                                }'
                              Response example
                              Status code
                              200
                              ​
                              {
                                "data": {
                                  "episodeCount": 0,
                                  "unreviewedAiEpisodeCount": 0,
                                  "warningEpisodeCount": 0,
                                  "unfinishedEpisodeCount": 0,
                                  "trainCount": 0,
                                  "valCount": 0,
                                  "testCount": 0,
                                  "totalDurationNs": 0,
                                  "schemaGroups": [
                                    {
                                      "key": "string",
                                      "dataContractDigest": "string",
                                      "episodeCount": 0,
                                      "schema": {
                                        "fps": 0,
                                        "cameraKeys": [
                                          "string"
                                        ],
                                        "features": {}
                                      },
                                      "cameraOrder": [
                                        {
                                          "key": "string",
                                          "role": "string"
                                        }
                                      ],
                                      "sourceFormats": [
                                        "string"
                                      ],
                                      "actionSemantics": {
                                        "space": "none",
                                        "dimensionNames": [
                                          "string"
                                        ],
                                        "units": [
                                          "string"
                                        ],
                                        "coordinateFrames": [
                                          "string"
                                        ],
                                        "representation": "absolute",
                                        "embodimentId": "string",
                                        "controlRateHz": 0
                                      },
                                      "conventions": {
                                        "version": "embodiflow-data-conventions/v1",
                                        "frames": {},
                                        "features": {},
                                        "sourceClocks": {},
                                        "stereoPairs": [
                                          {}
                                        ],
                                        "timeOffsets": {}
                                      }
                                    }
                                  ],
                                  "features": [
                                    {
                                      "feature": "string",
                                      "presentCount": 0,
                                      "missingCount": 0,
                                      "missingRecordingIds": [
                                        "string"
                                      ]
                                    }
                                  ],
                                  "excluded": {
                                    "failing": 0,
                                    "incomplete": 0,
                                    "deleted": 0,
                                    "notAnonymized": 0,
                                    "noApprovedRevision": 0,
                                    "excludedFlag": 0
                                  },
                                  "blocked": [
                                    {
                                      "episodeId": "string",
                                      "recordingId": "string",
                                      "recordingName": "string",
                                      "startNs": 0,
                                      "endNs": 0,
                                      "reason": "incomplete",
                                      "checkIds": [
                                        "string"
                                      ],
                                      "privacyState": "pending",
                                      "privacyBlocker": "consent_missing"
                                    }
                                  ],
                                  "warnings": [
                                    "string"
                                  ]
                                }
                              }