API Datasources and Buckets
Datasource and bucket endpoints are primarily in Core/api.py.
Datasource Endpoints
- GET /api/datasources/types
- GET /api/projects/:project_id/datasources
- POST /api/projects/:project_id/datasources
- GET /api/projects/:project_id/datasources/:datasource_id
- PUT /api/projects/:project_id/datasources/:datasource_id
- DELETE /api/projects/:project_id/datasources/:datasource_id
- POST /api/webhook/:datasource_id
Bucket Endpoints
- GET /api/projects/:project_id/buckets
- POST /api/projects/:project_id/buckets
- GET /api/projects/:project_id/buckets/:bucket_id
- PUT /api/projects/:project_id/buckets/:bucket_id
- DELETE /api/projects/:project_id/buckets/:bucket_id
Bucket Media and Data Endpoints
- GET /api/projects/:project_id/buckets/:bucket_id/media
- POST /api/projects/:project_id/buckets/:bucket_id/media/upload
- GET /api/projects/:project_id/buckets/:bucket_id/media/collections
- POST /api/projects/:project_id/buckets/:bucket_id/media/collections
- GET /api/projects/:project_id/buckets/:bucket_id/media/:file_path
- DELETE /api/projects/:project_id/buckets/:bucket_id/media/:file_path
- GET /api/projects/:project_id/buckets/:bucket_id/metadata
- PUT /api/projects/:project_id/buckets/:bucket_id/metadata
- GET /api/projects/:project_id/buckets/:bucket_id/timeseries
- POST /api/projects/:project_id/buckets/:bucket_id/timeseries
- DELETE /api/projects/:project_id/buckets/:bucket_id/timeseries
Example: Create Datasource
POST /api/projects/:project_id/datasources
Content-Type: application/json
{
"name": "Line 3 RTSP",
"type": "rtsp_stream",
"config": {
"url": "rtsp://camera/stream"
}
}
Example: Append Timeseries Value
POST /api/projects/:project_id/buckets/:bucket_id/timeseries
Content-Type: application/json
{
"key": "defect_rate",
"value": 0.07,
"timestamp": "2026-03-24T09:30:00Z"
}
Common Errors
400invalid datasource config or malformed bucket payload404datasource/bucket not found in project scope413uploaded media exceeds configured limit415unsupported file/media type
Best practices:
- Validate datasource connectivity before attaching to workflows.
- Keep bucket names domain-specific and stable.
- Use collection paths to control retrieval performance.
