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
            • GET
              List annotation jobs for a project
            • POST
              Create a annotation job
            • GET
              Get a annotation job
            • PATCH
              Update a annotation job
            • POST
              Create a cancellation
            • POST
              Create a claim
            • GET
              List insights for a annotation job
            • GET
              List items for a annotation job
            • GET
              Get a item
            • POST
              Create a completion
            • POST
              Create a review
            • GET
              Get the project annotation schema
            • PUT
              Replace the project annotation schema, requireReview, and overlap flag
            • GET
              List skill taxonomy for a project
            • GET
              List resolved project skills
            • POST
              Add a skill term to the project taxonomy
            • POST
              Create a skill taxonomy
            • PATCH
              Update a skill taxonomy
            • GET
              List terms for a skill taxonomy
            • POST
              Create a term
          • 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. Annotation
                              4. Create a completion

                              Create a completion

                              POST
                              /v1/projects/{projectId}/annotation-jobs/{jobId}/items/{itemId}/completions
                              curl -X POST 'https://api.embodiflow.io/v1/projects/{projectId}/annotation-jobs/{jobId}/items/{itemId}/completions' \
                                -H 'Authorization: Bearer $EMBODIFLOW_PAT' \
                                -H 'Content-Type: application/json' \
                                -d '{
                                  "unused": "string",
                                  "noEligibleTaskReason": "string"
                                }'

                              Authorization

                              Send a personal access token with every request.

                              • Authorization: Bearer PAT
                              Authentication guide

                              Path parameters

                              • projectIdstringrequired
                              • jobIdstringrequired
                              • itemIdstringrequired

                              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
                              • unusedstring | null

                                Unused. Send an empty JSON object or noEligibleTaskReason.

                              • noEligibleTaskReasonstring

                                Explicit no-eligible-task completion. Records the reason and is not a task-positive example.

                              Responses

                              Success

                              • dataobjectrequired
                                • idstringrequired
                                • jobIdstringrequired
                                • recordingIdstring | nullrequired
                                • episodeIdstring | nullrequired
                                • assigneeMembershipIdstring | nullrequired
                                • statestringrequired
                                  Allowed values
                                  approved
                                  labeled
                                  rejected
                                  todo
                                • lastRevisionIdstring | nullrequired
                                • commentstring | nullrequired
                                • startedAtstring | nullrequired
                                • completedAtstring | nullrequired
                                • completionobject | nullrequired
                                • createdAtstringrequired
                                • updatedAtstringrequired
                                • rowVersionnumberrequired
                              Response example
                              {
                                "data": {
                                  "id": "string",
                                  "jobId": "string",
                                  "recordingId": "string",
                                  "episodeId": "string",
                                  "assigneeMembershipId": "string",
                                  "state": "approved",
                                  "lastRevisionId": "string",
                                  "comment": "string",
                                  "startedAt": "string",
                                  "completedAt": "string",
                                  "completion": {
                                    "contractVersion": "embodiflow-annotation-completion/v1",
                                    "taskPositive": false,
                                    "noEligibleTaskReason": "string",
                                    "membership": [
                                      {
                                        "episodeId": "string",
                                        "revisionId": "string"
                                      }
                                    ],
                                    "processingResultId": "string",
                                    "profileIdentity": "string",
                                    "profileSource": "unknown",
                                    "coverage": [
                                      {
                                        "episodeId": "string",
                                        "revisionId": "string",
                                        "startNs": 0,
                                        "endNs": 0
                                      }
                                    ],
                                    "exclusions": [
                                      {
                                        "episodeId": "string",
                                        "revisionId": "string",
                                        "startNs": 0,
                                        "endNs": 0,
                                        "reason": "string"
                                      }
                                    ],
                                    "human": {
                                      "actorUserId": "string",
                                      "membershipId": "string",
                                      "completedAt": "string"
                                    },
                                    "requirementRevision": "string"
                                  },
                                  "createdAt": "string",
                                  "updatedAt": "string",
                                  "rowVersion": 0
                                }
                              }
                              Servershttps://api.embodiflow.io/v1https://api.embodiflow.dev/v1
                              Previous

                              GET /projects/{projectId}/annotation-jobs/{jobId}/items/{itemId}

                              Next

                              POST /projects/{projectId}/annotation-jobs/{jobId}/items/{itemId}/reviews

                              curl -X POST 'https://api.embodiflow.io/v1/projects/{projectId}/annotation-jobs/{jobId}/items/{itemId}/completions' \
                                -H 'Authorization: Bearer $EMBODIFLOW_PAT' \
                                -H 'Content-Type: application/json' \
                                -d '{
                                  "unused": "string",
                                  "noEligibleTaskReason": "string"
                                }'
                              Response example
                              Status code
                              200
                              ​
                              {
                                "data": {
                                  "id": "string",
                                  "jobId": "string",
                                  "recordingId": "string",
                                  "episodeId": "string",
                                  "assigneeMembershipId": "string",
                                  "state": "approved",
                                  "lastRevisionId": "string",
                                  "comment": "string",
                                  "startedAt": "string",
                                  "completedAt": "string",
                                  "completion": {
                                    "contractVersion": "embodiflow-annotation-completion/v1",
                                    "taskPositive": false,
                                    "noEligibleTaskReason": "string",
                                    "membership": [
                                      {
                                        "episodeId": "string",
                                        "revisionId": "string"
                                      }
                                    ],
                                    "processingResultId": "string",
                                    "profileIdentity": "string",
                                    "profileSource": "unknown",
                                    "coverage": [
                                      {
                                        "episodeId": "string",
                                        "revisionId": "string",
                                        "startNs": 0,
                                        "endNs": 0
                                      }
                                    ],
                                    "exclusions": [
                                      {
                                        "episodeId": "string",
                                        "revisionId": "string",
                                        "startNs": 0,
                                        "endNs": 0,
                                        "reason": "string"
                                      }
                                    ],
                                    "human": {
                                      "actorUserId": "string",
                                      "membershipId": "string",
                                      "completedAt": "string"
                                    },
                                    "requirementRevision": "string"
                                  },
                                  "createdAt": "string",
                                  "updatedAt": "string",
                                  "rowVersion": 0
                                }
                              }