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
            • 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. Replace the project annotation schema, requireReview, and overlap flag

                              Replace the project annotation schema, requireReview, and overlap flag

                              PUT
                              /v1/projects/{projectId}/annotation-schema
                              curl -X PUT 'https://api.embodiflow.io/v1/projects/{projectId}/annotation-schema' \
                                -H 'Authorization: Bearer $EMBODIFLOW_PAT' \
                                -H 'Content-Type: application/json' \
                                -d '{
                                  "version": 1,
                                  "languages": "en",
                                  "fields": {
                                    "task": {
                                      "enabled": true
                                    },
                                    "outcome": {
                                      "enabled": true
                                    },
                                    "subtasks": {
                                      "enabled": true
                                    },
                                    "subtaskOutcome": {
                                      "enabled": true
                                    },
                                    "relevance": {
                                      "enabled": true
                                    },
                                    "keyframeBoxes": {
                                      "enabled": false
                                    }
                                  },
                                  "subtaskLabels": [
                                    {
                                      "en": "string",
                                      "zh": "string"
                                    }
                                  ],
                                  "attributes": [
                                    {
                                      "key": "string",
                                      "type": "text",
                                      "options": [
                                        "string"
                                      ]
                                    }
                                  ],
                                  "requireReview": true,
                                  "allowEpisodeOverlap": true
                                }'

                              Authorization

                              Send a personal access token with every request.

                              • Authorization: Bearer PAT
                              Authentication guide

                              Path parameters

                              • projectIdstringrequired

                              Header parameters

                              • If-Matchstringrequired

                                Required precondition. Absent returns 428 PRECONDITION_REQUIRED. A stale tag returns 412 PRECONDITION_FAILED with no write. If-Match: * succeeds when the resource exists. Malformed values return 400 IF_MATCH_INVALID.

                              Request body

                              Content-Typeapplication/json
                              • versionnumberrequired
                                Allowed values
                                1
                              • languagesarray<string>required
                              • fieldsobjectrequired
                                • taskobjectrequired
                                • outcomeobjectrequired
                                • subtasksobjectrequired
                                • subtaskOutcomeobjectrequired
                                • relevanceobjectrequired
                                • keyframeBoxesobjectrequired
                              • subtaskLabelsarray<LocalizedTextDto>required
                                • enstring
                                • zhstring
                              • attributesarray<AnnotationAttributeDto>required
                                • keystringrequired
                                • typestringrequired
                                  Allowed values
                                  text
                                  single_choice
                                  number
                                • optionsarray<string>
                              • requireReviewbooleanrequired
                              • allowEpisodeOverlapbooleanrequired

                              Responses

                              Success

                              • dataobjectrequired
                                • versionnumberrequired
                                  Allowed values
                                  1
                                • languagesarray<string>required
                                • fieldsobjectrequired
                                • subtaskLabelsarray<object>required
                                • attributesarray<object>required
                                • requireReviewone ofrequired
                                • allowEpisodeOverlapone ofrequired
                                • taskListarray<object>required
                              Response example
                              {
                                "data": {
                                  "version": 1,
                                  "languages": "en",
                                  "fields": {
                                    "task": {
                                      "enabled": false
                                    },
                                    "outcome": {
                                      "enabled": false
                                    },
                                    "subtasks": {
                                      "enabled": false
                                    },
                                    "subtaskOutcome": {
                                      "enabled": false
                                    },
                                    "relevance": {
                                      "enabled": false
                                    },
                                    "keyframeBoxes": {
                                      "enabled": false
                                    }
                                  },
                                  "subtaskLabels": [
                                    {
                                      "en": "string",
                                      "zh": "string"
                                    }
                                  ],
                                  "attributes": [
                                    {
                                      "key": "string",
                                      "type": "number",
                                      "options": [
                                        "string"
                                      ]
                                    }
                                  ],
                                  "requireReview": false,
                                  "allowEpisodeOverlap": false,
                                  "taskList": [
                                    {
                                      "en": "string",
                                      "zh": "string"
                                    }
                                  ]
                                }
                              }
                              Servershttps://api.embodiflow.io/v1https://api.embodiflow.dev/v1
                              Previous

                              GET /projects/{projectId}/annotation-schema

                              Next

                              GET /projects/{projectId}/skill-taxonomy

                              curl -X PUT 'https://api.embodiflow.io/v1/projects/{projectId}/annotation-schema' \
                                -H 'Authorization: Bearer $EMBODIFLOW_PAT' \
                                -H 'Content-Type: application/json' \
                                -d '{
                                  "version": 1,
                                  "languages": "en",
                                  "fields": {
                                    "task": {
                                      "enabled": true
                                    },
                                    "outcome": {
                                      "enabled": true
                                    },
                                    "subtasks": {
                                      "enabled": true
                                    },
                                    "subtaskOutcome": {
                                      "enabled": true
                                    },
                                    "relevance": {
                                      "enabled": true
                                    },
                                    "keyframeBoxes": {
                                      "enabled": false
                                    }
                                  },
                                  "subtaskLabels": [
                                    {
                                      "en": "string",
                                      "zh": "string"
                                    }
                                  ],
                                  "attributes": [
                                    {
                                      "key": "string",
                                      "type": "text",
                                      "options": [
                                        "string"
                                      ]
                                    }
                                  ],
                                  "requireReview": true,
                                  "allowEpisodeOverlap": true
                                }'
                              Response example
                              Status code
                              200
                              ​
                              {
                                "data": {
                                  "version": 1,
                                  "languages": "en",
                                  "fields": {
                                    "task": {
                                      "enabled": false
                                    },
                                    "outcome": {
                                      "enabled": false
                                    },
                                    "subtasks": {
                                      "enabled": false
                                    },
                                    "subtaskOutcome": {
                                      "enabled": false
                                    },
                                    "relevance": {
                                      "enabled": false
                                    },
                                    "keyframeBoxes": {
                                      "enabled": false
                                    }
                                  },
                                  "subtaskLabels": [
                                    {
                                      "en": "string",
                                      "zh": "string"
                                    }
                                  ],
                                  "attributes": [
                                    {
                                      "key": "string",
                                      "type": "number",
                                      "options": [
                                        "string"
                                      ]
                                    }
                                  ],
                                  "requireReview": false,
                                  "allowEpisodeOverlap": false,
                                  "taskList": [
                                    {
                                      "en": "string",
                                      "zh": "string"
                                    }
                                  ]
                                }
                              }