List dataset videos
curl --request GET \
--url https://api.capibo.work/v1/datasets/{dataset_id}/videos \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.capibo.work/v1/datasets/{dataset_id}/videos"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.capibo.work/v1/datasets/{dataset_id}/videos', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"id": "VID-784210",
"mission_id": "MSN-1042",
"dataset_id": "DS-301",
"task_id": "T-2",
"task": "Fold t-shirt",
"status": "processing",
"quality": 91,
"rejection_reason": null,
"duration": 34,
"resolution": "1920×1080",
"fps": 30,
"size_mb": 57.8,
"device": "iPhone 16 Pro",
"collector_id": "C-58214",
"region": "US",
"labels": [
"t-shirt",
"fold",
"two-hand"
],
"checks": {
"hands_in_frame": true,
"lighting": 88,
"blur": 6,
"task_complete": true,
"privacy": true
},
"download_url": "<string>",
"annotations_url": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}
],
"has_more": true,
"next_cursor": "eyJpZCI6IlZJRC03ODQxNzUifQ"
}{
"error": {
"type": "authentication_error",
"code": "api_key_invalid",
"message": "Invalid API key."
}
}{
"error": {
"type": "not_found",
"code": "resource_missing",
"message": "No mission with id MSN-9999."
}
}Datasets
List dataset videos
Videos for the dataset’s mission, newest first. To sync incrementally,
store next_cursor and pass it back as cursor, or pass
created_after with the created_at of the last video you processed.
GET
/
datasets
/
{dataset_id}
/
videos
List dataset videos
curl --request GET \
--url https://api.capibo.work/v1/datasets/{dataset_id}/videos \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.capibo.work/v1/datasets/{dataset_id}/videos"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.capibo.work/v1/datasets/{dataset_id}/videos', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"id": "VID-784210",
"mission_id": "MSN-1042",
"dataset_id": "DS-301",
"task_id": "T-2",
"task": "Fold t-shirt",
"status": "processing",
"quality": 91,
"rejection_reason": null,
"duration": 34,
"resolution": "1920×1080",
"fps": 30,
"size_mb": 57.8,
"device": "iPhone 16 Pro",
"collector_id": "C-58214",
"region": "US",
"labels": [
"t-shirt",
"fold",
"two-hand"
],
"checks": {
"hands_in_frame": true,
"lighting": 88,
"blur": 6,
"task_complete": true,
"privacy": true
},
"download_url": "<string>",
"annotations_url": "<string>",
"created_at": "2023-11-07T05:31:56Z"
}
],
"has_more": true,
"next_cursor": "eyJpZCI6IlZJRC03ODQxNzUifQ"
}{
"error": {
"type": "authentication_error",
"code": "api_key_invalid",
"message": "Invalid API key."
}
}{
"error": {
"type": "not_found",
"code": "resource_missing",
"message": "No mission with id MSN-9999."
}
}Authorizations
An API key from Settings → API keys, e.g. cpb_live_… or cpb_test_….
Path Parameters
Example:
"DS-301"
Query Parameters
Defaults to accepted, the videos that make up the dataset.
processing means the video is still in quality review.
Available options:
processing, accepted, rejected Example:
"T-2"
Page size.
Required range:
1 <= x <= 100The next_cursor from the previous page.