The identity and technical contract details declared by the specification.
ActivityEventResponse
object
18 properties
11 required
ActivityPage
object
2 properties
1 required
AnnotationBatchCreate
object
Body for POST /{pid}/assets/{aid}/annotations/batch-create — sync, one asset (asset in the path). source is always manual (the labeling path). replace=true del…
2 properties
1 required
AnnotationBatchDeleteRequest
object
POST batch-delete body. Hard-cap 500 ids per call (ADR-0029 perf budget).
1 property
1 required
AnnotationBatchDeleteResponse
object
Canonical sync batch-op envelope (ADR-0041): buckets sum to total (total == deleted + skipped) and len(results) == total. Shape mirrors the asset batch-delete…
4 properties
3 required
AnnotationBatchDeleteResultItem
object
2 properties
2 required
AnnotationBatchEditCreate
object
A new annotation in a batch edit (ADR-0092). id is the caller's client-minted UUID — it IS the shape's primary key and must be unique within this request. The…
9 properties
4 required
AnnotationBatchEditRequest
object
Body for POST /{pid}/annotations/batch. At least one bucket non-empty; the combined op count is capped at MAXSYNCBATCHSIZE and the raw body at MAXSYNCBATCHBYTE…
3 properties
AnnotationBatchEditResponse
object
3 properties
3 required
AnnotationBatchEditUpdate
object
A partial update of an existing annotation by id. Only the supplied fields change; omitted fields are left as-is. type is immutable (changing geometry kind = d…
6 properties
1 required
AnnotationBlameEntry
object
One shape's state at one commit — the per-annotation blame timeline.
9 properties
9 required
AnnotationBlamePage
object
A page of one annotation's blame timeline (ADR-0012 cursor pagination).
2 properties
1 required
AnnotationCreate
object
8 properties
2 required
AnnotationImportInitRequest
object
1 property
1 required
AnnotationImportInitResponse
object
importid is what you pass to bulk-create. PUT the raw NDJSON bytes to uploadurl (exactly sizebytes long) before kicking the job.
3 properties
3 required
AnnotationListItem
object
List-endpoint item: AnnotationResponse plus optional embedded asset + the class the annotation is an instance of (ADR-0090; wire key class).
15 properties
12 required
AnnotationListPage
object
3 properties
1 required
AnnotationResponse
object
13 properties
12 required
AnnotationUpdate
object
5 properties
AnnotationsBySource
object
Per-source bucket for the multi-source visualization endpoint. annotations is a legacy alias of shapes; deprecated.
4 properties
2 required
ApiKeyCreate
object
Body for POST /api-keys.
2 properties
1 required
ApiKeyCreated
object
Response for POST /api-keys. The plaintext field is returned exactly once and never again — store it securely (env var, secret manager). Subsequent calls to GE…
6 properties
6 required
ApiKeyList
object
2 properties
1 required
ApiKeySummary
object
List response item. Never carries the plaintext.
6 properties
6 required
AssetDownloadUrl
object
Presigned GET URL for asset content (canvas rendering).
2 properties
2 required
AssetFilter
object
6 properties
AssetPage
object
3 properties
1 required
AssetProjectMembership
object
Compact project ref for the asset-list ?include=projects embed (FE feedback 2026-05-07).
2 properties
2 required
AssetProperties
object
Extracted image facts persisted on ImageAsset.properties (JSONB) and echoed on the wire. Written once by extract.extractimage (typed → modeldump); read lenient…
3 properties
AssetResponse
object
11 properties
9 required
AssetStatePage
object
3 properties
1 required
AssetStateResponse
object
18 properties
11 required
AssetSummary
object
Compact asset reference for embedding in project asset-state rows so the FE can render filename + dimensions without N+1 lookups. Does NOT include a download U…
6 properties
5 required
AssetUploadCompleteRequest
object
2 properties
2 required
AssetUploadInitBatchItem
object
One file in a batch upload-init request. clientref is an opaque string the caller can use to map the response back to its source — the SDK uses the local file…
4 properties
4 required
AssetUploadInitBatchItemResponse
object
Per-item outcome. Either a presigned URL (uploadtype="single") or an error (uploadtype="error") — files in the batch can fail independently (e.g., wrong MIME o…
7 properties
2 required
AssetUploadInitBatchRequest
object
1 property
1 required
AssetUploadInitBatchResponse
object
All items returned, in input order. Caller cross-references via clientref. Files MULTIPARTTHRESHOLDBYTES are NOT served by the batch endpoint (the multipart pa…
1 property
1 required
AssetUploadInitMultipartResponse
object
5 properties
4 required
AssetUploadInitRequest
object
3 properties
3 required
AssetUploadInitSinglePartResponse
object
4 properties
3 required
AssetsBatchDeleteRequest
object
Body for POST /assets/batch-delete — sync soft-delete on an explicit selection of assets (1 ≤ N ≤ MAXSYNCBATCHSIZE).
1 property
1 required
AssetsBatchDeleteResponse
object
4 properties
4 required
AssetsBatchDeleteResultItem
object
2 properties
2 required
AssignRequest
object
1 property
1 required
AttributeCreate
object
An attribute = a classification owned by an object class. Always a question, so classificationconfig is required.
3 properties
2 required
AttributeResponse
object
8 properties
7 required
AttributeUpdate
object
4 properties
AuthTokens
object
Tokens issued by WorkOS. The access token is a short-lived (~5 min) JWT sent as Authorization: Bearer ; the refresh token trades for a new pair via /auth/refre…
2 properties
2 required
AuthorizeResponse
object
The hosted-AuthKit URL the FE redirects the browser to for sign-in/sign-up (ADR-0053). After login, WorkOS redirects back to the configured callback with a one…
1 property
1 required
AutoLabelConfig
object
Per-project auto-label policy (manager-owned). classmap maps the model's class id (string key) → a project class id; omit it to auto-derive when the model was…
5 properties
1 required
AutoLabelConfigResponse
object
3 properties
2 required
AutoLabelRunRequest
object
Start a batch pre-label run. Exactly one of assetids / all (all = every asset in the project). Existing-annotation policy is a single 3-level funnel (ADR-0075…
6 properties
AutoLabelSuggestRequest
object
In-editor assist for one image — runs the project's configured trained-model deployment. Body is optional; confidence overrides the project threshold for this…
1 property
AutoLabelSuggestResponse
object
2 properties
2 required
AutoLabelSuggestion
object
One predicted object. classid is null when the model class couldn't be mapped to a project class (FE prompts the labeler to assign before commit).
5 properties
5 required
BboxGeometry
object
5 properties
4 required
BboxGeometryRead
object
5 properties
4 required
BoxAnchor
object
4 properties
4 required
BoxPrompt
object
A visual (few-shot) prompt: 'find things like the object in this box'. refimage defaults to the search image when omitted (box drawn on it directly).
3 properties
1 required
BulkOpRequest
object
Common shape for bulk-delete. Exactly one of assetids or filter must be present. excludeassetids (filter-mode only) deselects rows from the matched set so the…
3 properties
CallbackRequest
object
Body for POST /auth/callback — the code WorkOS appended to the redirect.
1 property
1 required
CapabilityDescriptor
object
Task-keyed contract the FE renders the playground from (ADR-0067).
5 properties
4 required
CatalogEarlyStoppingKnob
object
1 property
1 required
CatalogEpochsKnob
object
3 properties
3 required
CatalogModelResponse
object
4 properties
4 required
CatalogOptions
object
4 properties
4 required
CatalogPatienceKnob
object
3 properties
3 required
CatalogSplitDefault
object
5 properties
5 required
CatalogSplitKnob
object
2 properties
2 required
ChangePasswordRequest
object
Change your own password. previouspassword is re-verified against the identity provider before the new one is set; newpassword must satisfy the provider's stre…
2 properties
2 required
ClassCountById
object
COCO/Delta per-class entry (id-keyed). COCO id is int; delta id is the class UUID stringified — hence int | str.
3 properties
3 required
ClassCountByIdx
object
YOLO per-class entry (0-based dataset index).
3 properties
3 required
ClassCreate
object
Create an object class (kind='object') with optional inline attributes (fanned out to owned classification rows in one transaction).
6 properties
2 required
ClassRef
object
Flat serialization of a single class row (any kind) — used to embed the class an annotation is an instance of (annotation list). Distinct from the nested Class…
9 properties
6 required
ClassResponse
object
An object class with its owned attributes inline (ADR-0090 §3, Option A).
10 properties
8 required
ClassUpdate
object
Edit a class's OWN fields (attribute edits go through the attribute endpoints). Works for object classes (name/color/allowedtypes/archived) and image-level cla…
5 properties
ClassesResponse
object
Composed classes read (ADR-0090 §3, Option A). Deliberately NOT cursor-paginated (ADR-0012 exception): a project's class set is bounded + small (ADR-0078 caps…
2 properties
2 required
ClassificationConfig
object
Per-label config for type=classification annotations. Stored on ProjectClass.classificationconfig as JSONB. ADR-0031. options is required for radio / checkbox,…
5 properties
1 required
ClassificationInputType
string
ClassificationOption
object
2 properties
2 required
ClassificationSummary
object
One answered image-level classification on an asset (asset-list summary).
3 properties
3 required
CocoResultDetails
object
resultdetails for a COCO bundle. classes/classestruncated/ classestotal were added when topclasses landed — Optional-with-default so a pre-that-change row stil…
7 properties
4 required
CommentCreateRequest
object
POST /projects/{pid}/assets/{aid}/comments. Anchor is one-of: - kind=asset: no coords, no annotationid - kind=point: coords={"x", "y"} - kind=box: coords={"x",…
5 properties
1 required
CommentListPage
object
3 properties
1 required
CommentResponse
object
16 properties
13 required
CommentUpdateRequest
object
PATCH /comments/{id}. Body and/or anchor edit (root comments only). Send only what changes. If any anchor field is present, the whole anchor is replaced and re…
5 properties
ConfusionMatrix
object
K classes + a trailing 'background' bucket for FP/missed.
2 properties
2 required
DatasetCreate
object
2 properties
1 required
DatasetResponse
object
6 properties
6 required
DatasetStatsResponse
object
Total counts for the FE asset grid header (FE feedback 2026-05-07). Separate endpoint per ADR-0012 (cursor pagination, no totals on list). embedding: semantic-…
3 properties
2 required
DatasetUpdate
object
PATCH semantics: omit a field to leave it unchanged. Explicit null is treated the same as omit (use "" to clear description). Future revision may switch to JSO…
2 properties
DeltaResultDetails
object
annotationsbytype is genuinely open-ended by annotation type — the one legit dict inside an otherwise-fixed model.
8 properties
4 required
DeploymentDetail
object
12 properties
11 required
DeploymentLabel
object
3 properties
2 required
DeploymentPage
object
2 properties
1 required
DeploymentResponse
object
11 properties
11 required
ExportCreateRequest
object
POST body. All fields optional except format. Pydantic defaults to ignoring unknown fields (extra='ignore'), so callers that still send the deprecated splits /…
3 properties
1 required
ExportDownloadResponse
object
Response from /exports/{eid}/download when ready. Caller follows url with a normal HTTPS GET. S3 validates expiry at request start so 1h TTL covers arbitrary-d…
1 property
1 required
ExportListPage
object
2 properties
1 required
ExportResponse
object
14 properties
13 required
FoundationModelPage
object
ADR-0012 pagination envelope. The catalog is a static bounded set, so it always fits one page and nextcursor is always None — the shape is kept uniform with th…
2 properties
1 required
FoundationModelResponse
object
One catalog entry (the playground's model picker + control schema).
8 properties
8 required
FoundationModelStatus
object
Catalog entry + live availability. status: - ready → endpoint InService, predict works - warming → endpoint creating (just brought up; ~3-8 min to ready) - una…
9 properties
9 required
FoundationPrediction
object
4 properties
4 required
FrozenClass
object
One class as frozen into a ProjectVersion.frozenclasses snapshot at version-create time. Mirrors the writer at routes/projects.py createversion. keypointtopolo…
6 properties
2 required
FrozenClassSet
object
The ProjectVersion.frozenclasses blob: {"classes": [FrozenClass, ...]}. Typed on the wire (VersionResponse.frozenclasses) — rows are uniform post-0075. Storage…
1 property
FrozenShape
object
One frozen annotation as serialized into an S3 version manifest by the freeze worker (jobworker.serializeann). Distinct from AnnotationResponse: the manifest o…
11 properties
5 required
GuidelineImageUploadInitRequest
object
3 properties
3 required
GuidelineImageUploadInitResponse
object
Returned URLs are both presigned + scoped to one upload. The publicurl is a presigned GET valid for 1 hour; it's the value the FE drops into the markdown sourc…
3 properties
3 required
HTTPValidationError
object
1 property
ImageClassificationCreate
object
Create an image-level classification (kind='classification', no owner).
4 properties
2 required
ImageClassificationResponse
object
9 properties
7 required
ImageRef
object
1 property
ImageSize
object
Decoded image dimensions echoed on a predict response, so the FE can scale pixel-space geometry without re-reading the image. Shared by the deployment and foun…
2 properties
InvitationCreate
object
An invitation is email + role, nothing else (ADR-0112 principle carried forward): the invitee names themselves at sign-up.
2 properties
1 required
InvitationPage
object
1 property
1 required
InvitationResponse
object
7 properties
7 required
InvitationStatus
string
Lifecycle of a workspace invitation (ADR-0113). Terminal states are kept as history; only pending rows are actionable/unique per email.
JobPage
object
3 properties
1 required
JobResponse
object
15 properties
13 required
KeypointGeometry
object
2 properties
1 required
KeypointGeometryRead
object
2 properties
1 required
KeypointNode
object
3 properties
2 required
KeypointNodeGeom
object
3 properties
2 required
KeypointNodeGeomRead
object
3 properties
2 required
KeypointPosition
object
Normalized (0-1) (x, y) inside a unit bbox. Origin is top-left; y grows down. The FE multiplies by the drawn bbox dimensions to seed each joint when the user c…
2 properties
2 required
KeypointTopology
object
Per-label keypoint topology — names the nodes, defines skeleton edges. ADR-0030. Stored on ProjectClass.keypointtopology as JSONB. nodes are 0-indexed by their…
5 properties
1 required
LabelingContext
object
Bundled labeler-page payload: state + asset metadata + annotations + classes + presigned download URL. One round-trip instead of four. annotations (legacy) is…
8 properties
4 required
LabelingTimeHeartbeat
object
Body of POST /labeling-time/heartbeat. Fired by the FE every ~15s while a labeler is actively working on a project asset.
4 properties
3 required
LabelingTimeReport
object
GET /labeling-time response.
2 properties
1 required
LabelingTimeRow
object
One report row. Columns are populated when their dimension is in the groupby list — otherwise they're absent (treated as aggregated).
5 properties
1 required
MappedAnnotationCreate
object
One row of a project-scoped flat create. References its target asset by assetid (UUID) or filename (resolved within the project's dataset via the unique (datas…
9 properties
2 required
MemberAdd
object
2 properties
2 required
MemberPage
object
ADR-0012 pagination envelope for the member listing. The member set is bounded (ADR-0078 caps MAXMEMBERSPERPROJECT at <=50) and returned whole, so nextcursor i…
2 properties
1 required
MemberResponse
object
3 properties
2 required
MemberUpdate
object
1 property
1 required
ModelRef
object
Which model auto-label uses. deployment = a trained-model SageMaker endpoint (batch + assist); foundation = an open-vocab model like ZERO (assist only — see AD…
3 properties
1 required
ModelRefKind
string
Which model backs an auto-label run (stored in project.autolabelconfig JSONB).
MultiSourceAnnotations
object
2 properties
2 required
MultipartCompletePart
object
2 properties
2 required
MultipartPartUrl
object
2 properties
2 required
MyInvitation
object
A pending invitation addressed to this account's email (GET /me/invitations item). Accept/decline via its id.
7 properties
7 required
MyInvitationsResponse
object
1 property
1 required
MyTenantsResponse
object
1 property
1 required
OutputGeometry
string
Geometry kinds a model can emit (subset of AnnotationType). Used by the serving/deployment + foundation-model capability descriptors.
OverallMetrics
object
Overall detection/segmentation metrics at the F1-optimal confidence. map/map50 are injected post-hoc by trainer.scoresplit (torchmetrics), so evaluate() return…
5 properties
OwnerCreate
object
4 properties
4 required
OwnerResponse
object
4 properties
4 required
ParamSpec
object
3 properties
3 required
PerClassMetrics
object
One class's P/R/F1 + GT support at the chosen threshold.
5 properties
5 required
PointAnchor
object
2 properties
2 required
PolygonGeometry
object
2 properties
1 required
PolygonGeometryRead
object
2 properties
1 required
PolygonPart
object
One part of a (possibly multi-part) polygon: an exterior ring + optional hole rings.
2 properties
1 required
PolygonPartRead
object
2 properties
1 required
PredictRequest
object
5 properties
PredictResponse
object
3 properties
3 required
Prediction
object
5 properties
4 required
ProjectAnnotationBatchCreate
object
Body for POST /{pid}/annotations/batch-create — sync, flat mapped list, all-or-nothing (an invalid row → 422 with its index). Cap MAXSYNCBATCHSIZE. source defa…
3 properties
1 required
ProjectAnnotationBatchCreateResponse
object
3 properties
3 required
ProjectAnnotationBulkCreate
object
Body for POST /{pid}/annotations/bulk-create — async. Provide EITHER annotations inline (bounded by the ~6 MB Lambda request payload) OR an importid from impor…
4 properties
ProjectAssetsBatchAddRequest
object
Sync batch-add body — explicit assetids only, ≤MAXSYNCBATCHSIZE.
1 property
1 required
ProjectAssetsBatchAddResponse
object
Canonical sync batch-op envelope (ADR-0041): total == added + skipped, len(results) == total. skipped = already-in-scope (idempotent re-add).
4 properties
4 required
ProjectAssetsBatchAddResultItem
object
2 properties
2 required
ProjectAssetsBatchApproveRequest
object
Sync batch-approve. Explicit assetids only.
1 property
1 required
ProjectAssetsBatchApproveResponse
object
4 properties
4 required
ProjectAssetsBatchApproveResultItem
object
2 properties
2 required
ProjectAssetsBatchAssignRequest
object
Sync batch-assign. Explicit assetids only (≤MAXSYNCBATCHSIZE).
2 properties
2 required
ProjectAssetsBatchAssignResponse
object
4 properties
4 required
ProjectAssetsBatchAssignResultItem
object
2 properties
2 required
ProjectAssetsBatchRejectRequest
object
Sync batch-reject. Explicit assetids only.
2 properties
1 required
ProjectAssetsBatchRejectResponse
object
4 properties
4 required
ProjectAssetsBatchRejectResultItem
object
2 properties
2 required
ProjectAssetsBatchRemoveRequest
object
Sync batch-remove body — explicit assetids only, ≤MAXSYNCBATCHSIZE.
1 property
1 required
ProjectAssetsBatchRemoveResponse
object
Canonical sync batch-op envelope (ADR-0041): total == removed + skipped, len(results) == total. skipped = not-in-project, nothing to drop.
4 properties
4 required
ProjectAssetsBatchRemoveResultItem
object
2 properties
2 required
ProjectAssetsBatchSetStatusRequest
object
Sync batch set-status. Explicit assetids only.
2 properties
2 required
ProjectAssetsBatchSetStatusResponse
object
4 properties
4 required
ProjectAssetsBatchSetStatusResultItem
object
2 properties
2 required
ProjectAssetsBatchUnassignRequest
object
Sync batch-unassign. Explicit assetids only.
1 property
1 required
ProjectAssetsBatchUnassignResponse
object
4 properties
4 required
ProjectAssetsBatchUnassignResultItem
object
2 properties
2 required
ProjectAssetsBatchUpdateRequest
object
Sync batch-update-tags body — explicit assetids only, ≤MAXSYNCBATCHSIZE. Same dual-arm shape as the async path; FE picks sync when N≤1000 for instant feedback,…
3 properties
1 required
ProjectAssetsBatchUpdateResponse
object
Canonical sync batch-op envelope (ADR-0041): total == updated + skipped, len(results) == total. skipped = asset wasn't in the project, was already in the desir…
4 properties
4 required
ProjectAssetsBatchUpdateResultItem
object
2 properties
2 required
ProjectBatchDeleteAnnotationsRequest
object
Sync batch-delete-annotations body — explicit assetids only, ≤MAXSYNCBATCHSIZE (ADR-0041). Additionally 413s when the selection matches more than MAXSYNCBATCHS…
3 properties
1 required
ProjectBatchDeleteAnnotationsResponse
object
Canonical sync batch-op envelope (ADR-0041): total == cleared + skipped over ASSETS, len(results) == total; deletedannotations/skippedlocked carry the annotati…
6 properties
6 required
ProjectBatchDeleteAnnotationsResultItem
object
3 properties
3 required
ProjectBulkAddAssetsRequest
object
Async bulk-add body. assetids lists dataset asset ids to pull into the project; filter (AssetFilter — dataset-scoped) picks them by metadata. Exactly one mode.…
3 properties
ProjectBulkApproveAssetsRequest
object
Async bulk-approve. No payload. Worker silently skips rows not in inreview.
3 properties
ProjectBulkAssignAssetsRequest
object
Async bulk-assign. userid must be a tenant member (project-member or tenant admin); route validates at job-create time so the job never enqueues with a bad ass…
4 properties
1 required
ProjectBulkDeleteAnnotationsRequest
object
Async bulk-delete-annotations body: ProjectBulkOpRequest selection (exactly-one-of assetids | filter, filter-mode excludeassetids) plus the annotation predicat…
5 properties
ProjectBulkOpRequest
object
Shared shape for project-scoped async bulk ops. Exactly one of assetids (explicit list) or filter (ProjectFilter — workflow + tags + asset metadata) must be pr…
3 properties
ProjectBulkRejectAssetsRequest
object
Async bulk-reject. Optional reason flows into: - projectassetstate.lastrejectreason - a new Comment row (anchor=asset, origin=workflowreject) so the labeler se…
4 properties
ProjectBulkRemoveAssetsRequest
object
Async bulk-remove body. Selection is project-scoped — uses ProjectFilter since you're choosing currently-in-project assets to drop (workflow + tag fields are m…
3 properties
ProjectBulkSetStatusAssetsRequest
object
Async bulk set-status. Force-moves the selection to targetstatus regardless of current status (manager override — not a guarded transition). Rows already at th…
4 properties
1 required
ProjectBulkUnassignAssetsRequest
object
Async bulk-unassign. No payload.
3 properties
ProjectBulkUpdateTagsRequest
object
Async bulk-update-tags body. Atomic — both arms apply in one transactional batch update. At least one of tagsadd / tagsremove must be non-empty. Tags are valid…
5 properties
ProjectCreate
object
9 properties
4 required
ProjectDuplicateRequest
object
1 property
ProjectFilter
object
Superset of AssetFilter for project-scoped ops. Workflow + tag fields live on projectassetstate rather than the asset row itself.
18 properties
ProjectGuidelineResponse
object
GET /guideline — what every project member sees. contentmd is the stored Markdown with any guidelines/{pid}/... image URLs re-signed to fresh 1-hour TTL presig…
4 properties
3 required
ProjectGuidelineUpdate
object
PUT /guideline body. Manager-only on the route.
1 property
1 required
ProjectPage
object
3 properties
1 required
ProjectProgress
object
Counters from projectassetstate for a project's dashboard.
6 properties
5 required
ProjectResponse
object
12 properties
10 required
ProjectScope
object
Initial asset selection for a project. Exactly one of the three fields.
3 properties
ProjectTagCreateRequest
object
Define a new palette tag. 409 if the value already exists.
3 properties
1 required
ProjectTagDeleteResponse
object
Result of deleting a tag from a project (untag-all + palette cleanup).
3 properties
3 required
ProjectTagListItem
object
One tag in the project's authoritative palette (ADR-0058): its definition (value + color/display) plus current usage count.
4 properties
2 required
ProjectTagSummaryItem
object
One tag value + the count of assets in the target set that carry it. FE renders tri-state checkboxes from this: - count == total → checked - 0 < count < total…
2 properties
2 required
ProjectTagSummaryResponse
object
Aggregate tag application across a target set. Powers the unified bulk-tag editor (one checkbox grid replacing the dual-arm add/remove pickers). Reuses the sam…
2 properties
2 required
ProjectTagUpdateRequest
object
Rename and/or recolor/redisplay a palette tag. value identifies the existing tag; supply at least one of newvalue / color / display. Renaming rewrites every as…
4 properties
1 required
ProjectTagUpdateResponse
object
Result of a tag update: the final palette entry + how many assets were rewritten (rename only; 0 for a pure recolor).
4 properties
2 required
ProjectTagsResponse
object
The project's authoritative tag palette (ADR-0058), each entry with its color/display and usage count. (Was a bare list[str] before v2.)
1 property
1 required
ProjectUpdate
object
4 properties
QueueStatsResponse
object
Bucket counts for the labeler's 4-card hero (ADR-0029).
4 properties
4 required
RefreshRequest
object
1 property
1 required
RejectRequest
object
1 property
RevisionAnnotation
object
One annotation's state as captured in a commit.
6 properties
6 required
RevisionDetail
object
A single commit + the full annotation snapshot at that point — what the editor renders to view or diff a past state.
6 properties
6 required
RevisionSummary
object
One commit in an asset's history (the editor's revision list).
6 properties
6 required
RevisionSummaryPage
object
A page of an asset's commit history (ADR-0012 cursor pagination).
2 properties
1 required
SearchHit
object
One result row. similarity is in [0, 1] (cosine; 1 = identical).
8 properties
6 required
SearchQuery
object
2 properties
1 required
SearchQueryPart
object
One slice of a multimodal query. Exactly one of text, imageuri, or assetid must be set per part, matching the declared type.
4 properties
1 required
SearchRequest
object
4 properties
1 required
SearchResponse
object
2 properties
1 required
SegmentPoint
object
3 properties
2 required
SegmentRequest
object
2 properties
SegmentResponse
object
2 properties
2 required
SegmentSuggestion
object
3 properties
2 required
SkippedDetail
object
One annotation the bundler couldn't represent (persisted serialization of FormatterSkip). assetid is stringified on write; annotationid is int (COCO/YOLO) or s…
4 properties
4 required
SplitConfig
object
8 properties
SplitStrategy
string
Train/val/test split strategy (stored in training-run options JSONB).
TagConfig
object
Per-project tag vocabulary (ADR-0050). freeform=true (default) means the server doesn't enforce; allowedtags is a cosmetic palette. freeform=false rejects unkn…
2 properties
TagConfigEntry
object
One entry in tagconfig.allowedtags on a Project. value is the canonical wire form; display/color are FE rendering hints.
3 properties
1 required
TenantCreate
object
3 properties
3 required
TenantCreateMe
object
Body for POST /me/tenants — create a workspace as the authenticated account (who becomes its admin). No owner block: the account exists.
2 properties
2 required
TenantMembership
object
One workspace this account belongs to (GET /me/tenants item, and the result of accepting an invitation).
5 properties
5 required
TenantResponse
object
5 properties
5 required
TrainedModelListPage
object
2 properties
1 required
TrainedModelResponse
object
12 properties
12 required
TrainedModelUpdate
object
Edit a trained model (ADR-0072) — name and/or description (partial; send only what changes). Name is unique per tenant (case-insensitive); description may be s…
2 properties
TrainingMetricPoint
object
One epoch on the live training curve (ADR-0064). Losses fall out of the loop each epoch; the val accuracy metrics come from a per-epoch eval pass on the val sp…
7 properties
7 required
TrainingMetricsResponse
object
1 property
1 required
TrainingMetricsSummary
object
The full scorecard persisted to TrainedModel.metricssummary and echoed on TrainedModelResponse.metricssummary. Lenient on read (extra="ignore") so a future add…
5 properties
TrainingRunCreate
object
7 properties
3 required
TrainingRunListPage
object
2 properties
1 required
TrainingRunResponse
object
13 properties
13 required
TrainingStatsClass
object
4 properties
4 required
TrainingStatsResponse
object
Pre-train readiness for one task on a frozen version (ADR-0064). The FE renders this and raises its own advisory warnings; the BE only hard-blocks genuine impo…
6 properties
6 required
UnifiedDatasetPage
object
3 properties
1 required
UnifiedDatasetResponse
object
Returned by the cross-kind list endpoint. kind discriminator lets the FE route to the correct kind-specific endpoint for follow-up calls.
6 properties
6 required
UserPage
object
2 properties
1 required
UserResponse
object
7 properties
7 required
UserRoleUpdate
object
Body for PATCH /users/{userid}. Admin-only — changes the target user's workspace role. Blocked by last-admin guard when demoting.
1 property
1 required
UserSeedCreate
object
Body for POST /users — programmatic seeding ONLY (ADR-0113): create a ready-to-login member directly (WorkOS account with password + membership, no email). Hum…
5 properties
4 required
UserSelfUpdate
object
Edit your own profile (first/last name only). Email + password have their own dedicated endpoints.
2 properties
UserSummary
object
Compact user reference for embedding in other responses (members, assetstate, etc.) so the FE doesn't have to do N+1 lookups for names.
4 properties
4 required
ValidationError
object
5 properties
3 required
VersionAssetDetail
object
Single frozen asset (GET …/versions/{vid}/assets/{aid}) — the browse view plus the frozen annotation shapes, read straight from the manifest so it resolves eve…
10 properties
10 required
VersionAssetPage
object
Page of a version's frozen assets (GET …/versions/{vid}/assets). Mirrors AssetPage — cursor-paginated, total is the count matching the q/tags filter (the whole…
3 properties
2 required
VersionAssetView
object
One asset as it was frozen in a version (ADR-0065 browser) — served from the manifest, not the live row, so it survives the asset being deleted.
9 properties
9 required
VersionCreate
object
3 properties
1 required
VersionPage
object
3 properties
1 required
VersionResponse
object
13 properties
12 required
VersionSelection
object
Which of the project's in-scope assets to freeze into a version (ADR-0065 §4). Exactly one of the three; omit the whole selection (or use all: true) to freeze…
3 properties
VersionUpdate
object
Edit a version (ADR-0072) — name and/or description (partial; send only what changes). Name is unique per project (case-insensitive); description may be set to…
2 properties
YoloResultDetails
object
7 properties
4 required
ZeroPredictRequest
object
4 properties
1 required
ZeroPredictResponse
object
3 properties
3 required
ErrorCode
string
Stable error code enum. Pattern-match here, never on message. Adding values is non-breaking; renaming/removing is a major bump.
ErrorResponse
object
1 property
1 required
The full machine-readable OpenAPI contract behind this narrative.