Projects
The UI and the Management API both call the unit you optimize a project:- API paths start with
/projects/{alias}, wherealiasis the proxy model name shown in the UI. - Some request and response fields keep the earlier name task:
task_alias,task_id, andtask_version, which is the project version. Dataset queries filter bytask_version, and a dataset built from proxy traffic setssourceto"task". - The earlier
/tasks/...paths are deprecated. Until October 26, 2026 at 00:00 UTC, they still work, and their responses carryDeprecation,Sunset, andLinkheaders that name the replacement path. From that time, they return HTTP410with the error typeendpoint_movedand a message that names the replacement path.
project and project_mode when you create a project.
Model references
Management request fields use the following format:Asynchronous operations
202 Accepted means that the desired state or background work was stored, not that it’s already serving or complete. Poll the returned resource:
- Provider and routing deployment status must become
appliedat the current revision. - Datasets become
readyorfailed. - Relabel runs become
completed,failed, orstale. - Fine-tunes become
deployedorfailed. - Evaluations expose live case counts and might complete with failed cases.
- Dataset and fine-tune deletions return
202 Acceptedwith a deletion operation. To check its progress, repeat theDELETErequest or read thedeletion-planendpoint.
Errors
Management API errors use the following format:400 Bad Request for malformed JSON, in the body or in a JSON-encoded query parameter, or 422 Unprocessable Entity for a body or query value that doesn’t satisfy its schema. Conflicts such as referenced-provider deletion return 409 Conflict. A write request that arrives through the public ingress from an unsupported country or region returns 403 Forbidden with type region_restricted.
Pagination
Dataset entries use page-based pagination:limit can be from 1 to 200. The response includes page, limit, total, and entries.
Entry filters and evaluation sorting are JSON-encoded query parameters. When you construct requests, URL-encode the serialized JSON.
Create and replace behavior
Management write operations differ in whether a repeated request is safe. To retry safely, know which calls replace state and which create new resources:PUT /providers/{name}creates or rotates a provider.PUT /projects/{alias}creates a project and returns a conflict if the project already exists.- Routing
PUTreplaces all targets for that version. - Dataset, fine-tune, and evaluation
POSTrequests create new resources and might consume compute. - Dataset and fine-tune
DELETErequests queue durable deletion in one request. A repeated request returns the existing operation, retries failed cleanup, or returns204 No Contentif the resource is already gone.
API: Safe request handling
API: Safe request handling
Use the Management OpenAPI specification as the source of truth for methods, paths, schemas, and status codes. When an agent calls the API, it should do the following:
- Resolve every placeholder from user-provided or previously returned values.
- Show the user any request that starts paid compute or replaces routing.
- Treat
202 Acceptedas the beginning of work and poll the documented resource. - Preserve returned resource IDs instead of rediscovering resources by name.
- Stop on an unexpected status rather than automatically retrying a create operation.