{"openapi":"3.1.0","info":{"title":"Seneca Research API","version":"0.1.0","description":"Create a research run, poll it, then read the customer report. Original model text is a separate read: list /v1/research/{run_id}/responses, read one model at /v1/research/{run_id}/responses/text, or download the panel as JSONL from /v1/research/{run_id}/responses/export. Send Authorization: Bearer seneca_sk_… Narrative quickstart: https://seneca.professionalaiagents.com/api.md"},"paths":{"/v1/research":{"post":{"tags":["public-api"],"summary":"Create research","description":"Accept a research question. A new run returns 202 and reserves the panel price. The same Idempotency-Key with the same prompt and panel returns 200 for 24 hours, sets Idempotent-Replayed: true, and does not reserve credits again.","operationId":"create_research_v1_research_post","security":[{"SenecaApiKey":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[A-Za-z0-9._:-]{1,255}$","description":"Required. 1–255 characters: letters, numbers, or . _ : -. Reuse this exact value, with the same prompt and panel, to retry a request whose response was lost. A different prompt or panel with this value returns 409 idempotency_conflict. The key expires after 24 hours."},"description":"Required. 1–255 characters: letters, numbers, or . _ : -. Reuse this exact value, with the same prompt and panel, to retry a request whose response was lost. A different prompt or panel with this value returns 409 idempotency_conflict. The key expires after 24 hours."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicResearchCreate"}}}},"responses":{"202":{"description":"Research accepted. Store id and poll GET /v1/research/{id} until status is completed, partial, or failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicRunOut"}}}},"200":{"description":"Idempotent replay of the original run. The response header Idempotent-Replayed is true. No second run is created and no second reserve is written.","headers":{"Idempotent-Replayed":{"description":"true when this response replays an existing run.","schema":{"type":"string","const":"true"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicRunOut"}}}},"401":{"description":"authentication_required when the bearer token is missing or not a bearer token. invalid_api_key when the key is unknown, revoked, or expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"429":{"description":"rate_limit_exceeded. Creates are limited to 30 requests per minute per workspace.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"500":{"description":"internal_error. The body does not include a traceback or a secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"400":{"description":"invalid_request, idempotency_key_required, invalid_idempotency_key, or quick_pulse_unavailable. A malformed body is invalid_request and does not reserve credits. quick_pulse_unavailable rejects a new Quick Pulse launch and does not reserve credits.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"402":{"description":"insufficient_credits or subscription_required. insufficient_credits includes details.required and details.available.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"409":{"description":"idempotency_conflict when Idempotency-Key is reused with a different prompt or panel. concurrency_limit_reached when the workspace already has the maximum number of runs in progress.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}}}}},"/v1/research/{run_id}":{"get":{"tags":["public-api"],"summary":"Read research status","description":"Poll a run after the create request has closed. In-progress statuses are queued, running, and synthesizing. Terminal statuses are completed, partial, and failed.","operationId":"get_research_v1_research__run_id__get","security":[{"SenecaApiKey":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"Current run, including credits_reserved, credits_charged, and progress.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicRunOut"}}}},"400":{"description":"invalid_request when the run id cannot be read.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"404":{"description":"run_not_found. Another workspace's run is also run_not_found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"401":{"description":"authentication_required when the bearer token is missing or not a bearer token. invalid_api_key when the key is unknown, revoked, or expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"429":{"description":"rate_limit_exceeded. Reads are limited to 120 requests per minute per key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"500":{"description":"internal_error. The body does not include a traceback or a secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}}}}},"/v1/research/{run_id}/result":{"get":{"tags":["public-api"],"summary":"Read the research report","description":"Return the stored customer report. detail=full, or omitting detail, returns that document. detail=compact removes the question object and places methodology last. Neither read starts research or writes a credit ledger row.","operationId":"get_research_result_v1_research__run_id__result_get","security":[{"SenecaApiKey":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"detail","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"full returns the stored report, including the question. compact omits the question and places methodology last. The default is full.","title":"Detail"},"description":"full returns the stored report, including the question. compact omits the question and places methodology last. The default is full."}],"responses":{"200":{"description":"Customer report. report is schema seneca_research_platform_report: answer, evidence, analysis, research record, and methodology.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicResultOut"}}}},"400":{"description":"invalid_request when detail is not full or compact, or the run id cannot be read.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"404":{"description":"run_not_found. Another workspace's report is also run_not_found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"409":{"description":"result_not_ready while status is queued, running, or synthesizing. research_failed when the run finished without a customer report.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"401":{"description":"authentication_required when the bearer token is missing or not a bearer token. invalid_api_key when the key is unknown, revoked, or expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"429":{"description":"rate_limit_exceeded. Reads are limited to 120 requests per minute per key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"500":{"description":"internal_error. The body does not include a traceback or a secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}}}}},"/v1/research/{run_id}/responses":{"get":{"tags":["public-api"],"summary":"List stored model responses","description":"Metadata for the model responses stored on a completed or partial run. Pages are ordered by the stored model id. The original text is not included. Pass next_cursor back as cursor. This read does not start research, call a provider, or charge credits.","operationId":"list_research_responses_v1_research__run_id__responses_get","security":[{"SenecaApiKey":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"One page of model metadata. next_cursor is null on the last page.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicModelResponseList"}}}},"400":{"description":"invalid_request when limit is outside 1–50 or the run id cannot be read. invalid_cursor when cursor cannot be read.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"404":{"description":"run_not_found. Another workspace's run is also run_not_found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"409":{"description":"responses_not_ready while the run is queued, running, or synthesizing. research_failed when the run finished without a completed or partial panel.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"401":{"description":"authentication_required when the bearer token is missing or not a bearer token. invalid_api_key when the key is unknown, revoked, or expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"429":{"description":"rate_limit_exceeded. Reads are limited to 120 requests per minute per key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"500":{"description":"internal_error. The body does not include a traceback or a secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}}}}},"/v1/research/{run_id}/responses/text":{"get":{"tags":["public-api"],"summary":"Read one stored model response","description":"Original text for one model id stored on a completed or partial run. model_id is the id from the response list or from a report field such as analysis.minority_insights[].supporting_model_ids. Slashes in the id belong in this query parameter. The id is not rewritten when the model is later retired. text is at most max_characters, starting at offset. This read does not start research, call a provider, or charge credits.","operationId":"get_research_response_text_v1_research__run_id__responses_text_get","security":[{"SenecaApiKey":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}},{"name":"model_id","in":"query","required":true,"schema":{"type":"string","description":"Stored model id. Example: anthropic/claude-3-haiku. Use the id saved on the run, not a later replacement.","title":"Model Id"},"description":"Stored model id. Example: anthropic/claude-3-haiku. Use the id saved on the run, not a later replacement."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","description":"Character offset into the stored response. The default is 0.","default":0,"title":"Offset"},"description":"Character offset into the stored response. The default is 0."},{"name":"max_characters","in":"query","required":false,"schema":{"type":"integer","description":"Maximum characters of original text to return. The default is 8000. The maximum is 32000.","default":8000,"title":"Max Characters"},"description":"Maximum characters of original text to return. The default is 8000. The maximum is 32000."}],"responses":{"200":{"description":"One model's metadata and a character window of its stored text. text is null when the model finished without stored text.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicModelResponseOut"}}}},"400":{"description":"invalid_request when model_id is missing or not a stored model id, offset is outside 0–1000000, max_characters is outside 1–32000, or the run id cannot be read.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"404":{"description":"run_not_found for an unknown or other-workspace run. model_response_not_found when this run has no response stored for model_id, including a current catalog id that replaced a retired model.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"409":{"description":"responses_not_ready while the run is queued, running, or synthesizing. research_failed when the run finished without a completed or partial panel.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"401":{"description":"authentication_required when the bearer token is missing or not a bearer token. invalid_api_key when the key is unknown, revoked, or expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"429":{"description":"rate_limit_exceeded. Reads are limited to 120 requests per minute per key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"500":{"description":"internal_error. The body does not include a traceback or a secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}}}}},"/v1/research/{run_id}/responses/export":{"get":{"tags":["public-api"],"summary":"Export stored model responses","description":"Download every model response stored on a completed or partial run as UTF-8 JSONL. Each line is one model. text is the complete stored response, or null. Save the file for your own analysis. Do not load the whole panel into an AI agent's context. To inspect one finding, use /responses and /responses/text instead. This read does not start research, call a provider, or charge credits.","operationId":"export_research_responses_v1_research__run_id__responses_export_get","security":[{"SenecaApiKey":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Run Id"}}],"responses":{"200":{"description":"UTF-8 JSONL attachment, one stored model response per line. The body is not a JSON array. Each line matches PublicModelResponseExportRecord. text is the complete persisted response, or null.","headers":{"Content-Disposition":{"description":"attachment; filename=\"seneca-{run_id}-responses.jsonl\"","schema":{"type":"string"}}},"content":{"application/x-ndjson":{"schema":{"$ref":"#/components/schemas/PublicModelResponseExportRecord"}}}},"404":{"description":"run_not_found. Another workspace's run is also run_not_found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"409":{"description":"responses_not_ready while the run is queued, running, or synthesizing. research_failed when the run finished without a completed or partial panel.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"401":{"description":"authentication_required when the bearer token is missing or not a bearer token. invalid_api_key when the key is unknown, revoked, or expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"429":{"description":"rate_limit_exceeded. Reads are limited to 120 requests per minute per key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"500":{"description":"internal_error. The body does not include a traceback or a secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}}}}},"/v1/account":{"get":{"tags":["public-api"],"summary":"Read account","description":"Plan, subscription status, available credits, entitlement, and monthly grant. A key can read this without an active subscription. Entitlement is required to launch paid research.","operationId":"get_account_v1_account_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAccountOut"}}}},"401":{"description":"authentication_required when the bearer token is missing or not a bearer token. invalid_api_key when the key is unknown, revoked, or expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"429":{"description":"rate_limit_exceeded. Reads are limited to 120 requests per minute per key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"500":{"description":"internal_error. The body does not include a traceback or a secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}}},"security":[{"SenecaApiKey":[]}]}},"/v1/usage":{"get":{"tags":["public-api"],"summary":"List research usage","description":"Workspace runs, newest first. Pass next_cursor back as cursor to read the following page. Each item includes credits_reserved, not the final charge.","operationId":"get_usage_v1_usage_get","security":[{"SenecaApiKey":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicUsageOut"}}}},"400":{"description":"invalid_request when limit is outside 1–100. invalid_cursor when cursor cannot be read.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"401":{"description":"authentication_required when the bearer token is missing or not a bearer token. invalid_api_key when the key is unknown, revoked, or expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"429":{"description":"rate_limit_exceeded. Reads are limited to 120 requests per minute per key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}},"500":{"description":"internal_error. The body does not include a traceback or a secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicErrorResponse"}}}}}}}},"components":{"schemas":{"PublicAccountOut":{"properties":{"plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan"},"subscription_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Status"},"available_credits":{"type":"integer","title":"Available Credits","description":"Grants plus refunds minus reserves. A technical-failure refund increases this balance.","default":0},"entitled":{"type":"boolean","title":"Entitled","description":"True when the workspace may launch paid research. Reads do not require it.","default":false},"monthly_credit_grant":{"type":"integer","title":"Monthly Credit Grant","default":200}},"additionalProperties":false,"type":"object","title":"PublicAccountOut"},"PublicErrorObject":{"properties":{"code":{"type":"string","title":"Code"},"message":{"type":"string","title":"Message"},"details":{"additionalProperties":true,"type":"object","title":"Details"}},"additionalProperties":false,"type":"object","required":["code","message"],"title":"PublicErrorObject"},"PublicErrorResponse":{"properties":{"error":{"$ref":"#/components/schemas/PublicErrorObject"}},"additionalProperties":false,"type":"object","required":["error"],"title":"PublicErrorResponse","description":"Error envelope returned by every /v1 failure. Documentation model only."},"PublicModelResponseExportRecord":{"properties":{"model_id":{"type":"string","title":"Model Id","description":"Model id stored on this run. A retired model keeps this id."},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name","description":"Name frozen on the run's panel snapshot. Null when the snapshot has none."},"laboratory":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Laboratory","description":"Laboratory name frozen on the panel snapshot. Null when the snapshot has none."},"status":{"type":"string","title":"Status","description":"success, error, or timeout."},"input_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Input Tokens"},"output_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Output Tokens"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text","description":"Complete original response stored for this model. Null when no text was stored. This export does not apply the 32000-character window used by the single-model read."}},"additionalProperties":false,"type":"object","required":["model_id","status"],"title":"PublicModelResponseExportRecord","description":"One JSONL line in a full-panel export. text is not windowed."},"PublicModelResponseList":{"properties":{"object":{"type":"string","const":"list","title":"Object","default":"list"},"data":{"items":{"$ref":"#/components/schemas/PublicModelResponseSummary"},"type":"array","title":"Data"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Pass back as cursor to read the next page. Null on the last page."}},"additionalProperties":false,"type":"object","title":"PublicModelResponseList"},"PublicModelResponseOut":{"properties":{"object":{"type":"string","const":"research.model_response","title":"Object","default":"research.model_response"},"model_id":{"type":"string","title":"Model Id","description":"Model id stored on this run. A retired model keeps this id."},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"laboratory":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Laboratory"},"status":{"type":"string","title":"Status"},"input_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Input Tokens"},"output_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Output Tokens"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text","description":"The requested character window of the original response. Null when no text is stored."},"text_characters":{"type":"integer","title":"Text Characters","description":"Full stored text length in characters."},"offset":{"type":"integer","title":"Offset","description":"Character offset of text within the stored response."},"returned_characters":{"type":"integer","title":"Returned Characters"},"truncated":{"type":"boolean","title":"Truncated","description":"True when characters remain after this window. Raise offset to read the rest."}},"additionalProperties":false,"type":"object","required":["model_id","status","text_characters","offset","returned_characters","truncated"],"title":"PublicModelResponseOut","description":"One stored model response. text is a character window, not the whole panel."},"PublicModelResponseSummary":{"properties":{"model_id":{"type":"string","title":"Model Id","description":"Model id stored on this run. A retired model keeps this id."},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name","description":"Name frozen on the run's panel snapshot. Null when the snapshot has none."},"laboratory":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Laboratory","description":"Laboratory name frozen on the panel snapshot. Null when the snapshot has none."},"status":{"type":"string","title":"Status","description":"success, error, or timeout."},"input_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Input Tokens"},"output_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Output Tokens"},"text_available":{"type":"boolean","title":"Text Available","description":"True when original response text is stored."},"text_characters":{"type":"integer","title":"Text Characters","description":"Full stored text length in characters. 0 when no text is stored."}},"additionalProperties":false,"type":"object","required":["model_id","status","text_available","text_characters"],"title":"PublicModelResponseSummary","description":"One stored panel response without its text."},"PublicProgressOut":{"properties":{"total_models":{"type":"integer","title":"Total Models"},"completed_models":{"type":"integer","title":"Completed Models"},"successful_models":{"type":"integer","title":"Successful Models"},"failed_models":{"type":"integer","title":"Failed Models"}},"additionalProperties":false,"type":"object","required":["total_models","completed_models","successful_models","failed_models"],"title":"PublicProgressOut"},"PublicResearchCreate":{"properties":{"prompt":{"type":"string","title":"Prompt","description":"The research question. The server trims surrounding whitespace."},"panel":{"type":"string","title":"Panel","description":"Research depth. Canonical ids and server-owned prices: wide (15 credits, 10 curated models), consensus (45 credits, 40 curated models), seneca (100 credits, every production-eligible model). The server chooses the models. Extra fields, including a model list, are rejected."}},"additionalProperties":false,"type":"object","required":["prompt","panel"],"title":"PublicResearchCreate"},"PublicResultOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"object":{"type":"string","const":"research.result","title":"Object","default":"research.result"},"status":{"type":"string","title":"Status","description":"completed or partial when a customer report exists."},"report":{"$ref":"#/components/schemas/SenecaReportV3"}},"additionalProperties":false,"type":"object","required":["id","status","report"],"title":"PublicResultOut","description":"Runtime result body. report stays the stored document and is not revalidated."},"PublicRunOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"object":{"type":"string","const":"research.run","title":"Object","default":"research.run"},"status":{"type":"string","title":"Status","description":"queued, running, synthesizing, completed, partial, or failed."},"phase":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phase","description":"panel while models are still answering. Null while synthesizing or after the run finishes."},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"panel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Panel","description":"Canonical panel id: wide, consensus, or seneca. A stored Quick Pulse run still reports quick_pulse."},"prompt":{"type":"string","title":"Prompt"},"credits_reserved":{"type":"integer","title":"Credits Reserved","description":"Credits reserved when the run was accepted. This is the panel price and does not change if the run is later refunded."},"credits_charged":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Credits Charged","description":"Null while the run is in progress. Equal to credits_reserved when a customer report is delivered, including a partial run that has a report. 0 after a verified technical failure with no customer report; that refund restores the reserve. failure_code does not change between a charged failure and a refunded one."},"failure_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Failure Code","description":"research_failed when status is failed. Null otherwise."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"progress":{"$ref":"#/components/schemas/PublicProgressOut"}},"additionalProperties":false,"type":"object","required":["id","status","prompt","credits_reserved","created_at","progress"],"title":"PublicRunOut"},"PublicUsageItemOut":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"status":{"type":"string","title":"Status"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"panel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Panel"},"credits_reserved":{"type":"integer","title":"Credits Reserved","description":"Credits reserved at acceptance. This list does not include credits_charged or a refund. Read the run for the final charge."},"created_at":{"type":"string","format":"date-time","title":"Created At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"prompt_preview":{"type":"string","title":"Prompt Preview"}},"additionalProperties":false,"type":"object","required":["id","status","credits_reserved","created_at","prompt_preview"],"title":"PublicUsageItemOut"},"PublicUsageOut":{"properties":{"object":{"type":"string","const":"list","title":"Object","default":"list"},"data":{"items":{"$ref":"#/components/schemas/PublicUsageItemOut"},"type":"array","title":"Data"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"additionalProperties":false,"type":"object","title":"PublicUsageOut"},"PublicLab":{"additionalProperties":false,"properties":{"slug":{"title":"Slug","type":"string"},"display_name":{"title":"Display Name","type":"string"}},"required":["slug","display_name"],"title":"PublicLab","type":"object"},"SenecaCensusBreakdown":{"additionalProperties":true,"properties":{"groups":{"items":{"$ref":"#/components/schemas/SenecaCensusGroup"},"title":"Groups","type":"array"},"unknown_count":{"default":0,"title":"Unknown Count","type":"integer"}},"title":"SenecaCensusBreakdown","type":"object"},"SenecaCensusGroup":{"additionalProperties":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Id"},"key":{"title":"Key","type":"string"},"count":{"title":"Count","type":"integer"},"share":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Share"}},"required":["key","count"],"title":"SenecaCensusGroup","type":"object"},"SenecaReportAnalysis":{"additionalProperties":true,"properties":{"disagreements":{"items":{"$ref":"#/components/schemas/SenecaReportDisagreement"},"title":"Disagreements","type":"array"},"minority_insights":{"items":{"$ref":"#/components/schemas/SenecaReportMinorityInsight"},"title":"Minority Insights","type":"array"},"uncertainties":{"items":{"$ref":"#/components/schemas/SenecaReportUncertainty"},"title":"Uncertainties","type":"array"}},"title":"SenecaReportAnalysis","type":"object"},"SenecaReportAnswer":{"additionalProperties":true,"properties":{"headline":{"title":"Headline","type":"string"},"direct_answer":{"title":"Direct Answer","type":"string"},"rationale":{"default":"","title":"Rationale","type":"string"},"recommended_option":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Recommended Option"},"key_points":{"items":{"$ref":"#/components/schemas/SenecaReportKeyPoint"},"title":"Key Points","type":"array"},"recommendation":{"anyOf":[{"$ref":"#/components/schemas/SenecaReportRecommendation"},{"type":"null"}],"default":null},"ranked_options":{"items":{"$ref":"#/components/schemas/SenecaReportRankedOption"},"title":"Ranked Options","type":"array"},"primary_disagreement_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Primary Disagreement Id"},"notable_minority_insight_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Notable Minority Insight Id"}},"required":["headline","direct_answer"],"title":"SenecaReportAnswer","type":"object"},"SenecaReportCamp":{"additionalProperties":true,"properties":{"camp_id":{"title":"Camp Id","type":"integer"},"label":{"title":"Label","type":"string"},"thesis":{"default":"","title":"Thesis","type":"string"},"model_ids":{"items":{"type":"string"},"title":"Model Ids","type":"array"},"representative_model_ids":{"items":{"type":"string"},"title":"Representative Model Ids","type":"array"},"model_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Model Count"},"eligible_model_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Eligible Model Count"},"model_share":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Model Share"},"equal_lab_weight_share":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Equal Lab Weight Share"},"by_lab":{"anyOf":[{"$ref":"#/components/schemas/SenecaCensusBreakdown"},{"type":"null"}],"default":null},"by_country":{"anyOf":[{"$ref":"#/components/schemas/SenecaCensusBreakdown"},{"type":"null"}],"default":null},"by_model_family":{"anyOf":[{"$ref":"#/components/schemas/SenecaCensusBreakdown"},{"type":"null"}],"default":null}},"required":["camp_id","label"],"title":"SenecaReportCamp","type":"object"},"SenecaReportClaim":{"additionalProperties":true,"properties":{"claim_id":{"title":"Claim Id","type":"integer"},"statement":{"title":"Statement","type":"string"},"importance":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Importance"},"supporting_model_ids":{"items":{"type":"string"},"title":"Supporting Model Ids","type":"array"},"opposing_model_ids":{"items":{"type":"string"},"title":"Opposing Model Ids","type":"array"},"mixed_or_uncertain_model_ids":{"items":{"type":"string"},"title":"Mixed Or Uncertain Model Ids","type":"array"},"caveats":{"items":{"type":"string"},"title":"Caveats","type":"array"},"supporting_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Supporting Count"},"opposing_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Opposing Count"},"mixed_or_uncertain_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Mixed Or Uncertain Count"},"not_addressed_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Not Addressed Count"},"addressed_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Addressed Count"},"support_share_of_addressed":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Support Share Of Addressed"},"oppose_share_of_addressed":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Oppose Share Of Addressed"},"mixed_share_of_addressed":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Mixed Share Of Addressed"}},"required":["claim_id","statement"],"title":"SenecaReportClaim","type":"object"},"SenecaReportControlledInference":{"additionalProperties":true,"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Body"},"why_this_matters":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Why This Matters"},"conditions":{"anyOf":[{"$ref":"#/components/schemas/SenecaReportInferenceConditions"},{"type":"null"}],"default":null},"instrument_labels":{"items":{"type":"string"},"title":"Instrument Labels","type":"array"}},"title":"SenecaReportControlledInference","type":"object"},"SenecaReportDisagreement":{"additionalProperties":true,"properties":{"disagreement_id":{"title":"Disagreement Id","type":"integer"},"issue":{"title":"Issue","type":"string"},"related_claim_ids":{"items":{"type":"integer"},"title":"Related Claim Ids","type":"array"},"related_camp_ids":{"items":{"type":"integer"},"title":"Related Camp Ids","type":"array"},"core_tension":{"default":"","title":"Core Tension","type":"string"},"assumptions":{"items":{"type":"string"},"title":"Assumptions","type":"array"},"why_it_matters":{"default":"","title":"Why It Matters","type":"string"},"resolving_information":{"items":{"type":"string"},"title":"Resolving Information","type":"array"}},"required":["disagreement_id","issue"],"title":"SenecaReportDisagreement","type":"object"},"SenecaReportError":{"additionalProperties":true,"properties":{"code":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Code"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Message"}},"title":"SenecaReportError","type":"object"},"SenecaReportEvidence":{"additionalProperties":true,"properties":{"claims":{"items":{"$ref":"#/components/schemas/SenecaReportClaim"},"title":"Claims","type":"array"},"camps":{"description":"Positions the panel formed, including which models belong to each camp.","items":{"$ref":"#/components/schemas/SenecaReportCamp"},"title":"Camps","type":"array"},"unclassified_model_ids":{"items":{"type":"string"},"title":"Unclassified Model Ids","type":"array"}},"title":"SenecaReportEvidence","type":"object"},"SenecaReportGeneration":{"additionalProperties":true,"properties":{"run_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Run Id"},"rerun_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Rerun Id"},"generated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Generated At"},"run_started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run Started At"},"run_completed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run Completed At"}},"title":"SenecaReportGeneration","type":"object"},"SenecaReportInferenceConditions":{"additionalProperties":true,"properties":{"text_to_text_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Text To Text Only"},"web_retrieval":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Web Retrieval"},"cot_traces":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Cot Traces"},"external_tools":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"External Tools"},"rag":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Rag"},"reasoning_models":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Reasoning Models"}},"title":"SenecaReportInferenceConditions","type":"object"},"SenecaReportKeyPoint":{"additionalProperties":true,"properties":{"key_point_id":{"title":"Key Point Id","type":"integer"},"label":{"title":"Label","type":"string"},"statement":{"title":"Statement","type":"string"},"related_claim_ids":{"items":{"type":"integer"},"title":"Related Claim Ids","type":"array"}},"required":["key_point_id","label","statement"],"title":"SenecaReportKeyPoint","type":"object"},"SenecaReportMethodology":{"additionalProperties":true,"properties":{"evidence_collection":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Evidence Collection"},"synthesis_and_audit":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Synthesis And Audit"},"stages":{"items":{"$ref":"#/components/schemas/SenecaReportMethodologyStage"},"title":"Stages","type":"array"},"controls":{"items":{"$ref":"#/components/schemas/SenecaReportMethodologyControl"},"title":"Controls","type":"array"},"controlled_inference":{"anyOf":[{"$ref":"#/components/schemas/SenecaReportControlledInference"},{"type":"null"}],"default":null}},"title":"SenecaReportMethodology","type":"object"},"SenecaReportMethodologyControl":{"additionalProperties":true,"properties":{"id":{"title":"Id","type":"string"},"label":{"title":"Label","type":"string"},"description":{"title":"Description","type":"string"}},"required":["id","label","description"],"title":"SenecaReportMethodologyControl","type":"object"},"SenecaReportMethodologyStage":{"additionalProperties":true,"properties":{"order":{"title":"Order","type":"integer"},"key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Key"},"label":{"title":"Label","type":"string"}},"required":["order","label"],"title":"SenecaReportMethodologyStage","type":"object"},"SenecaReportMinorityInsight":{"additionalProperties":true,"properties":{"insight_id":{"title":"Insight Id","type":"integer"},"insight":{"title":"Insight","type":"string"},"supporting_model_ids":{"items":{"type":"string"},"title":"Supporting Model Ids","type":"array"},"related_claim_ids":{"items":{"type":"integer"},"title":"Related Claim Ids","type":"array"},"related_camp_ids":{"items":{"type":"integer"},"title":"Related Camp Ids","type":"array"},"why_it_matters":{"default":"","title":"Why It Matters","type":"string"}},"required":["insight_id","insight"],"title":"SenecaReportMinorityInsight","type":"object"},"SenecaReportPanel":{"additionalProperties":true,"properties":{"models":{"items":{"$ref":"#/components/schemas/SenecaReportPanelModel"},"title":"Models","type":"array"}},"title":"SenecaReportPanel","type":"object"},"SenecaReportPanelModel":{"additionalProperties":true,"properties":{"model_id":{"title":"Model Id","type":"string"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Display Name"},"lab":{"anyOf":[{"$ref":"#/components/schemas/PublicLab"},{"type":"string"},{"type":"null"}],"default":null,"title":"Lab"},"lab_origin_country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Lab Origin Country Code"},"lab_origin_country_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Lab Origin Country Name"},"organization_geopolitical_region":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Organization Geopolitical Region"},"model_family":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Model Family"}},"required":["model_id"],"title":"SenecaReportPanelModel","type":"object"},"SenecaReportProvenance":{"additionalProperties":true,"properties":{"included":{"items":{"$ref":"#/components/schemas/SenecaReportProvenanceIncluded"},"title":"Included","type":"array"},"failed":{"items":{"$ref":"#/components/schemas/SenecaReportProvenanceFailed"},"title":"Failed","type":"array"},"excluded":{"items":{"$ref":"#/components/schemas/SenecaReportProvenanceExcluded"},"title":"Excluded","type":"array"}},"title":"SenecaReportProvenance","type":"object"},"SenecaReportProvenanceExcluded":{"additionalProperties":true,"properties":{"model_id":{"title":"Model Id","type":"string"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Display Name"},"lab":{"anyOf":[{"$ref":"#/components/schemas/PublicLab"},{"type":"null"}],"default":null},"response_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Response Id"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Reason"}},"required":["model_id"],"title":"SenecaReportProvenanceExcluded","type":"object"},"SenecaReportProvenanceFailed":{"additionalProperties":true,"properties":{"model_id":{"title":"Model Id","type":"string"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Display Name"},"lab":{"anyOf":[{"$ref":"#/components/schemas/PublicLab"},{"type":"null"}],"default":null},"response_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Response Id"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Status"},"late_retry":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"title":"Late Retry"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Error"}},"required":["model_id"],"title":"SenecaReportProvenanceFailed","type":"object"},"SenecaReportProvenanceIncluded":{"additionalProperties":true,"properties":{"model_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Model Id"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Display Name"},"lab":{"anyOf":[{"$ref":"#/components/schemas/PublicLab"},{"type":"null"}],"default":null},"response_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Response Id"},"input_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Input Tokens"},"output_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Output Tokens"},"total_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Total Tokens"}},"title":"SenecaReportProvenanceIncluded","type":"object"},"SenecaReportQuestion":{"additionalProperties":true,"properties":{"text":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Text"},"question_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Question Type"}},"title":"SenecaReportQuestion","type":"object"},"SenecaReportRankedOption":{"additionalProperties":true,"properties":{"rank":{"title":"Rank","type":"integer"},"option":{"title":"Option","type":"string"},"rationale":{"default":"","title":"Rationale","type":"string"},"related_claim_ids":{"items":{"type":"integer"},"title":"Related Claim Ids","type":"array"}},"required":["rank","option"],"title":"SenecaReportRankedOption","type":"object"},"SenecaReportRecommendation":{"additionalProperties":true,"properties":{"statement":{"title":"Statement","type":"string"},"related_claim_ids":{"items":{"type":"integer"},"title":"Related Claim Ids","type":"array"}},"required":["statement"],"title":"SenecaReportRecommendation","type":"object"},"SenecaReportResearchRecord":{"additionalProperties":true,"properties":{"research_snapshot":{"anyOf":[{"$ref":"#/components/schemas/SenecaReportSnapshot"},{"type":"null"}],"default":null},"panel":{"anyOf":[{"$ref":"#/components/schemas/SenecaReportPanel"},{"type":"null"}],"default":null},"provenance":{"anyOf":[{"$ref":"#/components/schemas/SenecaReportProvenance"},{"type":"null"}],"default":null},"generation":{"anyOf":[{"$ref":"#/components/schemas/SenecaReportGeneration"},{"type":"null"}],"default":null},"token_usage":{"anyOf":[{"$ref":"#/components/schemas/SenecaReportTokenUsage"},{"type":"null"}],"default":null}},"title":"SenecaReportResearchRecord","type":"object"},"SenecaReportSnapshot":{"additionalProperties":true,"properties":{"invited":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Invited"},"successful":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Successful"},"failed":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Failed"},"excluded":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Excluded"},"included_in_synthesis":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Included In Synthesis"},"unclassified":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Unclassified"}},"title":"SenecaReportSnapshot","type":"object"},"SenecaReportTokenUsage":{"additionalProperties":true,"properties":{"input_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Input Tokens"},"output_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Output Tokens"},"total_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"title":"Total Tokens"}},"title":"SenecaReportTokenUsage","type":"object"},"SenecaReportUncertainty":{"additionalProperties":true,"properties":{"uncertainty_id":{"title":"Uncertainty Id","type":"integer"},"description":{"title":"Description","type":"string"},"affected_claim_ids":{"items":{"type":"integer"},"title":"Affected Claim Ids","type":"array"},"why_unresolved":{"default":"","title":"Why Unresolved","type":"string"},"what_would_resolve_it":{"items":{"type":"string"},"title":"What Would Resolve It","type":"array"}},"required":["uncertainty_id","description"],"title":"SenecaReportUncertainty","type":"object"},"SenecaReportV3":{"additionalProperties":false,"properties":{"schema_version":{"const":"seneca_research_platform_report","default":"seneca_research_platform_report","title":"Schema Version","type":"string"},"status":{"title":"Status","type":"string"},"errors":{"items":{"$ref":"#/components/schemas/SenecaReportError"},"title":"Errors","type":"array"},"question":{"anyOf":[{"$ref":"#/components/schemas/SenecaReportQuestion"},{"type":"null"}],"default":null},"answer":{"anyOf":[{"$ref":"#/components/schemas/SenecaReportAnswer"},{"type":"null"}],"default":null},"evidence":{"anyOf":[{"$ref":"#/components/schemas/SenecaReportEvidence"},{"type":"null"}],"default":null},"analysis":{"anyOf":[{"$ref":"#/components/schemas/SenecaReportAnalysis"},{"type":"null"}],"default":null},"research_record":{"anyOf":[{"$ref":"#/components/schemas/SenecaReportResearchRecord"},{"type":"null"}],"default":null},"methodology":{"anyOf":[{"$ref":"#/components/schemas/SenecaReportMethodology"},{"type":"null"}],"default":null}},"required":["status"],"title":"SenecaReportV3","type":"object"}},"securitySchemes":{"SenecaApiKey":{"type":"http","description":"Workspace API key created while signed in on the Developers page. Send Authorization: Bearer seneca_sk_… A Clerk session token is not accepted.","scheme":"bearer"}}},"servers":[{"url":"https://seneca-research.fly.dev","description":"Production"}]}