docs

System One

POST /v1/systemone and GET /v1/models, generated from the backend OpenAPI contract.

POST /v1/systemone answers one or more typed questions about a state. It follows TypeSafe's System One contract. For the three question types see Question types.

curl https://api.sieve.one/v1/systemone \
  -H "Authorization: Bearer $TYPESAFE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sieve-latest",
    "state": { "document": "I was charged twice. Please fix this ASAP." },
    "questions": {
      "billing": { "type": "noul", "instructions": "Is this about billing?" },
      "tone": {
        "type": "choice",
        "instructions": "What is the tone?",
        "criteria": { "angry": "Upset or hostile", "calm": "Neutral or polite" }
      },
      "urgency": {
        "type": "score",
        "instructions": "How urgent is this?",
        "criteria": ["Can wait", "This week", "Today"]
      }
    }
  }'

GET /v1/models

Lists the models and aliases your key can use. Pass a returned name as model. A versioned ID is accepted even if it is not in the list.

{
  "models": [
    { "name": "sieve-4b", "description": "...", "release_date": "..." }
  ]
}

The list has the aliases (sieve-latest, sieve-preview, sieve-auto, sieve-4b, ...) and the versioned IDs (sieve-4b-v1, sieve-9b-v2, ...), plus your organisation's custom models.

Send Sieve-Extras: true to add a top-level sieve object with, per model: name, version, type, pricing_unit, context (per_question, per_request, long_context), regions and vision. OpenAI SDKs (or ?format=openai) get the OpenAI list shape, {"object": "list", "data": [{"id", "object", "created", "owned_by"}]}.

Compression and LiteLLM

The TypeSafe SDKs send zstd-compressed bodies. Python needs typesafe-sdk[zstd] on 3.13 and older. LiteLLM proxy cannot read zstd, so turn compression off behind it. See Limits.

Full schema

The reference below is generated from the backend-owned TypeSafe contract. It is presented with Sieve model aliases and sandbox/local Try-it servers; code samples, schemas, headers and responses come from the contract.