{
"error": {
"message": "This account has been disabled. Contact support.",
"type": "invalid_request_error",
"param": null,
"code": "account_disabled"
}
}
{
"error": {
"message": "The requested model does not exist.",
"type": "invalid_request_error",
"param": null,
"code": "model_not_found"
}
}
{
"error": {
"message": "Rate limit reached for this account. Retry after the time in the Retry-After header.",
"type": "requests",
"param": null,
"code": "rate_limit_exceeded"
}
}
{
"error": {
"message": "The service is temporarily unable to authorize requests. Try again shortly.",
"type": "server_error",
"param": null,
"code": "service_unavailable"
}
}
API Reference
Retrieve a model
Retrieves one model, as OpenAI’s model retrieve does, with the entry GET /v1/models lists for it to this caller. A model id, such as z-ai/glm-5.3, which holds a slash, answers its entry with its tiers; an alias, such as glm-5.3, answers its entry at its tier. The call is free, needs no balance, and shares the account’s 60 model lists a minute.
{
"error": {
"message": "This account has been disabled. Contact support.",
"type": "invalid_request_error",
"param": null,
"code": "account_disabled"
}
}
{
"error": {
"message": "The requested model does not exist.",
"type": "invalid_request_error",
"param": null,
"code": "model_not_found"
}
}
{
"error": {
"message": "Rate limit reached for this account. Retry after the time in the Retry-After header.",
"type": "requests",
"param": null,
"code": "rate_limit_exceeded"
}
}
{
"error": {
"message": "The service is temporarily unable to authorize requests. Try again shortly.",
"type": "server_error",
"param": null,
"code": "service_unavailable"
}
}
A model id or an alias from GET /v1/models. A model id's slash may be sent as it is or escaped as %2F.
Response
The model, as GET /v1/models lists it to this caller: a model id's entry with its tiers, or an alias's entry at its tier.
Option 1
Option 2
A model, listed once. The fields at the top describe the weights. Each row of tiers is the model at one privacy tier, with the price and limits it is sold at there. A tier with no price is not listed. The plan and included fields describe the Morse app. They do not apply to API keys, which always pay with credits.
False on a chat model served without tools. An API key's request that lets it call a tool (tools, or a tool_choice that calls one, with a tool_choice other than none) is refused with 400 unsupported_parameter naming tools; any other request reaches the host with no tools, tool_choice, or parallel_tool_calls. Absent on every model that takes tools.
False on a chat model kept out of character chats. A chat that plays a character on it, one that sends X-Character or a character's prompt, is refused with 400 model_unsupported_for_characters before Morse calls the model or holds any credit. Absent on every model that takes character chats.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Morse","description":"Call Morse's models from your own code with an API key: an OpenAI-compatible API with private, attested, and end-to-end encrypted tiers.","colors":{"primary":"#2f5fd0","light":"#6d9bf1","dark":"#2f5fd0"},"logo":{"light":"https://mintcdn.com/watermark/JuoJ5ETS7XXyoGuD/logo/light.svg?fit=max\u0026auto=format\u0026n=JuoJ5ETS7XXyoGuD\u0026q=85\u0026s=8f977ec69bcb5e3a5b1a983fc92cc52c","dark":"https://mintcdn.com/watermark/JuoJ5ETS7XXyoGuD/logo/dark.svg?fit=max\u0026auto=format\u0026n=JuoJ5ETS7XXyoGuD\u0026q=85\u0026s=b1660e25c9ac8eeddd27583612c0e4ea"},"favicon":"https://mintcdn.com/watermark/JuoJ5ETS7XXyoGuD/favicon.svg?fit=max\u0026auto=format\u0026n=JuoJ5ETS7XXyoGuD\u0026q=85\u0026s=aa9a5264b8765085c968cee2336c3411","api":{"playground":{"proxy":false},"examples":{"languages":["bash","python","javascript"]}},"appearance":{"default":"system"},"background":{"color":{"light":"#f6f8fb","dark":"#12151b"}},"navbar":{"primary":{"type":"button","label":"Open app","href":"https://trymorse.ai"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"watermark","hasAudioNarration":false,"actualSubdomain":"watermark","customDomains":["docs.trymorse.ai"],"gitSource":{"type":"github","owner":"watermark-labs","repo":"morse-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af66848a246b82ec6aac9da","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"default","tag":"Guides","count":16},{"language":"default","tag":"API reference","count":8},{"language":"default","tag":"API Reference","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"pricing.css","content":".pricing-table td,.pricing-table th{min-width:0!important;white-space:nowrap}.pricing-table td:first-child,.pricing-table th:first-child{min-width:260px!important;white-space:normal}.pricing-table td:first-child code{white-space:nowrap}.pricing-long{display:block;padding-left:1rem;font-style:italic;opacity:0.8}.mp{--ink: 15 18 26;--main: #fafbfc;--hover: #eceef1;--btn-hover: #f3f4f6;--text: #0f1218;--text2: #4a4f59;--muted: #646a75;--input: #ffffff;--popup: #ffffff;--accent: #527bc3;--chosen: rgb(82 123 195 / 0.16);--chosen-fg: #2f4a77;--border: rgb(var(--ink) / 0.1);--divider: rgb(var(--ink) / 0.05);--field-edge: rgb(var(--ink) / 0.13);--field-edge-hover: rgb(var(--ink) / 0.24);--depth-menu: 0 0 0 1px rgb(var(--ink) / 0.09), 0 8px 24px rgb(var(--ink) / 0.12), 0 2px 6px rgb(var(--ink) / 0.08);--focus-ring: 0 0 0 1px var(--main), 0 0 0 2px var(--accent), 0 0 6px 2px color-mix(in oklab, var(--accent) 30%, transparent);color:var(--text);font-size:14px;line-height:20px}.dark .mp{--main: #111317;--hover: #1b1e24;--btn-hover: #20232a;--text: #eceef2;--text2: #b0b5bf;--muted: #8a909b;--input: #181b21;--popup: #1c1f25;--accent: #8ca8da;--chosen: rgb(82 123 195 / 0.24);--chosen-fg: #95b0dd;--border: rgb(255 255 255 / 0.1);--divider: rgb(255 255 255 / 0.06);--field-edge: rgba(255, 255, 255, 0.1);--field-edge-hover: rgba(255, 255, 255, 0.2);--depth-menu: 0 0 0 1px rgba(255, 255, 255, 0.09), 0 8px 24px rgba(0, 0, 0, 0.32), 0 2px 6px rgba(0, 0, 0, 0.2)}.mp-filters{display:grid;grid-template-columns:72px 1fr;gap:12px 16px;align-items:center}.mp-label{font-weight:500;color:var(--text2)}.mp-row{display:flex;flex-wrap:wrap;gap:6px}.mp-chip{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:8px;font-size:14px;font-weight:500;background:var(--hover);color:var(--text2);outline:none;cursor:pointer;transition:color 60ms, background-color 60ms, box-shadow 60ms}.mp-chip[aria-pressed=\"true\"]{background:var(--chosen);color:var(--chosen-fg)}.mp-chip:disabled{opacity:0.4;cursor:default}@media (hover: hover){.mp-chip:not([aria-pressed=\"true\"]):not(:disabled):hover{background:var(--btn-hover);color:var(--text)}}.mp-chip:focus-visible,.mp-choice:focus-visible,.mp-option:focus-visible,.mp-link:focus-visible{box-shadow:var(--focus-ring)}.mp-count{margin-left:6px;font-size:12px;font-variant-numeric:tabular-nums;opacity:0.75}.mp-menu{position:relative;width:fit-content}.mp-choice{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 8px 0 12px;border-radius:8px;background:var(--input);color:var(--text);font-size:14px;box-shadow:inset 0 0 0 1px var(--field-edge);outline:none;cursor:pointer}.mp-choice:hover,.mp-choice[aria-expanded=\"true\"]{box-shadow:inset 0 0 0 1px var(--field-edge-hover)}.mp-chevron{width:16px;height:16px;color:var(--muted);transition:transform 120ms}.mp-choice[aria-expanded=\"true\"] .mp-chevron{transform:rotate(180deg)}.mp-panel{position:absolute;z-index:20;top:calc(100% + 6px);left:0;min-width:220px;max-height:360px;overflow-y:auto;padding:4px;border-radius:12px;background:var(--popup);box-shadow:var(--depth-menu)}.mp-option{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 10px;border-radius:8px;font-size:14px;color:var(--text);text-align:left;outline:none;cursor:default}.mp-option:hover,.mp-option:focus-visible{background:var(--hover)}.mp-option:disabled{opacity:0.4;pointer-events:none}.mp-option .mp-hint{color:var(--muted);font-variant-numeric:tabular-nums}.mp-tick{flex-shrink:0;margin-left:auto;width:16px;height:16px;color:var(--accent)}.mp-option .mp-hint{margin-right:16px}.mp-status{display:flex;gap:12px;margin-top:16px;font-size:13px;color:var(--muted)}.mp-link{color:var(--accent);border-radius:4px;outline:none;cursor:pointer}@media (hover: hover){.mp-link:hover{text-decoration:underline;text-underline-offset:2px}}.mp-section{margin-top:32px}.mp-section-head{display:flex;align-items:baseline;gap:8px}.mp-section-title{margin:0;font-size:16px;line-height:24px;font-weight:500;color:var(--text)}.mp-note{margin:2px 0 8px;font-size:13px;color:var(--muted)}.mp-scroll{overflow-x:auto}.mp-table{width:100%;border-collapse:collapse;font-size:14px}.mp-table th{padding:8px 12px;text-align:left;font-weight:500;color:var(--text2);white-space:nowrap;border-bottom:1px solid var(--border)}.mp-table th:first-child,.mp-table td:first-child{padding-left:0;min-width:240px}.mp-table td{padding:10px 12px;vertical-align:top;border-bottom:1px solid var(--divider)}.mp-price{white-space:nowrap;font-variant-numeric:tabular-nums}.mp-quiet{white-space:nowrap;color:var(--text2);font-variant-numeric:tabular-nums}.mp-name{display:flex;flex-direction:column;gap:2px}.mp-id{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;color:var(--muted);white-space:nowrap}.mp-tag{display:inline-block;height:20px;padding:0 6px;border-radius:5px;background:var(--hover);color:var(--text2);font-size:12px;line-height:20px;white-space:nowrap}.mp-long td{color:var(--muted);font-size:13px;padding-top:0}.mp-long td:first-child{padding-left:16px}@media (max-width: 639px){.mp-filters{grid-template-columns:1fr;gap:6px}.mp-filters .mp-row{margin-bottom:8px}}@media (pointer: coarse){.mp-chip,.mp-choice,.mp-option{min-height:44px}}.mp-has-long td{border-bottom:none}"}],"page":{"pagePath":"api-reference/retrieve-a-model","slug":"/api-reference/retrieve-a-model","pageMetadata":{"title":"Retrieve a model","description":"Retrieves one model, as OpenAI's model retrieve does, with the entry GET /v1/models lists for it to this caller. A model id, such as z-ai/glm-5.3, which holds a slash, answers its entry with its tiers; an alias, such as glm-5.3, answers its entry at its tier. The call is free, needs no balance, and shares the account's 60 model lists a minute.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/models/{id}","href":"/api-reference/retrieve-a-model","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Retrieves one model, as OpenAI’s model retrieve does, with the entry GET /v1/models lists for it to this caller. A model id, such as z-ai/glm-5.3, which holds a slash, answers its entry with its tiers; an alias, such as glm-5.3, answers its entry at its tier. The call is free, needs no balance, and shares the account’s 60 model lists a minute.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Retrieve a model","description":"Retrieves one model, as OpenAI's model retrieve does, with the entry GET /v1/models lists for it to this caller. A model id, such as z-ai/glm-5.3, which holds a slash, answers its entry with its tiers; an alias, such as glm-5.3, answers its entry at its tier. The call is free, needs no balance, and shares the account's 60 model lists a minute.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/models/{id}","href":"/api-reference/retrieve-a-model","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"retrieveModel","summary":"Retrieve a model","description":"Retrieves one model, as OpenAI's model retrieve does, with the entry GET /v1/models lists for it to this caller. A model id, such as z-ai/glm-5.3, which holds a slash, answers its entry with its tiers; an alias, such as glm-5.3, answers its entry at its tier. The call is free, needs no balance, and shares the account's 60 model lists a minute.","parameters":["b1ba8249-8bd1-4f11-b73e-f5cf1820a0fc"],"responses":{"200":"1d3cd3e4-2db5-4f46-986c-e76ec336ff87","401":"2921ed27-894c-47fe-9ba0-0ae35c10f0a0","403":"037cbf52-6816-4da6-827d-fc456e6c8d41","404":"4cca9104-2d00-481d-b5c7-6926c9f09a66","429":"106f1776-6460-4aff-9cdc-98b9bfb624e6","503":"ddb1e8b4-7c7a-4423-be1a-87ab6b3ccf35"},"method":"get","type":"path","servers":["eed7b543-27c8-420b-b353-28261fc9ffb8"],"security":["bbc83684-4ed3-471c-9ea8-0b6820048519"],"path":"/v1/models/{id}","baseUrlOptions":["https://api.trymorse.ai"],"title":"Retrieve a model","codeSamples":[],"requestExampleLanguages":["bash","python","javascript"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","disableProxy":true},"dependencies":{"parameters":{"b1ba8249-8bd1-4f11-b73e-f5cf1820a0fc":{"name":"id","in":"path","required":true,"description":"A model id or an alias from GET /v1/models. A model id's slash may be sent as it is or escaped as %2F.","schema":{"type":"string","isRequired":true,"description":"A model id or an alias from GET /v1/models. A model id's slash may be sent as it is or escaped as %2F.","uniqueKey":"","typeLabel":"string"}}},"responses":{"1d3cd3e4-2db5-4f46-986c-e76ec336ff87":{"description":"The model, as GET /v1/models lists it to this caller: a model id's entry with its tiers, or an alias's entry at its tier.","headers":{"X-Morse-Version":{"description":"The running build. Every reply carries it.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"A model, listed once. The fields at the top describe the weights. Each row of tiers is the model at one privacy tier, with the price and limits it is sold at there. A tier with no price is not listed. The plan and included fields describe the Morse app. They do not apply to API keys, which always pay with credits.","required":["id","object","created","owned_by","type","tiers"],"properties":{"id":{"type":"string","description":"The model's id.","isRequired":true,"uniqueKey":"oneOf.0.id","typeLabel":"string"},"object":{"const":"model","isRequired":true,"uniqueKey":"oneOf.0.object","typeLabel":"any"},"created":{"type":"integer","description":"Always 0.","isRequired":true,"uniqueKey":"oneOf.0.created","typeLabel":"integer"},"owned_by":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.owned_by","typeLabel":"string"},"type":{"type":"string","enum":["chat","image","video","search","fetch","research","transcription"],"description":"The endpoint that serves the model, as for a model in the aliases shape.","isRequired":true,"uniqueKey":"oneOf.0.type","typeLabel":"enum\u003cstring>"},"tiers":{"type":"array","description":"The tiers the model is sold at, from the least private to the most. Each tier appears once, whichever providers serve it.","items":{"type":"object","required":["tier","price"],"description":"A model at one privacy tier. Its limits are those a request at the tier is held to. A backup provider with a smaller window of its own serves only the chats that fit it and never changes them. Where the tier's main providers differ, a limit is the widest of theirs. Retention is the least private of the tier's providers. A row never names a provider.","properties":{"tier":{"type":"string","enum":["anon","private","tee","e2ee"],"description":"The privacy tier. anon reaches the vendor without your identity, private runs on a provider with zero data retention, tee runs on attested hardware, and e2ee also encrypts the messages to that hardware.","isRequired":true,"uniqueKey":"oneOf.0.tiers.items.[INDEX].tier","typeLabel":"enum\u003cstring>"},"price":{"type":"object","description":"What you pay at this tier, in micro-dollars. 10,000 micros are one credit, which is $0.01. An API key pays the vendor's list price, and a Morse app login pays it at the model's markup. A chat model lists its prompt and completion price per million tokens, an image model its price per image and per reference image, and a search, fetch, research, or transcription model its flat price per call.","properties":{"prompt_micros_per_mtok":{"type":"integer","uniqueKey":"oneOf.0.tiers.items.[INDEX].price.prompt_micros_per_mtok","typeLabel":"integer"},"completion_micros_per_mtok":{"type":"integer","uniqueKey":"oneOf.0.tiers.items.[INDEX].price.completion_micros_per_mtok","typeLabel":"integer"},"min_hold_micros":{"type":"integer","uniqueKey":"oneOf.0.tiers.items.[INDEX].price.min_hold_micros","typeLabel":"integer"},"micros_per_image":{"type":"integer","uniqueKey":"oneOf.0.tiers.items.[INDEX].price.micros_per_image","typeLabel":"integer"},"micros_per_reference":{"type":"integer","uniqueKey":"oneOf.0.tiers.items.[INDEX].price.micros_per_reference","typeLabel":"integer"},"micros_per_second":{"type":"integer","uniqueKey":"oneOf.0.tiers.items.[INDEX].price.micros_per_second","typeLabel":"integer"},"micros_per_call":{"type":"integer","uniqueKey":"oneOf.0.tiers.items.[INDEX].price.micros_per_call","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"oneOf.0.tiers.items.[INDEX].price","typeLabel":"object"},"retention":{"type":"string","enum":["vendor","zdr"],"uniqueKey":"oneOf.0.tiers.items.[INDEX].retention","typeLabel":"enum\u003cstring>"},"attesters":{"type":"array","description":"On a tee or e2ee row: the vendors whose attestation proves the tier. On an e2ee row each also gives the model a sealed body carries.","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.tiers.items.[INDEX].attesters.items.[INDEX].name","typeLabel":"string"},"sealed_model":{"type":"string","uniqueKey":"oneOf.0.tiers.items.[INDEX].attesters.items.[INDEX].sealed_model","typeLabel":"string"}},"uniqueKey":"oneOf.0.tiers.items.[INDEX].attesters.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.0.tiers.items.[INDEX].attesters","typeLabel":"object[]"},"quantizations":{"type":"array","items":{"type":"string","enum":["int4","int8","fp4","mxfp4","nvfp4","fp6","fp8","mxfp8","fp16","bf16","fp32","unknown"],"uniqueKey":"oneOf.0.tiers.items.[INDEX].quantizations.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"On a chat row: the precisions the tier's providers publish for the weights, in OpenRouter's names and order: integers, then floats, each fewest bits first, and unknown last. unknown is a provider that publishes none. The list counts every provider a chat at the tier may run on, backups and e2ee fallbacks included, and names none of them. provider.quantizations chooses among these.","uniqueKey":"oneOf.0.tiers.items.[INDEX].quantizations","typeLabel":"enum\u003cstring>[]"},"context_tokens":{"type":"integer","uniqueKey":"oneOf.0.tiers.items.[INDEX].context_tokens","typeLabel":"integer"},"max_output_tokens":{"type":"integer","description":"The most output tokens a request served at this tier may produce. A request asking more gets this many below e2ee and is refused with e2ee_output_limit_refused at e2ee.","uniqueKey":"oneOf.0.tiers.items.[INDEX].max_output_tokens","typeLabel":"integer"},"compact_at_tokens":{"type":"integer","uniqueKey":"oneOf.0.tiers.items.[INDEX].compact_at_tokens","typeLabel":"integer"},"default_reasoning_effort":{"type":"string","description":"The effort a chat gets when it sets none. Absent when the vendor chooses.","uniqueKey":"oneOf.0.tiers.items.[INDEX].default_reasoning_effort","typeLabel":"string"},"plan":{"type":"string","description":"The lowest plan the Morse app lists the model under.","uniqueKey":"oneOf.0.tiers.items.[INDEX].plan","typeLabel":"string"},"requires_plan":{"type":"string","description":"The lowest plan that may call the model in the Morse app. It does not apply to API keys.","uniqueKey":"oneOf.0.tiers.items.[INDEX].requires_plan","typeLabel":"string"},"included":{"type":"object","description":"What plans include in the Morse app. It does not apply to API keys.","uniqueKey":"oneOf.0.tiers.items.[INDEX].included","typeLabel":"object"}},"uniqueKey":"oneOf.0.tiers.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.0.tiers","typeLabel":"object[]"},"label":{"type":"string","uniqueKey":"oneOf.0.label","typeLabel":"string"},"input_modalities":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.input_modalities.items.[INDEX]","typeLabel":"string"},"description":"Absent when the model reads text only.","uniqueKey":"oneOf.0.input_modalities","typeLabel":"string[]"},"reasoning_efforts":{"type":"array","items":{"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"],"uniqueKey":"oneOf.0.reasoning_efforts.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"On every chat model: the efforts it takes, lowest first. Empty when it takes none.","uniqueKey":"oneOf.0.reasoning_efforts","typeLabel":"enum\u003cstring>[]"},"tools":{"const":false,"description":"False on a chat model served without tools. An API key's request that lets it call a tool (tools, or a tool_choice that calls one, with a tool_choice other than none) is refused with 400 unsupported_parameter naming tools; any other request reaches the host with no tools, tool_choice, or parallel_tool_calls. Absent on every model that takes tools.","uniqueKey":"oneOf.0.tools","typeLabel":"any"},"characters":{"const":false,"description":"False on a chat model kept out of character chats. A chat that plays a character on it, one that sends X-Character or a character's prompt, is refused with 400 model_unsupported_for_characters before Morse calls the model or holds any credit. Absent on every model that takes character chats.","uniqueKey":"oneOf.0.characters","typeLabel":"any"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"A model in the aliases shape, which lists one entry per name. The list sorts models by id. The included field describes what each plan includes in the Morse app. It does not apply to API keys, which always pay with credits.","required":["id","object","created","owned_by","tier","type","plan"],"properties":{"id":{"type":"string","description":"The name to send as model.","isRequired":true,"uniqueKey":"oneOf.1.id","typeLabel":"string"},"object":{"const":"model","isRequired":true,"uniqueKey":"oneOf.1.object","typeLabel":"any"},"created":{"type":"integer","description":"Always 0.","isRequired":true,"uniqueKey":"oneOf.1.created","typeLabel":"integer"},"owned_by":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.owned_by","typeLabel":"string"},"tier":{"type":"string","enum":["anon","private","tee","e2ee"],"description":"The privacy tier. anon reaches the vendor without your identity, private runs on a provider with zero data retention, tee runs on attested hardware, and e2ee also encrypts the messages to that hardware.","isRequired":true,"uniqueKey":"oneOf.1.tier","typeLabel":"enum\u003cstring>"},"type":{"type":"string","enum":["chat","image","video","search","fetch","research","transcription"],"description":"The endpoint that serves the model. chat models run on /v1/chat/completions, image models on /v1/images/generations, search models on /v1/search, fetch models on /v1/fetch, and transcription models on /v1/audio/transcriptions.","isRequired":true,"uniqueKey":"oneOf.1.type","typeLabel":"enum\u003cstring>"},"plan":{"type":"string","description":"The lowest plan the Morse app lists the model under.","isRequired":true,"uniqueKey":"oneOf.1.plan","typeLabel":"string"},"label":{"type":"string","uniqueKey":"oneOf.1.label","typeLabel":"string"},"retention":{"type":"string","enum":["vendor","zdr"],"uniqueKey":"oneOf.1.retention","typeLabel":"enum\u003cstring>"},"attester":{"type":"string","uniqueKey":"oneOf.1.attester","typeLabel":"string"},"fallback_attesters":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.fallback_attesters.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.1.fallback_attesters","typeLabel":"string[]"},"input_modalities":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.input_modalities.items.[INDEX]","typeLabel":"string"},"description":"Absent when the model reads text only.","uniqueKey":"oneOf.1.input_modalities","typeLabel":"string[]"},"reasoning_efforts":{"type":"array","items":{"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"],"uniqueKey":"oneOf.1.reasoning_efforts.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"On every chat model: the efforts it takes, lowest first. Empty when it takes none.","uniqueKey":"oneOf.1.reasoning_efforts","typeLabel":"enum\u003cstring>[]"},"tools":{"const":false,"description":"False on a chat model served without tools. An API key's request that lets it call a tool (tools, or a tool_choice that calls one, with a tool_choice other than none) is refused with 400 unsupported_parameter naming tools; any other request reaches the host with no tools, tool_choice, or parallel_tool_calls. Absent on every model that takes tools.","uniqueKey":"oneOf.1.tools","typeLabel":"any"},"characters":{"const":false,"description":"False on a chat model kept out of character chats. A chat that plays a character on it, one that sends X-Character or a character's prompt, is refused with 400 model_unsupported_for_characters before Morse calls the model or holds any credit. Absent on every model that takes character chats.","uniqueKey":"oneOf.1.characters","typeLabel":"any"},"quantizations":{"type":"array","items":{"type":"string","enum":["int4","int8","fp4","mxfp4","nvfp4","fp6","fp8","mxfp8","fp16","bf16","fp32","unknown"],"uniqueKey":"oneOf.1.quantizations.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"On a chat model: the precisions the providers of the model at this entry's tier publish, as its tier row in the tiers shape lists them.","uniqueKey":"oneOf.1.quantizations","typeLabel":"enum\u003cstring>[]"},"context_tokens":{"type":"integer","uniqueKey":"oneOf.1.context_tokens","typeLabel":"integer"},"max_output_tokens":{"type":"integer","uniqueKey":"oneOf.1.max_output_tokens","typeLabel":"integer"},"compact_at_tokens":{"type":"integer","uniqueKey":"oneOf.1.compact_at_tokens","typeLabel":"integer"},"included":{"type":"object","description":"What plans include in the Morse app. It does not apply to API keys.","uniqueKey":"oneOf.1.included","typeLabel":"object"},"price":{"type":"object","description":"What you pay, in micro-dollars. 10,000 micros are one credit, which is $0.01. Search, fetch, and transcription models list no price, because each call costs a flat fee: 1,000 micros for a search or fetch, and 200 for a transcription.","properties":{"prompt_micros_per_mtok":{"type":"integer","uniqueKey":"oneOf.1.price.prompt_micros_per_mtok","typeLabel":"integer"},"completion_micros_per_mtok":{"type":"integer","uniqueKey":"oneOf.1.price.completion_micros_per_mtok","typeLabel":"integer"},"min_hold_micros":{"type":"integer","uniqueKey":"oneOf.1.price.min_hold_micros","typeLabel":"integer"},"micros_per_image":{"type":"integer","uniqueKey":"oneOf.1.price.micros_per_image","typeLabel":"integer"},"micros_per_reference":{"type":"integer","uniqueKey":"oneOf.1.price.micros_per_reference","typeLabel":"integer"},"micros_per_second":{"type":"integer","uniqueKey":"oneOf.1.price.micros_per_second","typeLabel":"integer"}},"uniqueKey":"oneOf.1.price","typeLabel":"object"},"unsealed":{"type":"object","description":"On an e2ee model's own id, in an API key's list when its min_privacy is tee or lower, what a request without E2EE headers gets at a tee floor, and with no floor or a lower one when the model has no private or anon endpoint at or above it that the key admits. A login or guest token gets e2ee_header_missing instead. Morse seals its messages to a key the vendor's verified attestation lists, so the vendor's attested hardware reads them, and Morse reads them too: the request runs at tier tee, not e2ee, at the model's price, and holds what a plaintext chat holds.","properties":{"tier":{"type":"string","enum":["tee"],"uniqueKey":"oneOf.1.unsealed.tier","typeLabel":"enum\u003cstring>"},"min_hold_micros":{"type":"integer","uniqueKey":"oneOf.1.unsealed.min_hold_micros","typeLabel":"integer"}},"uniqueKey":"oneOf.1.unsealed","typeLabel":"object"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"example":{"id":"moonshotai/kimi-k3","object":"model","created":0,"owned_by":"morse","type":"chat","label":"Kimi K3","input_modalities":["text","image"],"reasoning_efforts":["none","low","high","max"],"tiers":[{"tier":"private","retention":"zdr","quantizations":["mxfp4","fp8"],"context_tokens":1048576,"max_output_tokens":1048576,"compact_at_tokens":838860,"default_reasoning_effort":"high","plan":"pro","price":{"prompt_micros_per_mtok":3000000,"completion_micros_per_mtok":15000000,"min_hold_micros":15360}},{"tier":"e2ee","retention":"vendor","attesters":[{"name":"phala","sealed_model":"moonshotai/kimi-k3"}],"quantizations":["unknown"],"context_tokens":1048576,"max_output_tokens":1048576,"compact_at_tokens":838860,"plan":"pro","price":{"prompt_micros_per_mtok":3000000,"completion_micros_per_mtok":15000000}}]},"examples":{"Example":{"title":"Example","value":{"id":"moonshotai/kimi-k3","object":"model","created":0,"owned_by":"morse","type":"chat","label":"Kimi K3","input_modalities":["text","image"],"reasoning_efforts":["none","low","high","max"],"tiers":[{"tier":"private","retention":"zdr","quantizations":["mxfp4","fp8"],"context_tokens":1048576,"max_output_tokens":1048576,"compact_at_tokens":838860,"default_reasoning_effort":"high","plan":"pro","price":{"prompt_micros_per_mtok":3000000,"completion_micros_per_mtok":15000000,"min_hold_micros":15360}},{"tier":"e2ee","retention":"vendor","attesters":[{"name":"phala","sealed_model":"moonshotai/kimi-k3"}],"quantizations":["unknown"],"context_tokens":1048576,"max_output_tokens":1048576,"compact_at_tokens":838860,"plan":"pro","price":{"prompt_micros_per_mtok":3000000,"completion_micros_per_mtok":15000000}}]}}},"exampleType":"examples"}},"exampleType":"examples"},"2921ed27-894c-47fe-9ba0-0ae35c10f0a0":{"description":"The key is missing or wrong.","x-error-codes":[{"code":"invalid_api_key","when":"The Authorization header is missing or not Bearer, the key is unknown or revoked, a token that starts with sk_ is not a whole sk_morse_ key, or the bearer is no Morse key or login token at all, such as another service's API key (sk-proj-...)."},{"code":"api_key_expired","when":"The key is past the expiry set on it. Make a new key, or set a later expiry before a key expires."},{"code":"invalid_token","when":"The bearer is shaped as a Morse login token (a JWT) but its signature fails or it has expired. An API key sends the whole sk_morse_ key."}],"content":{"application/json":{"schema":{"type":"object","description":"Every JSON error reply has this shape. Branch on code, which is stable. The message is for people and can change.","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"A sentence that says what went wrong and what to do.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"The error's family, such as invalid_request_error, insufficient_balance, plan, requests, upstream_error, or server_error. plan means the account's plan does not allow the model, even when credits pay for the request.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"Always null on the endpoints documented here.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"Always null on the endpoints documented here.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"type":"string","description":"The specific error. Each operation lists the codes it can return.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Incorrect API key provided.","type":"invalid_request_error","param":null,"code":"invalid_api_key"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Incorrect API key provided.","type":"invalid_request_error","param":null,"code":"invalid_api_key"}}}},"exampleType":"examples"}},"headers":{"X-Morse-Version":{"description":"The running build. Every reply carries it.","schema":{"type":"string"}}},"exampleType":"examples"},"037cbf52-6816-4da6-827d-fc456e6c8d41":{"description":"The key's account may not make this request.","x-error-codes":[{"code":"account_disabled","when":"Morse has disabled the key's account."},{"code":"account_deleted","when":"The key's account has been deleted."},{"code":"account_under_18","when":"The account's owner said they are under 18."},{"code":"ip_not_allowed","when":"The key allows requests only from its allowed IPs, and the request came from another address. The message names the address the proxy saw."}],"content":{"application/json":{"schema":{"type":"object","description":"Every JSON error reply has this shape. Branch on code, which is stable. The message is for people and can change.","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"A sentence that says what went wrong and what to do.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"The error's family, such as invalid_request_error, insufficient_balance, plan, requests, upstream_error, or server_error. plan means the account's plan does not allow the model, even when credits pay for the request.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"Always null on the endpoints documented here.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"Always null on the endpoints documented here.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"type":"string","description":"The specific error. Each operation lists the codes it can return.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"This account has been disabled. Contact support.","type":"invalid_request_error","param":null,"code":"account_disabled"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"This account has been disabled. Contact support.","type":"invalid_request_error","param":null,"code":"account_disabled"}}}},"exampleType":"examples"}},"headers":{"X-Morse-Version":{"description":"The running build. Every reply carries it.","schema":{"type":"string"}}},"exampleType":"examples"},"4cca9104-2d00-481d-b5c7-6926c9f09a66":{"description":"No model or alias of that name is listed to this caller.","x-error-codes":[{"code":"model_not_found","when":"The id names no model or alias that GET /v1/models lists to this caller, such as a model below the key's min_privacy or one only the Morse app may use."}],"content":{"application/json":{"schema":{"type":"object","description":"Every JSON error reply has this shape. Branch on code, which is stable. The message is for people and can change.","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"A sentence that says what went wrong and what to do.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"The error's family, such as invalid_request_error, insufficient_balance, plan, requests, upstream_error, or server_error. plan means the account's plan does not allow the model, even when credits pay for the request.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"Always null on the endpoints documented here.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"Always null on the endpoints documented here.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"type":"string","description":"The specific error. Each operation lists the codes it can return.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"The requested model does not exist.","type":"invalid_request_error","param":null,"code":"model_not_found"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"The requested model does not exist.","type":"invalid_request_error","param":null,"code":"model_not_found"}}}},"exampleType":"examples"}},"headers":{"X-Morse-Version":{"description":"The running build. Every reply carries it.","schema":{"type":"string"}}},"exampleType":"examples"},"106f1776-6460-4aff-9cdc-98b9bfb624e6":{"description":"The account listed the models too often. Wait the number of seconds in Retry-After, then retry.","x-error-codes":[{"code":"rate_limit_exceeded","when":"The account used up its 60 model lists a minute. All of the account's keys and its owner's use of the Morse app share them. Up to 7 lists can go at once, then one each second."}],"content":{"application/json":{"schema":{"type":"object","description":"Every JSON error reply has this shape. Branch on code, which is stable. The message is for people and can change.","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"A sentence that says what went wrong and what to do.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"The error's family, such as invalid_request_error, insufficient_balance, plan, requests, upstream_error, or server_error. plan means the account's plan does not allow the model, even when credits pay for the request.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"Always null on the endpoints documented here.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"Always null on the endpoints documented here.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"type":"string","description":"The specific error. Each operation lists the codes it can return.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"Rate limit reached for this account. Retry after the time in the Retry-After header.","type":"requests","param":null,"code":"rate_limit_exceeded"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Rate limit reached for this account. Retry after the time in the Retry-After header.","type":"requests","param":null,"code":"rate_limit_exceeded"}}}},"exampleType":"examples"}},"headers":{"X-Morse-Version":{"description":"The running build. Every reply carries it.","schema":{"type":"string"}},"Retry-After":{"description":"Whole seconds to wait before retrying, at least 1.","schema":{"type":"integer","minimum":1}}},"exampleType":"examples"},"ddb1e8b4-7c7a-4423-be1a-87ab6b3ccf35":{"description":"Morse or the provider is busy or unavailable. Retry the request later.","x-error-codes":[{"code":"service_unavailable","when":"Morse could not start the request. Retry it."}],"content":{"application/json":{"schema":{"type":"object","description":"Every JSON error reply has this shape. Branch on code, which is stable. The message is for people and can change.","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["message","type","param","code"],"properties":{"message":{"type":"string","description":"A sentence that says what went wrong and what to do.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","description":"The error's family, such as invalid_request_error, insufficient_balance, plan, requests, upstream_error, or server_error. plan means the account's plan does not allow the model, even when credits pay for the request.","isRequired":true,"uniqueKey":"error.type","typeLabel":"string"},"param":{"oneOf":[{"type":"string","description":"Always null on the endpoints documented here.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"Always null on the endpoints documented here.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"code":{"type":"string","description":"The specific error. Each operation lists the codes it can return.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"message":"The service is temporarily unable to authorize requests. Try again shortly.","type":"server_error","param":null,"code":"service_unavailable"}},"examples":{"Example":{"title":"Example","value":{"error":{"message":"The service is temporarily unable to authorize requests. Try again shortly.","type":"server_error","param":null,"code":"service_unavailable"}}}},"exampleType":"examples"}},"headers":{"X-Morse-Version":{"description":"The running build. Every reply carries it.","schema":{"type":"string"}},"Retry-After":{"description":"Whole seconds to wait before retrying, at least 1.","schema":{"type":"integer","minimum":1}}},"exampleType":"examples"}},"security":{"bbc83684-4ed3-471c-9ea8-0b6820048519":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"sk_morse_...","description":"An API key from the Morse app. It starts with sk_morse_.","scopes":[],"schemeName":"apiKey"}}},"servers":{"eed7b543-27c8-420b-b353-28261fc9ffb8":{"url":"https://api.trymorse.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"sk_morse_...","description":"An API key from the Morse app. It starts with sk_morse_.","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An API key from the Morse app. It starts with sk_morse_.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"openapi.json"},"subdomain":"watermark","siteName":"Morse","title":"Retrieve a model - Morse","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-13T01:30:53.305Z","originalFileLocation":"api-reference/retrieve-a-model.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Retrieves one model, as OpenAI\u0026#x27;s model retrieve does, with the entry GET /v1/models lists for it to this caller. A model id, such as z-ai/glm-5.3, which holds a slash, answers its entry with its tiers; an alias, such as glm-5.3, answers its entry at its tier. The call is free, needs no balance, and shares the account\u0026#x27;s 60 model lists a minute.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Morse\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/watermark/6T006twCOdP9AQtF/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/watermark/6T006twCOdP9AQtF/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/watermark/6T006twCOdP9AQtF/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/watermark/6T006twCOdP9AQtF/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/watermark/6T006twCOdP9AQtF/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/watermark/6T006twCOdP9AQtF/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/watermark/6T006twCOdP9AQtF/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/watermark/6T006twCOdP9AQtF/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/watermark/6T006twCOdP9AQtF/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Retrieve a model - Morse\">\u003cmeta data-mint-head property=\"og:description\" content=\"Retrieves one model, as OpenAI\u0026#x27;s model retrieve does, with the entry GET /v1/models lists for it to this caller. A model id, such as z-ai/glm-5.3, which holds a slash, answers its entry with its tiers; an alias, such as glm-5.3, answers its entry at its tier. The call is free, needs no balance, and shares the account\u0026#x27;s 60 model lists a minute.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Morse\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.trymorse.ai/api-reference/retrieve-a-model\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://watermark.mintlify.site/_mintlify/api/og/v2?division=API+Reference\u0026amp;title=Retrieve+a+model\u0026amp;description=Retrieves+one+model%2C+as+OpenAI%27s+model+retrieve+does%2C+with+the+entry+GET+%2Fv1%2Fmodels+lists+for+it+to+this+caller.+A+model+id%2C+such+as+z-ai%2Fglm-5.3%2C+which+holds+a\u0026amp;theme=575e6fae7bfbb2b43158bad1\u0026amp;signature=9df25445e87647161bc952de4ce6036753c002520f248c6ca892492ddbbe11da\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Retrieve a model - Morse\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Retrieves one model, as OpenAI\u0026#x27;s model retrieve does, with the entry GET /v1/models lists for it to this caller. A model id, such as z-ai/glm-5.3, which holds a slash, answers its entry with its tiers; an alias, such as glm-5.3, answers its entry at its tier. The call is free, needs no balance, and shares the account\u0026#x27;s 60 model lists a minute.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://watermark.mintlify.site/_mintlify/api/og/v2?division=API+Reference\u0026amp;title=Retrieve+a+model\u0026amp;description=Retrieves+one+model%2C+as+OpenAI%27s+model+retrieve+does%2C+with+the+entry+GET+%2Fv1%2Fmodels+lists+for+it+to+this+caller.+A+model+id%2C+such+as+z-ai%2Fglm-5.3%2C+which+holds+a\u0026amp;theme=575e6fae7bfbb2b43158bad1\u0026amp;signature=9df25445e87647161bc952de4ce6036753c002520f248c6ca892492ddbbe11da\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/watermark/6T006twCOdP9AQtF/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Morse\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2f5fd0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.trymorse.ai/api-reference/retrieve-a-model\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/retrieve-a-model.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.trymorse.ai/#organization\",\"name\":\"Morse\",\"url\":\"https://docs.trymorse.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/watermark/JuoJ5ETS7XXyoGuD/logo/light.svg?fit=max\u0026auto=format\u0026n=JuoJ5ETS7XXyoGuD\u0026q=85\u0026s=8f977ec69bcb5e3a5b1a983fc92cc52c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.trymorse.ai#website\",\"name\":\"Morse\",\"url\":\"https://docs.trymorse.ai\",\"publisher\":{\"@id\":\"https://docs.trymorse.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.trymorse.ai/api-reference/retrieve-a-model#webpage\",\"url\":\"https://docs.trymorse.ai/api-reference/retrieve-a-model\",\"name\":\"Retrieve a model\",\"description\":\"Retrieves one model, as OpenAI's model retrieve does, with the entry GET /v1/models lists for it to this caller. A model id, such as z-ai/glm-5.3, which holds a slash, answers its entry with its tiers; an alias, such as glm-5.3, answers its entry at its tier. The call is free, needs no balance, and shares the account's 60 model lists a minute.\",\"dateModified\":\"2026-11-13T01:30:53.305Z\",\"isPartOf\":{\"@id\":\"https://docs.trymorse.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.trymorse.ai/api-reference/retrieve-a-model#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.trymorse.ai/api-reference/retrieve-a-model#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.trymorse.ai/api-reference/create-a-chat-completion\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Retrieve a model\",\"item\":\"https://docs.trymorse.ai/api-reference/retrieve-a-model\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.trymorse.ai/api-reference/retrieve-a-model#apireference\",\"headline\":\"Retrieve a model\",\"name\":\"Retrieve a model\",\"description\":\"Retrieves one model, as OpenAI's model retrieve does, with the entry GET /v1/models lists for it to this caller. A model id, such as z-ai/glm-5.3, which holds a slash, answers its entry with its tiers; an alias, such as glm-5.3, answers its entry at its tier. The call is free, needs no balance, and shares the account's 60 model lists a minute.\",\"url\":\"https://docs.trymorse.ai/api-reference/retrieve-a-model\",\"mainEntityOfPage\":{\"@id\":\"https://docs.trymorse.ai/api-reference/retrieve-a-model#webpage\"},\"dateModified\":\"2026-11-13T01:30:53.305Z\",\"publisher\":{\"@id\":\"https://docs.trymorse.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.trymorse.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Morse\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Morse\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/retrieve-a-model.md","siteName":"Morse","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/quickstart"}]},{"tab":"API reference","groups":[{"group":"API Reference","pages":[{"title":"Create a chat completion","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/chat/completions","href":"/api-reference/create-a-chat-completion"},{"title":"List models","description":"Lists every model once, with the privacy tiers it is sold at and each tier's price, limits, and plan terms. A tier with no price is left out, and so is a model with no priced tier. An API key sees the model's list price. A key whose min_privacy is below e2ee is not listed a chat model or alias that only an e2ee-sealed request reaches. The call is free and needs no balance. It does not count toward the account's requests per minute. Each account may list the models 60 times a minute, on every plan.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/models","href":"/api-reference/list-models"},{"title":"Retrieve a model","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/models/{id}","href":"/api-reference/retrieve-a-model"},{"title":"Generate images","description":"Generates up to four images from a prompt and optional reference images, and returns them inline as base64.\n\nImage generation is not offered to API keys for now: GET /v1/models lists no image model to a key, and a key's request here gets 404 model_not_found. A Morse app login can still generate images.\n\nEach image costs the model's micros_per_image, plus micros_per_reference for each reference image. Each image costs at least one credit. You pay only for the images delivered. If the request ends before the images return, you pay nothing.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/images/generations","href":"/api-reference/generate-images"},{"title":"Search the web","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/search","href":"/api-reference/search-the-web"},{"title":"Read a web page","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/fetch","href":"/api-reference/read-a-web-page"},{"title":"Transcribe audio","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/audio/transcriptions","href":"/api-reference/transcribe-audio"},{"title":"Get the version","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/version","href":"/api-reference/get-the-version"}]}]}]},"basePath":"","title":"Retrieve a model - Morse","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CDiBsYGW.js","utils-KF9rPlmF.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C26urKTX.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BdjmJAC1.js","snippetPresets-3IpDBjt3.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-D4x_2vvo.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BIWdc5Pa.js","shallow-LQqfiMNd.js","getApiPlaygroundDisplay-DryzlOZG.js","CodeSnippet-tcJujU4r.js","CodeSnippets-BHp0nVLL.js","Page-1CZdsdAn.js","getPastedJson-DU-1ayUv.js","icon-CZK2hPr4.js","MethodPill-DOaqmTFC.js","DuplicateIcon-B5-nUxxl.js","createIcon-CDP_U77G.js","DynamicMarkdown-GHvayGOn.js","SectionHeading-BYvpkmUD.js","axios-vUo_bRtp.js","Markdown-uxhlayGT.js","clsx-B35qUV0p.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BvrGG8gU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CAf0yVYe.js"]}