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 tracesetsGet traceset
GET/api/v1/tracesets/{id}
Returns a traceset by ID including all file metadata, tags, and expiration information.
Parameters
Responses
200 - Traceset detailsDelete 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 foundGet 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 URLValidate 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 resultInitiate 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. PUT each part with its size bytes before partUrlsExpireAt (one hour by default); expiresAt is the 24-hour session lifetime, not the URLs’. After uploading all parts to their presigned URLs, call POST /api/v1/tracesets/upload-url/complete to finalize the upload. An upload with primary files must declare its rank count in workloadMetadata, as shape.rankCount or as parallelism degrees (dp, tp, sp, ep, pp, multiplied together); the declaration is checked before any upload URL is issued, and the traceset reports it as rankCountDerived. An upload of supporting files only needs no declaration.
Request Body
Responses
200 - Presigned upload URLs for each file partprimary files without a declared rank count; a shape.rankCount or parallelism degree that is not a whole number of at least 1; a shape.rankCount that differs from the parallelism product; a declared rank count above 2,147,483,647; or a workloadMetadata, shape or parallelism that is neither an object nor null. The message names the field at fault.
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 is ready when this returns, every file reports metadataStatus complete, and the platform does not process the trace files: the rank count is the one declared at upload. With exactly one primary file, that file reports rankRange 0 to N−1 for N declared ranks. Returns 201 on first completion or 200 on idempotent retry. The completion keeps running if this request times out (408) or disconnects: retry the same request, which answers 409 while the completion runs, then 200 once it has finished or 400 if it failed.