How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Superb AI MLOps Platform API

Multi-tenant REST backend for the Superb Platform. 164 operations across tenants, workspaces, image datasets and assets, projects and labeling workflow, annotations, comments, auto-label runs, model training, foundation models, deployments and exports. Bearer-token (Amazon Cognito) authentication with per-request workspace membership resolution, cursor pagination, an Idempotency-Key header on bulk operations, and a stable machine-readable error-code enum.

This API exposes 164 operations across 130 paths, organized into 27 resource areas, and defines 300 schemas. It is described by OpenAPI 3.1.0, at version 0.1.0.

Requests are made against the base URL https://api.bdai.superb-ai.com.

164 operations 130 paths 300 schemas 15 DELETE59 GET12 PATCH76 POST2 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
0.1.0
Base URL
https://api.bdai.superb-ai.com
Authentication
HTTP Bearer
Resource Areas
27

Authentication & Security 1

Superb AI MLOps Platform API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (HTTPBearer).

  • HTTPBearer — Cognito access token

Paths & Operations 164

Across 130 paths, the API surfaces 164 operations — 15 DELETE, 59 GET, 12 PATCH, 76 POST, 2 PUT. They span 27 resource areas, including tenants, auth, me, invitations, users, api-keys, datasets, image_datasets, and 19 more. Each is listed below with its method, path, parameters, and response codes.

