Three answers, chosen by the query and never by the state of anything. No repoId lists the tiers this ework can reach — start here, it is how you learn the ids. repoId alone lists what is at path, the repository root by default. Adding read returns the file itself, with the sha a later write can pass as expectedSha, and flags saying whether it is binary or was truncated.
An organization-scoped API key, minted in control under Settings → API keys. Every failure to authenticate answers one identical 401: "Provide a valid organization-scoped API key or an active session." Each operation names the one scope it is filed under, <resource>:<read|write>, where the resource is the first path segment after /api/v1/; a key minted today carries all 22 of them. Scopes are RECORDED — on the key and on every audit row — and are not yet enforced: no request is refused for want of one.
Which tier to read. Omit it and the answer is {tierRepos: […]} — the tiers this ework can reach, which is how you discover the ids the other calls take.
Which of the three shapes comes back is decided by the query, not by the state of anything.
Option 1
Option 2
Option 3
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Ergoly","description":"How to manage your agency on Ergoly","colors":{"primary":"#079b9b","light":"#3cd3cf","dark":"#0f7170"},"logo":{"light":"https://mintcdn.com/ergoly/-drdYd6uXChmiNIn/logo/light.png?fit=max\u0026auto=format\u0026n=-drdYd6uXChmiNIn\u0026q=85\u0026s=a9084e9caaf8656a821bf02426e31c05","dark":"https://mintcdn.com/ergoly/-drdYd6uXChmiNIn/logo/dark.png?fit=max\u0026auto=format\u0026n=-drdYd6uXChmiNIn\u0026q=85\u0026s=2c7c39ae6542910294a1183134fda8ff","href":"https://www.ergoly.ai"},"favicon":"https://mintcdn.com/ergoly/-drdYd6uXChmiNIn/favicon.png?fit=max\u0026auto=format\u0026n=-drdYd6uXChmiNIn\u0026q=85\u0026s=9e5baceff3d9e2c0f0d473b3a7c5d40b","api":{"playground":{"display":"interactive","proxy":true},"examples":{"defaults":"required","languages":["curl","javascript","python"]}},"background":{"color":{"light":"#f2f3f3","dark":"#282828"}},"navbar":{"links":[{"href":"https://www.ergoly.ai/support","label":"Support"}],"primary":{"type":"button","label":"Sign in","href":"https://control.ergoly.ai/"}},"footer":{"socials":{"website":"https://www.ergoly.ai","linkedin":"https://www.linkedin.com/company/ergoly","github":"https://github.com/ergoly-ai"}},"seo":{"metatags":{"canonical":"https://docs.ergoly.ai"}},"fonts":{"family":"Satoshi","source":"fonts/Satoshi-Variable.woff2","format":"woff2"},"banner":{"content":"Ergoly is hiring. \u003ca href=\"https://www.ergoly.ai/jobs\">Apply today\u003c/a>.","dismissible":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"interaction":{"drilldown":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ergoly","hasAudioNarration":false,"actualSubdomain":"ergoly","customDomains":["docs.ergoly.ai"],"gitSource":{"type":"github","owner":"ergoly-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":"","_id":"6af1063edce746e0972c5b68"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af1344bc7dcf404baff164b","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API","count":72},{"language":"default","tag":"Docs","count":49},{"language":"default","tag":"Workers","count":33},{"language":"default","tag":"Connections","count":26},{"language":"default","tag":"Channels","count":14},{"language":"default","tag":"Changelog","count":12},{"language":"default","tag":"Releases","count":12},{"language":"default","tag":"Tasks","count":11},{"language":"default","tag":"Clients","count":9},{"language":"default","tag":"Company","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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-reference/memory/read-a-memory-tier","slug":"/api-reference/memory/read-a-memory-tier","pageMetadata":{"title":"Read a memory tier","description":"Three answers, chosen by the query and never by the state of anything. No `repoId` lists the tiers this ework can reach — start here, it is how you learn the ids. `repoId` alone lists what is at `path`, the repository root by default. Adding `read` returns the file itself, with the `sha` a later write can pass as `expectedSha`, and flags saying whether it is binary or was truncated.","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/eworks/{id}/memory","href":"/api-reference/memory/read-a-memory-tier","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Three answers, chosen by the query and never by the state of anything. No \", _jsx(_components.code, {\n children: \"repoId\"\n }), \" lists the tiers this ework can reach — start here, it is how you learn the ids. \", _jsx(_components.code, {\n children: \"repoId\"\n }), \" alone lists what is at \", _jsx(_components.code, {\n children: \"path\"\n }), \", the repository root by default. Adding \", _jsx(_components.code, {\n children: \"read\"\n }), \" returns the file itself, with the \", _jsx(_components.code, {\n children: \"sha\"\n }), \" a later write can pass as \", _jsx(_components.code, {\n children: \"expectedSha\"\n }), \", and flags saying whether it is binary or was truncated.\"]\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":"Read a memory tier","description":"Three answers, chosen by the query and never by the state of anything. No `repoId` lists the tiers this ework can reach — start here, it is how you learn the ids. `repoId` alone lists what is at `path`, the repository root by default. Adding `read` returns the file itself, with the `sha` a later write can pass as `expectedSha`, and flags saying whether it is binary or was truncated.","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/eworks/{id}/memory","href":"/api-reference/memory/read-a-memory-tier","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"readMemory","summary":"Read a memory tier","description":"Three answers, chosen by the query and never by the state of anything. No `repoId` lists the tiers this ework can reach — start here, it is how you learn the ids. `repoId` alone lists what is at `path`, the repository root by default. Adding `read` returns the file itself, with the `sha` a later write can pass as `expectedSha`, and flags saying whether it is binary or was truncated.","tags":["memory"],"security":["cfbaac8d-4fa1-46fa-a5ef-f53778495906"],"parameters":["1ff1dea4-69f1-497d-a5e8-569ea4677447","652987db-84fc-4772-9758-34d3c384274b","4d88ba3a-037d-4019-b573-5ffde9c03b25","9ab0f427-8637-465b-a4a5-17c61e78522d"],"responses":{"200":"9f8cd35a-7881-46fc-a463-ab26cc05aa14","401":"03abbb46-9d81-4a43-88b0-b43df7e1ac9e","404":"5205474b-6435-4bbf-b438-1be789c336c4","429":"53b2f01e-13d1-4b3e-961c-51cfe53253c5"},"method":"get","type":"path","servers":["15355b2c-94fb-418f-acf2-2e27904062bb"],"path":"/api/v1/eworks/{id}/memory","baseUrlOptions":["https://control.ergoly.ai"],"title":"Read a memory tier","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"1ff1dea4-69f1-497d-a5e8-569ea4677447":{"name":"id","in":"path","required":true,"description":"The ework id. A malformed id answers 404, exactly as another organization's well-formed id does.","schema":{"type":"string","description":"The ework id. A malformed id answers 404, exactly as another organization's well-formed id does.","isRequired":true,"uniqueKey":"","typeLabel":"string"}},"652987db-84fc-4772-9758-34d3c384274b":{"name":"repoId","in":"query","required":false,"description":"Which tier to read. Omit it and the answer is `{tierRepos: […]}` — the tiers this ework can reach, which is how you discover the ids the other calls take.","schema":{"type":"string","description":"Which tier to read. Omit it and the answer is `{tierRepos: […]}` — the tiers this ework can reach, which is how you discover the ids the other calls take.","isRequired":false,"uniqueKey":"","typeLabel":"string"}},"4d88ba3a-037d-4019-b573-5ffde9c03b25":{"name":"path","in":"query","required":false,"description":"Path from the repository root. Defaults to the root.","schema":{"type":"string","description":"Path from the repository root. Defaults to the root.","isRequired":false,"uniqueKey":"","typeLabel":"string"}},"9ab0f427-8637-465b-a4a5-17c61e78522d":{"name":"read","in":"query","required":false,"description":"Any non-empty value asks for the FILE at `path` (`{file: …}`) rather than a listing (`{entries: […]}`).","schema":{"type":"string","description":"Any non-empty value asks for the FILE at `path` (`{file: …}`) rather than a listing (`{entries: […]}`).","isRequired":false,"uniqueKey":"","typeLabel":"string"}}},"responses":{"9f8cd35a-7881-46fc-a463-ab26cc05aa14":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"oneOf":[{"type":"object","description":"Which of the three shapes comes back is decided by the query, not by the state of anything.","required":["tierRepos"],"properties":{"tierRepos":{"type":"array","items":{"type":"object","description":"One memory tier reachable from this ework.","properties":{"id":{"type":"string","description":"The repository id — what `repoId` takes on every memory call.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].id","typeLabel":"string"},"tier":{"type":"string","enum":["instance","client","worker","org"],"description":"Which tier this repository is. The ladder is instance > client > worker > org.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].tier","typeLabel":"enum\u003cstring>"},"githubRepoName":{"type":"string","description":"The backing repository name.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].githubRepoName","typeLabel":"string"},"workerId":{"oneOf":[{"type":"string","description":"The Worker this tier belongs to, when it is Worker-scoped.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].workerId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The Worker this tier belongs to, when it is Worker-scoped.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].workerId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].workerId","typeLabel":"string | null"},"clientId":{"oneOf":[{"type":"string","description":"The Client this tier belongs to, when it is Client-scoped.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].clientId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The Client this tier belongs to, when it is Client-scoped.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].clientId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].clientId","typeLabel":"string | null"},"eworkId":{"oneOf":[{"type":"string","description":"The ework this tier belongs to, on the `instance` tier.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].eworkId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The ework this tier belongs to, on the `instance` tier.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].eworkId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].eworkId","typeLabel":"string | null"},"clientSlug":{"oneOf":[{"type":"string","description":"The Client slug, on a `client` row.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].clientSlug.oneOf.0","typeLabel":"string"},{"type":"null","description":"The Client slug, on a `client` row.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].clientSlug.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].clientSlug","typeLabel":"string | null"},"clientName":{"oneOf":[{"type":"string","description":"The Client's name, on a `client` row.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].clientName.oneOf.0","typeLabel":"string"},{"type":"null","description":"The Client's name, on a `client` row.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].clientName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].clientName","typeLabel":"string | null"},"workerName":{"oneOf":[{"type":"string","description":"The Worker's display name, on a `worker` or `instance` row.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].workerName.oneOf.0","typeLabel":"string"},{"type":"null","description":"The Worker's display name, on a `worker` or `instance` row.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].workerName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].workerName","typeLabel":"string | null"},"orgName":{"oneOf":[{"type":"string","description":"The organization's name, on an `org` row.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].orgName.oneOf.0","typeLabel":"string"},{"type":"null","description":"The organization's name, on an `org` row.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].orgName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].orgName","typeLabel":"string | null"},"eworkTier":{"oneOf":[{"type":"string","description":"Which tier of ework an `instance` row belongs to: `core` or `client`.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].eworkTier.oneOf.0","typeLabel":"string"},{"type":"null","description":"Which tier of ework an `instance` row belongs to: `core` or `client`.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].eworkTier.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX].eworkTier","typeLabel":"string | null"}},"required":["id","tier","githubRepoName","workerId","clientId","eworkId","clientSlug","clientName","workerName","orgName","eworkTier"],"additionalProperties":false,"uniqueKey":"data.oneOf.0.tierRepos.items.[INDEX]","typeLabel":"object"},"description":"Every tier this ework can reach.","isRequired":true,"uniqueKey":"data.oneOf.0.tierRepos","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"data.oneOf.0","typeLabel":"object"},{"type":"object","description":"Which of the three shapes comes back is decided by the query, not by the state of anything.","required":["entries"],"properties":{"entries":{"type":"array","items":{"type":"object","description":"One entry in a memory tier listing.","properties":{"type":{"type":"string","enum":["file","dir"],"description":"What the entry is.","isRequired":true,"uniqueKey":"data.oneOf.1.entries.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","description":"The entry's own name.","isRequired":true,"uniqueKey":"data.oneOf.1.entries.items.[INDEX].name","typeLabel":"string"},"path":{"type":"string","description":"Path from the repository root.","isRequired":true,"uniqueKey":"data.oneOf.1.entries.items.[INDEX].path","typeLabel":"string"},"size":{"type":"integer","description":"Size in bytes. 0 for a directory.","isRequired":true,"uniqueKey":"data.oneOf.1.entries.items.[INDEX].size","typeLabel":"integer"}},"required":["type","name","path","size"],"additionalProperties":false,"uniqueKey":"data.oneOf.1.entries.items.[INDEX]","typeLabel":"object"},"description":"What is at `path`.","isRequired":true,"uniqueKey":"data.oneOf.1.entries","typeLabel":"object[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"data.oneOf.1","typeLabel":"object"},{"type":"object","description":"Which of the three shapes comes back is decided by the query, not by the state of anything.","required":["file"],"properties":{"file":{"type":"object","description":"One memory-tier file.","properties":{"path":{"type":"string","description":"Path from the repository root.","isRequired":true,"uniqueKey":"data.oneOf.2.file.path","typeLabel":"string"},"text":{"type":"string","description":"The file's text. Empty when `binary` is true.","isRequired":true,"uniqueKey":"data.oneOf.2.file.text","typeLabel":"string"},"size":{"type":"integer","description":"Size in bytes.","isRequired":true,"uniqueKey":"data.oneOf.2.file.size","typeLabel":"integer"},"binary":{"type":"boolean","description":"True when the file is not text.","isRequired":true,"uniqueKey":"data.oneOf.2.file.binary","typeLabel":"boolean"},"sha":{"type":"string","description":"The blob sha. Pass it back as `expectedSha` to refuse a write that would clobber a change made since.","isRequired":true,"uniqueKey":"data.oneOf.2.file.sha","typeLabel":"string"},"truncated":{"type":"boolean","description":"True when `text` holds only the head of a larger file. Do not write a truncated body back.","isRequired":true,"uniqueKey":"data.oneOf.2.file.truncated","typeLabel":"boolean"}},"required":["path","text","size","binary","sha","truncated"],"additionalProperties":false,"isRequired":true,"uniqueKey":"data.oneOf.2.file","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"data.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["data"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"data":{"tierRepos":[{"id":"4a5b6c7d-8e9f-4012-8345-67890abcdef1","tier":"client","githubRepoName":"client-northwind-acme","workerId":"8f1c2d3e-9a4b-4c5d-8e6f-1a2b3c4d5e6f","clientId":"c1a2b3c4-d5e6-4f70-8912-3a4b5c6d7e8f","eworkId":null,"clientSlug":"acme","clientName":"Acme Corp","workerName":"Rowan","orgName":null,"eworkTier":null}]}},"examples":{"Example":{"title":"Example","value":{"data":{"tierRepos":[{"id":"4a5b6c7d-8e9f-4012-8345-67890abcdef1","tier":"client","githubRepoName":"client-northwind-acme","workerId":"8f1c2d3e-9a4b-4c5d-8e6f-1a2b3c4d5e6f","clientId":"c1a2b3c4-d5e6-4f70-8912-3a4b5c6d7e8f","eworkId":null,"clientSlug":"acme","clientName":"Acme Corp","workerName":"Rowan","orgName":null,"eworkTier":null}]}}}},"exampleType":"examples"}},"exampleType":"examples"},"03abbb46-9d81-4a43-88b0-b43df7e1ac9e":{"description":"`unauthorized`","content":{"application/json":{"schema":{"type":"object","description":"The one error shape. Every refusal in this namespace has it.","properties":{"error":{"type":"object","description":"The refusal.","properties":{"code":{"type":"string","enum":["unauthorized","not_found","invalid_request","conflict","quota_exceeded","rate_limited","upstream_error","gone"],"description":"The machine-stable half. Branch on this, never on `message`.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Prose for a human reading a terminal.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"docs":{"type":"string","description":"Where to learn how to authenticate. Present on `unauthorized` and on nothing else — it is the one refusal a caller can reach with no credential at all, so it is the one that has to say where the way in is.","uniqueKey":"error.docs","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"\u003cstring>","docs":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"5205474b-6435-4bbf-b438-1be789c336c4":{"description":"`not_found`","content":{"application/json":{"schema":{"type":"object","description":"The one error shape. Every refusal in this namespace has it.","properties":{"error":{"type":"object","description":"The refusal.","properties":{"code":{"type":"string","enum":["unauthorized","not_found","invalid_request","conflict","quota_exceeded","rate_limited","upstream_error","gone"],"description":"The machine-stable half. Branch on this, never on `message`.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Prose for a human reading a terminal.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"docs":{"type":"string","description":"Where to learn how to authenticate. Present on `unauthorized` and on nothing else — it is the one refusal a caller can reach with no credential at all, so it is the one that has to say where the way in is.","uniqueKey":"error.docs","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"\u003cstring>","docs":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"53b2f01e-13d1-4b3e-961c-51cfe53253c5":{"description":"`rate_limited`","content":{"application/json":{"schema":{"type":"object","description":"The one error shape. Every refusal in this namespace has it.","properties":{"error":{"type":"object","description":"The refusal.","properties":{"code":{"type":"string","enum":["unauthorized","not_found","invalid_request","conflict","quota_exceeded","rate_limited","upstream_error","gone"],"description":"The machine-stable half. Branch on this, never on `message`.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Prose for a human reading a terminal.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"docs":{"type":"string","description":"Where to learn how to authenticate. Present on `unauthorized` and on nothing else — it is the one refusal a caller can reach with no credential at all, so it is the one that has to say where the way in is.","uniqueKey":"error.docs","typeLabel":"string"}},"required":["code","message"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"\u003cstring>","docs":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"cfbaac8d-4fa1-46fa-a5ef-f53778495906":{"orgApiKey":{"type":"http","scheme":"bearer","description":"An organization-scoped API key, minted in control under Settings → API keys. Every failure to authenticate answers one identical 401: \"Provide a valid organization-scoped API key or an active session.\" Each operation names the one scope it is filed under, `\u003cresource>:\u003cread|write>`, where the resource is the first path segment after `/api/v1/`; a key minted today carries all 22 of them. Scopes are RECORDED — on the key and on every audit row — and are not yet enforced: no request is refused for want of one.","scopes":["eworks:read"],"schemeName":"orgApiKey"}}},"servers":{"15355b2c-94fb-418f-acf2-2e27904062bb":{"url":"https://control.ergoly.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"An organization-scoped API key, minted in control under Settings → API keys. Every failure to authenticate answers one identical 401: \"Provide a valid organization-scoped API key or an active session.\" Each operation names the one scope it is filed under, `\u003cresource>:\u003cread|write>`, where the resource is the first path segment after `/api/v1/`; a key minted today carries all 22 of them. Scopes are RECORDED — on the key and on every audit row — and are not yet enforced: no request is refused for want of one.","scopes":["eworks:read"],"schemeName":"orgApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An organization-scoped API key, minted in control under Settings → API keys. Every failure to authenticate answers one identical 401: \"Provide a valid organization-scoped API key or an active session.\" Each operation names the one scope it is filed under, `\u003cresource>:\u003cread|write>`, where the resource is the first path segment after `/api/v1/`; a key minted today carries all 22 of them. Scopes are RECORDED — on the key and on every audit row — and are not yet enforced: no request is refused for want of one.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"orgApiKey","name":"Authorization"}],"title":"orgApiKey"}]},"originalFileLocation":"openapi.json"},"subdomain":"ergoly","siteName":"Ergoly","title":"Read a memory tier - Ergoly","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T02:24:48.441Z","originalFileLocation":"api-reference/memory/read-a-memory-tier.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=\"Three answers, chosen by the query and never by the state of anything. No repoId lists the tiers this ework can reach — start here, it is how you learn the ids. repoId alone lists what is at path, the repository root by default. Adding read returns the file itself, with the sha a later write can pass as expectedSha, and flags saying whether it is binary or was truncated.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Ergoly\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ergoly/OjkmtN-S1YevUC4M/_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/ergoly/OjkmtN-S1YevUC4M/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ergoly/OjkmtN-S1YevUC4M/_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/ergoly/OjkmtN-S1YevUC4M/_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/ergoly/OjkmtN-S1YevUC4M/_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/ergoly/OjkmtN-S1YevUC4M/_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/ergoly/OjkmtN-S1YevUC4M/_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/ergoly/OjkmtN-S1YevUC4M/_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/ergoly/OjkmtN-S1YevUC4M/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Read a memory tier - Ergoly\">\u003cmeta data-mint-head property=\"og:description\" content=\"Three answers, chosen by the query and never by the state of anything. No repoId lists the tiers this ework can reach — start here, it is how you learn the ids. repoId alone lists what is at path, the repository root by default. Adding read returns the file itself, with the sha a later write can pass as expectedSha, and flags saying whether it is binary or was truncated.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Ergoly\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.ergoly.ai/api-reference/memory/read-a-memory-tier\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://ergoly.mintlify.site/_mintlify/api/og/v2?division=Memory\u0026amp;title=Read+a+memory+tier\u0026amp;description=Three+answers%2C+chosen+by+the+query+and+never+by+the+state+of+anything.+No+%60repoId%60+lists+the+tiers+this+ework+can+reach+%E2%80%94+start+here%2C+it+is+how+you+learn+the+id\u0026amp;theme=46f41713e7d152b6296bdf32\u0026amp;signature=d5182a4d6ab69d6d2b849882f1e0ed9bd865802173bbbb57886ef79bbc53b227\">\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=\"Read a memory tier - Ergoly\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Three answers, chosen by the query and never by the state of anything. No repoId lists the tiers this ework can reach — start here, it is how you learn the ids. repoId alone lists what is at path, the repository root by default. Adding read returns the file itself, with the sha a later write can pass as expectedSha, and flags saying whether it is binary or was truncated.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ergoly.mintlify.site/_mintlify/api/og/v2?division=Memory\u0026amp;title=Read+a+memory+tier\u0026amp;description=Three+answers%2C+chosen+by+the+query+and+never+by+the+state+of+anything.+No+%60repoId%60+lists+the+tiers+this+ework+can+reach+%E2%80%94+start+here%2C+it+is+how+you+learn+the+id\u0026amp;theme=46f41713e7d152b6296bdf32\u0026amp;signature=d5182a4d6ab69d6d2b849882f1e0ed9bd865802173bbbb57886ef79bbc53b227\">\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/ergoly/OjkmtN-S1YevUC4M/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Ergoly\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#079b9b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.ergoly.ai/api-reference/memory/read-a-memory-tier\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/memory/read-a-memory-tier.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.ergoly.ai/#organization\",\"name\":\"Ergoly\",\"url\":\"https://docs.ergoly.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/ergoly/-drdYd6uXChmiNIn/logo/light.png?fit=max\u0026auto=format\u0026n=-drdYd6uXChmiNIn\u0026q=85\u0026s=a9084e9caaf8656a821bf02426e31c05\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.ergoly.ai#website\",\"name\":\"Ergoly\",\"url\":\"https://docs.ergoly.ai\",\"publisher\":{\"@id\":\"https://docs.ergoly.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.ergoly.ai/api-reference/memory/read-a-memory-tier#webpage\",\"url\":\"https://docs.ergoly.ai/api-reference/memory/read-a-memory-tier\",\"name\":\"Read a memory tier\",\"description\":\"Three answers, chosen by the query and never by the state of anything. No repoId lists the tiers this ework can reach — start here, it is how you learn the ids. repoId alone lists what is at path, the repository root by default. Adding read returns the file itself, with the sha a later write can pass as expectedSha, and flags saying whether it is binary or was truncated.\",\"dateModified\":\"2026-11-09T02:24:48.441Z\",\"isPartOf\":{\"@id\":\"https://docs.ergoly.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.ergoly.ai/api-reference/memory/read-a-memory-tier#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.ergoly.ai/api-reference/memory/read-a-memory-tier#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Workers\",\"item\":\"https://docs.ergoly.ai/api-reference/workers/list-workers\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Read a memory tier\",\"item\":\"https://docs.ergoly.ai/api-reference/memory/read-a-memory-tier\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.ergoly.ai/api-reference/memory/read-a-memory-tier#apireference\",\"headline\":\"Read a memory tier\",\"name\":\"Read a memory tier\",\"description\":\"Three answers, chosen by the query and never by the state of anything. No repoId lists the tiers this ework can reach — start here, it is how you learn the ids. repoId alone lists what is at path, the repository root by default. Adding read returns the file itself, with the sha a later write can pass as expectedSha, and flags saying whether it is binary or was truncated.\",\"url\":\"https://docs.ergoly.ai/api-reference/memory/read-a-memory-tier\",\"mainEntityOfPage\":{\"@id\":\"https://docs.ergoly.ai/api-reference/memory/read-a-memory-tier#webpage\"},\"dateModified\":\"2026-11-09T02:24:48.441Z\",\"publisher\":{\"@id\":\"https://docs.ergoly.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.ergoly.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Ergoly\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Ergoly","nav":{"global":null,"tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":""}]},{"tab":"Changelog","icon":"sparkles","pages":[{"title":"Changelog","href":"/changelog"}]},{"tab":"API","icon":"user-robot","groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"The API","href":"/technical/api"}]},{"group":"Company","pages":[{"title":"Get your company","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/organization","href":"/api-reference/organization/get-your-company"},{"title":"List chart placements","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/company/placements","href":"/api-reference/workers/list-chart-placements"},{"title":"Get the activity feed","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/activity","href":"/api-reference/activity/get-the-activity-feed"},{"title":"Get usage","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/usage","href":"/api-reference/usage/get-usage"}]},{"group":"Workers","pages":[{"title":"List workers","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workers","href":"/api-reference/workers/list-workers"},{"title":"Create a worker","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workers","href":"/api-reference/workers/create-a-worker"},{"title":"Get the current worker","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workers/me","href":"/api-reference/workers/get-the-current-worker"},{"title":"Get a worker","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workers/{id}","href":"/api-reference/workers/get-a-worker"},{"title":"Update a worker","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/workers/{id}","href":"/api-reference/workers/update-a-worker"},{"title":"Delete a worker","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/workers/{id}","href":"/api-reference/workers/delete-a-worker"},{"group":"Provisioning","pages":[{"title":"Retry provisioning","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workers/{id}/retry","href":"/api-reference/workers/retry-provisioning"},{"title":"Stop a worker","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workers/{id}/stop","href":"/api-reference/workers/stop-a-worker"},{"title":"Get a provisioning job","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/jobs/{id}","href":"/api-reference/jobs/get-a-provisioning-job"}]},{"group":"Copies (eworks)","pages":[{"title":"List a worker's copies","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workers/{id}/eworks","href":"/api-reference/eworks/list-a-workers-copies"},{"title":"Get a copy","description":"Tier, status, sandbox class, sleep state and the snapshot it was provisioned from, plus the provider ids worth quoting in a support thread. `sleepingAt` set is normal and needs no action — the next turn wakes it.","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/eworks/{id}","href":"/api-reference/eworks/get-a-copy"}]},{"group":"Memory","pages":[{"title":"Read a memory tier","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/eworks/{id}/memory","href":"/api-reference/memory/read-a-memory-tier"},{"title":"Write a file","description":"Send exactly one of `content` (text) or `contentBase64` (bytes) — decoding bytes as text mangles them silently, so sending neither is refused rather than guessed. `changed: false` means the content was already identical and nothing was committed. Every running ework mounting the tier is told, and picks the change up in about twelve seconds.","deprecated":null,"version":null,"openapi":"/openapi.json put /api/v1/eworks/{id}/memory","href":"/api-reference/memory/write-a-file"},{"title":"Write several files","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/eworks/{id}/memory","href":"/api-reference/memory/write-several-files"},{"title":"Delete a file or folder","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/eworks/{id}/memory","href":"/api-reference/memory/delete-a-file-or-folder"}]}]},{"group":"Clients","pages":[{"title":"List clients","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/clients","href":"/api-reference/clients/list-clients"},{"title":"Create a client","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/clients","href":"/api-reference/clients/create-a-client"},{"title":"Get a client","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/clients/{id}","href":"/api-reference/clients/get-a-client"},{"title":"Update a client","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/clients/{id}","href":"/api-reference/clients/update-a-client"},{"title":"Assign a client to a worker","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workers/{id}/clients","href":"/api-reference/clients/assign-a-client-to-a-worker"}]},{"group":"Channels","pages":[{"title":"List Slack channels","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/channels","href":"/api-reference/channels/list-slack-channels"},{"title":"Create a Slack channel","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/channels","href":"/api-reference/channels/create-a-slack-channel"},{"group":"Channel mappings","pages":[{"title":"List channel mappings","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/workers/{id}/channels","href":"/api-reference/channels/list-channel-mappings"},{"title":"Map a channel","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workers/{id}/channels","href":"/api-reference/channels/map-a-channel"},{"title":"Classify a channel","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/workers/{id}/channels/{channel}","href":"/api-reference/channels/classify-a-channel"},{"title":"Unmap a channel","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/workers/{id}/channels/{channel}","href":"/api-reference/channels/unmap-a-channel"},{"title":"Invite a worker to a channel","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/workers/{id}/channels/{channel}/invite","href":"/api-reference/channels/invite-a-worker-to-a-channel"}]}]},{"group":"Tasks","pages":[{"title":"List tasks","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/tasks","href":"/api-reference/tasks/list-tasks"},{"title":"Create a task","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/tasks","href":"/api-reference/tasks/create-a-task"},{"title":"Get a task","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/tasks/{id}","href":"/api-reference/tasks/get-a-task"},{"title":"Hand off a task","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/tasks/{id}/handoff","href":"/api-reference/tasks/hand-off-a-task"},{"title":"Comment on a task","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/tasks/{id}/comments","href":"/api-reference/tasks/comment-on-a-task"},{"title":"Change a task's state","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/tasks/{id}/state","href":"/api-reference/tasks/change-a-tasks-state"},{"group":"Scheduled jobs (routines)","pages":[{"title":"Update a scheduled job","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/tasks/{id}","href":"/api-reference/tasks/update-a-scheduled-job"},{"title":"Cancel a scheduled job","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/tasks/{id}","href":"/api-reference/tasks/cancel-a-scheduled-job"},{"title":"List a job's runs","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/tasks/{id}/runs","href":"/api-reference/tasks/list-a-jobs-runs"},{"title":"Add a target","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/tasks/{id}/targets","href":"/api-reference/tasks/add-a-target"},{"title":"Remove a target","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/tasks/{id}/targets/{targetId}","href":"/api-reference/tasks/remove-a-target"}]}]},{"group":"Webhooks","pages":[{"title":"List webhooks","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/webhooks","href":"/api-reference/webhooks/list-webhooks"},{"title":"Create a webhook","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/webhooks","href":"/api-reference/webhooks/create-a-webhook"},{"title":"Get a webhook","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/webhooks/{id}","href":"/api-reference/webhooks/get-a-webhook"},{"title":"Update a webhook","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/webhooks/{id}","href":"/api-reference/webhooks/update-a-webhook"},{"title":"Revoke a webhook","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/webhooks/{id}","href":"/api-reference/webhooks/revoke-a-webhook"},{"title":"Rotate a webhook secret","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/webhooks/{id}/rotate","href":"/api-reference/webhooks/rotate-a-webhook-secret"},{"title":"List deliveries","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/webhooks/{id}/deliveries","href":"/api-reference/webhooks/list-deliveries"}]},{"group":"Connections","pages":[{"title":"List connections","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/connections","href":"/api-reference/connections/list-connections"},{"title":"Create a connection","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections","href":"/api-reference/connections/create-a-connection"},{"title":"Get a connection","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/connections/{id}","href":"/api-reference/connections/get-a-connection"},{"title":"Update a connection","deprecated":null,"version":null,"openapi":"/openapi.json patch /api/v1/connections/{id}","href":"/api-reference/connections/update-a-connection"},{"title":"Delete a connection","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/connections/{id}","href":"/api-reference/connections/delete-a-connection"},{"title":"Rotate a connection","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections/{id}/rotate","href":"/api-reference/connections/rotate-a-connection"},{"group":"Hosts","pages":[{"title":"List hosts","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/connections/{id}/hosts","href":"/api-reference/connections/list-hosts"},{"title":"Add a host","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections/{id}/hosts","href":"/api-reference/connections/add-a-host"},{"title":"Remove a host","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/connections/{id}/hosts/{host}","href":"/api-reference/connections/remove-a-host"}]},{"group":"Connected apps","pages":[{"title":"Get a connect URL","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections/oauth/{provider}/connect-url","href":"/api-reference/connections/get-a-connect-url"},{"title":"Get a sign-in link","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections/{id}/connect-url","href":"/api-reference/connections/get-a-sign-in-link"},{"title":"Add a placement","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections/{id}/placements","href":"/api-reference/connections/add-a-placement"},{"title":"Remove a placement","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/connections/{id}/placements/{pid}","href":"/api-reference/connections/remove-a-placement"}]},{"group":"MCP servers","pages":[{"title":"Connect an MCP server","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections/mcp","href":"/api-reference/connections/connect-an-mcp-server"},{"title":"Finish an MCP connection","deprecated":null,"version":null,"openapi":"/openapi.json post /api/v1/connections/mcp/{id}/finish","href":"/api-reference/connections/finish-an-mcp-connection"}]},{"group":"Provider apps","pages":[{"title":"Get a provider app","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/connections/provider-apps/{provider}","href":"/api-reference/connections/get-a-provider-app"},{"title":"Set a provider app","deprecated":null,"version":null,"openapi":"/openapi.json put /api/v1/connections/provider-apps/{provider}","href":"/api-reference/connections/set-a-provider-app"},{"title":"Delete a provider app","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/connections/provider-apps/{provider}","href":"/api-reference/connections/delete-a-provider-app"}]},{"group":"Your own OAuth client","pages":[{"title":"Get your OAuth client","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/oauth-apps/{app}","href":"/api-reference/connections/get-your-oauth-client"},{"title":"Set your OAuth client","deprecated":null,"version":null,"openapi":"/openapi.json put /api/v1/oauth-apps/{app}","href":"/api-reference/connections/set-your-oauth-client"},{"title":"Delete your OAuth client","deprecated":null,"version":null,"openapi":"/openapi.json delete /api/v1/oauth-apps/{app}","href":"/api-reference/connections/delete-your-oauth-client"}]}]}]}]},"basePath":"","title":"Read a memory tier - Ergoly","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-Cj6eAYhz.js","dist-CdrJecqK.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-D-TRO5q5.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","AssistantPageLink-CHlcWBLM.js"]}