?window=30d and ?days=30 ask the same question; either is accepted. Longer than 90 days is clamped to 90. ?tz= must be an IANA name and decides where a day starts; it defaults to UTC. A zone this system does not recognize is refused rather than swapped for the default.
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.
{"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/usage/get-usage","slug":"/api-reference/usage/get-usage","pageMetadata":{"title":"Get usage","description":"`?window=30d` and `?days=30` ask the same question; either is accepted. Longer than 90 days is clamped to 90. `?tz=` must be an IANA name and decides where a day starts; it defaults to `UTC`. A zone this system does not recognize is refused rather than swapped for the default.","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/usage","href":"/api-reference/usage/get-usage","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: [_jsx(_components.code, {\n children: \"?window=30d\"\n }), \" and \", _jsx(_components.code, {\n children: \"?days=30\"\n }), \" ask the same question; either is accepted. Longer than 90 days is clamped to 90. \", _jsx(_components.code, {\n children: \"?tz=\"\n }), \" must be an IANA name and decides where a day starts; it defaults to \", _jsx(_components.code, {\n children: \"UTC\"\n }), \". A zone this system does not recognize is refused rather than swapped for the default.\"]\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":"Get usage","description":"`?window=30d` and `?days=30` ask the same question; either is accepted. Longer than 90 days is clamped to 90. `?tz=` must be an IANA name and decides where a day starts; it defaults to `UTC`. A zone this system does not recognize is refused rather than swapped for the default.","deprecated":null,"version":null,"openapi":"/openapi.json get /api/v1/usage","href":"/api-reference/usage/get-usage","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"getUsage","summary":"Get usage","description":"`?window=30d` and `?days=30` ask the same question; either is accepted. Longer than 90 days is clamped to 90. `?tz=` must be an IANA name and decides where a day starts; it defaults to `UTC`. A zone this system does not recognize is refused rather than swapped for the default.","tags":["usage"],"security":["f62e1ac4-1ce4-4c1e-a8a6-a142e772a422"],"parameters":["5ef7714b-4c58-4c39-9191-0605e30621d8","fec72bc9-8aa3-4274-a4b6-7eb20aa290c9","9bcfd21d-f55b-456a-9790-73b23fdd731c"],"responses":{"200":"adbe51ce-1912-4798-a621-81899dc66e15","400":"0eb39e64-aa63-4319-80e9-4a43ecfc39bd","401":"479d6fe7-a1b6-42ee-a3ff-26d296fb50ec","429":"999be431-fa7e-4eb9-8ca7-27a417b74b43"},"method":"get","type":"path","servers":["15355b2c-94fb-418f-acf2-2e27904062bb"],"path":"/api/v1/usage","baseUrlOptions":["https://control.ergoly.ai"],"title":"Get usage","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"5ef7714b-4c58-4c39-9191-0605e30621d8":{"name":"window","in":"query","required":false,"description":"`30d`, `7d`, … Defaults to 30 days. Longer than 90 days is clamped to 90.","schema":{"type":"string","description":"`30d`, `7d`, … Defaults to 30 days. Longer than 90 days is clamped to 90.","isRequired":false,"uniqueKey":"","typeLabel":"string"}},"fec72bc9-8aa3-4274-a4b6-7eb20aa290c9":{"name":"days","in":"query","required":false,"description":"The same question spelled as a number. Either form is accepted.","schema":{"type":"integer","description":"The same question spelled as a number. Either form is accepted.","isRequired":false,"uniqueKey":"","typeLabel":"integer"}},"9bcfd21d-f55b-456a-9790-73b23fdd731c":{"name":"tz","in":"query","required":false,"description":"IANA zone the day buckets are folded in. Defaults to `UTC`.","schema":{"type":"string","description":"IANA zone the day buckets are folded in. Defaults to `UTC`.","isRequired":false,"uniqueKey":"","typeLabel":"string"}}},"responses":{"adbe51ce-1912-4798-a621-81899dc66e15":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Your organization's slice of the hourly rollup.","properties":{"generatedAt":{"type":"string","format":"date-time","description":"When this answer was computed.","isRequired":true,"uniqueKey":"data.generatedAt","typeLabel":"string\u003cdate-time>"},"rollupAsOf":{"oneOf":[{"type":"string","format":"date-time","description":"Newest hour the read model holds — how fresh these numbers are.","isRequired":true,"uniqueKey":"data.rollupAsOf.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Newest hour the read model holds — how fresh these numbers are.","isRequired":true,"uniqueKey":"data.rollupAsOf.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.rollupAsOf","typeLabel":"string\u003cdate-time> | null"},"organizationId":{"type":"string","description":"Always your own organization.","isRequired":true,"uniqueKey":"data.organizationId","typeLabel":"string"},"tz":{"type":"string","description":"The IANA zone the day buckets were folded in.","isRequired":true,"uniqueKey":"data.tz","typeLabel":"string"},"window":{"type":"object","description":"The window these numbers actually cover — every scalar below is folded over exactly this range, so a scalar is the sum of the buckets beside it.","properties":{"days":{"type":"integer","description":"How many local days the window covers.","isRequired":true,"uniqueKey":"data.window.days","typeLabel":"integer"},"start":{"type":"string","format":"date-time","description":"First instant summed.","isRequired":true,"uniqueKey":"data.window.start","typeLabel":"string\u003cdate-time>"},"end":{"type":"string","format":"date-time","description":"Last instant summed.","isRequired":true,"uniqueKey":"data.window.end","typeLabel":"string\u003cdate-time>"}},"required":["days","start","end"],"additionalProperties":false,"isRequired":true,"uniqueKey":"data.window","typeLabel":"object"},"cost":{"type":"object","description":"Per-provider cost. A NULL IS NOT A ZERO: null means no hour in the window measured that provider, which is a different fact from a measured zero. Cost is frozen at the hour it was measured.","properties":{"costDaytonaUsd":{"oneOf":[{"type":"number","description":"Sandbox compute.","isRequired":true,"uniqueKey":"data.cost.costDaytonaUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"Sandbox compute.","isRequired":true,"uniqueKey":"data.cost.costDaytonaUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.cost.costDaytonaUsd","typeLabel":"number | null"},"costFlyUsd":{"oneOf":[{"type":"number","description":"Egress gateway share.","isRequired":true,"uniqueKey":"data.cost.costFlyUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"Egress gateway share.","isRequired":true,"uniqueKey":"data.cost.costFlyUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.cost.costFlyUsd","typeLabel":"number | null"},"costGithubUsd":{"oneOf":[{"type":"number","description":"Memory-tier repository share.","isRequired":true,"uniqueKey":"data.cost.costGithubUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"Memory-tier repository share.","isRequired":true,"uniqueKey":"data.cost.costGithubUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.cost.costGithubUsd","typeLabel":"number | null"},"costWebSearchUsd":{"oneOf":[{"type":"number","description":"Priced web searches.","isRequired":true,"uniqueKey":"data.cost.costWebSearchUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"Priced web searches.","isRequired":true,"uniqueKey":"data.cost.costWebSearchUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.cost.costWebSearchUsd","typeLabel":"number | null"},"costLettaUsd":{"oneOf":[{"type":"number","description":"Null: billed fleet-wide with no per-organization dimension.","isRequired":true,"uniqueKey":"data.cost.costLettaUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"Null: billed fleet-wide with no per-organization dimension.","isRequired":true,"uniqueKey":"data.cost.costLettaUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.cost.costLettaUsd","typeLabel":"number | null"},"costTokensUsd":{"oneOf":[{"type":"number","description":"Model tokens, over the turns that reported them — a lower bound on the spend, not a total. See `tokenCoverage`.","isRequired":true,"uniqueKey":"data.cost.costTokensUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"Model tokens, over the turns that reported them — a lower bound on the spend, not a total. See `tokenCoverage`.","isRequired":true,"uniqueKey":"data.cost.costTokensUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.cost.costTokensUsd","typeLabel":"number | null"},"costVercelUsd":{"oneOf":[{"type":"number","description":"Null: billed fleet-wide.","isRequired":true,"uniqueKey":"data.cost.costVercelUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"Null: billed fleet-wide.","isRequired":true,"uniqueKey":"data.cost.costVercelUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.cost.costVercelUsd","typeLabel":"number | null"},"costGitUsd":{"oneOf":[{"type":"number","description":"Null: billed fleet-wide.","isRequired":true,"uniqueKey":"data.cost.costGitUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"Null: billed fleet-wide.","isRequired":true,"uniqueKey":"data.cost.costGitUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.cost.costGitUsd","typeLabel":"number | null"},"totalUsd":{"oneOf":[{"type":"number","description":"Sum of the above, preserving absence.","isRequired":true,"uniqueKey":"data.cost.totalUsd.oneOf.0","typeLabel":"number"},{"type":"null","description":"Sum of the above, preserving absence.","isRequired":true,"uniqueKey":"data.cost.totalUsd.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.cost.totalUsd","typeLabel":"number | null"},"tokenCoverage":{"type":"object","description":"An UPPER bound on how much of the window's traffic is inside `costTokensUsd`, never an exact one, because coverage counts turns that reported something rather than turns that reported everything. Read the cost without this and you will take part of the traffic for the whole bill; read it with this and it is a lower bound on the spend.","properties":{"turnsWithTokens":{"type":"integer","description":"Turns in the window that reported token counts — something, not necessarily everything. A turn whose per-run reads did not all land inside the collection budget reports the ones that did, so it counts here while its counts are short.","isRequired":true,"uniqueKey":"data.cost.tokenCoverage.turnsWithTokens","typeLabel":"integer"},"turnCount":{"type":"integer","description":"Every turn in the window — the denominator.","isRequired":true,"uniqueKey":"data.cost.tokenCoverage.turnCount","typeLabel":"integer"},"fraction":{"oneOf":[{"type":"number","description":"`turnsWithTokens / turnCount`, or null when no turn ran at all.","isRequired":true,"uniqueKey":"data.cost.tokenCoverage.fraction.oneOf.0","typeLabel":"number"},{"type":"null","description":"`turnsWithTokens / turnCount`, or null when no turn ran at all.","isRequired":true,"uniqueKey":"data.cost.tokenCoverage.fraction.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.cost.tokenCoverage.fraction","typeLabel":"number | null"}},"required":["turnsWithTokens","turnCount","fraction"],"additionalProperties":false,"isRequired":true,"uniqueKey":"data.cost.tokenCoverage","typeLabel":"object"}},"required":["costDaytonaUsd","costFlyUsd","costGithubUsd","costWebSearchUsd","costLettaUsd","costTokensUsd","costVercelUsd","costGitUsd","totalUsd","tokenCoverage"],"additionalProperties":false,"isRequired":true,"uniqueKey":"data.cost","typeLabel":"object"},"turns":{"type":"object","description":"Turn outcomes over the window.","properties":{"total":{"type":"integer","description":"Every turn dispatched in the window.","isRequired":true,"uniqueKey":"data.turns.total","typeLabel":"integer"},"judged":{"type":"integer","description":"`ok + failed + silent` — the rate's denominator and its sample size.","isRequired":true,"uniqueKey":"data.turns.judged","typeLabel":"integer"},"ok":{"type":"integer","description":"Turns that answered.","isRequired":true,"uniqueKey":"data.turns.ok","typeLabel":"integer"},"failed":{"type":"integer","description":"An error frame, or a dispatch that failed outright.","isRequired":true,"uniqueKey":"data.turns.failed","typeLabel":"integer"},"silent":{"type":"integer","description":"Ended with nothing in front of the user and no stated reason.","isRequired":true,"uniqueKey":"data.turns.silent","typeLabel":"integer"},"listenSuppressed":{"type":"integer","description":"The reply could never post, by design. Excluded from `judged`.","isRequired":true,"uniqueKey":"data.turns.listenSuppressed","typeLabel":"integer"},"incomplete":{"type":"integer","description":"No terminal status arrived. Excluded from `judged`.","isRequired":true,"uniqueKey":"data.turns.incomplete","typeLabel":"integer"},"successRate":{"oneOf":[{"type":"number","description":"`ok / judged`, or null when nothing has been judged. Never 0 for an empty set.","isRequired":true,"uniqueKey":"data.turns.successRate.oneOf.0","typeLabel":"number"},{"type":"null","description":"`ok / judged`, or null when nothing has been judged. Never 0 for an empty set.","isRequired":true,"uniqueKey":"data.turns.successRate.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.turns.successRate","typeLabel":"number | null"},"failureRate":{"oneOf":[{"type":"number","description":"`(failed + silent) / judged`, carried so a caller does not invert the rate and disagree in the last decimal.","isRequired":true,"uniqueKey":"data.turns.failureRate.oneOf.0","typeLabel":"number"},{"type":"null","description":"`(failed + silent) / judged`, carried so a caller does not invert the rate and disagree in the last decimal.","isRequired":true,"uniqueKey":"data.turns.failureRate.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.turns.failureRate","typeLabel":"number | null"}},"required":["total","judged","ok","failed","silent","listenSuppressed","incomplete","successRate","failureRate"],"additionalProperties":false,"isRequired":true,"uniqueKey":"data.turns","typeLabel":"object"},"activity":{"type":"object","description":"Counters over the window. Durations preserve absence.","properties":{"conversationsNew":{"type":"integer","description":"Conversations first seen in the window.","isRequired":true,"uniqueKey":"data.activity.conversationsNew","typeLabel":"integer"},"conversationsActive":{"type":"integer","description":"Conversations with traffic in the window.","isRequired":true,"uniqueKey":"data.activity.conversationsActive","typeLabel":"integer"},"taskRuns":{"type":"integer","description":"Scheduled runs started.","isRequired":true,"uniqueKey":"data.activity.taskRuns","typeLabel":"integer"},"taskRunsFinished":{"type":"integer","description":"Runs that reached a terminal state.","isRequired":true,"uniqueKey":"data.activity.taskRunsFinished","typeLabel":"integer"},"taskRunsFailed":{"type":"integer","description":"Runs that failed.","isRequired":true,"uniqueKey":"data.activity.taskRunsFailed","typeLabel":"integer"},"agentTimeMs":{"oneOf":[{"type":"integer","description":"Agent time. Null means no hour measured it.","isRequired":true,"uniqueKey":"data.activity.agentTimeMs.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Agent time. Null means no hour measured it.","isRequired":true,"uniqueKey":"data.activity.agentTimeMs.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.activity.agentTimeMs","typeLabel":"integer | null"},"awakeMs":{"oneOf":[{"type":"integer","description":"Sandbox awake time. Null means no hour measured it.","isRequired":true,"uniqueKey":"data.activity.awakeMs.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Sandbox awake time. Null means no hour measured it.","isRequired":true,"uniqueKey":"data.activity.awakeMs.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.activity.awakeMs","typeLabel":"integer | null"},"presentMs":{"oneOf":[{"type":"integer","description":"Sandbox present time. Null means no hour measured it.","isRequired":true,"uniqueKey":"data.activity.presentMs.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Sandbox present time. Null means no hour measured it.","isRequired":true,"uniqueKey":"data.activity.presentMs.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.activity.presentMs","typeLabel":"integer | null"}},"required":["conversationsNew","conversationsActive","taskRuns","taskRunsFinished","taskRunsFailed","agentTimeMs","awakeMs","presentMs"],"additionalProperties":false,"isRequired":true,"uniqueKey":"data.activity","typeLabel":"object"},"buckets":{"type":"array","items":{"type":"object","description":"One local day. A day crossing a DST boundary collects 23 or 25 hours.","properties":{"key":{"type":"string","description":"The local date, `YYYY-MM-DD` in `tz`.","isRequired":true,"uniqueKey":"data.buckets.items.[INDEX].key","typeLabel":"string"},"label":{"type":"string","description":"A short human label for that day.","isRequired":true,"uniqueKey":"data.buckets.items.[INDEX].label","typeLabel":"string"},"isToday":{"type":"boolean","description":"True for the day in progress.","isRequired":true,"uniqueKey":"data.buckets.items.[INDEX].isToday","typeLabel":"boolean"},"conversations":{"type":"integer","description":"Conversations active that day.","isRequired":true,"uniqueKey":"data.buckets.items.[INDEX].conversations","typeLabel":"integer"},"runs":{"type":"integer","description":"Scheduled runs that day.","isRequired":true,"uniqueKey":"data.buckets.items.[INDEX].runs","typeLabel":"integer"},"failedRuns":{"type":"integer","description":"How many of them failed.","isRequired":true,"uniqueKey":"data.buckets.items.[INDEX].failedRuns","typeLabel":"integer"}},"required":["key","label","isToday","conversations","runs","failedRuns"],"additionalProperties":false,"uniqueKey":"data.buckets.items.[INDEX]","typeLabel":"object"},"description":"Per local day, in `tz`.","isRequired":true,"uniqueKey":"data.buckets","typeLabel":"object[]"}},"required":["generatedAt","rollupAsOf","organizationId","tz","window","cost","turns","activity","buckets"],"additionalProperties":false,"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["data"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"data":{"generatedAt":"2026-03-04T12:00:00.000Z","rollupAsOf":"2026-03-04T11:00:00.000Z","organizationId":"0d4c9f2e-4b8a-4a5b-9e21-6f9c2a1b7d30","tz":"UTC","window":{"days":30,"start":"2026-02-03T00:00:00.000Z","end":"2026-03-05T00:00:00.000Z"},"cost":{"costDaytonaUsd":41.62,"costFlyUsd":3.1,"costGithubUsd":0.84,"costWebSearchUsd":2.05,"costLettaUsd":null,"costTokensUsd":18.44,"costVercelUsd":null,"costGitUsd":null,"totalUsd":66.05,"tokenCoverage":{"turnsWithTokens":412,"turnCount":1188,"fraction":0.3468013468013468}},"turns":{"total":1188,"judged":1150,"ok":1102,"failed":31,"silent":17,"listenSuppressed":22,"incomplete":16,"successRate":0.9582608695652174,"failureRate":0.041739130434782605},"activity":{"conversationsNew":96,"conversationsActive":214,"taskRuns":60,"taskRunsFinished":59,"taskRunsFailed":1,"agentTimeMs":5482910,"awakeMs":19204418,"presentMs":25911002},"buckets":[{"key":"2026-03-03","label":"Mar 3","isToday":false,"conversations":9,"runs":2,"failedRuns":0},{"key":"2026-03-04","label":"Mar 4","isToday":true,"conversations":6,"runs":2,"failedRuns":1}]}},"examples":{"Example":{"title":"Example","value":{"data":{"generatedAt":"2026-03-04T12:00:00.000Z","rollupAsOf":"2026-03-04T11:00:00.000Z","organizationId":"0d4c9f2e-4b8a-4a5b-9e21-6f9c2a1b7d30","tz":"UTC","window":{"days":30,"start":"2026-02-03T00:00:00.000Z","end":"2026-03-05T00:00:00.000Z"},"cost":{"costDaytonaUsd":41.62,"costFlyUsd":3.1,"costGithubUsd":0.84,"costWebSearchUsd":2.05,"costLettaUsd":null,"costTokensUsd":18.44,"costVercelUsd":null,"costGitUsd":null,"totalUsd":66.05,"tokenCoverage":{"turnsWithTokens":412,"turnCount":1188,"fraction":0.3468013468013468}},"turns":{"total":1188,"judged":1150,"ok":1102,"failed":31,"silent":17,"listenSuppressed":22,"incomplete":16,"successRate":0.9582608695652174,"failureRate":0.041739130434782605},"activity":{"conversationsNew":96,"conversationsActive":214,"taskRuns":60,"taskRunsFinished":59,"taskRunsFailed":1,"agentTimeMs":5482910,"awakeMs":19204418,"presentMs":25911002},"buckets":[{"key":"2026-03-03","label":"Mar 3","isToday":false,"conversations":9,"runs":2,"failedRuns":0},{"key":"2026-03-04","label":"Mar 4","isToday":true,"conversations":6,"runs":2,"failedRuns":1}]}}}},"exampleType":"examples"}},"exampleType":"examples"},"0eb39e64-aa63-4319-80e9-4a43ecfc39bd":{"description":"`invalid_request`","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"},"479d6fe7-a1b6-42ee-a3ff-26d296fb50ec":{"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"},"999be431-fa7e-4eb9-8ca7-27a417b74b43":{"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":{"f62e1ac4-1ce4-4c1e-a8a6-a142e772a422":{"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":["usage: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":["usage: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":"Get usage - Ergoly","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T02:24:48.200Z","originalFileLocation":"api-reference/usage/get-usage.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=\"?window=30d and ?days=30 ask the same question; either is accepted. Longer than 90 days is clamped to 90. ?tz= must be an IANA name and decides where a day starts; it defaults to UTC. A zone this system does not recognize is refused rather than swapped for the default.\">\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=\"Get usage - Ergoly\">\u003cmeta data-mint-head property=\"og:description\" content=\"?window=30d and ?days=30 ask the same question; either is accepted. Longer than 90 days is clamped to 90. ?tz= must be an IANA name and decides where a day starts; it defaults to UTC. A zone this system does not recognize is refused rather than swapped for the default.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Ergoly\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.ergoly.ai/api-reference/usage/get-usage\">\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=Company\u0026amp;title=Get+usage\u0026amp;description=%60%3Fwindow%3D30d%60+and+%60%3Fdays%3D30%60+ask+the+same+question%3B+either+is+accepted.+Longer+than+90+days+is+clamped+to+90.+%60%3Ftz%3D%60+must+be+an+IANA+name+and+decides+where+a+da\u0026amp;theme=46f41713e7d152b6296bdf32\u0026amp;signature=c50d358a634449e8599b8e0c0727203fe8610c2385b5a69808841542476ba843\">\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=\"Get usage - Ergoly\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"?window=30d and ?days=30 ask the same question; either is accepted. Longer than 90 days is clamped to 90. ?tz= must be an IANA name and decides where a day starts; it defaults to UTC. A zone this system does not recognize is refused rather than swapped for the default.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://ergoly.mintlify.site/_mintlify/api/og/v2?division=Company\u0026amp;title=Get+usage\u0026amp;description=%60%3Fwindow%3D30d%60+and+%60%3Fdays%3D30%60+ask+the+same+question%3B+either+is+accepted.+Longer+than+90+days+is+clamped+to+90.+%60%3Ftz%3D%60+must+be+an+IANA+name+and+decides+where+a+da\u0026amp;theme=46f41713e7d152b6296bdf32\u0026amp;signature=c50d358a634449e8599b8e0c0727203fe8610c2385b5a69808841542476ba843\">\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/usage/get-usage\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/usage/get-usage.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/usage/get-usage#webpage\",\"url\":\"https://docs.ergoly.ai/api-reference/usage/get-usage\",\"name\":\"Get usage\",\"description\":\"?window=30d and ?days=30 ask the same question; either is accepted. Longer than 90 days is clamped to 90. ?tz= must be an IANA name and decides where a day starts; it defaults to UTC. A zone this system does not recognize is refused rather than swapped for the default.\",\"dateModified\":\"2026-11-09T02:24:48.200Z\",\"isPartOf\":{\"@id\":\"https://docs.ergoly.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.ergoly.ai/api-reference/usage/get-usage#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.ergoly.ai/api-reference/usage/get-usage#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Company\",\"item\":\"https://docs.ergoly.ai/api-reference/organization/get-your-company\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get usage\",\"item\":\"https://docs.ergoly.ai/api-reference/usage/get-usage\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.ergoly.ai/api-reference/usage/get-usage#apireference\",\"headline\":\"Get usage\",\"name\":\"Get usage\",\"description\":\"?window=30d and ?days=30 ask the same question; either is accepted. Longer than 90 days is clamped to 90. ?tz= must be an IANA name and decides where a day starts; it defaults to UTC. A zone this system does not recognize is refused rather than swapped for the default.\",\"url\":\"https://docs.ergoly.ai/api-reference/usage/get-usage\",\"mainEntityOfPage\":{\"@id\":\"https://docs.ergoly.ai/api-reference/usage/get-usage#webpage\"},\"dateModified\":\"2026-11-09T02:24:48.200Z\",\"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","description":"`?kind=` is exact. `?domain=` matches the leading segment of `kind`, so `?domain=api` is every write made through this API. `?actor=` takes a user id, or the literal `system` for rows with no person behind them — which is where your keys' own writes appear.","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","description":"Newest first. Deleted Workers are excluded; their eworks and scheduled jobs are excluded everywhere else for the same reason.","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","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","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":"Get usage - 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"]}