Skip to main content
Trace file management (feature-gated: enable_trace_routes)

Endpoints


List tracesets

GET /api/v1/tracesets List all tracesets. Supports pagination, filtering by workspace/status, full-text name search, and date range filtering. Results are sorted by creation date (newest first) by default.

Parameters

Responses

200 - Paginated list of tracesets
400 - Bad Request — Invalid query parameters (bad cursor, invalid sort field)

Get traceset

GET /api/v1/tracesets/{id} Returns a traceset by ID including all file metadata, tags, and expiration information.

Parameters

Responses

200 - Traceset details
404 - Traceset not found

Delete traceset

DELETE /api/v1/tracesets/{id} Soft-deletes a traceset. Associated library files are reference-counted and cleaned up asynchronously. Excluded when trace_routes_read_only is enabled.

Parameters

Responses

204 - Traceset deleted 404 - Traceset not found

Get traceset download URL

GET /api/v1/tracesets/{id}/download Returns a presigned S3 download URL for a specific file within a traceset, or for the entire traceset archive if no file is specified. The URL expires after a short TTL.

Parameters

Responses

200 - Presigned download URL
400 - File uses an external URL that cannot be downloaded via presigned URL
404 - Traceset not found

Validate traceset

POST /api/v1/tracesets/{id}/validate Runs validation checks on a traceset including file integrity and metadata completeness. Optionally accepts a topologyId for compatibility validation, but the topology_correlation check currently always returns passed (not yet implemented).

Parameters

Request Body

Responses

200 - Validation result
404 - Traceset not found

Initiate multipart traceset upload

POST /api/v1/tracesets/upload-url Creates a traceset record and returns presigned S3 multipart upload URLs for each file. Each file is split into parts based on size. After uploading all parts to their presigned URLs, call POST /api/v1/tracesets/upload-url/complete to finalize the upload.

Request Body

Responses

200 - Presigned upload URLs for each file part
400 - Invalid request (empty files list, missing required fields)

Complete multipart traceset upload

POST /api/v1/tracesets/upload-url/complete Finalizes a multipart upload session by providing the ETags returned by S3 for all uploaded parts. The traceset transitions from uploading to processing state while metadata extraction runs asynchronously. Returns 201 on first completion or 200 on idempotent retry.

Request Body

Responses

201 - Upload completed and traceset created
200 - Idempotent retry — upload was already completed
400 - Invalid request (missing parts, bad ETags)
404 - Upload session not found
410 - Upload session expired