tenants 1
POST
/tenants
Create Tenant
tenants-create_tenant 1 param body → 201422409429
auth 4
GET
/auth/authorize
Authorize
auth-authorize 2 params → 200422409429
POST
/auth/callback
Callback
auth-callback body → 200422409429
POST
/auth/refresh
Refresh
auth-refresh body → 200422409429
POST
/auth/logout
Logout
auth-logout 1 param → 204422409429
me 5
GET
/me/tenants
List My Tenants
me-list_my_tenants → 200401403409429
POST
/me/tenants
Create My Tenant
me-create_my_tenant body → 201422401403409429
GET
/me/invitations
List My Invitations
me-list_my_invitations → 200401403409429
POST
/me/invitations/{invitation_id}/accept
Accept Invitation
me-accept_invitation 1 param → 200422401403409429
POST
/me/invitations/{invitation_id}/decline
Decline Invitation
me-decline_invitation 1 param → 204422401403409429
invitations 3
POST
/tenants/{slug}/invitations
Create Invitation
invitations-create_invitation 1 param body → 201422401403404409429
GET
/tenants/{slug}/invitations
List Invitations
invitations-list_invitations 2 params → 200422401403404409429
POST
/tenants/{slug}/invitations/{invitation_id}/revoke
Revoke Invitation Route
invitations-revoke_invitation_route 2 params → 200422401403404409429
users 8
POST
/tenants/{slug}/users
Create User Seeded
users-create_user_seeded 1 param body → 201422401403404409429
GET
/tenants/{slug}/users
List Users
users-list_users 5 params → 200422401403404409429
DELETE
/tenants/{slug}/users/me
Leave Workspace
users-leave_workspace 1 param → 204422401403404409429
GET
/tenants/{slug}/users/me
Get Me
users-get_me 1 param → 200422401403404409429
PATCH
/tenants/{slug}/users/me
Update Me
users-update_me 1 param body → 200422401403404409429
POST
/tenants/{slug}/users/me/password
Change My Password
users-change_my_password 1 param body → 204422401403404409429
PATCH
/tenants/{slug}/users/{user_id}
Update User Role
users-update_user_role 2 params body → 200422401403404409429
DELETE
/tenants/{slug}/users/{user_id}
Remove Member
users-remove_member 2 params → 204422401403404409429
api-keys 3
POST
/tenants/{slug}/users/me/api-keys
Create a new API key for the calling user.
api-keys-create_api_key 1 param body → 201422401403404409429
GET
/tenants/{slug}/users/me/api-keys
List the calling user's active API keys.
api-keys-list_api_keys 1 param → 200422401403404409429
DELETE
/tenants/{slug}/users/me/api-keys/{key_id}
Revoke (soft-delete) an API key.
api-keys-revoke_api_key 2 params → 204422401403404409429
datasets 1
GET
/tenants/{slug}/datasets
List All Datasets
datasets-list_all_datasets 7 params → 200422401403404409429
image_datasets 6
POST
/tenants/{slug}/datasets/images
Create Image Dataset
image_datasets-create_image_dataset 1 param body → 201422401403404409429
GET
/tenants/{slug}/datasets/images/{dataset_id}
Get Image Dataset
image_datasets-get_image_dataset 2 params → 200422401403404409429
PATCH
/tenants/{slug}/datasets/images/{dataset_id}
Update Image Dataset
image_datasets-update_image_dataset 2 params body → 200422401403404409429
DELETE
/tenants/{slug}/datasets/images/{dataset_id}
Delete Image Dataset
image_datasets-delete_image_dataset 2 params → 204422401403404409429
GET
/tenants/{slug}/datasets/images/{dataset_id}/stats
Get Image Dataset Stats
image_datasets-get_image_dataset_stats 2 params → 200422401403404409429
POST
/tenants/{slug}/datasets/images/{dataset_id}/embed
Embed Image Dataset
image_datasets-embed_image_dataset 3 params → 202422401403404409429
image_assets 10
POST
/tenants/{slug}/datasets/images/{dataset_id}/assets/upload-init
Upload Init
image_assets-upload_init 2 params body → 201422401403404409429
POST
/tenants/{slug}/datasets/images/{dataset_id}/assets/upload-init/batch
Upload Init Batch
image_assets-upload_init_batch 3 params body → 201422401403404409429
POST
/tenants/{slug}/datasets/images/{dataset_id}/assets/upload-init/{upload_id}/complete
Upload Complete
image_assets-upload_complete 3 params body → 204422401403404409429
GET
/tenants/{slug}/datasets/images/{dataset_id}/assets
List Assets
image_assets-list_assets 13 params → 200422401403404409429
GET
/tenants/{slug}/datasets/images/{dataset_id}/assets/{asset_id}
Get Asset
image_assets-get_asset 3 params → 200422401403404409429
GET
/tenants/{slug}/datasets/images/{dataset_id}/assets/{asset_id}/download-url
Get Asset Download Url
image_assets-get_asset_download_url 3 params → 200422401403404409429
GET
/tenants/{slug}/datasets/images/{dataset_id}/assets/{asset_id}/thumbnail-url
Get Asset Thumbnail Url
image_assets-get_asset_thumbnail_url 3 params → 200422401403404409429
POST
/tenants/{slug}/datasets/images/{dataset_id}/assets/search
Search Assets
image_assets-search_assets 3 params body → 200422401403404409429
POST
/tenants/{slug}/datasets/images/{dataset_id}/assets/bulk-delete
Bulk Delete
image_assets-bulk_delete 3 params body → 202422401403404409429
POST
/tenants/{slug}/datasets/images/{dataset_id}/assets/batch-delete
Batch Delete Image Assets
image_assets-batch_delete_image_assets 2 params body → 200422401403404409429
jobs 2
GET
/tenants/{slug}/jobs/{job_id}
Get Job
jobs-get_job 2 params → 200422401403404409429
GET
/tenants/{slug}/jobs
List Jobs
jobs-list_jobs 11 params → 200422401403404409429
versions 1
GET
/tenants/{slug}/versions
List Tenant Versions
versions-list_tenant_versions 8 params → 200422401403404409429
projects 48
POST
/tenants/{slug}/projects
Create Project
projects-create_project 1 param body → 201422401403404409429
GET
/tenants/{slug}/projects
List Projects
projects-list_projects 10 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}
Get Project Endpoint
projects-get_project_endpoint 2 params → 200422401403404409429
PATCH
/tenants/{slug}/projects/{project_id}
Update Project
projects-update_project 2 params body → 200422401403404409429
DELETE
/tenants/{slug}/projects/{project_id}
Delete Project
projects-delete_project 2 params → 204422401403404409429
GET
/tenants/{slug}/projects/{project_id}/progress
Get Project Progress
projects-get_project_progress 2 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/classes
List Classes
projects-list_classes 3 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/classes
Create Class
projects-create_class 2 params body → 201422401403404409429
PATCH
/tenants/{slug}/projects/{project_id}/classes/{class_id}
Update Class
projects-update_class 3 params body → 200422401403404409429
DELETE
/tenants/{slug}/projects/{project_id}/classes/{class_id}
Delete Class
projects-delete_class 3 params → 204422401403404409429
POST
/tenants/{slug}/projects/{project_id}/classes/{class_id}/attributes
Create Attribute
projects-create_attribute 3 params body → 201422401403404409429
PATCH
/tenants/{slug}/projects/{project_id}/classes/{class_id}/attributes/{attribute_id}
Update Attribute
projects-update_attribute 4 params body → 200422401403404409429
DELETE
/tenants/{slug}/projects/{project_id}/classes/{class_id}/attributes/{attribute_id}
Delete Attribute
projects-delete_attribute 4 params → 204422401403404409429
POST
/tenants/{slug}/projects/{project_id}/members
Add Member
projects-add_member 2 params body → 201422401403404409429
GET
/tenants/{slug}/projects/{project_id}/members
List Members
projects-list_members 2 params → 200422401403404409429
PATCH
/tenants/{slug}/projects/{project_id}/members/{user_id}
Update Member
projects-update_member 3 params body → 200422401403404409429
DELETE
/tenants/{slug}/projects/{project_id}/members/{user_id}
Remove Member
projects-remove_member 3 params → 204422401403404409429
POST
/tenants/{slug}/projects/{project_id}/versions
Create Version
projects-create_version 2 params body → 201422401403404409429
GET
/tenants/{slug}/projects/{project_id}/versions
List Versions
projects-list_versions 8 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/versions/{version_id}
Get Version
projects-get_version 3 params → 200422401403404409429
PATCH
/tenants/{slug}/projects/{project_id}/versions/{version_id}
Update Version
projects-update_version 3 params body → 200422401403404409429
DELETE
/tenants/{slug}/projects/{project_id}/versions/{version_id}
Delete Version
projects-delete_version 3 params → 204422401403404409429
GET
/tenants/{slug}/projects/{project_id}/versions/{version_id}/assets
List Version Assets
projects-list_version_assets 14 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/versions/{version_id}/assets/{asset_id}
Get Version Asset
projects-get_version_asset 4 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/duplicate
Duplicate Project
projects-duplicate_project 2 params body → 201422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/bulk-update-tags
Project Bulk Update Tags
projects-project_bulk_update_tags 3 params body → 202422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/batch-update-tags
Project Assets Batch Update
projects-project_assets_batch_update 2 params body → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/tags
List Project Tags
projects-list_project_tags 2 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/tags
Create Project Tag
projects-create_project_tag 2 params body → 201422401403404409429
PATCH
/tenants/{slug}/projects/{project_id}/tags
Update Project Tag
projects-update_project_tag 2 params body → 200422401403404409429
DELETE
/tenants/{slug}/projects/{project_id}/tags
Delete Project Tag
projects-delete_project_tag 3 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/tag-summary
Project Tag Summary
projects-project_tag_summary 2 params body → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/bulk-add
Project Bulk Add Assets
projects-project_bulk_add_assets 3 params body → 202422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/bulk-remove
Project Bulk Remove Assets
projects-project_bulk_remove_assets 3 params body → 202422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/batch-add
Project Assets Batch Add
projects-project_assets_batch_add 2 params body → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/batch-remove
Project Assets Batch Remove
projects-project_assets_batch_remove 2 params body → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/bulk-delete-annotations
Project Bulk Delete Annotations
projects-project_bulk_delete_annotations 3 params body → 202422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/batch-delete-annotations
Project Batch Delete Annotations
projects-project_batch_delete_annotations 2 params body → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/bulk-assign
Project Bulk Assign
projects-project_bulk_assign 3 params body → 202422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/batch-assign
Project Batch Assign
projects-project_batch_assign 2 params body → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/bulk-unassign
Project Bulk Unassign
projects-project_bulk_unassign 3 params body → 202422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/batch-unassign
Project Batch Unassign
projects-project_batch_unassign 2 params body → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/bulk-approve
Project Bulk Approve
projects-project_bulk_approve 3 params body → 202422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/batch-approve
Project Batch Approve
projects-project_batch_approve 2 params body → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/bulk-reject
Project Bulk Reject
projects-project_bulk_reject 3 params body → 202422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/batch-reject
Project Batch Reject
projects-project_batch_reject 2 params body → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/bulk-set-status
Project Bulk Set Status
projects-project_bulk_set_status 3 params body → 202422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/batch-set-status
Project Batch Set Status
projects-project_batch_set_status 2 params body → 200422401403404409429
projects-workflow 16
POST
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/claim
Claim Asset
projects-workflow-claim_asset 3 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/assign
Assign Asset
projects-workflow-assign_asset 3 params body → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/unassign
Unassign Asset
projects-workflow-unassign_asset 3 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/submit
Submit Asset
projects-workflow-submit_asset 3 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/approve
Approve Asset
projects-workflow-approve_asset 3 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/reject
Reject Asset
projects-workflow-reject_asset 3 params body → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/skip
Skip Asset
projects-workflow-skip_asset 3 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/reopen
Reopen Asset
projects-workflow-reopen_asset 3 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/queue
Get My Queue
projects-workflow-get_my_queue 8 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/queue/stats
Queue Stats
projects-workflow-queue_stats 2 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/assets
List Asset States
projects-workflow-list_asset_states 24 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/assets/{asset_id}
Get Labeling Context
projects-workflow-get_labeling_context 3 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/annotations
Create Annotation
projects-workflow-create_annotation 3 params body → 201422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/annotations/batch-create
Batch Create Annotations
projects-workflow-batch_create_annotations 3 params body → 201422401403404409429
PATCH
/tenants/{slug}/projects/{project_id}/annotations/{annotation_id}
Update Annotation
projects-workflow-update_annotation 3 params body → 200422401403404409429
DELETE
/tenants/{slug}/projects/{project_id}/annotations/{annotation_id}
Delete Annotation
projects-workflow-delete_annotation 3 params → 204422401403404409429
annotations 9
GET
/tenants/{slug}/projects/{project_id}/annotations
List Annotations
annotations-list_annotations 17 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/annotations/batch-delete
Batch Delete Annotations
annotations-batch_delete_annotations 2 params body → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/annotations/batch-create
Project Batch Create Annotations
annotations-project_batch_create_annotations 2 params body → 201422401403404409429
POST
/tenants/{slug}/projects/{project_id}/annotations/import-init
Annotation Import Init
annotations-annotation_import_init 2 params body → 201422401403404409429
POST
/tenants/{slug}/projects/{project_id}/annotations/bulk-create
Project Bulk Create Annotations
annotations-project_bulk_create_annotations 3 params body → 202422401403404409429
POST
/tenants/{slug}/projects/{project_id}/annotations/batch
Batch Edit Annotations
annotations-batch_edit_annotations 2 params body → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/revisions
List Asset Revisions
annotations-list_asset_revisions 5 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/revisions/{seq}
Get Asset Revision
annotations-get_asset_revision 4 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/annotations/{annotation_id}/revisions
List Annotation Revisions
annotations-list_annotation_revisions 5 params → 200422401403404409429
comments 7
POST
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/comments
Create Comment
comments-create_comment 3 params body → 201422401403404409429
GET
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/comments
List Asset Comments
comments-list_asset_comments 8 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/comments
List Project Comments
comments-list_project_comments 10 params → 200422401403404409429
PATCH
/tenants/{slug}/projects/{project_id}/comments/{comment_id}
Update Comment
comments-update_comment 3 params body → 200422401403404409429
DELETE
/tenants/{slug}/projects/{project_id}/comments/{comment_id}
Delete Comment
comments-delete_comment 3 params → 204422401403404409429
POST
/tenants/{slug}/projects/{project_id}/comments/{comment_id}/resolve
Resolve Comment
comments-resolve_comment 3 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/comments/{comment_id}/reopen
Reopen Comment
comments-reopen_comment 3 params → 200422401403404409429
project-guidelines 3
GET
/tenants/{slug}/projects/{project_id}/guideline
Read the project guideline (Markdown).
project-guidelines-get_guideline 2 params → 200422401403404409429
PUT
/tenants/{slug}/projects/{project_id}/guideline
Upsert the project guideline. Project managers + workspace admin only.
project-guidelines-upsert_guideline 2 params body → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/guideline/images/upload-init
Mint a presigned PUT URL for a guideline image. Manager-only.
project-guidelines-init_guideline_image_upload 2 params body → 201422401403404409429
labeling-time 2
POST
/tenants/{slug}/projects/{project_id}/labeling-time/heartbeat
Record active seconds for the calling user. Any project member.
labeling-time-post_heartbeat 2 params body → 204422401403404409429
GET
/tenants/{slug}/projects/{project_id}/labeling-time
Aggregated active-seconds report. groupby drives the row shape.
labeling-time-get_report 8 params → 200422401403404409429
exports 4
POST
/tenants/{slug}/projects/{project_id}/versions/{version_id}/exports
Create Export
exports-create_export 4 params body → 202422401403404409429
GET
/tenants/{slug}/projects/{project_id}/versions/{version_id}/exports
List Exports
exports-list_exports 9 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/versions/{version_id}/exports/{export_id}/download
Get Export Download
exports-get_export_download 4 params → 200422401403404409429
DELETE
/tenants/{slug}/projects/{project_id}/versions/{version_id}/exports/{export_id}
Delete Export
exports-delete_export 4 params → 204422401403404409429
training 7
POST
/tenants/{slug}/projects/{project_id}/versions/{version_id}/training-runs
Create Training Run
training-create_training_run 3 params body → 202422401403404409429
GET
/tenants/{slug}/projects/{project_id}/versions/{version_id}/training-runs
List Training Runs
training-list_training_runs 5 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/versions/{version_id}/training-runs/{run_id}
Get Training Run
training-get_training_run 4 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/versions/{version_id}/training-runs/{run_id}/metrics
Get Training Metrics
training-get_training_metrics 4 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/versions/{version_id}/training-runs/{run_id}/cancel
Cancel Training Run
training-cancel_training_run 4 params → 202422401403404409429
GET
/tenants/{slug}/projects/{project_id}/versions/{version_id}/training-stats
Get Training Stats
training-get_training_stats 4 params → 200422401403404409429
GET
/tenants/{slug}/training/catalog
Get Training Catalog
training-get_training_catalog 1 param → 200422401403404409429
auto-label 6
GET
/tenants/{slug}/projects/{project_id}/auto-label/config
Get Config
auto-label-get_config 2 params → 200422401403404409429
PUT
/tenants/{slug}/projects/{project_id}/auto-label/config
Put Config
auto-label-put_config 2 params body → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/auto-label/runs
Create Run
auto-label-create_run 3 params body → 202422401403404409429
GET
/tenants/{slug}/projects/{project_id}/auto-label/runs
List Runs
auto-label-list_runs 4 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/auto-label/runs/{job_id}/cancel
Cancel Run
auto-label-cancel_run 3 params → 200422401403404409429
POST
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/auto-label
Suggest
auto-label-suggest 3 params body → 200422401403404409429
segment 1
POST
/tenants/{slug}/projects/{project_id}/assets/{asset_id}/segment
Segment
segment-segment 3 params body → 200422401403404409429
models 4
GET
/tenants/{slug}/models
List Models
models-list_models 4 params → 200422401403404409429
GET
/tenants/{slug}/models/{model_id}
Get Model
models-get_model 2 params → 200422401403404409429
PATCH
/tenants/{slug}/models/{model_id}
Update Model
models-update_model 2 params body → 200422401403404409429
DELETE
/tenants/{slug}/models/{model_id}
Delete Model
models-delete_model 2 params → 204422401403404409429
deployments 5
POST
/tenants/{slug}/models/{model_id}/deployments
Deploy Model
deployments-deploy_model 2 params body → 202422401403404409429
GET
/tenants/{slug}/deployments
List Deployments
deployments-list_deployments 3 params → 200422401403404409429
GET
/tenants/{slug}/deployments/{deployment_id}
Get Deployment
deployments-get_deployment 2 params → 200422401403404409429
DELETE
/tenants/{slug}/deployments/{deployment_id}
Stop Deployment
deployments-stop_deployment 2 params → 204422401403404409429
POST
/tenants/{slug}/deployments/{deployment_id}/predict
Predict
deployments-predict 2 params body → 200422401403404409429
foundation-models 3
GET
/tenants/{slug}/foundation-models
List Foundation Models
foundation-models-list_foundation_models 1 param → 200422401403404409429
GET
/tenants/{slug}/foundation-models/{key}
Get Foundation Model
foundation-models-get_foundation_model 2 params → 200422401403404409429
POST
/tenants/{slug}/foundation-models/{key}/predict
Predict
foundation-models-predict 2 params body → 200422401403404409429
projects-visualization 1
GET
/tenants/{slug}/datasets/images/{dataset_id}/assets/{asset_id}/annotations
Annotations Multi Source
projects-visualization-annotations_multi_source 4 params → 200422401403404409429
activity 3
GET
/tenants/{slug}/activity
List Tenant Activity
activity-list_tenant_activity 10 params → 200422401403404409429
GET
/tenants/{slug}/projects/{project_id}/activity
List Project Activity
activity-list_project_activity 11 params → 200422401403404409429
GET
/tenants/{slug}/datasets/images/{dataset_id}/activity
List Dataset Activity
activity-list_dataset_activity 11 params → 200422401403404409429
Operations 1
GET
/health
Health
default-health → 200409429

