List datasets for a project
GET
/v1/projects/{projectId}/datasetscurl -X GET 'https://api.embodiflow.io/v1/projects/{projectId}/datasets' \
-H 'Authorization: Bearer $EMBODIFLOW_PAT'Authorization
Send a personal access token with every request.
- Authorization: Bearer PAT
Path parameters
- projectIdstringrequired
Query parameters
- pageSizenumber
Page size (default 25, maximum 100). Over-maximum is refused.
- pageTokenstring
Opaque page token from the previous response.
- sortBystring
- sortOrderstringAllowed valuesascdesc
- statusstring
- datasetTypestring
- sourceTypestring
- metadataSchemastring
- metadataKeystring
- metadataEqualsstring
- qstring
Case-insensitive search over dataset name, description, and slug.
Responses
Success
- dataarray<DatasetSummaryDto>required
- idstringrequired
- tenantIdstringrequired
- projectIdstringrequired
- slugstringrequired
- namestringrequired
- descriptionstring | nullrequired
- datasetTypestringrequired
- sourceTypestringrequired
- dataSourcestring | null
- consentAttestedone of
- canAttestConsentone of
- metadataSchemastring | null
- statusstringrequired
- currentVersionIdstring | nullrequired
- versionCountnumber
- currentVersionobject
- qualityStatusstringAllowed valuesfailedwarningerroruncheckedinspectingpassed
- lastQualityInspectionAtstring | null
- recordingStatusobject
- updatedAtstringrequired
- createdAtstringrequired
- metaobjectrequired
- requestIdstring
- pageSizenumberrequired
- nextPageTokenstring
Opaque AIP-158 page token. Omitted when the collection is exhausted.
Response example
{
"data": [
{
"id": "string",
"tenantId": "string",
"projectId": "string",
"slug": "string",
"name": "string",
"description": "string",
"datasetType": "string",
"sourceType": "string",
"dataSource": "string",
"consentAttested": false,
"canAttestConsent": false,
"metadataSchema": "string",
"status": "string",
"currentVersionId": "string",
"versionCount": 0,
"currentVersion": {
"id": "string",
"datasetId": "string",
"version": 0,
"versionName": "string",
"description": "string",
"status": "string",
"manifestVersion": 0,
"metadataType": "string",
"codebaseVersion": "string",
"episodeCount": 0,
"lerobotEpisodeCount": 0,
"featureCount": 0,
"fps": 0,
"topicCount": 0,
"frameCount": 0,
"startTimeNs": 0,
"endTimeNs": 0,
"metadataProjectionJson": {},
"contractVersion": "string",
"provenanceCompleteness": "missing",
"featureKeys": [
"string"
],
"itemCount": 0,
"totalBytes": 0,
"finalizedAt": "string",
"createdAt": "string",
"qualityStatus": "failed",
"visibilityStatus": "active",
"splitStrategy": "string",
"splitConfigJson": {},
"operationFacts": {
"contractVersion": "embodiflow-recording-operation-facts/v1",
"observedAt": "string",
"processing": {
"upload": {},
"workflow": {},
"quality": {}
},
"health": {
"status": "unknown",
"primaryBlockerCode": "string",
"openRepairCount": 0,
"observedAt": "string"
},
"playback": {
"reasonCode": "string"
},
"lastMeaningfulActivityAt": "string"
}
},
"qualityStatus": "failed",
"lastQualityInspectionAt": "string",
"recordingStatus": {
"lifecycle": "failed",
"quality": "warn",
"qualityCheckId": "string",
"qualityVerdict": "warning",
"stepId": "string",
"stepWaitReason": "string",
"noProgressSince": "string",
"failure": {
"code": "string",
"reason": "string",
"stepId": "string",
"stepName": "string",
"stepAlgorithm": {
"slug": "string",
"title": "string"
},
"stepRunId": "string",
"runId": "string",
"stepErrorCode": "string"
},
"runId": "string",
"processingRefused": {
"code": "string"
}
},
"updatedAt": "string",
"createdAt": "string"
}
],
"meta": {
"requestId": "string",
"pageSize": 0
},
"nextPageToken": "string"
}Servershttps://api.embodiflow.io/v1https://api.embodiflow.dev/v1