{
  "aboutHtml": "<p>Drex 1.5 is Nace.AI’s text decision model. It evaluates supplied facts against closed questions and returns numerical, typed answers rather than an open-ended written response. A request combines one state with named questions, and the result identifies each answer using the same question name. This gives a workflow a concrete category, probability or rubric position to consume while leaving the action taken on that result to the application.</p><h4>Preparing the state</h4><p>The state is the information every question concerns. Drex accepts a JSON string, object, array, number, boolean or null, with the state field required. Supply meaningful evidence even though null passes the producer’s validation. A string suits a message, document or transcript; an object suits facts already organized into fields. Retain the information that affects the decision, and omit unrelated fields when the material is long. Keep a stable input format when interpreting probability thresholds, because changing the representation can change the answer.</p><p>Drex 1.5 reads text only. The documented interface rejects images, audio, video and PDF content within either the state or questions, including encoded media and media-content objects. Prepare a caption, recognized document text or a transcript before using that material as evidence. A text address is not a fetched document or image: the model cannot open it. For a support request, the useful state is the actual message and relevant context, not a reference to material the model has not received.</p><h4>Yes/no probability, choice or score</h4><p>A noul question asks whether a condition holds and returns a number from 0 to 1 representing the estimated probability of yes. Define the question through non-empty instructions or at least one non-empty true/false criterion. For example, ask whether a message reports a broken feature and define whether slow behavior counts as broken. Drex does not impose a built-in yes/no cutoff; the consuming workflow chooses how to interpret the probability.</p><p>A choice question selects one supplied label from an unordered set and returns a probability for every label. The criteria are an object whose keys are the returned labels, with each description a string or null. Use short, stable keys and describe category boundaries clearly. An illustrative routing task can distinguish an access problem, a product defect and a general question, with an other category for messages that do not fit. The selected label is useful for routing; the distribution helps identify cases where two options remain difficult to separate.</p><p>A score question uses an ordered array of level labels. Indices begin at 0, and the returned score is the sum of each level index multiplied by its probability. It can therefore fall between named levels. For a severity scale, define what separates a cosmetic issue, an issue with a workaround and a fully blocked task. The result includes the level legend and probabilities as well as the expected score. Keep the fractional score for averaging or trends; selecting the most probable level and rounding the expected score answer different questions.</p><h4>Shared evidence and reading the result</h4><p>The producer allows one to 512 questions about the same state. Give each a non-empty, meaningful identifier, such as category or severity, so the corresponding answer can be understood without looking up a numbered question. Separate independent concerns into their own questions rather than combining several requirements into one unclear criterion. A single message can support a category choice, a severity score and a condition check, each retaining its own meaning.</p><p>Choice and score answers include confidence separately from their probability distributions. The producer explicitly distinguishes confidence from the highest option probability; do not calculate one from the other. For a yes/no decision, retain the raw probability with the chosen outcome. For an uncertain choice, inspect the competing probabilities instead of treating the winning label alone as evidence of certainty. Define review thresholds around the consequences of a wrong positive or negative result and use representative labeled cases to assess them.</p><h4>Version and size limits</h4><p>Drex 1.5 documents a state allowance of 131,072 tokens and a row allowance of 139,264 tokens. The row allowance concerns the state plus the longest single question, including its instructions and options; it is not the sum of every question in the request. The serialized state and questions together must also fit within 1,048,576 UTF-8 bytes. A request can satisfy the byte limit and still exceed a token limit. The older 1.0 edition separately lists 32,768 tokens for both state and row, so its limits should not be carried over to 1.5.</p><p>Nace documents drex-v1.5 as a versioned producer identifier, while drex-latest is a moving alias. Keep the intended edition explicit when a workflow depends on its limits. A malformed question, missing state or oversized input is a validation problem that needs corrected input rather than a changed category or guessed answer. Prepare the criteria around observable evidence and retain the typed result, the original facts and the question definition together. That makes the decision usable for routing, prioritization or review without mistaking a probability for a guaranteed verdict.</p>",
  "aboutText": "Drex 1.5 is Nace.AI’s text decision model. It evaluates supplied facts against closed questions and returns numerical, typed answers rather than an open-ended written response. A request combines one state with named questions, and the result identifies each answer using the same question name. This gives a workflow a concrete category, probability or rubric position to consume while leaving the action taken on that result to the application.\n\n### Preparing the state\n\nThe state is the information every question concerns. Drex accepts a JSON string, object, array, number, boolean or null, with the state field required. Supply meaningful evidence even though null passes the producer’s validation. A string suits a message, document or transcript; an object suits facts already organized into fields. Retain the information that affects the decision, and omit unrelated fields when the material is long. Keep a stable input format when interpreting probability thresholds, because changing the representation can change the answer.\n\nDrex 1.5 reads text only. The documented interface rejects images, audio, video and PDF content within either the state or questions, including encoded media and media-content objects. Prepare a caption, recognized document text or a transcript before using that material as evidence. A text address is not a fetched document or image: the model cannot open it. For a support request, the useful state is the actual message and relevant context, not a reference to material the model has not received.\n\n### Yes/no probability, choice or score\n\nA noul question asks whether a condition holds and returns a number from 0 to 1 representing the estimated probability of yes. Define the question through non-empty instructions or at least one non-empty true/false criterion. For example, ask whether a message reports a broken feature and define whether slow behavior counts as broken. Drex does not impose a built-in yes/no cutoff; the consuming workflow chooses how to interpret the probability.\n\nA choice question selects one supplied label from an unordered set and returns a probability for every label. The criteria are an object whose keys are the returned labels, with each description a string or null. Use short, stable keys and describe category boundaries clearly. An illustrative routing task can distinguish an access problem, a product defect and a general question, with an other category for messages that do not fit. The selected label is useful for routing; the distribution helps identify cases where two options remain difficult to separate.\n\nA score question uses an ordered array of level labels. Indices begin at 0, and the returned score is the sum of each level index multiplied by its probability. It can therefore fall between named levels. For a severity scale, define what separates a cosmetic issue, an issue with a workaround and a fully blocked task. The result includes the level legend and probabilities as well as the expected score. Keep the fractional score for averaging or trends; selecting the most probable level and rounding the expected score answer different questions.\n\n### Shared evidence and reading the result\n\nThe producer allows one to 512 questions about the same state. Give each a non-empty, meaningful identifier, such as category or severity, so the corresponding answer can be understood without looking up a numbered question. Separate independent concerns into their own questions rather than combining several requirements into one unclear criterion. A single message can support a category choice, a severity score and a condition check, each retaining its own meaning.\n\nChoice and score answers include confidence separately from their probability distributions. The producer explicitly distinguishes confidence from the highest option probability; do not calculate one from the other. For a yes/no decision, retain the raw probability with the chosen outcome. For an uncertain choice, inspect the competing probabilities instead of treating the winning label alone as evidence of certainty. Define review thresholds around the consequences of a wrong positive or negative result and use representative labeled cases to assess them.\n\n### Version and size limits\n\nDrex 1.5 documents a state allowance of 131,072 tokens and a row allowance of 139,264 tokens. The row allowance concerns the state plus the longest single question, including its instructions and options; it is not the sum of every question in the request. The serialized state and questions together must also fit within 1,048,576 UTF-8 bytes. A request can satisfy the byte limit and still exceed a token limit. The older 1.0 edition separately lists 32,768 tokens for both state and row, so its limits should not be carried over to 1.5.\n\nNace documents drex-v1.5 as a versioned producer identifier, while drex-latest is a moving alias. Keep the intended edition explicit when a workflow depends on its limits. A malformed question, missing state or oversized input is a validation problem that needs corrected input rather than a changed category or guessed answer. Prepare the criteria around observable evidence and retain the typed result, the original facts and the question definition together. That makes the decision usable for routing, prioritization or review without mistaking a probability for a guaranteed verdict.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "c7702beb64179a2e4d09ac048e69e231e80d511ab80a4d44bf84f71aa5516b87",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "en",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Nace.AI: Drex v1.5</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Close\">×</button></div><div class=\"idline\"><span>Nace.AI /</span><code>nace-ai/drex-v1.5</code><button type=\"button\" id=\"copy-id\">Copy ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Model card sections\"><button type=\"button\" data-card-jump=\"overview\">Overview</button><button type=\"button\" data-card-jump=\"methods\">Inputs &amp; methods</button><button type=\"button\" data-card-jump=\"pricing\">Pricing</button><button type=\"button\" data-card-jump=\"examples\">Examples</button><button type=\"button\" data-card-jump=\"results\">Results</button><button type=\"button\" data-card-jump=\"aliases\">Aliases</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API methods\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|systemone|/v1/systemone|nace-ai%2Fdrex-v1.5\">System One</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Overview</h3><p class=\"mdesc-full\">Drex 1.5 evaluates supplied text or JSON against typed questions and returns probabilities, a chosen label or a fractional rubric score. Nace.AI documents text-only decisions for classification, routing and prioritization, with version-specific state and request limits.</p><dl class=\"card-io\" data-card-io><div><dt>Accepted inputs</dt><dd>Text</dd></div><div><dt>Results</dt><dd>decisions</dd></div></dl><details class=\"card-about\"><summary>About the model</summary><p class=\"note-s\" data-model-method-boundary>This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.</p><div class=\"mabout\" id=\"m-about\"><p>Drex 1.5 is Nace.AI’s text decision model. It evaluates supplied facts against closed questions and returns numerical, typed answers rather than an open-ended written response. A request combines one state with named questions, and the result identifies each answer using the same question name. This gives a workflow a concrete category, probability or rubric position to consume while leaving the action taken on that result to the application.</p><h4>Preparing the state</h4><p>The state is the information every question concerns. Drex accepts a JSON string, object, array, number, boolean or null, with the state field required. Supply meaningful evidence even though null passes the producer’s validation. A string suits a message, document or transcript; an object suits facts already organized into fields. Retain the information that affects the decision, and omit unrelated fields when the material is long. Keep a stable input format when interpreting probability thresholds, because changing the representation can change the answer.</p><p>Drex 1.5 reads text only. The documented interface rejects images, audio, video and PDF content within either the state or questions, including encoded media and media-content objects. Prepare a caption, recognized document text or a transcript before using that material as evidence. A text address is not a fetched document or image: the model cannot open it. For a support request, the useful state is the actual message and relevant context, not a reference to material the model has not received.</p><h4>Yes/no probability, choice or score</h4><p>A noul question asks whether a condition holds and returns a number from 0 to 1 representing the estimated probability of yes. Define the question through non-empty instructions or at least one non-empty true/false criterion. For example, ask whether a message reports a broken feature and define whether slow behavior counts as broken. Drex does not impose a built-in yes/no cutoff; the consuming workflow chooses how to interpret the probability.</p><p>A choice question selects one supplied label from an unordered set and returns a probability for every label. The criteria are an object whose keys are the returned labels, with each description a string or null. Use short, stable keys and describe category boundaries clearly. An illustrative routing task can distinguish an access problem, a product defect and a general question, with an other category for messages that do not fit. The selected label is useful for routing; the distribution helps identify cases where two options remain difficult to separate.</p><p>A score question uses an ordered array of level labels. Indices begin at 0, and the returned score is the sum of each level index multiplied by its probability. It can therefore fall between named levels. For a severity scale, define what separates a cosmetic issue, an issue with a workaround and a fully blocked task. The result includes the level legend and probabilities as well as the expected score. Keep the fractional score for averaging or trends; selecting the most probable level and rounding the expected score answer different questions.</p><h4>Shared evidence and reading the result</h4><p>The producer allows one to 512 questions about the same state. Give each a non-empty, meaningful identifier, such as category or severity, so the corresponding answer can be understood without looking up a numbered question. Separate independent concerns into their own questions rather than combining several requirements into one unclear criterion. A single message can support a category choice, a severity score and a condition check, each retaining its own meaning.</p><p>Choice and score answers include confidence separately from their probability distributions. The producer explicitly distinguishes confidence from the highest option probability; do not calculate one from the other. For a yes/no decision, retain the raw probability with the chosen outcome. For an uncertain choice, inspect the competing probabilities instead of treating the winning label alone as evidence of certainty. Define review thresholds around the consequences of a wrong positive or negative result and use representative labeled cases to assess them.</p><h4>Version and size limits</h4><p>Drex 1.5 documents a state allowance of 131,072 tokens and a row allowance of 139,264 tokens. The row allowance concerns the state plus the longest single question, including its instructions and options; it is not the sum of every question in the request. The serialized state and questions together must also fit within 1,048,576 UTF-8 bytes. A request can satisfy the byte limit and still exceed a token limit. The older 1.0 edition separately lists 32,768 tokens for both state and row, so its limits should not be carried over to 1.5.</p><p>Nace documents drex-v1.5 as a versioned producer identifier, while drex-latest is a moving alias. Keep the intended edition explicit when a workflow depends on its limits. A malformed question, missing state or oversized input is a validation problem that needs corrected input rather than a changed category or guessed answer. Prepare the criteria around observable evidence and retain the typed result, the original facts and the question definition together. That makes the decision usable for routing, prioritization or review without mistaking a probability for a guaranteed verdict.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Available in Ailoot · inputs &amp; methods</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · System One</b> <code>POST /v1/systemone</code></summary><dl class=\"method-capabilities\"><div><dt>Input types</dt><dd><code>text</code></dd></div><div><dt>Output types</dt><dd><code>decisions</code></dd></div><div><dt>Output format</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Field</th><th>Type</th><th>Requirement</th><th>Values &amp; limits</th><th>Default</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Requirement\"><span class=\"card-cell-label\">Requirement</span>Required</td><td data-cell-label=\"Values &amp; limits\"><span class=\"card-cell-label\">Values &amp; limits</span><div>nace-ai/drex-v1.5</div></td><td data-cell-label=\"Default\" data-default=\"unspecified\"><span class=\"card-cell-label\">Default</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>schema</code></td><td data-cell-label=\"Requirement\"><span class=\"card-cell-label\">Requirement</span>Optional</td><td data-cell-label=\"Values &amp; limits\"><span class=\"card-cell-label\">Values &amp; limits</span></td><td data-cell-label=\"Default\" data-default=\"unspecified\"><span class=\"card-cell-label\">Default</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">questions</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>object</code></td><td data-cell-label=\"Requirement\"><span class=\"card-cell-label\">Requirement</span>Required</td><td data-cell-label=\"Values &amp; limits\"><span class=\"card-cell-label\">Values &amp; limits</span></td><td data-cell-label=\"Default\" data-default=\"unspecified\"><span class=\"card-cell-label\">Default</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Requirement\"><span class=\"card-cell-label\">Requirement</span>Optional</td><td data-cell-label=\"Values &amp; limits\"><span class=\"card-cell-label\">Values &amp; limits</span></td><td data-cell-label=\"Default\" data-default=\"unspecified\"><span class=\"card-cell-label\">Default</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">state</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>schema</code></td><td data-cell-label=\"Requirement\"><span class=\"card-cell-label\">Requirement</span>Required</td><td data-cell-label=\"Values &amp; limits\"><span class=\"card-cell-label\">Values &amp; limits</span></td><td data-cell-label=\"Default\" data-default=\"unspecified\"><span class=\"card-cell-label\">Default</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>schema</code></td><td data-cell-label=\"Requirement\"><span class=\"card-cell-label\">Requirement</span>Optional</td><td data-cell-label=\"Values &amp; limits\"><span class=\"card-cell-label\">Values &amp; limits</span></td><td data-cell-label=\"Default\" data-default=\"unspecified\"><span class=\"card-cell-label\">Default</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Requirement\"><span class=\"card-cell-label\">Requirement</span>Optional</td><td data-cell-label=\"Values &amp; limits\"><span class=\"card-cell-label\">Values &amp; limits</span></td><td data-cell-label=\"Default\" data-default=\"unspecified\"><span class=\"card-cell-label\">Default</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">questions.&lt;id&gt;.type</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Requirement\"><span class=\"card-cell-label\">Requirement</span>Required</td><td data-cell-label=\"Values &amp; limits\"><span class=\"card-cell-label\">Values &amp; limits</span><div>noul, choice, score</div></td><td data-cell-label=\"Default\" data-default=\"unspecified\"><span class=\"card-cell-label\">Default</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">questions.&lt;id&gt;.instructions</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string|object|array</code></td><td data-cell-label=\"Requirement\"><span class=\"card-cell-label\">Requirement</span>Required</td><td data-cell-label=\"Values &amp; limits\"><span class=\"card-cell-label\">Values &amp; limits</span></td><td data-cell-label=\"Default\" data-default=\"unspecified\"><span class=\"card-cell-label\">Default</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">questions.&lt;id&gt;.criteria</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>object|array</code></td><td data-cell-label=\"Requirement\"><span class=\"card-cell-label\">Requirement</span>Optional</td><td data-cell-label=\"Values &amp; limits\"><span class=\"card-cell-label\">Values &amp; limits</span><div>Conditions: choice/score: required; noul: optional. choice criteria is object; score is array with minItems1.</div></td><td data-cell-label=\"Default\" data-default=\"unspecified\"><span class=\"card-cell-label\">Default</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">questions.&lt;id&gt;.criteria.true</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string|object|array</code></td><td data-cell-label=\"Requirement\"><span class=\"card-cell-label\">Requirement</span>Required</td><td data-cell-label=\"Values &amp; limits\"><span class=\"card-cell-label\">Values &amp; limits</span><div>Applies when: noul criteria object supplied</div></td><td data-cell-label=\"Default\" data-default=\"unspecified\"><span class=\"card-cell-label\">Default</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">questions.&lt;id&gt;.criteria.false</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string|object|array</code></td><td data-cell-label=\"Requirement\"><span class=\"card-cell-label\">Requirement</span>Required</td><td data-cell-label=\"Values &amp; limits\"><span class=\"card-cell-label\">Values &amp; limits</span><div>Applies when: noul criteria object supplied</div></td><td data-cell-label=\"Default\" data-default=\"unspecified\"><span class=\"card-cell-label\">Default</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Input material combinations</summary><p class=\"note-s\"><b>noul</b> · Required: state, questions.&lt;id&gt;.type=noul, questions.&lt;id&gt;.instructions</p><p class=\"note-s\"><b>choice</b> · Required: state, questions.&lt;id&gt;.type=choice, questions.&lt;id&gt;.instructions, criteria object</p><p class=\"note-s\"><b>score</b> · Required: state, questions.&lt;id&gt;.type=score, questions.&lt;id&gt;.instructions, criteria array with minItems1</p></details><details class=\"note-s\" data-method-contract><summary>Method parameters and lifecycle</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Contract</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>model, state, questions</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>text</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>optional_controls</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>provider, session_id, trace, user</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>multimodal_input_binding</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>null</td></tr></tbody></table></div><p>Lifecycle: <code>synchronous</code></p><p class=\"note-s\">Send the exact model ID and retain the complete native response.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Pricing</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tariff references do not add request options. Supported parameters are listed for the selected method.</p><dl data-price-conditions><dt>Fast mode</dt><dd>Not specified <span class=\"note-s\">When fast mode is selected</span></dd><dt>Flex mode</dt><dd>Not specified <span class=\"note-s\">When flex mode is selected</span></dd><dt>Maximum reasoning effort</dt><dd>Not specified <span class=\"note-s\">When maximum reasoning effort uses the default adjustment</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot rates</h4><h4>Prices by configuration</h4><p class=\"note-s\">Match each charge to the conditions shown. Use one rate for each set of alternative configurations.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuration</th><th>Rate schedule</th><th>Context tokens, more than</th><th>Context tokens, up to and including</th><th>Charge</th></tr></thead><tbody><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>Base token rates</th><td data-cell-label=\"Rate schedule\"><span class=\"card-cell-label\">Rate schedule</span>Base rate</td><td data-cell-label=\"Context tokens, more than\"><span class=\"card-cell-label\">Context tokens, more than</span>—</td><td data-cell-label=\"Context tokens, up to and including\"><span class=\"card-cell-label\">Context tokens, up to and including</span>No upper bound</td><td data-cell-label=\"Charge\"><span class=\"card-cell-label\">Charge</span><div><span>Input · Input tokens</span> <b>$0.00008</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Output · Output tokens</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Input · Cache read</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Input · Cache write</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Input · Cache write, 1 hour</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>Request-length tier 1</th><td data-cell-label=\"Rate schedule\"><span class=\"card-cell-label\">Rate schedule</span>—</td><td data-cell-label=\"Context tokens, more than\"><span class=\"card-cell-label\">Context tokens, more than</span>0</td><td data-cell-label=\"Context tokens, up to and including\"><span class=\"card-cell-label\">Context tokens, up to and including</span>No upper bound</td><td data-cell-label=\"Charge\"><span class=\"card-cell-label\">Charge</span><div><span>Input · Input tokens</span> <b>$0.00008</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Output · Output tokens</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Input · Cache read</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Input · Cache write</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Input · Cache write, 1 hour</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. <a href=\"/docs/en/billing/reserve/\">How reservation and settlement work →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Example requests</h3><h4>Ailoot Ultra · System One</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Code options\"><button class=\"cg-tab\" id=\"model-code-1981-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1981-panel-0\" aria-selected=\"true\" tabindex=\"0\">Retained official request structure; documentary example</button><button class=\"cg-tab\" id=\"model-code-1981-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1981-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Use your actual request material and retain the complete result</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copy code\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1981-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1981-tab-0\"><pre data-lang=\"json\"><code>{\n  &quot;model&quot;: &quot;nace-ai/drex-v1.5&quot;,\n  &quot;questions&quot;: {\n    &quot;is_bug&quot;: {\n      &quot;criteria&quot;: {\n        &quot;false&quot;: &quot;The customer is asking a question or requesting a feature.&quot;,\n        &quot;true&quot;: &quot;The customer describes broken or unexpected product behavior.&quot;\n      },\n      &quot;instructions&quot;: &quot;Is the customer reporting a software defect?&quot;,\n      &quot;type&quot;: &quot;noul&quot;\n    },\n    &quot;team&quot;: {\n      &quot;criteria&quot;: {\n        &quot;account&quot;: &quot;Login, permissions, or profile issues.&quot;,\n        &quot;frontend&quot;: &quot;Rendering, layout, or browser compatibility issues.&quot;,\n        &quot;payments&quot;: &quot;Checkout, billing, or payment processing issues.&quot;\n      },\n      &quot;instructions&quot;: &quot;Which team should own this ticket?&quot;,\n      &quot;type&quot;: &quot;choice&quot;\n    },\n    &quot;urgency&quot;: {\n      &quot;criteria&quot;: [\n        &quot;Can wait for the next release&quot;,\n        &quot;Should be fixed this week&quot;,\n        &quot;Blocking revenue right now&quot;\n      ],\n      &quot;instructions&quot;: &quot;How urgent is this ticket?&quot;,\n      &quot;type&quot;: &quot;score&quot;\n    }\n  },\n  &quot;state&quot;: {\n    &quot;customer_tier&quot;: &quot;enterprise&quot;,\n    &quot;ticket&quot;: &quot;My checkout page shows a blank screen after I click Pay. I have tried two browsers.&quot;\n  }\n}</code></pre></div><div class=\"cg-pane\" id=\"model-code-1981-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1981-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_REQUEST_FILE:?Set your actual JSON request file}&quot;\nexport AILOOT_REQUEST_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(Path(os.environ[&#39;AILOOT_REQUEST_FILE&#39;]).read_text(encoding=&#39;utf-8&#39;))\nif not isinstance(p,dict): raise SystemExit(&#39;Request must be a JSON object&#39;)\np[&#39;model&#39;]=&#39;nace-ai/drex-v1.5&#39;\nPath(&#39;request.json&#39;).write_text(json.dumps(p,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&#39;result.json&#39;).read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Receive and save results</h3><h4>Ailoot Ultra · System One</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Keep all completed results</h5><p class=\"note-s\">Keep every complete returned response, file and content part.</p><p class=\"note-s\">Every supplied question-ID answer with its exact type, noul/choice/score value, confidence, probabilities and legend is retained. Entire original JSON is stored and returned only after settlement.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>If the original response needs checking</h5><p class=\"note-s\">Preserve original operation and full/partial reply; do not replay POST.</p></div><details class=\"card-about\" data-output-fields><summary>Response fields</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Field</th><th>Type</th></tr></thead><tbody><tr><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">answers.&lt;id&gt;.type</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">answers.&lt;id&gt;.noul</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>number</td></tr><tr><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">answers.&lt;id&gt;.choice</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">answers.&lt;id&gt;.score</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>number</td></tr><tr><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">answers.&lt;id&gt;.confidence</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>number</td></tr><tr><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">answers.&lt;id&gt;.probabilities</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>object</td></tr><tr><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">answers.&lt;id&gt;.legend</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>object</td></tr><tr><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">usage.input_tokens</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>integer</td></tr><tr><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">usage.output_tokens</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>integer</td></tr><tr><th data-cell-label=\"Field\" scope=\"row\"><span class=\"card-cell-label\">Field</span><code class=\"card-field-name\">usage.cost</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>number</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Errors and next steps</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Response</th><th>Condition</th><th>Next step</th></tr></thead><tbody><tr><th data-cell-label=\"Response\" scope=\"row\"><span class=\"card-cell-label\">Response</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Condition\"><span class=\"card-cell-label\">Condition</span>Invalid required field, representation or value</td><td data-cell-label=\"Next step\"><span class=\"card-cell-label\">Next step</span>Correct the indicated request field.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliases</h3><h4>Model aliases</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=nace-ai%2Fdrex-v1.5&amp;route=Ultra&amp;caller=nace-ai%2Fdrex-v1.5&amp;fmt=systemone\"><code>nace-ai/drex-v1.5</code></a></span></p><h4>Method path aliases</h4><p class=\"note-s\">Use the method paths shown above.</p><h4>Related caller IDs</h4><p class=\"note-s\"><a href=\"#m=nace-ai%2Fdrex-v1.5&amp;route=Ultra&amp;caller=nace-ai%2Fdrex-v1.5&amp;fmt=systemone\"><code>nace-ai/drex-v1.5</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "nace-ai/drex-v1.5",
        "fmt": "systemone",
        "http": "POST",
        "path": "/v1/systemone",
        "request_model_id": "nace-ai/drex-v1.5",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|systemone|/v1/systemone|nace-ai%2Fdrex-v1.5",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Every supplied question-ID answer with its exact type, noul/choice/score value, confidence, probabilities and legend is retained. Entire original JSON is stored and returned only after settlement.",
            "errors": [
              {
                "code": null,
                "condition": "Invalid required field, representation or value",
                "http_status": 400,
                "recovery": "Correct the indicated request field.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "cancel": null,
              "idempotency_header": null,
              "job_retrieve": null,
              "mode": "synchronous",
              "streaming": false,
              "unknown": "Preserve original operation and full/partial reply; do not replay POST."
            },
            "material_combinations": [
              {
                "mode": "noul",
                "optional": [
                  "criteria true/false descriptions"
                ],
                "required": [
                  "state",
                  "questions.<id>.type=noul",
                  "questions.<id>.instructions"
                ]
              },
              {
                "mode": "choice",
                "required": [
                  "state",
                  "questions.<id>.type=choice",
                  "questions.<id>.instructions",
                  "criteria object"
                ]
              },
              {
                "mode": "score",
                "required": [
                  "state",
                  "questions.<id>.type=score",
                  "questions.<id>.instructions",
                  "criteria array with minItems1"
                ]
              }
            ],
            "operation_modes": [
              "noul",
              "choice",
              "score"
            ],
            "outputs": {
              "all_results": "Every supplied question-ID answer with its exact type, noul/choice/score value, confidence, probabilities and legend is retained. Entire original JSON is stored and returned only after settlement.",
              "family": "decisions",
              "fields": [
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "provider",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.type",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.noul",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.choice",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.score",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.confidence",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.probabilities",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "answers.<id>.legend",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "usage.input_tokens",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.output_tokens",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.cost",
                  "type": "number"
                }
              ],
              "format": "json",
              "schema": {
                "properties": {
                  "answers": {
                    "additionalProperties": {
                      "description": "A Decisions answer using a boolean, choice, or score evaluation.",
                      "discriminator": {
                        "mapping": {
                          "choice": "#/components/schemas/DecisionsChoiceAnswer",
                          "noul": "#/components/schemas/DecisionsNoulAnswer",
                          "score": "#/components/schemas/DecisionsScoreAnswer"
                        },
                        "propertyName": "type"
                      },
                      "oneOf": [
                        {
                          "$ref": "#/components/schemas/DecisionsNoulAnswer"
                        },
                        {
                          "$ref": "#/components/schemas/DecisionsChoiceAnswer"
                        },
                        {
                          "$ref": "#/components/schemas/DecisionsScoreAnswer"
                        }
                      ]
                    },
                    "type": "object"
                  },
                  "id": {
                    "type": "string"
                  },
                  "model": {
                    "type": "string"
                  },
                  "provider": {
                    "type": "string"
                  },
                  "usage": {
                    "properties": {
                      "cost": {
                        "format": "double",
                        "type": "number"
                      },
                      "input_tokens": {
                        "type": "integer"
                      },
                      "output_tokens": {
                        "type": "integer"
                      }
                    },
                    "required": [
                      "input_tokens",
                      "output_tokens"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "model",
                  "answers",
                  "usage"
                ],
                "type": "object"
              }
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "nace-ai/drex-v1.5"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "The content to evaluate: a plain string, or a JSON object or array of related context.",
                "enum": null,
                "enum_known": false,
                "name": "state",
                "required": true,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "noul",
                  "choice",
                  "score"
                ],
                "enum_known": true,
                "name": "questions.<id>.type",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.instructions",
                "required": true,
                "type": "string|object|array"
              },
              {
                "availability": "source_interface",
                "conditions": "choice/score: required; noul: optional. choice criteria is object; score is array with minItems1.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.criteria",
                "required": false,
                "type": "object|array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.criteria.true",
                "required": true,
                "type": "string|object|array",
                "when": "noul criteria object supplied"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.criteria.false",
                "required": true,
                "type": "string|object|array",
                "when": "noul criteria object supplied"
              }
            ],
            "unsupported": [
              "stream=true"
            ]
          },
          "hints": [
            "Send the exact model ID and retain the complete native response."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "multimodal_input_binding": null,
            "optional_controls": [
              "provider",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "state",
              "questions"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "idempotency_header": null,
            "job_retrieve": null,
            "mode": "synchronous",
            "streaming": false,
            "unknown": "Preserve original operation and full/partial reply; do not replay POST."
          },
          "manufacturer_capability": {
            "context_length": 131072,
            "manufacturer_input": [
              "text"
            ],
            "manufacturer_output": [
              "decisions"
            ]
          },
          "method": {
            "http": "POST",
            "path": "/v1/systemone"
          },
          "method_aliases": [],
          "operation_modes": [
            "noul",
            "choice",
            "score"
          ],
          "output": {
            "all_results": "Every supplied question-ID answer with its exact type, noul/choice/score value, confidence, probabilities and legend is retained. Entire original JSON is stored and returned only after settlement.",
            "family": "decisions",
            "fields": [
              {
                "description": null,
                "name": "model",
                "type": "string"
              },
              {
                "description": null,
                "name": "id",
                "type": "string"
              },
              {
                "description": null,
                "name": "provider",
                "type": "string"
              },
              {
                "description": null,
                "name": "answers.<id>.type",
                "type": "string"
              },
              {
                "description": null,
                "name": "answers.<id>.noul",
                "type": "number"
              },
              {
                "description": null,
                "name": "answers.<id>.choice",
                "type": "string"
              },
              {
                "description": null,
                "name": "answers.<id>.score",
                "type": "number"
              },
              {
                "description": null,
                "name": "answers.<id>.confidence",
                "type": "number"
              },
              {
                "description": null,
                "name": "answers.<id>.probabilities",
                "type": "object"
              },
              {
                "description": null,
                "name": "answers.<id>.legend",
                "type": "object"
              },
              {
                "description": null,
                "name": "usage.input_tokens",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.output_tokens",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.cost",
                "type": "number"
              }
            ],
            "format": "json",
            "schema": {
              "properties": {
                "answers": {
                  "additionalProperties": {
                    "description": "A Decisions answer using a boolean, choice, or score evaluation.",
                    "discriminator": {
                      "mapping": {
                        "choice": "#/components/schemas/DecisionsChoiceAnswer",
                        "noul": "#/components/schemas/DecisionsNoulAnswer",
                        "score": "#/components/schemas/DecisionsScoreAnswer"
                      },
                      "propertyName": "type"
                    },
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/DecisionsNoulAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsChoiceAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsScoreAnswer"
                      }
                    ]
                  },
                  "type": "object"
                },
                "id": {
                  "type": "string"
                },
                "model": {
                  "type": "string"
                },
                "provider": {
                  "type": "string"
                },
                "usage": {
                  "properties": {
                    "cost": {
                      "format": "double",
                      "type": "number"
                    },
                    "input_tokens": {
                      "type": "integer"
                    },
                    "output_tokens": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "input_tokens",
                    "output_tokens"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "model",
                "answers",
                "usage"
              ],
              "type": "object"
            }
          },
          "schema": {
            "request": {
              "properties": {
                "model": {
                  "enum": [
                    "nace-ai/drex-v1.5"
                  ],
                  "type": "string"
                },
                "provider": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProviderPreferences"
                    },
                    {
                      "description": "Provider routing preferences for the request."
                    }
                  ]
                },
                "questions": {
                  "additionalProperties": {
                    "description": "A Decisions question using a boolean, choice, or ordered score evaluation.",
                    "discriminator": {
                      "mapping": {
                        "choice": "#/components/schemas/DecisionsChoiceQuestion",
                        "noul": "#/components/schemas/DecisionsNoulQuestion",
                        "score": "#/components/schemas/DecisionsScoreQuestion"
                      },
                      "propertyName": "type"
                    },
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/DecisionsNoulQuestion"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsChoiceQuestion"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsScoreQuestion"
                      }
                    ]
                  },
                  "type": "object"
                },
                "session_id": {
                  "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                  "example": "session-1234",
                  "maxLength": 256,
                  "type": "string"
                },
                "state": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "additionalProperties": {},
                      "type": "object"
                    },
                    {
                      "items": {},
                      "type": "array"
                    }
                  ],
                  "description": "The content to evaluate: a plain string, or a JSON object or array of related context."
                },
                "trace": {
                  "$ref": "#/components/schemas/TraceConfig"
                },
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "state",
                "questions"
              ],
              "type": "object"
            },
            "response": {
              "properties": {
                "answers": {
                  "additionalProperties": {
                    "description": "A Decisions answer using a boolean, choice, or score evaluation.",
                    "discriminator": {
                      "mapping": {
                        "choice": "#/components/schemas/DecisionsChoiceAnswer",
                        "noul": "#/components/schemas/DecisionsNoulAnswer",
                        "score": "#/components/schemas/DecisionsScoreAnswer"
                      },
                      "propertyName": "type"
                    },
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/DecisionsNoulAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsChoiceAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsScoreAnswer"
                      }
                    ]
                  },
                  "type": "object"
                },
                "id": {
                  "type": "string"
                },
                "model": {
                  "type": "string"
                },
                "provider": {
                  "type": "string"
                },
                "usage": {
                  "properties": {
                    "cost": {
                      "format": "double",
                      "type": "number"
                    },
                    "input_tokens": {
                      "type": "integer"
                    },
                    "output_tokens": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "input_tokens",
                    "output_tokens"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "model",
                "answers",
                "usage"
              ],
              "type": "object"
            }
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.00008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000008",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.00008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000008",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "{\n  \"model\": \"nace-ai/drex-v1.5\",\n  \"questions\": {\n    \"is_bug\": {\n      \"criteria\": {\n        \"false\": \"The customer is asking a question or requesting a feature.\",\n        \"true\": \"The customer describes broken or unexpected product behavior.\"\n      },\n      \"instructions\": \"Is the customer reporting a software defect?\",\n      \"type\": \"noul\"\n    },\n    \"team\": {\n      \"criteria\": {\n        \"account\": \"Login, permissions, or profile issues.\",\n        \"frontend\": \"Rendering, layout, or browser compatibility issues.\",\n        \"payments\": \"Checkout, billing, or payment processing issues.\"\n      },\n      \"instructions\": \"Which team should own this ticket?\",\n      \"type\": \"choice\"\n    },\n    \"urgency\": {\n      \"criteria\": [\n        \"Can wait for the next release\",\n        \"Should be fixed this week\",\n        \"Blocking revenue right now\"\n      ],\n      \"instructions\": \"How urgent is this ticket?\",\n      \"type\": \"score\"\n    }\n  },\n  \"state\": {\n    \"customer_tier\": \"enterprise\",\n    \"ticket\": \"My checkout page shows a blank screen after I click Pay. I have tried two browsers.\"\n  }\n}",
            "label": "Retained official request structure; documentary example",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_REQUEST_FILE:?Set your actual JSON request file}\"\nexport AILOOT_REQUEST_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))\nif not isinstance(p,dict): raise SystemExit('Request must be a JSON object')\np['model']='nace-ai/drex-v1.5'\nPath('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use your actual request material and retain the complete result",
            "language": "bash",
            "material_policy": "Use real owner-supplied state/questions or query/documents. No invented file ID, document, image URL, job ID or returned result."
          }
        ],
        "family": "systemone",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "systemone",
        "http": "POST",
        "in": 0.08,
        "input": [
          "text"
        ],
        "label": "System One",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "systemone",
        "out": 0,
        "output": [
          "decisions"
        ],
        "path": "/v1/systemone",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.00008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000008",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.00008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000008",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "nace-ai/drex-v1.5",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": null,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.08,
            "input_multiplier": null,
            "interval_boundary": "min_exclusive_max_inclusive",
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "null_rate_policy": "unknown or inherited; never zero",
            "out": 0,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.00008000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000008",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "nace-ai/drex-v1.5",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "b47b6618f13d286a913b7b033e5c1539ff35f0cad84548ab413c0656a6ed3567",
    "input_html_sha256": "645b5e5286c7bfb210c871b43b77d7caad80ce8428c79f234ecd4d4650e7f182",
    "private_audit_sha256": "2086b32813699158a75076fafc7f0fba353b14d6294ae402416e9643104520dd",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/en/nace-ai-drex-v1-5/",
    "description": "Drex 1.5 evaluates supplied text or JSON against typed questions and returns probabilities, a chosen label or a fractional rubric score. Nace.AI documents text-only decisions for classification, routing and prioritization, with version-specific state and request limits.",
    "locale": "en",
    "md_url": "https://ailoot.ai/models/en/nace-ai-drex-v1-5/index.md",
    "title": "Nace.AI: Drex v1.5 — Ailoot",
    "url": "https://ailoot.ai/models/en/nace-ai-drex-v1-5/"
  },
  "rawModel": {
    "about": "Drex 1.5 is Nace.AI’s text decision model. It evaluates supplied facts against closed questions and returns numerical, typed answers rather than an open-ended written response. A request combines one state with named questions, and the result identifies each answer using the same question name. This gives a workflow a concrete category, probability or rubric position to consume while leaving the action taken on that result to the application.\n\n### Preparing the state\n\nThe state is the information every question concerns. Drex accepts a JSON string, object, array, number, boolean or null, with the state field required. Supply meaningful evidence even though null passes the producer’s validation. A string suits a message, document or transcript; an object suits facts already organized into fields. Retain the information that affects the decision, and omit unrelated fields when the material is long. Keep a stable input format when interpreting probability thresholds, because changing the representation can change the answer.\n\nDrex 1.5 reads text only. The documented interface rejects images, audio, video and PDF content within either the state or questions, including encoded media and media-content objects. Prepare a caption, recognized document text or a transcript before using that material as evidence. A text address is not a fetched document or image: the model cannot open it. For a support request, the useful state is the actual message and relevant context, not a reference to material the model has not received.\n\n### Yes/no probability, choice or score\n\nA noul question asks whether a condition holds and returns a number from 0 to 1 representing the estimated probability of yes. Define the question through non-empty instructions or at least one non-empty true/false criterion. For example, ask whether a message reports a broken feature and define whether slow behavior counts as broken. Drex does not impose a built-in yes/no cutoff; the consuming workflow chooses how to interpret the probability.\n\nA choice question selects one supplied label from an unordered set and returns a probability for every label. The criteria are an object whose keys are the returned labels, with each description a string or null. Use short, stable keys and describe category boundaries clearly. An illustrative routing task can distinguish an access problem, a product defect and a general question, with an other category for messages that do not fit. The selected label is useful for routing; the distribution helps identify cases where two options remain difficult to separate.\n\nA score question uses an ordered array of level labels. Indices begin at 0, and the returned score is the sum of each level index multiplied by its probability. It can therefore fall between named levels. For a severity scale, define what separates a cosmetic issue, an issue with a workaround and a fully blocked task. The result includes the level legend and probabilities as well as the expected score. Keep the fractional score for averaging or trends; selecting the most probable level and rounding the expected score answer different questions.\n\n### Shared evidence and reading the result\n\nThe producer allows one to 512 questions about the same state. Give each a non-empty, meaningful identifier, such as category or severity, so the corresponding answer can be understood without looking up a numbered question. Separate independent concerns into their own questions rather than combining several requirements into one unclear criterion. A single message can support a category choice, a severity score and a condition check, each retaining its own meaning.\n\nChoice and score answers include confidence separately from their probability distributions. The producer explicitly distinguishes confidence from the highest option probability; do not calculate one from the other. For a yes/no decision, retain the raw probability with the chosen outcome. For an uncertain choice, inspect the competing probabilities instead of treating the winning label alone as evidence of certainty. Define review thresholds around the consequences of a wrong positive or negative result and use representative labeled cases to assess them.\n\n### Version and size limits\n\nDrex 1.5 documents a state allowance of 131,072 tokens and a row allowance of 139,264 tokens. The row allowance concerns the state plus the longest single question, including its instructions and options; it is not the sum of every question in the request. The serialized state and questions together must also fit within 1,048,576 UTF-8 bytes. A request can satisfy the byte limit and still exceed a token limit. The older 1.0 edition separately lists 32,768 tokens for both state and row, so its limits should not be carried over to 1.5.\n\nNace documents drex-v1.5 as a versioned producer identifier, while drex-latest is a moving alias. Keep the intended edition explicit when a workflow depends on its limits. A malformed question, missing state or oversized input is a validation problem that needs corrected input rather than a changed category or guessed answer. Prepare the criteria around observable evidence and retain the typed result, the original facts and the question definition together. That makes the decision usable for routing, prioritization or review without mistaking a probability for a guaranteed verdict.",
    "alias_of": null,
    "aliases": [],
    "author": "Nace.AI",
    "available": null,
    "canonical_model": "nace-ai/drex-v1.5",
    "capabilities": {
      "context_length": 131072,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "decisions"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00008000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000008",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "Full configuration pricing in details."
      }
    ],
    "ctx": null,
    "entity_type": "model",
    "formats": [
      "systemone"
    ],
    "id": "nace-ai/drex-v1.5",
    "input": [
      "text"
    ],
    "kind": "decision",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Every supplied question-ID answer with its exact type, noul/choice/score value, confidence, probabilities and legend is retained. Entire original JSON is stored and returned only after settlement.",
            "errors": [
              {
                "code": null,
                "condition": "Invalid required field, representation or value",
                "http_status": 400,
                "recovery": "Correct the indicated request field.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "cancel": null,
              "idempotency_header": null,
              "job_retrieve": null,
              "mode": "synchronous",
              "streaming": false,
              "unknown": "Preserve original operation and full/partial reply; do not replay POST."
            },
            "material_combinations": [
              {
                "mode": "noul",
                "optional": [
                  "criteria true/false descriptions"
                ],
                "required": [
                  "state",
                  "questions.<id>.type=noul",
                  "questions.<id>.instructions"
                ]
              },
              {
                "mode": "choice",
                "required": [
                  "state",
                  "questions.<id>.type=choice",
                  "questions.<id>.instructions",
                  "criteria object"
                ]
              },
              {
                "mode": "score",
                "required": [
                  "state",
                  "questions.<id>.type=score",
                  "questions.<id>.instructions",
                  "criteria array with minItems1"
                ]
              }
            ],
            "operation_modes": [
              "noul",
              "choice",
              "score"
            ],
            "outputs": {
              "all_results": "Every supplied question-ID answer with its exact type, noul/choice/score value, confidence, probabilities and legend is retained. Entire original JSON is stored and returned only after settlement.",
              "family": "decisions",
              "fields": [
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "provider",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.type",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.noul",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.choice",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.score",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.confidence",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.probabilities",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "answers.<id>.legend",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "usage.input_tokens",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.output_tokens",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.cost",
                  "type": "number"
                }
              ],
              "format": "json",
              "schema": {
                "properties": {
                  "answers": {
                    "additionalProperties": {
                      "description": "A Decisions answer using a boolean, choice, or score evaluation.",
                      "discriminator": {
                        "mapping": {
                          "choice": "#/components/schemas/DecisionsChoiceAnswer",
                          "noul": "#/components/schemas/DecisionsNoulAnswer",
                          "score": "#/components/schemas/DecisionsScoreAnswer"
                        },
                        "propertyName": "type"
                      },
                      "oneOf": [
                        {
                          "$ref": "#/components/schemas/DecisionsNoulAnswer"
                        },
                        {
                          "$ref": "#/components/schemas/DecisionsChoiceAnswer"
                        },
                        {
                          "$ref": "#/components/schemas/DecisionsScoreAnswer"
                        }
                      ]
                    },
                    "type": "object"
                  },
                  "id": {
                    "type": "string"
                  },
                  "model": {
                    "type": "string"
                  },
                  "provider": {
                    "type": "string"
                  },
                  "usage": {
                    "properties": {
                      "cost": {
                        "format": "double",
                        "type": "number"
                      },
                      "input_tokens": {
                        "type": "integer"
                      },
                      "output_tokens": {
                        "type": "integer"
                      }
                    },
                    "required": [
                      "input_tokens",
                      "output_tokens"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "model",
                  "answers",
                  "usage"
                ],
                "type": "object"
              }
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "nace-ai/drex-v1.5"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "The content to evaluate: a plain string, or a JSON object or array of related context.",
                "enum": null,
                "enum_known": false,
                "name": "state",
                "required": true,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "noul",
                  "choice",
                  "score"
                ],
                "enum_known": true,
                "name": "questions.<id>.type",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.instructions",
                "required": true,
                "type": "string|object|array"
              },
              {
                "availability": "source_interface",
                "conditions": "choice/score: required; noul: optional. choice criteria is object; score is array with minItems1.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.criteria",
                "required": false,
                "type": "object|array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.criteria.true",
                "required": true,
                "type": "string|object|array",
                "when": "noul criteria object supplied"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.criteria.false",
                "required": true,
                "type": "string|object|array",
                "when": "noul criteria object supplied"
              }
            ],
            "unsupported": [
              "stream=true"
            ]
          },
          "hints": [
            "Send the exact model ID and retain the complete native response."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "multimodal_input_binding": null,
            "optional_controls": [
              "provider",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "state",
              "questions"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "idempotency_header": null,
            "job_retrieve": null,
            "mode": "synchronous",
            "streaming": false,
            "unknown": "Preserve original operation and full/partial reply; do not replay POST."
          },
          "manufacturer_capability": {
            "context_length": 131072,
            "manufacturer_input": [
              "text"
            ],
            "manufacturer_output": [
              "decisions"
            ]
          },
          "method": {
            "http": "POST",
            "path": "/v1/systemone"
          },
          "method_aliases": [],
          "operation_modes": [
            "noul",
            "choice",
            "score"
          ],
          "output": {
            "all_results": "Every supplied question-ID answer with its exact type, noul/choice/score value, confidence, probabilities and legend is retained. Entire original JSON is stored and returned only after settlement.",
            "family": "decisions",
            "fields": [
              {
                "description": null,
                "name": "model",
                "type": "string"
              },
              {
                "description": null,
                "name": "id",
                "type": "string"
              },
              {
                "description": null,
                "name": "provider",
                "type": "string"
              },
              {
                "description": null,
                "name": "answers.<id>.type",
                "type": "string"
              },
              {
                "description": null,
                "name": "answers.<id>.noul",
                "type": "number"
              },
              {
                "description": null,
                "name": "answers.<id>.choice",
                "type": "string"
              },
              {
                "description": null,
                "name": "answers.<id>.score",
                "type": "number"
              },
              {
                "description": null,
                "name": "answers.<id>.confidence",
                "type": "number"
              },
              {
                "description": null,
                "name": "answers.<id>.probabilities",
                "type": "object"
              },
              {
                "description": null,
                "name": "answers.<id>.legend",
                "type": "object"
              },
              {
                "description": null,
                "name": "usage.input_tokens",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.output_tokens",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.cost",
                "type": "number"
              }
            ],
            "format": "json",
            "schema": {
              "properties": {
                "answers": {
                  "additionalProperties": {
                    "description": "A Decisions answer using a boolean, choice, or score evaluation.",
                    "discriminator": {
                      "mapping": {
                        "choice": "#/components/schemas/DecisionsChoiceAnswer",
                        "noul": "#/components/schemas/DecisionsNoulAnswer",
                        "score": "#/components/schemas/DecisionsScoreAnswer"
                      },
                      "propertyName": "type"
                    },
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/DecisionsNoulAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsChoiceAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsScoreAnswer"
                      }
                    ]
                  },
                  "type": "object"
                },
                "id": {
                  "type": "string"
                },
                "model": {
                  "type": "string"
                },
                "provider": {
                  "type": "string"
                },
                "usage": {
                  "properties": {
                    "cost": {
                      "format": "double",
                      "type": "number"
                    },
                    "input_tokens": {
                      "type": "integer"
                    },
                    "output_tokens": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "input_tokens",
                    "output_tokens"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "model",
                "answers",
                "usage"
              ],
              "type": "object"
            }
          },
          "schema": {
            "request": {
              "properties": {
                "model": {
                  "enum": [
                    "nace-ai/drex-v1.5"
                  ],
                  "type": "string"
                },
                "provider": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProviderPreferences"
                    },
                    {
                      "description": "Provider routing preferences for the request."
                    }
                  ]
                },
                "questions": {
                  "additionalProperties": {
                    "description": "A Decisions question using a boolean, choice, or ordered score evaluation.",
                    "discriminator": {
                      "mapping": {
                        "choice": "#/components/schemas/DecisionsChoiceQuestion",
                        "noul": "#/components/schemas/DecisionsNoulQuestion",
                        "score": "#/components/schemas/DecisionsScoreQuestion"
                      },
                      "propertyName": "type"
                    },
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/DecisionsNoulQuestion"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsChoiceQuestion"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsScoreQuestion"
                      }
                    ]
                  },
                  "type": "object"
                },
                "session_id": {
                  "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                  "example": "session-1234",
                  "maxLength": 256,
                  "type": "string"
                },
                "state": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "additionalProperties": {},
                      "type": "object"
                    },
                    {
                      "items": {},
                      "type": "array"
                    }
                  ],
                  "description": "The content to evaluate: a plain string, or a JSON object or array of related context."
                },
                "trace": {
                  "$ref": "#/components/schemas/TraceConfig"
                },
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "state",
                "questions"
              ],
              "type": "object"
            },
            "response": {
              "properties": {
                "answers": {
                  "additionalProperties": {
                    "description": "A Decisions answer using a boolean, choice, or score evaluation.",
                    "discriminator": {
                      "mapping": {
                        "choice": "#/components/schemas/DecisionsChoiceAnswer",
                        "noul": "#/components/schemas/DecisionsNoulAnswer",
                        "score": "#/components/schemas/DecisionsScoreAnswer"
                      },
                      "propertyName": "type"
                    },
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/DecisionsNoulAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsChoiceAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsScoreAnswer"
                      }
                    ]
                  },
                  "type": "object"
                },
                "id": {
                  "type": "string"
                },
                "model": {
                  "type": "string"
                },
                "provider": {
                  "type": "string"
                },
                "usage": {
                  "properties": {
                    "cost": {
                      "format": "double",
                      "type": "number"
                    },
                    "input_tokens": {
                      "type": "integer"
                    },
                    "output_tokens": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "input_tokens",
                    "output_tokens"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "model",
                "answers",
                "usage"
              ],
              "type": "object"
            }
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.00008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000008",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.00008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000008",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "{\n  \"model\": \"nace-ai/drex-v1.5\",\n  \"questions\": {\n    \"is_bug\": {\n      \"criteria\": {\n        \"false\": \"The customer is asking a question or requesting a feature.\",\n        \"true\": \"The customer describes broken or unexpected product behavior.\"\n      },\n      \"instructions\": \"Is the customer reporting a software defect?\",\n      \"type\": \"noul\"\n    },\n    \"team\": {\n      \"criteria\": {\n        \"account\": \"Login, permissions, or profile issues.\",\n        \"frontend\": \"Rendering, layout, or browser compatibility issues.\",\n        \"payments\": \"Checkout, billing, or payment processing issues.\"\n      },\n      \"instructions\": \"Which team should own this ticket?\",\n      \"type\": \"choice\"\n    },\n    \"urgency\": {\n      \"criteria\": [\n        \"Can wait for the next release\",\n        \"Should be fixed this week\",\n        \"Blocking revenue right now\"\n      ],\n      \"instructions\": \"How urgent is this ticket?\",\n      \"type\": \"score\"\n    }\n  },\n  \"state\": {\n    \"customer_tier\": \"enterprise\",\n    \"ticket\": \"My checkout page shows a blank screen after I click Pay. I have tried two browsers.\"\n  }\n}",
            "label": "Retained official request structure; documentary example",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_REQUEST_FILE:?Set your actual JSON request file}\"\nexport AILOOT_REQUEST_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))\nif not isinstance(p,dict): raise SystemExit('Request must be a JSON object')\np['model']='nace-ai/drex-v1.5'\nPath('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use your actual request material and retain the complete result",
            "language": "bash",
            "material_policy": "Use real owner-supplied state/questions or query/documents. No invented file ID, document, image URL, job ID or returned result."
          }
        ],
        "family": "systemone",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "systemone",
        "http": "POST",
        "in": 0.08,
        "input": [
          "text"
        ],
        "label": "System One",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "systemone",
        "out": 0,
        "output": [
          "decisions"
        ],
        "path": "/v1/systemone",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.00008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000008",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.00008000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000008",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "nace-ai/drex-v1.5",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": null,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.08,
            "input_multiplier": null,
            "interval_boundary": "min_exclusive_max_inclusive",
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "null_rate_policy": "unknown or inherited; never zero",
            "out": 0,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.00008000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000008",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "nace-ai/drex-v1.5",
        "request_model_id": "nace-ai/drex-v1.5",
        "route_label": "Ultra"
      }
    ],
    "name": "Nace.AI: Drex v1.5",
    "price": {
      "in": 0.08,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.08,
      "sort_out": 0,
      "varies": true
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "System One · Base token rates",
        "units": [
          {
            "amount": "0.00008000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000008",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      },
      {
        "dimensions": {
          "max_context_tokens_inclusive": null,
          "min_context_tokens_exclusive": 0
        },
        "label": "System One · Request-length tier 1",
        "units": [
          {
            "amount": "0.00008000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000008",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "public_id": "nace-ai/drex-v1.5",
    "short": "Drex 1.5 evaluates supplied text or JSON against typed questions and returns probabilities, a chosen label or a fractional rubric score. Nace.AI documents text-only decisions for classification, routing and prioritization, with version-specific state and request limits."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Drex 1.5 evaluates supplied text or JSON against typed questions and returns probabilities, a chosen label or a fractional rubric score. Nace.AI documents text-only decisions for classification, routing and prioritization, with version-specific state and request limits.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "598bc128b7656b867ad55bec7b380d29378bf3badf2947622e907ff5bee15833",
    "renderer_sha256": "fed50305bd3bcc4980ac14df23640efb8c1bc1e819f9d53643d6f43e8974d3fe"
  },
  "sourceRevision": "70b3d30aec9236dc38c31adffa6bc0d69ab750f1590584999a14e4536d99e731"
}
