Return completed commands newest first by start time and ID, with their mount calls. JSON started_at values and durations are milliseconds. JSONL exports all retained matching commands oldest first as command, vfs and result records, linked by parent, with timestamp in Unix milliseconds. JSONL ignores limit and after. Empty JSON is {items: [], next: null}; empty JSONL has an empty body. Retention is server-specific. Cursors are opaque and server-specific; pagination is not a snapshot.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Mirage","description":"Mirage gives AI agents one virtual filesystem for S3, Google Drive, Slack, GitHub, Notion, Postgres, and SSH, so shell commands work across services.","colors":{"primary":"#0C0C0C","light":"#FAFAFA","dark":"#000000"},"logo":{"light":"https://mintcdn.com/struktoai/7G-pGKhPIqaKqOXr/logo/light.svg?fit=max\u0026auto=format\u0026n=7G-pGKhPIqaKqOXr\u0026q=85\u0026s=d7007be7b5588a72b2072d2c33791785","dark":"https://mintcdn.com/struktoai/7G-pGKhPIqaKqOXr/logo/dark.svg?fit=max\u0026auto=format\u0026n=7G-pGKhPIqaKqOXr\u0026q=85\u0026s=0a255f925beb7370a41145f3f9185e9d"},"favicon":"https://mintcdn.com/struktoai/F9Lv_nTaj6By6crk/favicon.svg?fit=max\u0026auto=format\u0026n=F9Lv_nTaj6By6crk\u0026q=85\u0026s=bbca6fb54e64d72bdda46fb667828f1f","api":{"playground":{"display":"simple"},"examples":{"defaults":"all","languages":["curl","python","javascript"],"prefill":true}},"navbar":{"links":[{"icon":"globe","href":"https://www.strukto.ai/mirage","label":"mirage"},{"icon":"discord","href":"https://discord.gg/u8BPQ65KsS","label":""},{"icon":"x-twitter","href":"https://x.com/struktoai","label":""},{"icon":"github","href":"https://github.com/strukto-ai/mirage","label":"strukto-ai/mirage"}]},"footer":{"socials":{"github":"https://github.com/strukto-ai/mirage"}},"seo":{"metatags":{"keywords":"Mirage, filesystem for AI agents, virtual filesystem, AI agent tools, agent infrastructure, MCP alternative, bash for agents, S3 filesystem, Google Drive filesystem, Slack filesystem, GitHub filesystem, agent sandbox, Strukto","author":"Strukto","robots":"index, follow","googlebot":"index, follow","canonical":"https://docs.mirage.strukto.ai","theme-color":"#0C0C0C","color-scheme":"light dark","language":"en","category":"Technology","target":"developers","apple-mobile-web-app-capable":"yes","apple-mobile-web-app-status-bar-style":"black-translucent","og:type":"website","og:url":"https://docs.mirage.strukto.ai","og:image":"https://raw.githubusercontent.com/strukto-ai/mirage/main/assets/mirage-og-light@2x.png","og:image:alt":"Mirage: a virtual terminal for AI agents","og:site_name":"Mirage","og:locale":"en_US","twitter:card":"summary_large_image","twitter:site":"@struktoai","twitter:creator":"@struktoai","twitter:image":"https://raw.githubusercontent.com/strukto-ai/mirage/main/assets/mirage-og-light@2x.png","twitter:image:alt":"Mirage · A Virtual Terminal for AI Agents | Strukto"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"struktoai","hasAudioNarration":false,"actualSubdomain":"struktoai","customDomains":["docs.mirage.strukto.ai"],"gitSource":{"type":"github","owner":"strukto-ai","repo":"mirage","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af0813e1d63cdd7f63d6621","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"VFS","count":204},{"language":"default","tag":"Home","count":134},{"language":"default","tag":"API","count":95},{"language":"default","tag":"TS","count":95},{"language":"default","tag":"Python","count":91},{"language":"default","tag":"CLIs","count":85},{"language":"default","tag":"Workspaces","count":52},{"language":"default","tag":"Object Storage","count":48},{"language":"default","tag":"Cloud \u0026 Productivity","count":35},{"language":"default","tag":"Data \u0026 AI","count":33}]},"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":"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":"llms-txt-v2","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":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api/operations/workspaces/list-workspace-logs","slug":"/api/operations/workspaces/list-workspace-logs","pageMetadata":{"title":"List workspace logs","description":"Return completed commands newest first by start time and ID, with their mount calls. JSON started_at values and durations are milliseconds. JSONL exports all retained matching commands oldest first as command, vfs and result records, linked by parent, with timestamp in Unix milliseconds. JSONL ignores limit and after. Empty JSON is {items: [], next: null}; empty JSONL has an empty body. Retention is server-specific. Cursors are opaque and server-specific; pagination is not a snapshot.","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}/logs","href":"/api/operations/workspaces/list-workspace-logs","autogeneratedByOpenApi":true},"description":"Return completed commands newest first by start time and ID, with their mount calls. JSON started_at values and durations are milliseconds. JSONL exports all retained matching commands oldest first as command, vfs and result records, linked by parent, with timestamp in Unix milliseconds. JSONL ignores limit and after. Empty JSON is {items: [], next: null}; empty JSONL has an empty body. Retention is server-specific. Cursors are opaque and server-specific; pagination is not a snapshot.","pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Accordion,Table}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(Accordion,{title:`Errors`,id:`errors`,children:[_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:`Bad request: malformed, a host not allowed, or a browser page from another origin`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:`The token is missing or wrong`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsx(_components.td,{children:`The workspace, session, job or file does not exist`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`422`})}),_jsx(_components.td,{children:`Validation Error`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`429`})}),_jsx(_components.td,{children:`Past a rate limit, or a new session past max_sessions`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsx(_components.td,{children:`A policy or mount mode refused the call`})]})]})]}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/api/errors`,children:`error examples and recovery steps`}),`. The `,_jsx(_components.a,{href:`https://github.com/strukto-ai/mirage/blob/main/docs/openapi.yaml`,children:`complete OpenAPI contract`}),` includes every response schema.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"List workspace logs","description":"Return completed commands newest first by start time and ID, with their mount calls. JSON started_at values and durations are milliseconds. JSONL exports all retained matching commands oldest first as command, vfs and result records, linked by parent, with timestamp in Unix milliseconds. JSONL ignores limit and after. Empty JSON is {items: [], next: null}; empty JSONL has an empty body. Retention is server-specific. Cursors are opaque and server-specific; pagination is not a snapshot.","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}/logs","href":"/api/operations/workspaces/list-workspace-logs","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"List workspace logs","operationId":"workspace_logs_v1_workspaces__workspace_id__logs_get","parameters":["7d335bfa-b560-45a8-a23f-33c34b2e5479","25750073-c465-48b4-a288-641bf03b3fab","50865ada-336f-40b8-ae2b-8f53a80f8e66","32ad5f33-9ff4-4c1b-b7e3-c60e6ef0b124","dbf18ca4-49f2-4f84-b897-c6c7349b58fe"],"responses":{"200":"78083333-4ae1-4bb7-a42b-e6775b60bb00"},"description":"Return completed commands newest first by start time and ID, with their mount calls. JSON started_at values and durations are milliseconds. JSONL exports all retained matching commands oldest first as command, vfs and result records, linked by parent, with timestamp in Unix milliseconds. JSONL ignores limit and after. Empty JSON is {items: [], next: null}; empty JSONL has an empty body. Retention is server-specific. Cursors are opaque and server-specific; pagination is not a snapshot.","tags":["Workspaces"],"x-hosts":["daemon"],"x-mint":{"content":"\u003cAccordion title=\"Errors\">\n\n| Status | Meaning |\n| --- | --- |\n| `400` | Bad request: malformed, a host not allowed, or a browser page from another origin |\n| `401` | The token is missing or wrong |\n| `404` | The workspace, session, job or file does not exist |\n| `422` | Validation Error |\n| `429` | Past a rate limit, or a new session past max_sessions |\n| `403` | A policy or mount mode refused the call |\n\nSee [error examples and recovery steps](/api/errors). The [complete OpenAPI contract](https://github.com/strukto-ai/mirage/blob/main/docs/openapi.yaml) includes every response schema.\n\n\u003c/Accordion>"},"method":"get","type":"path","servers":["2ed6e220-7388-409d-ab55-19bd7af1cb4b"],"security":["97721a5c-f35e-4635-a8f0-1e2d2a88308c"],"path":"/v1/workspaces/{workspace_id}/logs","baseUrlOptions":["http://127.0.0.1:8765"],"title":"List workspace logs","codeSamples":[],"requestExampleLanguages":["bash","python","javascript"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[]},"dependencies":{"parameters":{"7d335bfa-b560-45a8-a23f-33c34b2e5479":{"name":"workspace_id","in":"path","required":true,"description":"The workspace's id.","schema":{"type":"string","isRequired":true,"description":"The workspace's id.","uniqueKey":"","typeLabel":"string"},"example":"demo"},"25750073-c465-48b4-a288-641bf03b3fab":{"name":"session","in":"query","description":"Only this session; absent or empty selects all sessions.","schema":{"type":"string","description":"Only this session; absent or empty selects all sessions.","uniqueKey":"","typeLabel":"string"}},"50865ada-336f-40b8-ae2b-8f53a80f8e66":{"name":"limit","in":"query","description":"Commands per JSON page. Ignored for JSONL export.","schema":{"type":"integer","minimum":1,"maximum":200,"default":50,"description":"Commands per JSON page. Ignored for JSONL export.","uniqueKey":"","typeLabel":"integer"}},"32ad5f33-9ff4-4c1b-b7e3-c60e6ef0b124":{"name":"after","in":"query","description":"Opaque next cursor from the previous page with the same filters. Ignored for JSONL export.","schema":{"type":"string","description":"Opaque next cursor from the previous page with the same filters. Ignored for JSONL export.","uniqueKey":"","typeLabel":"string"}},"dbf18ca4-49f2-4f84-b897-c6c7349b58fe":{"name":"format","in":"query","description":"jsonl downloads all retained matching commands; other values select JSON.","schema":{"type":"string","default":"json","description":"jsonl downloads all retained matching commands; other values select JSON.","uniqueKey":"","typeLabel":"string"}}},"responses":{"78083333-4ae1-4bb7-a42b-e6775b60bb00":{"description":"OK","content":{"application/json":{"schema":{"properties":{"items":{"items":{"properties":{"id":{"title":"Id","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].id","typeLabel":"string"},"command":{"title":"Command","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].command","typeLabel":"string"},"cwd":{"oneOf":[{"type":"string","title":"Cwd","isRequired":true,"uniqueKey":"\\items.items.[INDEX].cwd.oneOf.0","typeLabel":"string"},{"type":"null","title":"Cwd","isRequired":true,"uniqueKey":"\\items.items.[INDEX].cwd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].cwd","typeLabel":"string | null"},"started_at":{"description":"Start time as Unix epoch milliseconds.","title":"Started At","type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].started_at","typeLabel":"number"},"duration_ms":{"title":"Duration Ms","type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].duration_ms","typeLabel":"number"},"exit_code":{"oneOf":[{"type":"integer","title":"Exit Code","isRequired":true,"uniqueKey":"\\items.items.[INDEX].exit_code.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Exit Code","isRequired":true,"uniqueKey":"\\items.items.[INDEX].exit_code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].exit_code","typeLabel":"integer | null"},"stdout":{"title":"Stdout","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].stdout","typeLabel":"string"},"stderr":{"title":"Stderr","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].stderr","typeLabel":"string"},"user_id":{"oneOf":[{"type":"string","title":"User Id","isRequired":true,"uniqueKey":"\\items.items.[INDEX].user_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"User Id","isRequired":true,"uniqueKey":"\\items.items.[INDEX].user_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].user_id","typeLabel":"string | null"},"api_key_id":{"oneOf":[{"type":"string","title":"Api Key Id","isRequired":true,"uniqueKey":"\\items.items.[INDEX].api_key_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Api Key Id","isRequired":true,"uniqueKey":"\\items.items.[INDEX].api_key_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].api_key_id","typeLabel":"string | null"},"mounts":{"items":{"properties":{"op":{"title":"Op","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].mounts.items.[INDEX].op","typeLabel":"string"},"path":{"title":"Path","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].mounts.items.[INDEX].path","typeLabel":"string"},"source":{"title":"Source","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].mounts.items.[INDEX].source","typeLabel":"string"},"bytes":{"oneOf":[{"type":"integer","title":"Bytes","isRequired":true,"uniqueKey":"\\items.items.[INDEX].mounts.items.[INDEX].bytes.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Bytes","isRequired":true,"uniqueKey":"\\items.items.[INDEX].mounts.items.[INDEX].bytes.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].mounts.items.[INDEX].bytes","typeLabel":"integer | null"},"started_at":{"description":"Start time as Unix epoch milliseconds.","title":"Started At","type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].mounts.items.[INDEX].started_at","typeLabel":"number"},"duration_ms":{"title":"Duration Ms","type":"number","isRequired":true,"uniqueKey":"\\items.items.[INDEX].mounts.items.[INDEX].duration_ms","typeLabel":"number"}},"required":["op","path","source","bytes","started_at","duration_ms"],"title":"LogMount","type":"object","uniqueKey":"\\items.items.[INDEX].mounts.items.[INDEX]","typeLabel":"LogMount · object"},"title":"Mounts","type":"array","isRequired":true,"uniqueKey":"\\items.items.[INDEX].mounts","typeLabel":"LogMount · object[]"}},"required":["id","command","cwd","started_at","duration_ms","exit_code","stdout","stderr","user_id","api_key_id","mounts"],"title":"CommandLog","type":"object","uniqueKey":"\\items.items.[INDEX]","typeLabel":"CommandLog · object"},"title":"Items","type":"array","isRequired":true,"uniqueKey":"\\items","typeLabel":"CommandLog · object[]"},"next":{"oneOf":[{"type":"string","title":"Next","isRequired":true,"uniqueKey":"next.oneOf.0","typeLabel":"string"},{"type":"null","title":"Next","isRequired":true,"uniqueKey":"next.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next","typeLabel":"string | null"}},"required":["items","next"],"title":"LogPage","type":"object","uniqueKey":"","typeLabel":"LogPage · object"},"example":{"items":[{"id":"c1","command":"echo hi","cwd":"/","started_at":1700000000000,"duration_ms":8,"exit_code":0,"stdout":"hi\n","stderr":"","user_id":null,"api_key_id":null,"mounts":[]}],"next":null},"examples":{"Example":{"title":"Example","value":{"items":[{"id":"c1","command":"echo hi","cwd":"/","started_at":1700000000000,"duration_ms":8,"exit_code":0,"stdout":"hi\n","stderr":"","user_id":null,"api_key_id":null,"mounts":[]}],"next":null}}},"exampleType":"examples"},"application/x-ndjson":{"schema":{"type":"string","uniqueKey":"","typeLabel":"string"},"example":"{\"type\":\"command\",\"session\":\"s1\",\"timestamp\":1700000000000,\"id\":\"c1\",\"command\":\"echo hi\"}\n{\"type\":\"result\",\"session\":\"s1\",\"timestamp\":1700000000008,\"parent\":\"c1\",\"duration_ms\":8,\"exit_code\":0,\"stdout\":\"hi\\n\",\"stderr\":\"\"}\n","examples":{"Example":{"title":"Example","value":"{\"type\":\"command\",\"session\":\"s1\",\"timestamp\":1700000000000,\"id\":\"c1\",\"command\":\"echo hi\"}\n{\"type\":\"result\",\"session\":\"s1\",\"timestamp\":1700000000008,\"parent\":\"c1\",\"duration_ms\":8,\"exit_code\":0,\"stdout\":\"hi\\n\",\"stderr\":\"\"}\n"}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"97721a5c-f35e-4635-a8f0-1e2d2a88308c":{"bearerAuth":{"type":"http","scheme":"bearer","description":"The server's token (MIRAGE_AUTH_TOKEN) or a JWT. A daemon in the default local mode with no token accepts requests without one.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"2ed6e220-7388-409d-ab55-19bd7af1cb4b":{"url":"http://127.0.0.1:8765","description":"A local server on its default port"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"The server's token (MIRAGE_AUTH_TOKEN) or a JWT. A daemon in the default local mode with no token accepts requests without one.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"The server's token (MIRAGE_AUTH_TOKEN) or a JWT. A daemon in the default local mode with no token accepts requests without one.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"struktoai","siteName":"Mirage","title":"List workspace logs - Mirage","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-08T14:03:48.639Z","originalFileLocation":"api/operations/workspaces/list-workspace-logs.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=\"Return completed commands newest first by start time and ID, with their mount calls. JSON started_at values and durations are milliseconds. JSONL exports all retained matching commands oldest first as command, vfs and result records, linked by parent, with timestamp in Unix milliseconds. JSONL ignores limit and after. Empty JSON is {items: [], next: null}; empty JSONL has an empty body. Retention is server-specific. Cursors are opaque and server-specific; pagination is not a snapshot.\">\u003cmeta data-mint-head name=\"keywords\" content=\"Mirage, filesystem for AI agents, virtual filesystem, AI agent tools, agent infrastructure, MCP alternative, bash for agents, S3 filesystem, Google Drive filesystem, Slack filesystem, GitHub filesystem, agent sandbox, Strukto\">\u003cmeta data-mint-head name=\"application-name\" content=\"Mirage\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/struktoai/3lv99snhL-Tr_A0L/_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/struktoai/3lv99snhL-Tr_A0L/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/struktoai/3lv99snhL-Tr_A0L/_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/struktoai/3lv99snhL-Tr_A0L/_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/struktoai/3lv99snhL-Tr_A0L/_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/struktoai/3lv99snhL-Tr_A0L/_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/struktoai/3lv99snhL-Tr_A0L/_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/struktoai/3lv99snhL-Tr_A0L/_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/struktoai/3lv99snhL-Tr_A0L/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List workspace logs - Mirage\">\u003cmeta data-mint-head property=\"og:description\" content=\"Return completed commands newest first by start time and ID, with their mount calls. JSON started_at values and durations are milliseconds. JSONL exports all retained matching commands oldest first as command, vfs and result records, linked by parent, with timestamp in Unix milliseconds. JSONL ignores limit and after. Empty JSON is {items: [], next: null}; empty JSONL has an empty body. Retention is server-specific. Cursors are opaque and server-specific; pagination is not a snapshot.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Mirage\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mirage.strukto.ai/api/operations/workspaces/list-workspace-logs\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://raw.githubusercontent.com/strukto-ai/mirage/main/assets/mirage-og-light@2x.png\">\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=\"List workspace logs - Mirage\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Return completed commands newest first by start time and ID, with their mount calls. JSON started_at values and durations are milliseconds. JSONL exports all retained matching commands oldest first as command, vfs and result records, linked by parent, with timestamp in Unix milliseconds. JSONL ignores limit and after. Empty JSON is {items: [], next: null}; empty JSONL has an empty body. Retention is server-specific. Cursors are opaque and server-specific; pagination is not a snapshot.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://raw.githubusercontent.com/strukto-ai/mirage/main/assets/mirage-og-light@2x.png\">\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/struktoai/3lv99snhL-Tr_A0L/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Mirage\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0C0C0C\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"author\" content=\"Strukto\">\u003cmeta data-mint-head name=\"googlebot\" content=\"index, follow\">\u003cmeta data-mint-head name=\"theme-color\" content=\"#0C0C0C\">\u003cmeta data-mint-head name=\"color-scheme\" content=\"light dark\">\u003cmeta data-mint-head name=\"language\" content=\"en\">\u003cmeta data-mint-head name=\"category\" content=\"Technology\">\u003cmeta data-mint-head name=\"target\" content=\"developers\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-capable\" content=\"yes\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\">\u003cmeta data-mint-head name=\"og:image:alt\" content=\"Mirage: a virtual terminal for AI agents\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@struktoai\">\u003cmeta data-mint-head name=\"twitter:image:alt\" content=\"Mirage · A Virtual Terminal for AI Agents | Strukto\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mirage.strukto.ai/api/operations/workspaces/list-workspace-logs\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/operations/workspaces/list-workspace-logs.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.mirage.strukto.ai/#organization\",\"name\":\"Mirage\",\"url\":\"https://docs.mirage.strukto.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/struktoai/7G-pGKhPIqaKqOXr/logo/light.svg?fit=max\u0026auto=format\u0026n=7G-pGKhPIqaKqOXr\u0026q=85\u0026s=d7007be7b5588a72b2072d2c33791785\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.mirage.strukto.ai#website\",\"name\":\"Mirage\",\"url\":\"https://docs.mirage.strukto.ai\",\"publisher\":{\"@id\":\"https://docs.mirage.strukto.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.mirage.strukto.ai/api/operations/workspaces/list-workspace-logs#webpage\",\"url\":\"https://docs.mirage.strukto.ai/api/operations/workspaces/list-workspace-logs\",\"name\":\"List workspace logs\",\"description\":\"Return completed commands newest first by start time and ID, with their mount calls. JSON started_at values and durations are milliseconds. JSONL exports all retained matching commands oldest first as command, vfs and result records, linked by parent, with timestamp in Unix milliseconds. JSONL ignores limit and after. Empty JSON is {items: [], next: null}; empty JSONL has an empty body. Retention is server-specific. Cursors are opaque and server-specific; pagination is not a snapshot.\",\"dateModified\":\"2026-11-08T14:03:48.639Z\",\"isPartOf\":{\"@id\":\"https://docs.mirage.strukto.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.mirage.strukto.ai/api/operations/workspaces/list-workspace-logs#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.mirage.strukto.ai/api/operations/workspaces/list-workspace-logs#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Workspaces\",\"item\":\"https://docs.mirage.strukto.ai/api/operations/workspaces/create-a-workspace\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lifecycle\",\"item\":\"https://docs.mirage.strukto.ai/api/operations/workspaces/create-a-workspace\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"List workspace logs\",\"item\":\"https://docs.mirage.strukto.ai/api/operations/workspaces/list-workspace-logs\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.mirage.strukto.ai/api/operations/workspaces/list-workspace-logs#apireference\",\"headline\":\"List workspace logs\",\"name\":\"List workspace logs\",\"description\":\"Return completed commands newest first by start time and ID, with their mount calls. JSON started_at values and durations are milliseconds. JSONL exports all retained matching commands oldest first as command, vfs and result records, linked by parent, with timestamp in Unix milliseconds. JSONL ignores limit and after. Empty JSON is {items: [], next: null}; empty JSONL has an empty body. Retention is server-specific. Cursors are opaque and server-specific; pagination is not a snapshot.\",\"url\":\"https://docs.mirage.strukto.ai/api/operations/workspaces/list-workspace-logs\",\"mainEntityOfPage\":{\"@id\":\"https://docs.mirage.strukto.ai/api/operations/workspaces/list-workspace-logs#webpage\"},\"image\":\"https://raw.githubusercontent.com/strukto-ai/mirage/main/assets/mirage-og-light@2x.png\",\"dateModified\":\"2026-11-08T14:03:48.639Z\",\"publisher\":{\"@id\":\"https://docs.mirage.strukto.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.mirage.strukto.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Mirage\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Mirage","nav":{"global":null,"tabs":[{"tab":"Home","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/mirage-icon-light.svg","pages":[{"title":"Home","href":"/home/introduction"}]},{"tab":"Python","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/python-logo.svg","pages":[{"title":"Python","href":"/python/install"}]},{"tab":"TS","icon":"https://mintlify.s3.us-west-1.amazonaws.com/struktoai/images/typescript-logo.svg","pages":[{"title":"TS","href":"/typescript/install"}]},{"tab":"API","icon":"code","groups":[{"group":"HTTP API","pages":[{"title":"Overview","icon":"book-open","href":"/api/overview"},{"title":"Quickstart","icon":"bolt","href":"/api/quickstart"},{"title":"Authentication","icon":"key","href":"/api/authentication"},{"title":"Streaming and stdin","icon":"arrows-left-right","href":"/api/streaming"},{"title":"Errors","icon":"triangle-exclamation","href":"/api/errors"},{"title":"API reference","icon":"list","href":"/api/reference"}]},{"group":"Workspaces","pages":[{"group":"Lifecycle","pages":[{"title":"Create a workspace","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces","href":"/api/operations/workspaces/create-a-workspace"},{"title":"List workspaces","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces","href":"/api/operations/workspaces/list-workspaces"},{"title":"Get a workspace","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}","href":"/api/operations/workspaces/get-a-workspace"},{"title":"Delete a workspace","description":null,"deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/workspaces/{workspace_id}","href":"/api/operations/workspaces/delete-a-workspace"},{"title":"List workspace logs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}/logs","href":"/api/operations/workspaces/list-workspace-logs"},{"title":"Stop a workspace","description":"Stop the workspace and keep its state and config for start. A stopped workspace answers as it is, so a stop can be repeated.\n\nRAM file contents do not survive stopping and starting. Save files to persistent storage before stopping the workspace.","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/stop","href":"/api/operations/workspaces/stop-a-workspace"},{"title":"Start a workspace","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/start","href":"/api/operations/workspaces/start-a-workspace"},{"title":"Cancel a workspace's lines","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/cancel","href":"/api/operations/workspaces/cancel-a-workspaces-lines"},{"title":"Kill a workspace's jobs","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/kill","href":"/api/operations/workspaces/kill-a-workspaces-jobs"},{"title":"Set a profile","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/workspaces/{workspace_id}/profiles/{name}","href":"/api/operations/workspaces/set-a-profile"},{"title":"Install an MCP CLI","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/workspaces/{workspace_id}/clis/{name}","href":"/api/operations/workspaces/install-an-mcp-cli"},{"title":"Remove an MCP CLI","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/workspaces/{workspace_id}/clis/{name}","href":"/api/operations/workspaces/remove-an-mcp-cli"}]},{"group":"Shell","pages":[{"title":"Run a shell line","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/shell","href":"/api/operations/shell/run-a-shell-line"},{"title":"Match paths","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/glob","href":"/api/operations/shell/match-paths"}]},{"group":"VFS","pages":[{"title":"VFS read","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/read","href":"/api/operations/vfs/vfs-read"},{"title":"VFS write","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/write","href":"/api/operations/vfs/vfs-write"},{"title":"VFS append","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/append","href":"/api/operations/vfs/vfs-append"},{"title":"VFS pwrite","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/pwrite","href":"/api/operations/vfs/vfs-pwrite"},{"title":"VFS stat","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/stat","href":"/api/operations/vfs/vfs-stat"},{"title":"VFS readdir","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/readdir","href":"/api/operations/vfs/vfs-readdir"},{"title":"VFS exists","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/exists","href":"/api/operations/vfs/vfs-exists"},{"title":"VFS is_dir","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/is_dir","href":"/api/operations/vfs/vfs-is_dir"},{"title":"VFS is_file","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/is_file","href":"/api/operations/vfs/vfs-is_file"},{"title":"VFS list_files","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/list_files","href":"/api/operations/vfs/vfs-list_files"},{"title":"VFS mkdir","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/mkdir","href":"/api/operations/vfs/vfs-mkdir"},{"title":"VFS rmdir","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/rmdir","href":"/api/operations/vfs/vfs-rmdir"},{"title":"VFS unlink","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/unlink","href":"/api/operations/vfs/vfs-unlink"},{"title":"VFS create","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/create","href":"/api/operations/vfs/vfs-create"},{"title":"VFS rename","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/rename","href":"/api/operations/vfs/vfs-rename"},{"title":"VFS symlink","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/symlink","href":"/api/operations/vfs/vfs-symlink"},{"title":"VFS readlink","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/readlink","href":"/api/operations/vfs/vfs-readlink"},{"title":"VFS setattr","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/setattr","href":"/api/operations/vfs/vfs-setattr"},{"title":"VFS getxattr","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/getxattr","href":"/api/operations/vfs/vfs-getxattr"},{"title":"VFS listxattr","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/listxattr","href":"/api/operations/vfs/vfs-listxattr"},{"title":"VFS setxattr","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/setxattr","href":"/api/operations/vfs/vfs-setxattr"},{"title":"VFS removexattr","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/removexattr","href":"/api/operations/vfs/vfs-removexattr"},{"title":"VFS truncate","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/truncate","href":"/api/operations/vfs/vfs-truncate"},{"title":"Call any VFS function","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/vfs/{name}","href":"/api/operations/vfs/call-any-vfs-function"}]},{"group":"Documents","pages":[{"title":"Read the workspace's VFS.md","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}/vfs-md","href":"/api/operations/documents/read-the-workspaces-vfsmd"},{"title":"Write the workspace's VFS.md","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/workspaces/{workspace_id}/vfs-md","href":"/api/operations/documents/write-the-workspaces-vfsmd"},{"title":"Read the workspace's SKILL.md","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}/skill-md","href":"/api/operations/documents/read-the-workspaces-skillmd"},{"title":"Write the workspace's SKILL.md","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/workspaces/{workspace_id}/skill-md","href":"/api/operations/documents/write-the-workspaces-skillmd"}]},{"group":"Asks","pages":[{"title":"List asks","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}/asks","href":"/api/operations/asks/list-asks"},{"title":"Answer an ask","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/workspaces/{workspace_id}/asks/{ask_id}","href":"/api/operations/asks/answer-an-ask"}]},{"group":"Lines","pages":[{"title":"List lines","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}/lines","href":"/api/operations/lines/list-lines"},{"title":"Get a line","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}/lines/{line_id}","href":"/api/operations/lines/get-a-line"}]},{"group":"Jobs","pages":[{"title":"List jobs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}/jobs","href":"/api/operations/jobs/list-jobs"},{"title":"Get a job","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}/jobs/{job_id}","href":"/api/operations/jobs/get-a-job"}]},{"group":"Processes","pages":[{"title":"List processes","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}/processes","href":"/api/operations/processes/list-processes"},{"title":"Get a process","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}/processes/{pid}","href":"/api/operations/processes/get-a-process"}]},{"group":"Machines","pages":[{"title":"List machines","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}/machines","href":"/api/operations/machines/list-machines"},{"title":"Get a machine","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/workspaces/{workspace_id}/machines/{machine_id}","href":"/api/operations/machines/get-a-machine"}]}]},{"group":"Templates","pages":[{"title":"List templates","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates","href":"/api/operations/templates/list-templates"},{"title":"Create a template","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates","href":"/api/operations/templates/create-a-template"},{"title":"Get a template","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/templates/{ref}","href":"/api/operations/templates/get-a-template"},{"title":"Delete a template","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/templates/{ref}","href":"/api/operations/templates/delete-a-template"},{"title":"Restore a template","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/templates/{ref}/restore","href":"/api/operations/templates/restore-a-template"}]},{"group":"Policies","pages":[{"title":"List policies","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/policies","href":"/api/operations/policies/list-policies"},{"title":"Create a policy","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/policies","href":"/api/operations/policies/create-a-policy"},{"title":"Get a policy","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/policies/{ref}","href":"/api/operations/policies/get-a-policy"},{"title":"Update a policy","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/policies/{ref}","href":"/api/operations/policies/update-a-policy"},{"title":"Delete a policy","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/policies/{ref}","href":"/api/operations/policies/delete-a-policy"}]},{"group":"Saved configurations","pages":[{"group":"VFS","pages":[{"title":"List VFS configs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/vfs","href":"/api/operations/saved-vfs/list-vfs-configs"},{"title":"Create a VFS config","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/vfs","href":"/api/operations/saved-vfs/create-a-vfs-config"},{"title":"List VFS config types","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/vfs/types","href":"/api/operations/saved-vfs/list-vfs-config-types"},{"title":"Get a VFS config","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/vfs/{ref}","href":"/api/operations/saved-vfs/get-a-vfs-config"},{"title":"Update a VFS config","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/vfs/{ref}","href":"/api/operations/saved-vfs/update-a-vfs-config"},{"title":"Delete a VFS config","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/vfs/{ref}","href":"/api/operations/saved-vfs/delete-a-vfs-config"}]},{"group":"CLIs","pages":[{"title":"List CLI configs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/clis","href":"/api/operations/saved-clis/list-cli-configs"},{"title":"Create a CLI config","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/clis","href":"/api/operations/saved-clis/create-a-cli-config"},{"title":"List CLI config types","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/clis/types","href":"/api/operations/saved-clis/list-cli-config-types"},{"title":"Get a CLI config","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/clis/{ref}","href":"/api/operations/saved-clis/get-a-cli-config"},{"title":"Update a CLI config","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/clis/{ref}","href":"/api/operations/saved-clis/update-a-cli-config"},{"title":"Delete a CLI config","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/clis/{ref}","href":"/api/operations/saved-clis/delete-a-cli-config"}]},{"group":"Runtimes","pages":[{"title":"List runtime configs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/runtimes","href":"/api/operations/saved-runtimes/list-runtime-configs"},{"title":"Create a runtime config","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/runtimes","href":"/api/operations/saved-runtimes/create-a-runtime-config"},{"title":"List runtime config types","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/runtimes/types","href":"/api/operations/saved-runtimes/list-runtime-config-types"},{"title":"Get a runtime config","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/runtimes/{ref}","href":"/api/operations/saved-runtimes/get-a-runtime-config"},{"title":"Update a runtime config","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/runtimes/{ref}","href":"/api/operations/saved-runtimes/update-a-runtime-config"},{"title":"Delete a runtime config","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/runtimes/{ref}","href":"/api/operations/saved-runtimes/delete-a-runtime-config"}]},{"group":"Machines","pages":[{"title":"List machine configs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines","href":"/api/operations/saved-machines/list-machine-configs"},{"title":"Create a machine config","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/machines","href":"/api/operations/saved-machines/create-a-machine-config"},{"title":"List machine config types","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/types","href":"/api/operations/saved-machines/list-machine-config-types"},{"title":"Get a machine config","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/machines/{ref}","href":"/api/operations/saved-machines/get-a-machine-config"},{"title":"Update a machine config","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/machines/{ref}","href":"/api/operations/saved-machines/update-a-machine-config"},{"title":"Delete a machine config","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/machines/{ref}","href":"/api/operations/saved-machines/delete-a-machine-config"}]}]},{"group":"Service","pages":[{"title":"Check health","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/health","href":"/api/operations/service/check-health"}]},{"group":"Daemon","pages":[{"title":"Check readiness","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/daemon/ready","href":"/api/operations/daemon/check-readiness"},{"title":"Shut down the server","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/daemon/shutdown","href":"/api/operations/daemon/shut-down-the-server"}]}]}]},"basePath":"","title":"List workspace logs - Mirage","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}