Schemas 300

The contract defines 300 schemas that model the data the API accepts and returns. The most detailed are ProjectFilter (18 properties), AssetStateResponse (18 properties), ActivityEventResponse (18 properties), CommentResponse (16 properties). Each schema is shown below with its type and property counts.

ActivityEventResponse
object
18 properties 11 required
ActivityPage
object
2 properties 1 required
AnchorKind
string
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
AnnotationSource
string
AnnotationType
string
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
AssetStatus
string
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
AssignmentMode
string
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
ClassKind
string
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
CommentOrigin
string
CommentResponse
object
16 properties 13 required
CommentStatus
string
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
DatasetKind
string
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
DeploymentCreate
object
DeploymentDetail
object
12 properties 11 required
DeploymentLabel
object
3 properties 2 required
DeploymentPage
object
2 properties 1 required
DeploymentResponse
object
11 properties 11 required
DeploymentStatus
string
EmbeddingStatus
string
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
ExportFormat
string
ExportListPage
object
2 properties 1 required
ExportResponse
object
14 properties 13 required
ExportStatus
string
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.
JobKind
string
JobPage
object
3 properties 1 required
JobResponse
object
15 properties 13 required
JobStatus
string
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
ProjectRole
string
ProjectScope
object
Initial asset selection for a project. Exactly one of the three fields.
3 properties
ProjectStatus
string
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
RevisionReason
string
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
TrainingRunStatus
string
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
TrainingTask
string
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
VersionStatus
string
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
VisibilityModel
string
WorkflowStatus
string
WorkspaceRole
string
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

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

superb-ai-mlops-platform-openapi.json Raw ↑
Where this information came from

This is an independent, third-party profile of Superb AI MLOps Platform API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.