Skip to content
// EFFECT DAYS 2026

OpenRouterSchema unstable

Schemas for OpenRouter's alpha Decisions API.

7 exports Since v4.0.0 Source

Schemas

Answer

unstable
Since v4.0.0

A provider answer with optional probabilities and confidence.

Signature

declare const Answer: Union<readonly [Struct<{
readonly choice: String;
readonly confidence: optional<Finite>;
readonly probabilities: optional<$Record<String, Finite>>;
readonly type: Literal<"choice">;
}>, Struct<{
readonly confidence: optional<Finite>;
readonly legend: optional<$Record<String, Codec<Json, Json, never, never>>>;
readonly probabilities: optional<$Record<String, Finite>>;
readonly score: Finite;
readonly type: Literal<"score">;
}>, Struct<{
readonly noul: Finite;
readonly type: Literal<"noul">;
}>]>
Since v4.0.0

A choice question with descriptions keyed by choice label.

Signature

declare const ChoiceQuestion: Struct<{
readonly criteria: $Record<String, NullOr<Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"choice">;
}>
Since v4.0.0

A choice, score, or probability question with string, JSON object, or JSON array instructions and descriptions. Choice descriptions also accept null.

Signature

declare const DecisionsQuestion: Union<readonly [Struct<{
readonly criteria: $Record<String, NullOr<Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"choice">;
}>, Struct<{
readonly criteria: $Array<Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"score">;
}>, Struct<{
readonly criteria: optional<Struct<{
readonly false: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
readonly true: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
}>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"noul">;
}>]>
Since v4.0.0

Request body for the alpha Decisions endpoint.

Signature

