Model Sharing
Publish a model into the public catalog without surrendering the weights. Sharing exposes the manifest only; storage stays yours, visibility is revocable, and other operators run it on their own hardware or on a shared tier.
When you share a model:
- The model becomes visible in the public catalog.
- Other Xerotier.ai users can discover the model and create endpoints against it.
- You retain ownership and can unshare at any time.
- Already-provisioned endpoints keep serving traffic after you unshare. The catalog footprint (deployment count, featured flag, catalog role) is removed; new endpoints on shared tiers can no longer select the model.
Catalog Roles
Every model in the public catalog carries a catalog role that decides which service tiers may select it.
| Role | Description | Allowed Tiers |
|---|---|---|
deployable |
Default role assigned at share time. Visible in the catalog; selectable only from the self-hosted tier. | self_hosted only |
shared |
Also available to endpoints on non-self-hosted (shared) tiers. | All tiers. Tier slugs: Service Tiers. |
A freshly shared model always starts at deployable. Demotion back to
deployable is automatic: when the count of active
non-self_hosted endpoints for the model drops to zero, the role
resets.
Planned: automatic promotion from deployable to
shared when an endpoint is created on a non-self_hosted
tier is on the roadmap. Today no code path assigns shared, so a
freshly shared model remains deployable until that promotion
mechanism ships.
Error Responses
Share and unshare return the standard error envelope with a plain
message field. The handlers do not emit structured error slugs;
the table lists the HTTP status, the literal message the router emits today,
and the remediation path.
| HTTP Status | Message | Cause & Remediation |
|---|---|---|
| 401 | Authentication required |
No valid API key was presented, or the key did not resolve to a project. Mint a project-scoped key in the dashboard and resend. |
| 400 | Invalid model ID |
The path parameter is not a UUID. Confirm the id from GET /v1/models. |
| 400 | (sanitized database error; varies) | Returned by share when the model does not exist, is owned by another project, or is not in ready/active status. Confirm ownership and status via GET /v1/models/{id} and retry once status transitions to ready or active. |
| 404 | Model not found or not shared |
Returned by unshare when the model does not exist or is not owned by the calling project. Confirm ownership via GET /v1/models. |
See Also
-
Model Upload
Prerequisite. The model must exist and reach
readybefore it can be shared. - Model Management Sibling. List, rename, and delete models. Share / unshare lives here in spirit.
- Service Tiers Tier slugs and what each one allows.
- Model Catalog Reader side: how shared models surface to other operators.