EmbodiFlowDocs
Open console
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
                • GET
                  Asset cards across dataset versions and artifacts.
                • GET
                  Single asset card with recent events.
                • POST
                  Preview a structured query against canonical parquet for one dataset version.
                • GET
                  L0 Postgres coarse filter across dataset versions visible to the caller.
                • GET
                  Facet counts for the same visible version scope as dataset-versions list.
                • GET
                  How many recordings are not in the search index yet.
                • POST
                  Explicit team Owner/Admin action: build the search profile for recordings processed before indexing existed. Derived cache, never dataset history.
                • POST
                  Structured + optional semantic catalog search (ADR 0012 / 0014).
                • GET
                  Structured catalog search schema for query builders (ADR 0012).
                • GET
                  Search this team for projects, recordings, versions, and commands
              • 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. Search
                              4. Preview a structured query against canonical parquet for one dataset version.

                              Preview a structured query against canonical parquet for one dataset version.

                              POST
                              /v1/catalog/dataset-version-queries
                              curl -X POST 'https://api.embodiflow.io/v1/catalog/dataset-version-queries' \
                                -H 'Authorization: Bearer $EMBODIFLOW_PAT' \
                                -H 'Content-Type: application/json' \
                                -d '{
                                  "datasetVersionId": "00000000-0000-0000-0000-000000000000",
                                  "expectedQueryIndexSha256": "string",
                                  "granularity": "episode",
                                  "episodeIndexIn": [
                                    0
                                  ],
                                  "episodeIdIn": [
                                    "string"
                                  ],
                                  "frameIndexMin": 0,
                                  "frameIndexMax": 0,
                                  "timestampNsMin": "string",
                                  "timestampNsMax": "string",
                                  "featurePredicates": [
                                    {
                                      "path": "string",
                                      "op": "in",
                                      "value": {}
                                    }
                                  ],
                                  "metadataEquals": {},
                                  "cameraNameIn": [
                                    "string"
                                  ],
                                  "fields": [
                                    "string"
                                  ],
                                  "limit": 0,
                                  "offset": 0,
                                  "orderBy": "episodeIndex",
                                  "orderDirection": "asc",
                                  "aggregate": {
                                    "fn": "count",
                                    "field": "string"
                                  }
                                }'

                              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
                              • datasetVersionIdstring (uuid)required
                              • expectedQueryIndexSha256string
                              • granularitystring
                                Allowed values
                                episode
                                frame
                              • episodeIndexInarray<number>
                              • episodeIdInarray<string>
                              • frameIndexMinnumber
                              • frameIndexMaxnumber
                              • timestampNsMinstring
                              • timestampNsMaxstring
                              • featurePredicatesarray<DatasetVersionQueryPredicateBodyDto>
                                • pathstringrequired
                                • opstringrequired
                                  Allowed values
                                  in
                                  lt
                                  lte
                                  gt
                                  gte
                                  eq
                                  neq
                                • valueobjectrequired
                              • metadataEqualsobject
                              • cameraNameInarray<string>
                              • fieldsarray<string>
                              • limitnumber
                              • offsetnumber
                              • orderBystring
                                Allowed values
                                episodeIndex
                                timestampNs
                                frameIndex
                              • orderDirectionstring
                                Allowed values
                                asc
                                desc
                              • aggregateobject
                                • fnstringrequired
                                  Allowed values
                                  count
                                • fieldstring

                              Responses

                              Success

                              • dataobjectrequired
                                • datasetVersionIdstringrequired
                                • queryIndexSha256stringrequired
                                • granularitystringrequired
                                  Allowed values
                                  frame
                                  episode
                                • episodeStatisticsGranularitystring
                                  Allowed values
                                  coarse
                                • rowsarray<object>required
                                • totalEstimatenumber | null
                                • truncatedone ofrequired
                                • videoRefsarray<DatasetVersionQueryVideoRefDto>
                                • elapsedMsnumberrequired
                                • excludedCountnumber
                              Response example
                              {
                                "data": {
                                  "datasetVersionId": "string",
                                  "queryIndexSha256": "string",
                                  "granularity": "frame",
                                  "episodeStatisticsGranularity": "coarse",
                                  "rows": [
                                    {}
                                  ],
                                  "totalEstimate": 0,
                                  "truncated": false,
                                  "videoRefs": [
                                    {
                                      "episodeIndex": 0,
                                      "cameraName": "string",
                                      "storageObjectId": "string",
                                      "logicalPath": "string"
                                    }
                                  ],
                                  "elapsedMs": 0,
                                  "excludedCount": 0
                                }
                              }
                              Servershttps://api.embodiflow.io/v1https://api.embodiflow.dev/v1
                              Previous

                              GET /catalog/assets/{assetType}/{assetId}

                              Next

                              GET /catalog/dataset-versions

                              curl -X POST 'https://api.embodiflow.io/v1/catalog/dataset-version-queries' \
                                -H 'Authorization: Bearer $EMBODIFLOW_PAT' \
                                -H 'Content-Type: application/json' \
                                -d '{
                                  "datasetVersionId": "00000000-0000-0000-0000-000000000000",
                                  "expectedQueryIndexSha256": "string",
                                  "granularity": "episode",
                                  "episodeIndexIn": [
                                    0
                                  ],
                                  "episodeIdIn": [
                                    "string"
                                  ],
                                  "frameIndexMin": 0,
                                  "frameIndexMax": 0,
                                  "timestampNsMin": "string",
                                  "timestampNsMax": "string",
                                  "featurePredicates": [
                                    {
                                      "path": "string",
                                      "op": "in",
                                      "value": {}
                                    }
                                  ],
                                  "metadataEquals": {},
                                  "cameraNameIn": [
                                    "string"
                                  ],
                                  "fields": [
                                    "string"
                                  ],
                                  "limit": 0,
                                  "offset": 0,
                                  "orderBy": "episodeIndex",
                                  "orderDirection": "asc",
                                  "aggregate": {
                                    "fn": "count",
                                    "field": "string"
                                  }
                                }'
                              Response example
                              Status code
                              201
                              ​
                              {
                                "data": {
                                  "datasetVersionId": "string",
                                  "queryIndexSha256": "string",
                                  "granularity": "frame",
                                  "episodeStatisticsGranularity": "coarse",
                                  "rows": [
                                    {}
                                  ],
                                  "totalEstimate": 0,
                                  "truncated": false,
                                  "videoRefs": [
                                    {
                                      "episodeIndex": 0,
                                      "cameraName": "string",
                                      "storageObjectId": "string",
                                      "logicalPath": "string"
                                    }
                                  ],
                                  "elapsedMs": 0,
                                  "excludedCount": 0
                                }
                              }