declare const DecisionsRequest: Struct<{
readonly model: String;
readonly provider: optional<Union<readonly [Struct<{
readonly allow_fallbacks: optionalKey<Union<readonly [Boolean, Null]>>;
readonly data_collection: optionalKey<Union<readonly [Literals<...>, Null]>>;
readonly enforce_distillable_text: optionalKey<Union<readonly [Boolean, Null]>>;
readonly ignore: optionalKey<Union<readonly [$Array<...>, Null]>>;
readonly max_price: optionalKey<Struct<{
readonly audio: optionalKey<...>;
readonly completion: optionalKey<...>;
readonly image: optionalKey<...>;
readonly prompt: optionalKey<...>;
readonly request: optionalKey<...>;
}>>;
readonly only: optionalKey<Union<readonly [$Array<...>, Null]>>;
readonly options: optionalKey<Struct<{
readonly "01ai": optionalKey<...>;
readonly ai21: optionalKey<...>;
readonly "aion-labs": optionalKey<...>;
readonly akashml: optionalKey<...>;
readonly alibaba: optionalKey<...>;
readonly "amazon-bedrock": optionalKey<...>;
readonly "amazon-bedrock/claude-on-aws": optionalKey<...>;
readonly "amazon-nova": optionalKey<...>;
readonly ambient: optionalKey<...>;
readonly antdigital: optionalKey<...>;
readonly anthropic: optionalKey<...>;
readonly "anthropic/2": optionalKey<...>;
readonly anyscale: optionalKey<...>;
readonly "arcee-ai": optionalKey<...>;
readonly assemblyai: optionalKey<...>;
readonly "atlas-cloud": optionalKey<...>;
readonly atoma: optionalKey<...>;
readonly avian: optionalKey<...>;
readonly azure: optionalKey<...>;
readonly baidu: optionalKey<...>;
readonly baseten: optionalKey<...>;
readonly "black-forest-labs": optionalKey<...>;
readonly byteplus: optionalKey<...>;
readonly centml: optionalKey<...>;
readonly cerebras: optionalKey<...>;
readonly chutes: optionalKey<...>;
readonly cirrascale: optionalKey<...>;
readonly clarifai: optionalKey<...>;
readonly "claude-on-aws": optionalKey<...>;
readonly cloudflare: optionalKey<...>;
readonly cohere: optionalKey<...>;
readonly coreweave: optionalKey<...>;
readonly cosine: optionalKey<...>;
readonly crofai: optionalKey<...>;
readonly crucible: optionalKey<...>;
readonly crusoe: optionalKey<...>;
readonly darkbloom: optionalKey<...>;
readonly databricks: optionalKey<...>;
readonly decart: optionalKey<...>;
readonly deepgram: optionalKey<...>;
readonly deepinfra: optionalKey<...>;
readonly deepseek: optionalKey<...>;
readonly dekallm: optionalKey<...>;
readonly digitalocean: optionalKey<...>;
readonly elevenlabs: optionalKey<...>;
readonly enfer: optionalKey<...>;
readonly "fake-provider": optionalKey<...>;
readonly featherless: optionalKey<...>;
readonly fireworks: optionalKey<...>;
readonly "fish-audio": optionalKey<...>;
readonly friendli: optionalKey<...>;
readonly gmicloud: optionalKey<...>;
readonly "google-ai-studio": optionalKey<...>;
readonly "google-vertex": optionalKey<...>;
readonly gopomelo: optionalKey<...>;
readonly groq: optionalKey<...>;
readonly heygen: optionalKey<...>;
readonly huggingface: optionalKey<...>;
readonly hyperbolic: optionalKey<...>;
readonly "hyperbolic-quantized": optionalKey<...>;
readonly inception: optionalKey<...>;
readonly inceptron: optionalKey<...>;
readonly "inferact-vllm": optionalKey<...>;
readonly "inference-net": optionalKey<...>;
readonly infermatic: optionalKey<...>;
readonly inflection: optionalKey<...>;
readonly inocloud: optionalKey<...>;
readonly "io-net": optionalKey<...>;
readonly ionstream: optionalKey<...>;
readonly klusterai: optionalKey<...>;
readonly krea: optionalKey<...>;
readonly kt: optionalKey<...>;
readonly lambda: optionalKey<...>;
readonly lepton: optionalKey<...>;
readonly liquid: optionalKey<...>;
readonly lynn: optionalKey<...>;
readonly "lynn-private": optionalKey<...>;
readonly makora: optionalKey<...>;
readonly mancer: optionalKey<...>;
readonly "mancer-old": optionalKey<...>;
readonly mara: optionalKey<...>;
readonly meta: optionalKey<...>;
readonly minimax: optionalKey<...>;
readonly mistral: optionalKey<...>;
readonly modal: optionalKey<...>;
readonly modelrun: optionalKey<...>;
readonly modular: optionalKey<...>;
readonly moonshotai: optionalKey<...>;
readonly morph: optionalKey<...>;
readonly ncompass: optionalKey<...>;
readonly "near-ai": optionalKey<...>;
readonly nebius: optionalKey<...>;
readonly "nex-agi": optionalKey<...>;
readonly nextbit: optionalKey<...>;
readonly nineteen: optionalKey<...>;
readonly novita: optionalKey<...>;
readonly nvidia: optionalKey<...>;
readonly octoai: optionalKey<...>;
readonly ollama: optionalKey<...>;
readonly "open-inference": optionalKey<...>;
readonly openai: optionalKey<...>;
readonly parallel: optionalKey<...>;
readonly parasail: optionalKey<...>;
readonly "pareto-alpha": optionalKey<...>;
readonly "particle-ai": optionalKey<...>;
readonly "pearl-research": optionalKey<...>;
readonly perceptron: optionalKey<...>;
readonly perplexity: optionalKey<...>;
readonly phala: optionalKey<...>;
readonly poolside: optionalKey<...>;
readonly primalabs: optionalKey<...>;
readonly primeintellect: optionalKey<...>;
readonly quiver: optionalKey<...>;
readonly recraft: optionalKey<...>;
readonly recursal: optionalKey<...>;
readonly recursive: optionalKey<...>;
readonly reflection: optionalKey<...>;
readonly reka: optionalKey<...>;
readonly relace: optionalKey<...>;
readonly replicate: optionalKey<...>;
readonly respan: optionalKey<...>;
readonly river: optionalKey<...>;
readonly runway: optionalKey<...>;
readonly "sail-research": optionalKey<...>;
readonly sakana: optionalKey<...>;
readonly "sakana-ai": optionalKey<...>;
readonly sambanova: optionalKey<...>;
readonly "sambanova-cloaked": optionalKey<...>;
readonly scaledown: optionalKey<...>;
readonly seed: optionalKey<...>;
readonly "sf-compute": optionalKey<...>;
readonly siliconflow: optionalKey<...>;
readonly sourceful: optionalKey<...>;
readonly stealth: optionalKey<...>;
readonly stepfun: optionalKey<...>;
readonly streamlake: optionalKey<...>;
readonly switchpoint: optionalKey<...>;
readonly targon: optionalKey<...>;
readonly tencent: optionalKey<...>;
readonly tenstorrent: optionalKey<...>;
readonly thinkingmachines: optionalKey<...>;
readonly together: optionalKey<...>;
readonly "together-lite": optionalKey<...>;
readonly typesafe: optionalKey<...>;
readonly ubicloud: optionalKey<...>;
readonly unbiased: optionalKey<...>;
readonly upstage: optionalKey<...>;
readonly venice: optionalKey<...>;
readonly voyageai: optionalKey<...>;
readonly wafer: optionalKey<...>;
readonly wandb: optionalKey<...>;
readonly "wandb-legacy": optionalKey<...>;
readonly xai: optionalKey<...>;
readonly xiaomi: optionalKey<...>;
readonly "z-ai": optionalKey<...>;
}>>;
readonly order: optionalKey<Union<readonly [$Array<...>, Null]>>;
readonly preferred_max_latency: optionalKey<Union<readonly [Number, Struct<...>, Null]>>;
readonly preferred_min_throughput: optionalKey<Union<readonly [Number, Struct<...>, Null]>>;
readonly quantizations: optionalKey<Union<readonly [$Array<...>, Null]>>;
readonly require_parameters: optionalKey<Union<readonly [Boolean, Null]>>;
readonly sort: optionalKey<Union<readonly [Literals<...>, Struct<...>, Null]>>;
readonly zdr: optionalKey<Union<readonly [Boolean, Null]>>;
}>, Null]>>;
readonly questions: $Record<String, Union<readonly [Struct<{
readonly criteria: $Record<String, NullOr<Union<readonly [..., ..., ...]>>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
readonly type: Literal<"choice">;
}>, Struct<{
readonly criteria: $Array<Union<readonly [String, $Record<..., ...>, $Array<...>]>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
readonly type: Literal<"score">;
}>, Struct<{
readonly criteria: optional<Struct<{
readonly false: Union<...>;
readonly true: Union<...>;
}>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<..., ..., ..., ...>>, $Array<Codec<..., ..., ..., ...>>]>;
readonly type: Literal<"noul">;
}>]>>;
readonly session_id: optional<String>;
readonly state: Unknown;
readonly trace: optional<$Record<String, Unknown>>;
readonly user: optional<String>;
}>
Since v4.0.0

