Create a split plan
POST
/v1/dataset-versions/{versionId}/split-planscurl -X POST 'https://api.embodiflow.io/v1/dataset-versions/{versionId}/split-plans' \
-H 'Authorization: Bearer $EMBODIFLOW_PAT' \
-H 'Content-Type: application/json' \
-d '{
"strategy": "string",
"splitSalt": "string",
"ratios": {
"train": 0,
"val": 0,
"test": 0
},
"stratifyBy": "environment"
}'Authorization
Send a personal access token with every request.
- Authorization: Bearer PAT
Path parameters
- versionIdstringrequired
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
- strategystring
- splitSaltstringrequired
- ratiosobject
- trainnumberrequired
- valnumberrequired
- testnumberrequired
- stratifyByarray<string>
Responses
Success
- dataobjectrequired
- datasetVersionIdstringrequired
- projectIdstringrequired
- statusstringrequiredAllowed valuesnot_configuredconfiguredinvalid
- configobjectrequired
- configHashstringrequired
- countsobjectrequired
- assignmentsarray<SplitPlanEpisodeAssignmentDto>required
- warningsarray<string>required
- persistedone ofrequired
Response example
{
"data": {
"datasetVersionId": "string",
"projectId": "string",
"status": "not_configured",
"config": {
"strategy": "hash_mod",
"splitSalt": "string",
"ratios": {
"train": 0,
"val": 0,
"test": 0
},
"stratifyBy": "task"
},
"configHash": "string",
"counts": {},
"assignments": [
{
"episodeKey": "string",
"episodeId": "string",
"split": "test"
}
],
"warnings": [
"string"
],
"persisted": false
}
}Servershttps://api.embodiflow.io/v1https://api.embodiflow.dev/v1