{"openapi":"3.1.0","info":{"title":"Djev","version":"0.1.0","description":"Djev by Maisa. Typed answers from text, structured JSON and one optional image. Public API: no visitor API key. B200 inference starts explicitly, can take several minutes from cold, and stops after 120 seconds without inference activity. Probabilities are experimental and uncalibrated."},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"CPU gateway is alive; does not establish model readiness.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/v1/models":{"get":{"summary":"Models","operationId":"models_v1_models_get","responses":{"200":{"description":"Djev model identity.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelListResponse"}}}}}}},"/v1/machine":{"get":{"summary":"Read CPU metadata without waking the GPU","operationId":"machine_status_v1_machine_get","responses":{"200":{"description":"Logical machine state and idle lease.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Machine"}}}}}}},"/ready":{"get":{"summary":"Ready","operationId":"ready_ready_get","responses":{"200":{"description":"CPU metadata has an active ready lease.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReadyResponse"}}}},"503":{"description":"Machine is stopped, starting or in error. No GPU request is made.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotReadyResponse"}}}}}}},"/v1/machine/start":{"post":{"summary":"Start the machine asynchronously; repeated starts are idempotent","operationId":"start_v1_machine_start_post","responses":{"202":{"description":"Startup scheduled or existing machine state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Machine"}}}},"400":{"description":"Invalid start request or unavailable lifecycle controller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"413":{"description":"Invalid start request or unavailable lifecycle controller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"415":{"description":"Invalid start request or unavailable lifecycle controller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"422":{"description":"Invalid start request or unavailable lifecycle controller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"503":{"description":"Invalid start request or unavailable lifecycle controller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"504":{"description":"Invalid start request or unavailable lifecycle controller.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","maxProperties":0}}}}}},"/v1/systemone":{"post":{"summary":"Evaluate typed questions against text, JSON and an optional image","operationId":"systemone_v1_systemone_post","responses":{"200":{"description":"Typed model probabilities; Score is a probability-weighted zero-based level. Uncalibrated. The example is illustrative, not recorded evidence.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DjevResponse"},"examples":{"typed_answers":{"summary":"Illustrative response with all three answer types","value":{"model":"djev-0.1","answers":{"urgent":{"type":"noul","noul":0.9},"team":{"type":"choice","choice":"technical","probabilities":{"technical":0.8,"billing":0.1,"other":0.1},"confidence":0.41832813428211324},"severity":{"type":"score","score":1.5999999999999999,"legend":{"0":"No disruption","1":"Some disruption; work can continue","2":"A core activity is blocked"},"probabilities":{"0":0.1,"1":0.2,"2":0.7},"confidence":0.27015330083790245}},"usage":{"input_tokens":500,"output_tokens":24}}}}}},"headers":{"x-typesafe-request-id":{"schema":{"type":"string"},"description":"Upstream request identifier when supplied."},"x-bella-server-ms":{"schema":{"type":"string"},"description":"Upstream API elapsed milliseconds; excludes this gateway and client network time."},"x-bella-model-ms":{"schema":{"type":"string"},"description":"Model orchestration milliseconds, including image preflights, read waiting and transport; not GPU kernels alone."},"x-bella-compile-ms":{"schema":{"type":"string"},"description":"Upstream compile time in milliseconds."},"x-djev-gateway-ms":{"schema":{"type":"string"},"description":"Gateway ASGI entry through response-header creation, including route cleanup; excludes preceding platform queues and client transfer."},"x-djev-body-ms":{"schema":{"type":"string"},"description":"Gateway request body receipt milliseconds."},"x-djev-validation-ms":{"schema":{"type":"string"},"description":"Gateway request JSON/schema/image validation milliseconds."},"x-djev-proxy-headers-ms":{"schema":{"type":"string"},"description":"Gateway upstream dispatch through response headers, including routing and upstream work."},"x-djev-proxy-ms":{"schema":{"type":"string"},"description":"Gateway upstream dispatch through response close, including connection waits, routing and upstream work."},"server-timing":{"schema":{"type":"string"},"description":"Available GPU API spans plus distinct djev_* gateway spans. Neither is client end-to-end latency."}}},"400":{"description":"Bounded request, readiness, upstream or capacity error. No visitor credential is needed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"413":{"description":"Bounded request, readiness, upstream or capacity error. No visitor credential is needed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"415":{"description":"Bounded request, readiness, upstream or capacity error. No visitor credential is needed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"422":{"description":"Bounded request, readiness, upstream or capacity error. No visitor credential is needed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"429":{"description":"Bounded request, readiness, upstream or capacity error. No visitor credential is needed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"502":{"description":"Bounded request, readiness, upstream or capacity error. No visitor credential is needed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"503":{"description":"Bounded request, readiness, upstream or capacity error. No visitor credential is needed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"},"example":{"error":{"code":"machine_not_ready","message":"Start the machine and wait until it is ready."}}}}},"504":{"description":"Bounded request, readiness, upstream or capacity error. No visitor credential is needed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}}},"529":{"description":"Bounded request, readiness, upstream or capacity error. No visitor credential is needed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicError"}}},"headers":{"Retry-After":{"schema":{"type":"string"},"description":"Suggested wait in seconds before retrying."}}}},"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DjevRequest"},"examples":{"text":{"summary":"One Noul question","value":{"model":"djev","state":"The checkout page is unavailable.","questions":{"urgent":{"type":"noul","instructions":"Does this describe an outage?"}}}},"structured":{"summary":"Noul, Choice and Score against JSON state","value":{"model":"djev","state":{"message":"Checkout has been down for 20 minutes.","orders_blocked":true},"questions":{"urgent":{"type":"noul","instructions":"Does this describe an outage?","criteria":{"true":"A service or feature is unavailable","false":"No service outage is described"}},"team":{"type":"choice","instructions":"Which team should handle this request?","criteria":{"technical":"Broken features and outages","billing":"Charges and invoices","other":"Anything else"}},"severity":{"type":"score","instructions":"How severely is the business affected?","criteria":["No disruption","Some disruption; work can continue","A core activity is blocked"]}},"options":{"isolation":"independent","score_mode":"categorical","samples":1,"steps":1}}},"image":{"summary":"A complete synthetic PNG image request","value":{"model":"djev","state":"","images":["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAOklEQVR4nO3RQREAMAjEwKNq6rliqYTw4ZcVcMyE6nez6ayuxwMD/gCZCJkImQiZCJkImQiZCJko5APe/QICOfwHWAAAAABJRU5ErkJggg=="],"questions":{"orange":{"type":"noul","instructions":"Is the image mostly orange?"}}}}}}}},"description":"Public, unauthenticated API. Start explicitly with POST /v1/machine/start and poll GET /v1/machine until ready. Evaluating does not implicitly start a stopped machine. Inference is not idempotent; do not automatically replay after a timeout."}}},"components":{"schemas":{"ChoiceQuestion":{"additionalProperties":false,"properties":{"type":{"const":"choice","default":"choice","title":"Type","type":"string"},"instructions":{"anyOf":[{"type":"string"},{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object"},{"items":{"$ref":"#/components/schemas/JsonValue"},"type":"array"},{"type":"null"}],"default":null,"title":"Instructions"},"criteria":{"additionalProperties":{"anyOf":[{"type":"string"},{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object"},{"items":{"$ref":"#/components/schemas/JsonValue"},"type":"array"},{"type":"null"}]},"maxProperties":255,"minProperties":1,"title":"Criteria","type":"object"}},"required":["criteria"],"title":"ChoiceQuestion","type":"object"},"InferenceOptions":{"additionalProperties":false,"properties":{"samples":{"default":1,"maximum":4,"minimum":1,"title":"Samples","type":"integer"},"steps":{"const":1,"default":1,"title":"Steps","type":"integer"},"diagnostics":{"default":false,"title":"Diagnostics","type":"boolean"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Seed"},"isolation":{"default":"joint","enum":["joint","independent"],"title":"Isolation","type":"string"},"score_mode":{"default":"categorical","enum":["categorical","independent_levels"],"title":"Score Mode","type":"string"}},"title":"InferenceOptions","type":"object"},"JsonValue":{},"NoulCriteria":{"additionalProperties":false,"properties":{"true":{"anyOf":[{"type":"string"},{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object"},{"items":{"$ref":"#/components/schemas/JsonValue"},"type":"array"},{"type":"null"}],"default":null,"title":"True"},"false":{"anyOf":[{"type":"string"},{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object"},{"items":{"$ref":"#/components/schemas/JsonValue"},"type":"array"},{"type":"null"}],"default":null,"title":"False"}},"title":"NoulCriteria","type":"object"},"NoulQuestion":{"additionalProperties":false,"properties":{"type":{"const":"noul","default":"noul","title":"Type","type":"string"},"instructions":{"anyOf":[{"type":"string"},{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object"},{"items":{"$ref":"#/components/schemas/JsonValue"},"type":"array"},{"type":"null"}],"default":null,"title":"Instructions"},"criteria":{"anyOf":[{"$ref":"#/components/schemas/NoulCriteria"},{"type":"null"}],"default":null}},"title":"NoulQuestion","type":"object"},"ScoreQuestion":{"additionalProperties":false,"properties":{"type":{"const":"score","default":"score","title":"Type","type":"string"},"instructions":{"anyOf":[{"type":"string"},{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object"},{"items":{"$ref":"#/components/schemas/JsonValue"},"type":"array"},{"type":"null"}],"default":null,"title":"Instructions"},"criteria":{"items":{"anyOf":[{"type":"string"},{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object"},{"items":{"$ref":"#/components/schemas/JsonValue"},"type":"array"},{"type":"null"}]},"maxItems":10,"minItems":2,"title":"Criteria","type":"array"}},"required":["criteria"],"title":"ScoreQuestion","type":"object"},"DjevRequest":{"additionalProperties":false,"description":"Bounded public Djev input; legacy Djev request defaults stay unchanged.","properties":{"state":{"anyOf":[{"type":"string"},{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object"},{"items":{"$ref":"#/components/schemas/JsonValue"},"type":"array"}],"title":"State","description":"At most 20,000 Unicode code points; structured values count compact JSON keys and punctuation."},"model":{"default":"djev","maxLength":128,"minLength":1,"title":"Model","type":"string"},"questions":{"additionalProperties":{"discriminator":{"mapping":{"choice":"#/components/schemas/ChoiceQuestion","noul":"#/components/schemas/NoulQuestion","score":"#/components/schemas/ScoreQuestion"},"propertyName":"type"},"oneOf":[{"$ref":"#/components/schemas/NoulQuestion"},{"$ref":"#/components/schemas/ChoiceQuestion"},{"$ref":"#/components/schemas/ScoreQuestion"}]},"maxProperties":32,"minProperties":1,"title":"Questions","type":"object"},"options":{"$ref":"#/components/schemas/InferenceOptions"},"images":{"description":"At most one base64 JPEG, PNG or WebP data URL; 5 MiB decoded, 2048 pixels per side, one frame.","items":{"type":"string"},"maxItems":1,"title":"Images","type":"array"}},"required":["state","questions"],"title":"DjevRequest","type":"object"},"ChoiceAnswer":{"additionalProperties":false,"properties":{"type":{"const":"choice","title":"Type","type":"string"},"choice":{"description":"An input option key with maximum probability; ties use the first input key.","title":"Choice","type":"string"},"probabilities":{"additionalProperties":{"maximum":1,"minimum":0,"type":"number"},"description":"Exactly the input option keys. Nonnegative probabilities sum to one.","maxProperties":255,"minProperties":1,"title":"Probabilities","type":"object"},"confidence":{"description":"Djev entropy concentration: 1 - entropy(p)/log(n), or 1 for a single option. Not Jev's private confidence formula or calibrated correctness.","maximum":1,"minimum":0,"title":"Confidence","type":"number"}},"required":["type","choice","probabilities","confidence"],"title":"ChoiceAnswer","type":"object"},"IndependentDiagnostics":{"additionalProperties":false,"properties":{"engine":{"const":"diffusiongemma-vllm","title":"Engine","type":"string"},"calibration":{"const":"unvalidated","title":"Calibration","type":"string"},"physical_reads":{"minimum":1,"title":"Physical Reads","type":"integer"},"samples":{"maximum":4,"minimum":1,"title":"Samples","type":"integer"},"steps":{"const":1,"title":"Steps","type":"integer"},"probability_basis":{"const":"relative_to_allowed_labels","title":"Probability Basis","type":"string"},"isolation":{"const":"independent","title":"Isolation","type":"string"},"seed_policy":{"const":"bella-question-seed-v1","title":"Seed Policy","type":"string"},"logical_questions":{"maximum":32,"minimum":1,"title":"Logical Questions","type":"integer"},"unique_questions":{"maximum":32,"minimum":1,"title":"Unique Questions","type":"integer"},"questions":{"additionalProperties":{"$ref":"#/components/schemas/IndependentReadEvidence"},"title":"Questions","type":"object"}},"required":["engine","calibration","physical_reads","samples","steps","probability_basis","isolation","seed_policy","logical_questions","unique_questions","questions"],"title":"IndependentDiagnostics","type":"object"},"IndependentReadEvidence":{"additionalProperties":false,"properties":{"label_mass":{"description":"Mean raw probability mass on allowed labels before conditional renormalization. Not a correctness probability.","minimum":0,"title":"Label Mass","type":"number"},"label_entropy":{"description":"Entropy in nats of the averaged conditional label distribution.","minimum":0,"title":"Label Entropy","type":"number"},"canvas_tokens":{"maximum":128,"minimum":1,"title":"Canvas Tokens","type":"integer"}},"required":["label_mass","label_entropy","canvas_tokens"],"title":"IndependentReadEvidence","type":"object"},"JointDiagnostics":{"additionalProperties":false,"properties":{"engine":{"const":"diffusiongemma-vllm","title":"Engine","type":"string"},"calibration":{"const":"unvalidated","title":"Calibration","type":"string"},"physical_reads":{"minimum":1,"title":"Physical Reads","type":"integer"},"samples":{"maximum":4,"minimum":1,"title":"Samples","type":"integer"},"steps":{"const":1,"title":"Steps","type":"integer"},"probability_basis":{"const":"relative_to_allowed_labels","title":"Probability Basis","type":"string"},"isolation":{"const":"joint","title":"Isolation","type":"string"},"canvas_tokens":{"maximum":128,"minimum":1,"title":"Canvas Tokens","type":"integer"},"questions":{"additionalProperties":{"$ref":"#/components/schemas/ReadEvidence"},"title":"Questions","type":"object"}},"required":["engine","calibration","physical_reads","samples","steps","probability_basis","isolation","canvas_tokens","questions"],"title":"JointDiagnostics","type":"object"},"NoulAnswer":{"additionalProperties":false,"properties":{"type":{"const":"noul","title":"Type","type":"string"},"noul":{"description":"Probability of yes, conditional on the two offered labels. Not a measured accuracy or calibrated guarantee.","maximum":1,"minimum":0,"title":"Noul","type":"number"}},"required":["type","noul"],"title":"NoulAnswer","type":"object"},"ReadEvidence":{"additionalProperties":false,"properties":{"label_mass":{"description":"Mean raw probability mass on allowed labels before conditional renormalization. Not a correctness probability.","minimum":0,"title":"Label Mass","type":"number"},"label_entropy":{"description":"Entropy in nats of the averaged conditional label distribution.","minimum":0,"title":"Label Entropy","type":"number"}},"required":["label_mass","label_entropy"],"title":"ReadEvidence","type":"object"},"ScoreAnswer":{"additionalProperties":false,"properties":{"type":{"const":"score","title":"Type","type":"string"},"score":{"description":"Probability-weighted zero-based level: sum(i * probabilities[str(i)]). Lies between 0 and the number of levels minus 1; neither argmax nor a percentage.","maximum":9,"minimum":0,"title":"Score","type":"number"},"probabilities":{"description":"Keys are consecutive string indices 0 through n-1, matching the input levels and legend. Probabilities sum to one.","maxProperties":10,"minProperties":2,"patternProperties":{"^[0-9]$":{"maximum":1,"minimum":0,"type":"number"}},"title":"Probabilities","type":"object"},"legend":{"description":"Original level descriptions keyed by their zero-based string indices. Structured descriptions are preserved. The official Python SDK excludes top-level null descriptions.","maxProperties":10,"minProperties":2,"patternProperties":{"^[0-9]$":{"anyOf":[{"type":"string"},{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object"},{"items":{"$ref":"#/components/schemas/JsonValue"},"type":"array"},{"type":"null"}]}},"title":"Legend","type":"object"},"confidence":{"description":"Djev entropy concentration: 1 - entropy(p)/log(n). Uncalibrated; not Jev's private formula.","maximum":1,"minimum":0,"title":"Confidence","type":"number"}},"required":["type","score","probabilities","legend","confidence"],"title":"ScoreAnswer","type":"object"},"ScoreLevelDiagnostics":{"additionalProperties":false,"properties":{"engine":{"const":"diffusiongemma-vllm","title":"Engine","type":"string"},"calibration":{"const":"unvalidated","title":"Calibration","type":"string"},"physical_reads":{"maximum":128,"minimum":1,"title":"Physical Reads","type":"integer"},"samples":{"maximum":4,"minimum":1,"title":"Samples","type":"integer"},"steps":{"const":1,"title":"Steps","type":"integer"},"probability_basis":{"const":"conditional_bernoulli_odds_for_scores","title":"Probability Basis","type":"string"},"isolation":{"const":"independent","title":"Isolation","type":"string"},"score_mode":{"const":"independent_levels","title":"Score Mode","type":"string"},"estimator":{"const":"truth-odds-v1","title":"Estimator","type":"string"},"seed_policy":{"const":"bella-question-seed-v1","title":"Seed Policy","type":"string"},"logical_questions":{"maximum":32,"minimum":1,"title":"Logical Questions","type":"integer"},"logical_score_levels":{"maximum":320,"minimum":0,"title":"Logical Score Levels","type":"integer"},"unique_children":{"maximum":128,"minimum":1,"title":"Unique Children","type":"integer"},"questions":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/ScoreQuestionEvidence"},{"$ref":"#/components/schemas/IndependentReadEvidence"},{"$ref":"#/components/schemas/ScoreLevelEvidence"}]},"title":"Questions","type":"object"}},"required":["engine","calibration","physical_reads","samples","steps","probability_basis","isolation","score_mode","estimator","seed_policy","logical_questions","logical_score_levels","unique_children","questions"],"title":"ScoreLevelDiagnostics","type":"object"},"ScoreLevelEvidence":{"additionalProperties":false,"properties":{"label_mass":{"description":"Mean raw probability mass on allowed labels before conditional renormalization. Not a correctness probability.","minimum":0,"title":"Label Mass","type":"number"},"label_entropy":{"description":"Entropy in nats of the averaged conditional label distribution.","minimum":0,"title":"Label Entropy","type":"number"},"canvas_tokens":{"maximum":128,"minimum":1,"title":"Canvas Tokens","type":"integer"},"support":{"description":"Sample-averaged conditional yes probability for this level's truth test.","maximum":1,"minimum":0,"title":"Support","type":"number"},"log_mean_yes":{"anyOf":[{"type":"number"},{"enum":["+inf","-inf"],"type":"string"}],"title":"Log Mean Yes"},"log_mean_no":{"anyOf":[{"type":"number"},{"enum":["+inf","-inf"],"type":"string"}],"title":"Log Mean No"},"log_odds":{"anyOf":[{"type":"number"},{"enum":["+inf","-inf"],"type":"string"}],"description":"log_mean_yes - log_mean_no. Infinite log evidence is encoded as the JSON strings +inf or -inf; never a non-finite JSON number.","title":"Log Odds"}},"required":["label_mass","label_entropy","canvas_tokens","support","log_mean_yes","log_mean_no","log_odds"],"title":"ScoreLevelEvidence","type":"object"},"ScoreQuestionEvidence":{"additionalProperties":false,"properties":{"estimator":{"const":"truth-odds-v1","title":"Estimator","type":"string"},"label_entropy":{"minimum":0,"title":"Label Entropy","type":"number"},"levels":{"maxProperties":10,"minProperties":2,"patternProperties":{"^[0-9]$":{"$ref":"#/components/schemas/ScoreLevelEvidence"}},"title":"Levels","type":"object"}},"required":["estimator","label_entropy","levels"],"title":"ScoreQuestionEvidence","type":"object"},"TokenUsage":{"additionalProperties":false,"properties":{"input_tokens":{"description":"Sum of actual backend prompt tokens across physical reads, including wrappers and repeated state. Deduplicated reads are counted once.","minimum":0,"title":"Input Tokens","type":"integer"},"output_tokens":{"description":"Sum of actual backend completion tokens across physical reads, including canvas/scaffold work; not the length of the returned answer JSON.","minimum":0,"title":"Output Tokens","type":"integer"}},"required":["input_tokens","output_tokens"],"title":"TokenUsage","type":"object"},"ModelDescription":{"additionalProperties":false,"properties":{"name":{"const":"djev-0.1","title":"Name","type":"string"},"description":{"title":"Description","type":"string"},"release_date":{"format":"date","pattern":"^\\d{4}-\\d{2}-\\d{2}$","title":"Release Date","type":"string"}},"required":["name","description","release_date"],"title":"ModelDescription","type":"object"},"ModelListResponse":{"additionalProperties":false,"properties":{"models":{"items":{"$ref":"#/components/schemas/ModelDescription"},"title":"Models","type":"array"}},"required":["models"],"title":"ModelListResponse","type":"object"},"HealthResponse":{"additionalProperties":false,"properties":{"status":{"const":"alive","title":"Status","type":"string"},"service":{"const":"djev","title":"Service","type":"string"},"model":{"const":"djev-0.1","title":"Model","type":"string"}},"required":["status","service","model"],"title":"HealthResponse","type":"object"},"ReadyResponse":{"additionalProperties":false,"properties":{"ready":{"const":true,"title":"Ready","type":"boolean"}},"required":["ready"],"title":"ReadyResponse","type":"object"},"NotReadyResponse":{"additionalProperties":false,"properties":{"ready":{"const":false,"title":"Ready","type":"boolean"}},"required":["ready"],"title":"NotReadyResponse","type":"object"},"DjevResponse":{"additionalProperties":false,"properties":{"model":{"const":"djev-0.1","title":"Model","type":"string"},"answers":{"additionalProperties":{"discriminator":{"mapping":{"choice":"#/components/schemas/ChoiceAnswer","noul":"#/components/schemas/NoulAnswer","score":"#/components/schemas/ScoreAnswer"},"propertyName":"type"},"oneOf":[{"$ref":"#/components/schemas/NoulAnswer"},{"$ref":"#/components/schemas/ChoiceAnswer"},{"$ref":"#/components/schemas/ScoreAnswer"}]},"description":"One answer for every external question ID; keys match the request. IDs are not sent as model prompt content.","maxProperties":32,"minProperties":1,"title":"Answers","type":"object"},"usage":{"$ref":"#/components/schemas/TokenUsage"},"diagnostics":{"anyOf":[{"$ref":"#/components/schemas/JointDiagnostics"},{"$ref":"#/components/schemas/IndependentDiagnostics"},{"$ref":"#/components/schemas/ScoreLevelDiagnostics"}],"description":"Djev extension, omitted unless options.diagnostics is true. Fields depend on the selected mode; this is unvalidated evidence, not calibration.","title":"Diagnostics"}},"required":["model","answers","usage"],"title":"DjevResponse","type":"object"},"Machine":{"type":"object","required":["state","idle_timeout_seconds","idle_seconds_remaining","active_requests"],"properties":{"state":{"type":"string","enum":["stopped","starting","ready","error"]},"idle_timeout_seconds":{"type":"number","const":120},"idle_seconds_remaining":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"active_requests":{"type":"integer","minimum":0},"error_code":{"type":"string"}}},"PublicError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"issues":{"type":"array","items":{"type":"object"}}}}}}}},"servers":[{"url":"https://api.djev.dev","description":"Public Djev API"}]}