Start here

Overview

decision-machine-1 turns text into eight typed decisions, over a plain JSON API and an OpenAI-compatible surface.

decision-machine-1 is a decisions API. You send text and a question about it. You get a typed answer back: a yes/no, a label, a path through a label tree, a rating, an answer span, a filled JSON Schema, a list of entities, or a value check.

It does not write prose. It does not chat. Every call returns structured JSON with probabilities, so your code can branch on a number instead of parsing a sentence.

Watch the walkthrough

Nina, who leads applications development, walks through what decision-machine-1 does in under six minutes. She covers invoices, leases, clinical notes, support tickets and a pre-check in front of a chat model.

Every call goes to one base URL.

https://api.milliseconds.ai

Every request needs an API key from the console. Send it as Authorization: Bearer sk-ms-.... See Authentication. The free plan includes 125 million input tokens each month. After that you pay $0.04 per million input tokens and $0 per output token. See Pricing.

Decisions, not generation. Each capability answers one question about one text. Most calls finish in about 0.4 seconds.

The whole surface

EndpointQuestion it answersReturnsTypical latency
POST /v1/decision-machine-1/yes-noIs this statement true of the text?statement, answer, probability0.42 s
POST /v1/decision-machine-1/classifyWhich label applies?label, probability, confidence, scores0.43 s
POST /v1/decision-machine-1/classify-treeWhich path through this label tree applies?path, label, compound probability and confidence, levels[]0.77 s (2 levels)
POST /v1/decision-machine-1/rateWhere does this sit on a scale?score, level, confidence, scores0.42 s
POST /v1/decision-machine-1/answerWhat does the text say about this?question, answer span, probability, start, end0.40 s
POST /v1/decision-machine-1/extractFill this JSON Schema from the text.data0.41 s
POST /v1/decision-machine-1/entitiesWhere is every span of each type?entities with type, text, probability, offsets0.42 s
POST /v1/decision-machine-1/verifyDoes the text support this value?matches, probability, found0.40 s
POST /v1/chat/completionsOpenAI clients: extraction and function callingChat completion object0.39 – 0.72 s
GET /v1/modelsWhich models exist?A list with one model object

Every capability accepts text (up to 20,000 characters) or texts (up to 32 items). A batch returns { "results": [ ... ] } in input order.

The latencies are wall-clock times against production on 2026-09-18, median of 7 runs from a laptop. They include TLS and internet transit.

One call

curl -X POST https://api.milliseconds.ai/v1/decision-machine-1/classify \
-H "Content-Type: application/json" \
-H "authorization: Bearer sk-ms-..." \
-d '{
"text": "I was charged twice for my subscription this month and support has not replied.",
"labels": {
"billing": "payments, invoices, charges, refunds",
"shipping": "delivery, tracking, returns",
"account": "login, password, profile settings"
}
}'
{"label":"billing","probability":0.995,"confidence":0.972,"scores":{"billing":0.995,"shipping":0,"account":0.005}}

The label picks the branch. The confidence decides whether a person reviews it.

An OpenAI-compatible surface

Point any OpenAI client at https://api.milliseconds.ai/v1 with model decision-machine-1. Two modes work: response_format with a json_schema, and tools for function calling. Set the client’s api_key to your sk-ms- key.

Plain chat returns 400 unsupported_request on purpose. The model decides, it does not chat.

When not to use it

  • You need generated text. Summaries, rewrites, replies and explanations need a large language model.
  • You need multi-step reasoning. The model makes one pass over the text. It does not plan or chain steps.
  • You need a conversation. There is no chat mode and no memory between calls.
  • Your task has no shape. Each capability needs your labels, statements, questions or schema. You define the decision.
  • You need open-ended discovery. entities finds the types you name. It does not invent new ones.

For the rest, a typed decision beats a prompt: no parsing, stable probabilities, and cost linear in characters.

Next