Response body for the alpha Decisions endpoint.

Signature

declare const DecisionsResponse: Struct<{
readonly answers: $Record<String, Union<readonly [Struct<{
readonly choice: String;
readonly confidence: optional<Finite>;
readonly probabilities: optional<$Record<String, Finite>>;
readonly type: Literal<"choice">;
}>, Struct<{
readonly confidence: optional<Finite>;
readonly legend: optional<$Record<String, Codec<Json, Json, never, never>>>;
readonly probabilities: optional<$Record<String, Finite>>;
readonly score: Finite;
readonly type: Literal<"score">;
}>, Struct<{
readonly noul: Finite;
readonly type: Literal<"noul">;
}>]>>;
readonly id: optional<String>;
readonly model: String;
readonly provider: optional<String>;
readonly usage: Struct<{
readonly cost: optional<Finite>;
readonly input_tokens: Int;
readonly output_tokens: Int;
}>;
}>
Since v4.0.0

A probability question with optional true and false descriptions.

Signature

declare const NoulQuestion: Struct<{
readonly criteria: optional<Struct<{
readonly false: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly true: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
}>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"noul">;
}>
Since v4.0.0

A score question with ordered criteria.

Signature

declare const ScoreQuestion: Struct<{
readonly criteria: $Array<Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>>;
readonly instructions: Union<readonly [String, $Record<String, Codec<Json, Json, never, never>>, $Array<Codec<Json, Json, never, never>>]>;
readonly type: Literal<"score">;
}>