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
        • GET
          List collection delivery batches
        • POST
          Create a collection delivery batche
        • GET
          Get a collection delivery batche
        • PATCH
          Update a collection delivery batche
        • POST
          Create a submission
        • POST
          Create a upload batche
        • GET
          List collection orders for a project
        • POST
          Create a collection order
        • DELETE
          Delete a collection order
        • GET
          Get a collection order
        • PATCH
          Update a collection order
        • GET
          List assignments for a collection order
        • POST
          Create a assignment
        • DELETE
          Delete a assignment
        • POST
          Create a invitation
        • POST
          Create a cancellation
        • POST
          Create a closure
        • GET
          List consents for a collection order
        • POST
          Create a consent
        • DELETE
          Delete a consent
        • GET
          Get a consent
        • PATCH
          Update a consent
        • GET
          List delivery batches for a collection order
        • GET
          Get a delivery batche
        • POST
          Create a duplicate
        • POST
          Create a opening
        • GET
          List progress for a collection order
        • GET
          List quotas for a collection order
        • POST
          Create a quota
        • DELETE
          Delete a quota
        • PATCH
          Update a quota
        • POST
          Create a report
        • GET
          List scenes for a collection order
        • POST
          Create a scene
        • DELETE
          Delete a scene
        • PATCH
          Update a scene
        • POST
          Create a photo
        • GET
          List submissions for a collection order
        • GET
          Get a submission
        • POST
          Create a review
        • GET
          List tasks for a collection order
        • POST
          Create a task
        • DELETE
          Delete a task
        • PATCH
          Update a task
        • POST
          Create a demo media
        • GET
          List upload batches for a project
        • POST
          Create an upload batch from a path+size manifest. JSON body ceiling is 4 MiB on this route only (global public JSON stays 100kb). Exceeding it returns 413 PAYLOAD_TOO_LARGE. File bytes are not accepted here; clients upload objects directly to storage. With `sampleForFormatId` the batch carries a test sample for the draft of a team data format (FV-20c): it needs `algorithm:write`, `sourceType` `team-format` and files with an extension the draft card declares, and the sample is used only for that format's sample runs.
        • GET
          Get a upload batche
        • POST
          Heartbeat of the uploader: the uploading page calls this about every minute while it hashes or sends bytes, so the batch is told apart from an abandoned one. 409 UPLOAD_BATCH_NOT_DISCARDABLE once the batch is no longer in progress.
        • POST
          Discard an unfinished upload: aborts its open sessions and settles the batch as failed (`UPLOAD_BATCH_DISCARDED`). 409 UPLOAD_BATCH_ACTIVE while the uploader is alive; 409 UPLOAD_BATCH_NOT_DISCARDABLE when a file already completed or the batch was submitted.
        • GET
          List dataset plan for a upload batche
        • POST
          Create a submission request
        • POST
          Create a upload session
        • GET
          Get a upload session
        • POST
          Create a cancellation request
        • POST
          Create a completion request
        • POST
          Create a part url
      • Episodes and versions
        • 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. Upload
                              4. Get a upload session

                              Get a upload session

                              GET
                              /v1/upload-sessions/{sessionId}
                              curl -X GET 'https://api.embodiflow.io/v1/upload-sessions/{sessionId}' \
                                -H 'Authorization: Bearer $EMBODIFLOW_PAT'

                              Authorization

                              Send a personal access token with every request.

                              • Authorization: Bearer PAT
                              Authentication guide

                              Path parameters

                              • sessionIdstringrequired

                              Responses

                              Success

                              • dataobjectrequired
                                • idstringrequired
                                • uploadBatchIdstringrequired
                                • storageBucketIdstring | null
                                • objectKeystringrequired
                                • originalFilenamestringrequired
                                • uploadModestringrequired
                                  Allowed values
                                  single
                                  multipart
                                • statusstringrequired
                                • expiresAtstringrequired
                                • putUrlstring
                                • providerUploadIdstring | null
                                • completedAtstring | null
                                • storageObjectIdstring | null
                                • errorobject
                                • writeCredentialsobject
                                • partSizeBytesnumber
                                • partsarray<object>
                              Response example
                              {
                                "data": {
                                  "id": "string",
                                  "uploadBatchId": "string",
                                  "storageBucketId": "string",
                                  "objectKey": "string",
                                  "originalFilename": "string",
                                  "uploadMode": "single",
                                  "status": "string",
                                  "expiresAt": "string",
                                  "putUrl": "string",
                                  "providerUploadId": "string",
                                  "completedAt": "string",
                                  "storageObjectId": "string",
                                  "error": {
                                    "code": "string",
                                    "message": "string"
                                  },
                                  "writeCredentials": {
                                    "accessKeyId": "string",
                                    "secretAccessKey": "string",
                                    "sessionToken": "string",
                                    "expiresAt": "string",
                                    "bucketName": "string",
                                    "region": "string",
                                    "provider": "string",
                                    "endpoint": "string",
                                    "objectKey": "string",
                                    "prefix": "string",
                                    "forcePathStyle": false
                                  },
                                  "partSizeBytes": 0,
                                  "parts": [
                                    {
                                      "partNumber": 0,
                                      "status": "string",
                                      "uploadedAt": "string"
                                    }
                                  ]
                                }
                              }
                              Servershttps://api.embodiflow.io/v1https://api.embodiflow.dev/v1
                              Previous

                              POST /upload-sessions

                              Next

                              POST /upload-sessions/{sessionId}/cancellation-requests

                              curl -X GET 'https://api.embodiflow.io/v1/upload-sessions/{sessionId}' \
                                -H 'Authorization: Bearer $EMBODIFLOW_PAT'
                              Response example
                              Status code
                              200
                              ​
                              {
                                "data": {
                                  "id": "string",
                                  "uploadBatchId": "string",
                                  "storageBucketId": "string",
                                  "objectKey": "string",
                                  "originalFilename": "string",
                                  "uploadMode": "single",
                                  "status": "string",
                                  "expiresAt": "string",
                                  "putUrl": "string",
                                  "providerUploadId": "string",
                                  "completedAt": "string",
                                  "storageObjectId": "string",
                                  "error": {
                                    "code": "string",
                                    "message": "string"
                                  },
                                  "writeCredentials": {
                                    "accessKeyId": "string",
                                    "secretAccessKey": "string",
                                    "sessionToken": "string",
                                    "expiresAt": "string",
                                    "bucketName": "string",
                                    "region": "string",
                                    "provider": "string",
                                    "endpoint": "string",
                                    "objectKey": "string",
                                    "prefix": "string",
                                    "forcePathStyle": false
                                  },
                                  "partSizeBytes": 0,
                                  "parts": [
                                    {
                                      "partNumber": 0,
                                      "status": "string",
                                      "uploadedAt": "string"
                                    }
                                  ]
                                }
                              }