Pass the exact customerId as a URL-encoded query value. The plan stays the default: an override replaces its overage price for one customer, for example after you agree a lower rate with them. It never turns overage on. The plan must already have overage, otherwise the request returns 409 plan_has_no_overage.
planId scopes the override to one plan (by its API ID, so it keeps applying after you publish a new version of that plan). Omit it or send null to apply the override to any plan with overage. A plan-specific override beats one for any plan.
unitAmountCents is the price per billingUnits overage credits (default 1), in whole cents. For example, { "unitAmountCents": 100, "billingUnits": 10 } is $1.00 per 10 credits.
capCents is an optional monthly cap for this override. Leave it out to keep the plan’s default cap. A cap the customer set with Set a customer’s overage cap still wins over both.
Send { "planId": "pro", "unitAmountCents": null } to clear the override for that scope and restore the plan rate. There is no delete route. Ledger keeps every change, so the rate history stays.The new rate applies from the next Track usage request. Usage already recorded keeps the rate it was recorded at, so a change mid-period bills as two lines on the renewal invoice: one at the plan rate and one marked “(negotiated rate)”. Get a customer returns the effective rate with overage.source set to override.Overrides aren’t available for live customers yet, because live plans can’t have overage yet: live requests return 409 overage_not_available_in_live_mode. Unknown customers return 404 customer_not_found, and an unknown planId returns 404 plan_not_found. The key needs the customers:write permission.
Monthly overage cap in cents for this override. Omit or null to keep the plan default. The customer's own cap (setCustomerOverageCap) still wins. Omit when clearing.
The effective overage terms on the customer's active paid plan, after this change.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Ledger","description":"Credit billing and usage enforcement for your application","colors":{"primary":"#35643d","light":"#a7ddb4","dark":"#234d2b"},"logo":{"light":"https://mintcdn.com/the-monetization-company/qn4cqzAsWKBiDg3y/logo/light.svg?fit=max\u0026auto=format\u0026n=qn4cqzAsWKBiDg3y\u0026q=85\u0026s=c43f0b298b0376f480fd807a74b0ceee","dark":"https://mintcdn.com/the-monetization-company/qn4cqzAsWKBiDg3y/logo/dark.svg?fit=max\u0026auto=format\u0026n=qn4cqzAsWKBiDg3y\u0026q=85\u0026s=fa122ccc31417d2b77bbccc21759e278"},"favicon":"https://mintcdn.com/the-monetization-company/aKz7Rud5JPuv5NGW/favicon.svg?fit=max\u0026auto=format\u0026n=aKz7Rud5JPuv5NGW\u0026q=85\u0026s=b74404ad940be974dbfac18f9e62a5ab","api":{"playground":{"display":"simple"},"examples":{"languages":["python","curl","typescript"],"autogenerate":false}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"the-monetization-company","hasAudioNarration":false,"actualSubdomain":"the-monetization-company","customDomains":["docs.integrateledger.com"],"gitSource":{"type":"github","owner":"its-ushen","repo":"tmc","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":"","_id":"6ae2d50fa009304b407da8cc"},"chroma":{"latestBuiltDeploymentHistoryId":"6ae9674ce98d225f8a49e88a","collectionId":"8510b152-d440-45d5-9cf6-f963b7b1e005","liveDeploymentHistoryId":"6ae9674ce98d225f8a49e88a","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae9692816b7e854f2211bb3","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"API reference","count":26},{"language":"default","tag":"Documentation","count":9},{"language":"default","tag":"Customers and usage","count":8},{"language":"default","tag":"Add-ons","count":5},{"language":"default","tag":"Features","count":5},{"language":"default","tag":"Plans","count":5},{"language":"default","tag":"Concepts","count":4},{"language":"default","tag":"Billing","count":2},{"language":"default","tag":"Guides","count":2},{"language":"default","tag":"Getting started","count":2}]},"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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/customers/overage-override","slug":"/api-reference/customers/overage-override","pageMetadata":{"title":"Set a customer's overage rate","description":"Set or clear a negotiated overage rate for one customer.","openapi":"openapi.json POST /v1/customers/overage-override","href":"/api-reference/customers/overage-override"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Set or clear a negotiated overage rate for one customer.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components};return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Pass the exact `,_jsx(_components.code,{children:`customerId`}),` as a URL-encoded query value. The plan stays the default: an override replaces its overage price for one customer, for example after you agree a lower rate with them. It never turns overage on. The plan must already have overage, otherwise the request returns `,_jsx(_components.code,{children:`409 plan_has_no_overage`}),`.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`planId`}),` scopes the override to one plan (by its API ID, so it keeps applying after you publish a new version of that plan). Omit it or send `,_jsx(_components.code,{children:`null`}),` to apply the override to any plan with overage. A plan-specific override beats one for any plan.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`unitAmountCents`}),` is the price per `,_jsx(_components.code,{children:`billingUnits`}),` overage credits (default 1), in whole cents. For example, `,_jsx(_components.code,{children:`{ \"unitAmountCents\": 100, \"billingUnits\": 10 }`}),` is $1.00 per 10 credits.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`capCents`}),` is an optional monthly cap for this override. Leave it out to keep the plan’s default cap. A cap the customer set with `,_jsx(_components.a,{href:`/api-reference/customers/overage-cap`,children:`Set a customer’s overage cap`}),` still wins over both.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Send `,_jsx(_components.code,{children:`{ \"planId\": \"pro\", \"unitAmountCents\": null }`}),` to clear the override for that scope and restore the plan rate. There is no delete route. Ledger keeps every change, so the rate history stays.`]}),`\n`,_jsxs(_components.p,{children:[`The new rate applies from the next `,_jsx(_components.a,{href:`/api-reference/usage/track`,children:`Track usage`}),` request. Usage already recorded keeps the rate it was recorded at, so a change mid-period bills as two lines on the renewal invoice: one at the plan rate and one marked “(negotiated rate)”. `,_jsx(_components.a,{href:`/api-reference/customers/get`,children:`Get a customer`}),` returns the effective rate with `,_jsx(_components.code,{children:`overage.source`}),` set to `,_jsx(_components.code,{children:`override`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Overrides aren’t available for live customers yet, because live plans can’t have overage yet: live requests return `,_jsx(_components.code,{children:`409 overage_not_available_in_live_mode`}),`. Unknown customers return `,_jsx(_components.code,{children:`404 customer_not_found`}),`, and an unknown `,_jsx(_components.code,{children:`planId`}),` returns `,_jsx(_components.code,{children:`404 plan_not_found`}),`. The key needs the `,_jsx(_components.code,{children:`customers:write`}),` permission.`]})]})}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":"Set a customer's overage rate","description":"Set or clear a negotiated overage rate for one customer.","openapi":"openapi.json POST /v1/customers/overage-override","href":"/api-reference/customers/overage-override"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"setCustomerOverageOverride","security":["1847466e-5318-43d7-b239-a874733ef41e"],"parameters":["079d0367-e07e-4325-b119-a8c0af708505"],"requestBody":"6cea405c-f25c-4302-ab3e-2add4780bfbb","responses":{"200":"047f49bd-890a-439a-bc34-b7d24a7458fb","400":"dd0f75c2-8be2-4082-904a-c67fe32a3b21","401":"71196b15-1904-4430-ae96-c2d796e44bc4","404":"5ea8a514-7c39-438c-be82-4f77cee3775e","409":"a5dea7e2-2571-434f-88ca-2dbcab2283f3"},"summary":"Set or clear a customer's negotiated overage rate","x-codeSamples":[{"lang":"python","label":"Python SDK","source":"import os\nfrom integrateledger import ledger\n\nclient = ledger(api_key=os.environ[\"LEDGER_API_KEY\"])\nclient.set_customer_overage_override(customer_id=\"user_123\", plan_id=\"pro\", unit_amount_cents=8, billing_units=1)"},{"lang":"bash","label":"cURL","source":"curl --request POST 'https://api.integrateledger.com/v1/customers/overage-override?customerId=user_123' \\\n -H \"Authorization: Bearer $LEDGER_API_KEY\" \\\n -H 'Content-Type: application/json' \\\n --data '{\"planId\":\"pro\",\"unitAmountCents\":8,\"billingUnits\":1}'"},{"lang":"typescript","label":"TypeScript SDK","source":"import ledger from \"integrateledger\";\n\nconst client = new ledger({ apiKey: process.env.LEDGER_API_KEY ?? \"\" });\nawait client.setCustomerOverageOverride({ customerId: \"user_123\", body: { planId: \"pro\", unitAmountCents: 8, billingUnits: 1 } });"}],"description":"Set or clear a negotiated overage rate for one customer.","tags":["Customers"],"method":"post","type":"path","servers":["9ba66d1a-4ecd-4a65-8827-df4fe67aaf05"],"path":"/v1/customers/overage-override","baseUrlOptions":["https://api.integrateledger.com"],"title":"Set or clear a customer's negotiated overage rate","codeSamples":[{"label":"Python SDK","lang":"python","source":"import os\nfrom integrateledger import ledger\n\nclient = ledger(api_key=os.environ[\"LEDGER_API_KEY\"])\nclient.set_customer_overage_override(customer_id=\"user_123\", plan_id=\"pro\", unit_amount_cents=8, billing_units=1)"},{"label":"cURL","lang":"bash","source":"curl --request POST 'https://api.integrateledger.com/v1/customers/overage-override?customerId=user_123' \\\n -H \"Authorization: Bearer $LEDGER_API_KEY\" \\\n -H 'Content-Type: application/json' \\\n --data '{\"planId\":\"pro\",\"unitAmountCents\":8,\"billingUnits\":1}'"},{"label":"TypeScript SDK","lang":"typescript","source":"import ledger from \"integrateledger\";\n\nconst client = new ledger({ apiKey: process.env.LEDGER_API_KEY ?? \"\" });\nawait client.setCustomerOverageOverride({ customerId: \"user_123\", body: { planId: \"pro\", unitAmountCents: 8, billingUnits: 1 } });"}],"requestExampleLanguages":["python","bash","typescript"],"requiredOnlyExamples":false,"disableCodeSampleGeneration":true,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"079d0367-e07e-4325-b119-a8c0af708505":{"schema":{"type":"string","minLength":1,"maxLength":255,"isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"name":"customerId","in":"query"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"unitAmountCents":{"oneOf":[{"type":"integer","exclusiveMinimum":0,"maximum":2147483647,"description":"Negotiated price in cents per billingUnits overage credits. Null clears the override for this planId and restores the plan rate.","isRequired":true,"uniqueKey":"unitAmountCents.oneOf.0","typeLabel":"integer"},{"type":"null","exclusiveMinimum":0,"maximum":2147483647,"description":"Negotiated price in cents per billingUnits overage credits. Null clears the override for this planId and restores the plan rate.","isRequired":true,"uniqueKey":"unitAmountCents.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"unitAmountCents","typeLabel":"integer | null"},"planId":{"oneOf":[{"type":"string","minLength":1,"maxLength":255,"description":"The plan this override applies to. Omit or null to apply it to any plan; a plan-specific override beats one for any plan.","uniqueKey":"planId.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"maxLength":255,"description":"The plan this override applies to. Omit or null to apply it to any plan; a plan-specific override beats one for any plan.","uniqueKey":"planId.oneOf.1","typeLabel":"null"}],"uniqueKey":"planId","typeLabel":"string | null"},"billingUnits":{"type":"integer","exclusiveMinimum":0,"maximum":2147483647,"description":"Credits billed per unitAmountCents. Defaults to 1. Omit when clearing.","uniqueKey":"billingUnits","typeLabel":"integer"},"capCents":{"oneOf":[{"type":"integer","minimum":0,"maximum":2147483647,"description":"Monthly overage cap in cents for this override. Omit or null to keep the plan default. The customer's own cap (setCustomerOverageCap) still wins. Omit when clearing.","uniqueKey":"capCents.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"maximum":2147483647,"description":"Monthly overage cap in cents for this override. Omit or null to keep the plan default. The customer's own cap (setCustomerOverageCap) still wins. Omit when clearing.","uniqueKey":"capCents.oneOf.1","typeLabel":"null"}],"uniqueKey":"capCents","typeLabel":"integer | null"}},"required":["unitAmountCents"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"unitAmountCents":123,"planId":"\u003cstring>","billingUnits":123,"capCents":1073741823}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"047f49bd-890a-439a-bc34-b7d24a7458fb":{"description":"Customer overage override saved or cleared","content":{"application/json":{"schema":{"type":"object","properties":{"customerId":{"type":"string","isRequired":true,"uniqueKey":"customerId","typeLabel":"string"},"planId":{"oneOf":[{"type":"string","description":"The scope that was set or cleared. Null: any plan.","isRequired":true,"uniqueKey":"planId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The scope that was set or cleared. Null: any plan.","isRequired":true,"uniqueKey":"planId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"planId","typeLabel":"string | null"},"override":{"oneOf":[{"type":"object","description":"The override now in force for this planId scope. Null once cleared.","required":["planId","unitAmountCents","billingUnits","capCents","effectiveFrom"],"properties":{"planId":{"oneOf":[{"type":"string","description":"The plan it applies to. Null: any plan.","isRequired":true,"uniqueKey":"override.oneOf.0.planId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The plan it applies to. Null: any plan.","isRequired":true,"uniqueKey":"override.oneOf.0.planId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"override.oneOf.0.planId","typeLabel":"string | null"},"unitAmountCents":{"type":"integer","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"override.oneOf.0.unitAmountCents","typeLabel":"integer"},"billingUnits":{"type":"integer","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"override.oneOf.0.billingUnits","typeLabel":"integer"},"capCents":{"oneOf":[{"type":"integer","minimum":0,"description":"The override's cap. Null: the plan default applies.","isRequired":true,"uniqueKey":"override.oneOf.0.capCents.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"The override's cap. Null: the plan default applies.","isRequired":true,"uniqueKey":"override.oneOf.0.capCents.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"override.oneOf.0.capCents","typeLabel":"integer | null"},"effectiveFrom":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"override.oneOf.0.effectiveFrom","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"override.oneOf.0","typeLabel":"object"},{"type":"null","description":"The override now in force for this planId scope. Null once cleared.","required":["planId","unitAmountCents","billingUnits","capCents","effectiveFrom"],"properties":{"planId":{"oneOf":[{"type":"string","description":"The plan it applies to. Null: any plan."},{"type":"null","description":"The plan it applies to. Null: any plan."}]},"unitAmountCents":{"type":"integer","exclusiveMinimum":0},"billingUnits":{"type":"integer","exclusiveMinimum":0},"capCents":{"oneOf":[{"type":"integer","minimum":0,"description":"The override's cap. Null: the plan default applies."},{"type":"null","minimum":0,"description":"The override's cap. Null: the plan default applies."}]},"effectiveFrom":{"type":"string","format":"date-time"}},"isRequired":true,"uniqueKey":"override.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"override","typeLabel":"object | null"},"overage":{"oneOf":[{"type":"object","description":"The effective overage terms on the customer's active paid plan, after this change.","required":["credits","costCents","unitAmountCents","billingUnits","capCents","capSource","remainingCents","source","override","periodStart","periodEnd"],"properties":{"credits":{"type":"integer","minimum":0,"description":"Overage credits recorded in the current billing period.","isRequired":true,"uniqueKey":"overage.oneOf.0.credits","typeLabel":"integer"},"costCents":{"type":"integer","minimum":0,"description":"This period's overage cost: ceil(credits / billingUnits) × unitAmountCents per recorded rate.","isRequired":true,"uniqueKey":"overage.oneOf.0.costCents","typeLabel":"integer"},"unitAmountCents":{"type":"integer","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"overage.oneOf.0.unitAmountCents","typeLabel":"integer"},"billingUnits":{"type":"integer","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"overage.oneOf.0.billingUnits","typeLabel":"integer"},"capCents":{"oneOf":[{"type":"integer","minimum":0,"description":"Effective monthly overage cap. Null: no cap.","isRequired":true,"uniqueKey":"overage.oneOf.0.capCents.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Effective monthly overage cap. Null: no cap.","isRequired":true,"uniqueKey":"overage.oneOf.0.capCents.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"overage.oneOf.0.capCents","typeLabel":"integer | null"},"capSource":{"oneOf":[{"type":"string","enum":["customer","override","plan",null],"description":"customer: the customer's own cap; override: the customer's overage override; plan: the plan default; null: no cap.","isRequired":true,"uniqueKey":"overage.oneOf.0.capSource.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["customer","override","plan",null],"description":"customer: the customer's own cap; override: the customer's overage override; plan: the plan default; null: no cap.","isRequired":true,"uniqueKey":"overage.oneOf.0.capSource.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"overage.oneOf.0.capSource","typeLabel":"enum\u003cstring> | null"},"remainingCents":{"oneOf":[{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"overage.oneOf.0.remainingCents.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"isRequired":true,"uniqueKey":"overage.oneOf.0.remainingCents.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"overage.oneOf.0.remainingCents","typeLabel":"integer | null"},"source":{"type":"string","enum":["plan","override"],"description":"Where the overage rate comes from: the plan, or an override set with setCustomerOverageOverride.","isRequired":true,"uniqueKey":"overage.oneOf.0.source","typeLabel":"enum\u003cstring>"},"override":{"oneOf":[{"type":"object","properties":{"planId":{"oneOf":[{"type":"string","description":"The plan it applies to. Null: any plan.","isRequired":true,"uniqueKey":"overage.oneOf.0.override.oneOf.0.planId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The plan it applies to. Null: any plan.","isRequired":true,"uniqueKey":"overage.oneOf.0.override.oneOf.0.planId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"overage.oneOf.0.override.oneOf.0.planId","typeLabel":"string | null"},"unitAmountCents":{"type":"integer","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"overage.oneOf.0.override.oneOf.0.unitAmountCents","typeLabel":"integer"},"billingUnits":{"type":"integer","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"overage.oneOf.0.override.oneOf.0.billingUnits","typeLabel":"integer"},"capCents":{"oneOf":[{"type":"integer","minimum":0,"description":"The override's cap. Null: the plan default applies.","isRequired":true,"uniqueKey":"overage.oneOf.0.override.oneOf.0.capCents.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"The override's cap. Null: the plan default applies.","isRequired":true,"uniqueKey":"overage.oneOf.0.override.oneOf.0.capCents.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"overage.oneOf.0.override.oneOf.0.capCents","typeLabel":"integer | null"},"effectiveFrom":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"overage.oneOf.0.override.oneOf.0.effectiveFrom","typeLabel":"string\u003cdate-time>"}},"required":["planId","unitAmountCents","billingUnits","capCents","effectiveFrom"],"description":"The override behind the rate when source is override. Null otherwise.","isRequired":true,"uniqueKey":"overage.oneOf.0.override.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"planId":{"oneOf":[{"type":"string","description":"The plan it applies to. Null: any plan."},{"type":"null","description":"The plan it applies to. Null: any plan."}]},"unitAmountCents":{"type":"integer","exclusiveMinimum":0},"billingUnits":{"type":"integer","exclusiveMinimum":0},"capCents":{"oneOf":[{"type":"integer","minimum":0,"description":"The override's cap. Null: the plan default applies."},{"type":"null","minimum":0,"description":"The override's cap. Null: the plan default applies."}]},"effectiveFrom":{"type":"string","format":"date-time"}},"required":["planId","unitAmountCents","billingUnits","capCents","effectiveFrom"],"description":"The override behind the rate when source is override. Null otherwise.","isRequired":true,"uniqueKey":"overage.oneOf.0.override.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"overage.oneOf.0.override","typeLabel":"object | null"},"periodStart":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"overage.oneOf.0.periodStart","typeLabel":"string\u003cdate-time>"},"periodEnd":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"overage.oneOf.0.periodEnd","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"overage.oneOf.0","typeLabel":"object"},{"type":"null","description":"The effective overage terms on the customer's active paid plan, after this change.","required":["credits","costCents","unitAmountCents","billingUnits","capCents","capSource","remainingCents","source","override","periodStart","periodEnd"],"properties":{"credits":{"type":"integer","minimum":0,"description":"Overage credits recorded in the current billing period."},"costCents":{"type":"integer","minimum":0,"description":"This period's overage cost: ceil(credits / billingUnits) × unitAmountCents per recorded rate."},"unitAmountCents":{"type":"integer","exclusiveMinimum":0},"billingUnits":{"type":"integer","exclusiveMinimum":0},"capCents":{"oneOf":[{"type":"integer","minimum":0,"description":"Effective monthly overage cap. Null: no cap."},{"type":"null","minimum":0,"description":"Effective monthly overage cap. Null: no cap."}]},"capSource":{"oneOf":[{"type":"string","enum":["customer","override","plan",null],"description":"customer: the customer's own cap; override: the customer's overage override; plan: the plan default; null: no cap."},{"type":"null","enum":["customer","override","plan",null],"description":"customer: the customer's own cap; override: the customer's overage override; plan: the plan default; null: no cap."}]},"remainingCents":{"oneOf":[{"type":"integer","minimum":0},{"type":"null","minimum":0}]},"source":{"type":"string","enum":["plan","override"],"description":"Where the overage rate comes from: the plan, or an override set with setCustomerOverageOverride."},"override":{"oneOf":[{"type":"object","properties":{"planId":{"oneOf":[{"type":"string","description":"The plan it applies to. Null: any plan."},{"type":"null","description":"The plan it applies to. Null: any plan."}]},"unitAmountCents":{"type":"integer","exclusiveMinimum":0},"billingUnits":{"type":"integer","exclusiveMinimum":0},"capCents":{"oneOf":[{"type":"integer","minimum":0,"description":"The override's cap. Null: the plan default applies."},{"type":"null","minimum":0,"description":"The override's cap. Null: the plan default applies."}]},"effectiveFrom":{"type":"string","format":"date-time"}},"required":["planId","unitAmountCents","billingUnits","capCents","effectiveFrom"],"description":"The override behind the rate when source is override. Null otherwise."},{"type":"null","properties":{"planId":{"oneOf":[{"type":"string","description":"The plan it applies to. Null: any plan."},{"type":"null","description":"The plan it applies to. Null: any plan."}]},"unitAmountCents":{"type":"integer","exclusiveMinimum":0},"billingUnits":{"type":"integer","exclusiveMinimum":0},"capCents":{"oneOf":[{"type":"integer","minimum":0,"description":"The override's cap. Null: the plan default applies."},{"type":"null","minimum":0,"description":"The override's cap. Null: the plan default applies."}]},"effectiveFrom":{"type":"string","format":"date-time"}},"required":["planId","unitAmountCents","billingUnits","capCents","effectiveFrom"],"description":"The override behind the rate when source is override. Null otherwise."}]},"periodStart":{"type":"string","format":"date-time"},"periodEnd":{"type":"string","format":"date-time"}},"isRequired":true,"uniqueKey":"overage.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"overage","typeLabel":"object | null"}},"required":["customerId","planId","override","overage"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"customerId":"\u003cstring>","planId":"\u003cstring>","override":{"planId":"\u003cstring>","unitAmountCents":123,"billingUnits":123,"capCents":1,"effectiveFrom":"2023-11-07T05:31:56Z"},"overage":{"credits":1,"costCents":1,"unitAmountCents":123,"billingUnits":123,"capCents":1,"capSource":"customer","remainingCents":1,"source":"plan","override":{"planId":"\u003cstring>","unitAmountCents":123,"billingUnits":123,"capCents":1,"effectiveFrom":"2023-11-07T05:31:56Z"},"periodStart":"2023-11-07T05:31:56Z","periodEnd":"2023-11-07T05:31:56Z"}}}},"exampleType":"generated"}},"exampleType":"generated"},"dd0f75c2-8be2-4082-904a-c67fe32a3b21":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"71196b15-1904-4430-ae96-c2d796e44bc4":{"description":"Missing or invalid Ledger API key, or a key without customers:write","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"5ea8a514-7c39-438c-be82-4f77cee3775e":{"description":"Customer or plan not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"a5dea7e2-2571-434f-88ca-2dbcab2283f3":{"description":"The plan has no overage to override, or overage isn't available in live mode yet","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"1847466e-5318-43d7-b239-a874733ef41e":{"ApiKey":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"ApiKey"}}},"servers":{"9ba66d1a-4ecd-4a65-8827-df4fe67aaf05":{"url":"https://api.integrateledger.com","description":"Hosted Ledger API"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"ApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"ApiKey","name":"Authorization"}],"title":"ApiKey"}]},"originalFileLocation":"openapi.json"},"subdomain":"the-monetization-company","siteName":"Ledger","title":"Set a customer's overage rate - Ledger","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T04:55:09.647Z","originalFileLocation":"api-reference/customers/overage-override.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=\"Set or clear a negotiated overage rate for one customer.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Ledger\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/the-monetization-company/dVEbDGNkgU1tesDh/_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/the-monetization-company/dVEbDGNkgU1tesDh/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/the-monetization-company/dVEbDGNkgU1tesDh/_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/the-monetization-company/dVEbDGNkgU1tesDh/_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/the-monetization-company/dVEbDGNkgU1tesDh/_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/the-monetization-company/dVEbDGNkgU1tesDh/_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/the-monetization-company/dVEbDGNkgU1tesDh/_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/the-monetization-company/dVEbDGNkgU1tesDh/_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/the-monetization-company/dVEbDGNkgU1tesDh/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Set a customer\u0026#x27;s overage rate - Ledger\">\u003cmeta data-mint-head property=\"og:description\" content=\"Set or clear a negotiated overage rate for one customer.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Ledger\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.integrateledger.com/api-reference/customers/overage-override\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://the-monetization-company.mintlify.app/_mintlify/api/og/v2?division=Customers+and+usage\u0026amp;title=Set+a+customer%27s+overage+rate\u0026amp;description=Set+or+clear+a+negotiated+overage+rate+for+one+customer.\u0026amp;theme=d5dc30791362b0af29b4af94\u0026amp;signature=846236793b27cd76af1a3f9039e3fa592b60f85d76613230a47e38abf174c46f\">\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=\"Set a customer\u0026#x27;s overage rate - Ledger\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Set or clear a negotiated overage rate for one customer.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://the-monetization-company.mintlify.app/_mintlify/api/og/v2?division=Customers+and+usage\u0026amp;title=Set+a+customer%27s+overage+rate\u0026amp;description=Set+or+clear+a+negotiated+overage+rate+for+one+customer.\u0026amp;theme=d5dc30791362b0af29b4af94\u0026amp;signature=846236793b27cd76af1a3f9039e3fa592b60f85d76613230a47e38abf174c46f\">\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/the-monetization-company/dVEbDGNkgU1tesDh/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Ledger\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#35643d\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.integrateledger.com/api-reference/customers/overage-override\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/customers/overage-override.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.integrateledger.com/#organization\",\"name\":\"Ledger\",\"url\":\"https://docs.integrateledger.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/the-monetization-company/qn4cqzAsWKBiDg3y/logo/light.svg?fit=max\u0026auto=format\u0026n=qn4cqzAsWKBiDg3y\u0026q=85\u0026s=c43f0b298b0376f480fd807a74b0ceee\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.integrateledger.com#website\",\"name\":\"Ledger\",\"url\":\"https://docs.integrateledger.com\",\"publisher\":{\"@id\":\"https://docs.integrateledger.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.integrateledger.com/api-reference/customers/overage-override#webpage\",\"url\":\"https://docs.integrateledger.com/api-reference/customers/overage-override\",\"name\":\"Set a customer's overage rate\",\"description\":\"Set or clear a negotiated overage rate for one customer.\",\"dateModified\":\"2026-11-03T04:55:09.647Z\",\"isPartOf\":{\"@id\":\"https://docs.integrateledger.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.integrateledger.com/api-reference/customers/overage-override#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.integrateledger.com/api-reference/customers/overage-override#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Customers and usage\",\"item\":\"https://docs.integrateledger.com/api-reference/customers/create\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Set a customer's overage rate\",\"item\":\"https://docs.integrateledger.com/api-reference/customers/overage-override\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.integrateledger.com/api-reference/customers/overage-override#apireference\",\"headline\":\"Set a customer's overage rate\",\"name\":\"Set a customer's overage rate\",\"description\":\"Set or clear a negotiated overage rate for one customer.\",\"url\":\"https://docs.integrateledger.com/api-reference/customers/overage-override\",\"mainEntityOfPage\":{\"@id\":\"https://docs.integrateledger.com/api-reference/customers/overage-override#webpage\"},\"dateModified\":\"2026-11-03T04:55:09.647Z\",\"publisher\":{\"@id\":\"https://docs.integrateledger.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.integrateledger.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Ledger\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Ledger","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API reference","groups":[{"group":"Plans","pages":[{"title":"List active plans","openapi":"openapi.json GET /v1/plans","href":"/api-reference/plans/list"},{"title":"Create a plan","openapi":"openapi.json POST /v1/plans","href":"/api-reference/plans/create"},{"title":"Get a plan","openapi":"openapi.json GET /v1/plans/{id}","href":"/api-reference/plans/get"},{"title":"Update a plan","openapi":"openapi.json POST /v1/plans/{id}","href":"/api-reference/plans/update"},{"title":"Archive a plan","openapi":"openapi.json DELETE /v1/plans/{id}","href":"/api-reference/plans/archive"}]},{"group":"Features","pages":[{"title":"List active features","openapi":"openapi.json GET /v1/features","href":"/api-reference/features/list"},{"title":"Create a feature","openapi":"openapi.json POST /v1/features","href":"/api-reference/features/create"},{"title":"Get a feature","openapi":"openapi.json GET /v1/features/{id}","href":"/api-reference/features/get"},{"title":"Update a feature","openapi":"openapi.json POST /v1/features/{id}","href":"/api-reference/features/update"},{"title":"Archive a feature","openapi":"openapi.json DELETE /v1/features/{id}","href":"/api-reference/features/archive"}]},{"group":"Add-ons","pages":[{"title":"List active add-ons","openapi":"openapi.json GET /v1/add-ons","href":"/api-reference/add-ons/list"},{"title":"Create an add-on","openapi":"openapi.json POST /v1/add-ons","href":"/api-reference/add-ons/create"},{"title":"Get an add-on","openapi":"openapi.json GET /v1/add-ons/{id}","href":"/api-reference/add-ons/get"},{"title":"Update an add-on","openapi":"openapi.json POST /v1/add-ons/{id}","href":"/api-reference/add-ons/update"},{"title":"Archive an add-on","openapi":"openapi.json DELETE /v1/add-ons/{id}","href":"/api-reference/add-ons/archive"}]},{"group":"Customers and usage","pages":[{"title":"Create or get a customer","openapi":"openapi.json POST /v1/customers","href":"/api-reference/customers/create"},{"title":"Get a customer","openapi":"openapi.json GET /v1/customers","href":"/api-reference/customers/get"},{"title":"List customer subscriptions","openapi":"openapi.json GET /v1/customers/subscriptions","href":"/api-reference/customers/subscriptions"},{"title":"List customer purchases","openapi":"openapi.json GET /v1/customers/purchases","href":"/api-reference/customers/purchases"},{"title":"Stop or resume renewal","openapi":"openapi.json POST /v1/customers/subscriptions/{subscriptionId}/cancellation","href":"/api-reference/customers/cancellation"},{"title":"Set a customer's overage cap","description":"Set or clear the monthly overage spend limit for one customer.","openapi":"openapi.json POST /v1/customers/overage-cap","href":"/api-reference/customers/overage-cap"},{"title":"Set a customer's overage rate","openapi":"openapi.json POST /v1/customers/overage-override","href":"/api-reference/customers/overage-override"},{"title":"Check a customer's available credits","description":"Check available credits for one customer and feature without consuming any.","openapi":"openapi.json POST /v1/check","href":"/api-reference/usage/check"},{"title":"Record feature usage","openapi":"openapi.json POST /v1/track","href":"/api-reference/usage/track"}]},{"group":"Billing","pages":[{"title":"Attach a plan or add-on to a customer","openapi":"openapi.json POST /v1/billing/attach","href":"/api-reference/billing/attach"},{"title":"Upgrade a paid plan","openapi":"openapi.json POST /v1/billing/upgrade","href":"/api-reference/billing/upgrade"}]},{"group":"Catalog sync","pages":[{"title":"Publish an organization's catalog","openapi":"openapi.json POST /v1/catalog","href":"/api-reference/catalog/publish"}]}]}]},"basePath":"","title":"Set a customer's overage rate - Ledger","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}