---
title: "Get Schema"
method: GET
path: "/v1/models/{model_id}/schema"
tags: ["inference"]
---

# Get Schema

`GET /v1/models/{model_id}/schema`

Return the persisted schema manifest for a model.

Served directly from S3 (``orgs/{org_id}/models/{model_id}/schema.json``) --
no model load required. Raises if the manifest is missing, since every
persisted model writes one.

## Path parameters

- `model_id` string, uuid, required

## Response `200`

Successful Response

- SchemaManifest — Sidecar at ``traces/{org}/{model}/schema.json``. Written by ``api.schemas.builder.build_schema_manifest_from_schema`` after training; read by the inference server when materializing a request DataFrame so categorical codes line up with what the model was trained on. The public HTTP response for GET /schema is served from this type directly — the on-disk sidecar and HTTP shape share one definition because they're identical.
  - `feature_names` string[], required
  - `columns` object, required
  - `target` SchemaTarget, required
    - `dtype` 'float' | 'int' | 'bool', required
  - `is_sequence` boolean
  - `id_column` string, nullable
  - `timestamp_column` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/outerproduct/apis/outerproduct-api.md) · [All operations](https://skmtc.dev/outerproduct/apis/outerproduct-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/outerproduct/outerproduct-api/revisions/a49cdafe7fba/schema)
