XP left against the member’s daily cap, which actions still pay, when the day resets in your organization’s zone, and today’s refusals with the sentence each one shows. Fields are camelCase. With no earning controls configured, limited is false and the lists are empty. A member session may name only its own user id; another id answers 404.
Today's refused awards, as the sentence the member reads.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"4D OS Developer Docs","description":"Public developer documentation for the 4D OS partner platform","colors":{"primary":"#1865D1","light":"#80AAE6","dark":"#1353AE"},"logo":{"light":"https://mintcdn.com/4dos/zox555bidSKp__2J/logo/light.svg?fit=max\u0026auto=format\u0026n=zox555bidSKp__2J\u0026q=85\u0026s=f664509c181b052b368f5e6d97c443cb","dark":"https://mintcdn.com/4dos/zox555bidSKp__2J/logo/dark.svg?fit=max\u0026auto=format\u0026n=zox555bidSKp__2J\u0026q=85\u0026s=ae86b94c4df9a59c79ef008d269dd134"},"favicon":"https://mintcdn.com/4dos/zox555bidSKp__2J/favicon.svg?fit=max\u0026auto=format\u0026n=zox555bidSKp__2J\u0026q=85\u0026s=5e2a089a22e686c5e5c26a6abd8717e4","background":{"color":{"light":"#FFFFFF","dark":"#15161E"}},"footer":{"socials":{}},"fonts":{"heading":{"family":"Plus Jakarta Sans"},"body":{"family":"Inter"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"4dos","hasAudioNarration":false,"actualSubdomain":"4dos","customDomains":["docs.fourdos.dev"],"gitSource":{"type":"github","owner":"pellartech","repo":"fourdos-monorepo","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af6f50f9a8829f8111d8247","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"default","tag":"API Reference","count":53},{"language":"default","tag":"Endpoints","count":52},{"language":"default","tag":"Documentation","count":28},{"language":"default","tag":"Modules","count":17},{"language":"default","tag":"Concepts","count":10},{"language":"default","tag":"Walkthroughs","count":9},{"language":"default","tag":"Users","count":9},{"language":"default","tag":"External integrations","count":7},{"language":"default","tag":"Imports","count":7},{"language":"default","tag":"Content API","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\nimg.nav-logo{height:2.5rem}code,pre,kbd,samp{font-family:\"JetBrains Mono\", ui-monospace, \"SF Mono\", Menlo, Consolas, monospace}"}],"page":{"pagePath":"api-reference/xp/read-what-a-member-can-still-earn-today","slug":"/api-reference/xp/read-what-a-member-can-still-earn-today","pageMetadata":{"title":"Read what a member can still earn today","description":"XP left against the member's daily cap, which actions still pay, when the day resets in your organization's zone, and today's refusals with the sentence each one shows. Fields are camelCase. With no earning controls configured, `limited` is false and the lists are empty. A member session may name only its own user id; another id answers 404.","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users/{userId}/xp-earning","href":"/api-reference/xp/read-what-a-member-can-still-earn-today","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: [\"XP left against the member’s daily cap, which actions still pay, when the day resets in your organization’s zone, and today’s refusals with the sentence each one shows. Fields are camelCase. With no earning controls configured, \", _jsx(_components.code, {\n children: \"limited\"\n }), \" is false and the lists are empty. A member session may name only its own user id; another id answers 404.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Read what a member can still earn today","description":"XP left against the member's daily cap, which actions still pay, when the day resets in your organization's zone, and today's refusals with the sentence each one shows. Fields are camelCase. With no earning controls configured, `limited` is false and the lists are empty. A member session may name only its own user id; another id answers 404.","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users/{userId}/xp-earning","href":"/api-reference/xp/read-what-a-member-can-still-earn-today","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"getMemberXpEarning","tags":["XP"],"summary":"Read what a member can still earn today","description":"XP left against the member's daily cap, which actions still pay, when the day resets in your organization's zone, and today's refusals with the sentence each one shows. Fields are camelCase. With no earning controls configured, `limited` is false and the lists are empty. A member session may name only its own user id; another id answers 404.","security":["03993813-1604-4d75-9570-11e49b9b1b8c","7d91d4b7-f231-49cb-aa33-62c7942ca8ff","d173325d-9e00-4ff3-874c-5a6e2e496136"],"parameters":["6eedc865-5ed4-4cde-afee-60b17e424b6b"],"responses":{"200":"b006f5cc-4135-475f-8c42-629f2c504b74","401":"80043c3d-ecbf-45fb-a776-780b9af49ed3","404":"1055072b-d002-4dc7-a031-2ac219aafa34","422":"8bbf4e3c-f7cf-45f0-824e-d39ee909b365"},"method":"get","type":"path","servers":["7548fbcb-cde8-4991-af4e-42d5cd435d3b"],"path":"/v1/users/{userId}/xp-earning","baseUrlOptions":["https://api.develop.fourdos.dev"],"title":"Read what a member can still earn today","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"6eedc865-5ed4-4cde-afee-60b17e424b6b":{"name":"userId","in":"path","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"responses":{"b006f5cc-4135-475f-8c42-629f2c504b74":{"description":"The member's earning status","content":{"application/json":{"schema":{"type":"object","properties":{"limited":{"type":"boolean","description":"False when your organization has no earning controls; the rest is then empty.","isRequired":true,"uniqueKey":"limited","typeLabel":"boolean"},"timezone":{"type":"string","description":"IANA zone of the organization's earning day.","isRequired":true,"uniqueKey":"timezone","typeLabel":"string"},"resetAt":{"type":"string","format":"date-time","description":"The next midnight in that zone.","isRequired":true,"uniqueKey":"resetAt","typeLabel":"string\u003cdate-time>"},"dailyXp":{"oneOf":[{"type":"object","description":"Null when there is no member daily cap.","properties":{"cap":{"type":"string","description":"A non-negative integer as a decimal string.","isRequired":true,"uniqueKey":"dailyXp.oneOf.0.cap","typeLabel":"string"},"consumed":{"type":"string","description":"A non-negative integer as a decimal string.","isRequired":true,"uniqueKey":"dailyXp.oneOf.0.consumed","typeLabel":"string"},"remaining":{"type":"string","description":"A non-negative integer as a decimal string.","isRequired":true,"uniqueKey":"dailyXp.oneOf.0.remaining","typeLabel":"string"}},"required":["cap","consumed","remaining"],"isRequired":true,"uniqueKey":"dailyXp.oneOf.0","typeLabel":"object"},{"type":"null","description":"Null when there is no member daily cap.","properties":{"cap":{"type":"string","description":"A non-negative integer as a decimal string."},"consumed":{"type":"string","description":"A non-negative integer as a decimal string."},"remaining":{"type":"string","description":"A non-negative integer as a decimal string."}},"required":["cap","consumed","remaining"],"isRequired":true,"uniqueKey":"dailyXp.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"dailyXp","typeLabel":"object | null"},"actions":{"type":"array","items":{"type":"object","properties":{"triggerEventType":{"type":"string","isRequired":true,"uniqueKey":"actions.items.[INDEX].triggerEventType","typeLabel":"string"},"dailyMaxAwards":{"oneOf":[{"type":"integer","description":"Null for unlimited.","isRequired":true,"uniqueKey":"actions.items.[INDEX].dailyMaxAwards.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Null for unlimited.","isRequired":true,"uniqueKey":"actions.items.[INDEX].dailyMaxAwards.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"actions.items.[INDEX].dailyMaxAwards","typeLabel":"integer | null"},"dailyRemaining":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"actions.items.[INDEX].dailyRemaining.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"actions.items.[INDEX].dailyRemaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"actions.items.[INDEX].dailyRemaining","typeLabel":"integer | null"},"lifetimeMaxAwards":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"actions.items.[INDEX].lifetimeMaxAwards.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"actions.items.[INDEX].lifetimeMaxAwards.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"actions.items.[INDEX].lifetimeMaxAwards","typeLabel":"integer | null"},"lifetimeRemaining":{"oneOf":[{"type":"integer","isRequired":true,"uniqueKey":"actions.items.[INDEX].lifetimeRemaining.oneOf.0","typeLabel":"integer"},{"type":"null","isRequired":true,"uniqueKey":"actions.items.[INDEX].lifetimeRemaining.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"actions.items.[INDEX].lifetimeRemaining","typeLabel":"integer | null"},"exhausted":{"type":"boolean","description":"True when either limit has nothing left.","isRequired":true,"uniqueKey":"actions.items.[INDEX].exhausted","typeLabel":"boolean"}},"required":["triggerEventType","dailyMaxAwards","dailyRemaining","lifetimeMaxAwards","lifetimeRemaining","exhausted"],"uniqueKey":"actions.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"actions","typeLabel":"object[]"},"recentRefusals":{"type":"array","description":"Today's refused awards, as the sentence the member reads.","items":{"type":"object","properties":{"refusedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"recentRefusals.items.[INDEX].refusedAt","typeLabel":"string\u003cdate-time>"},"message":{"type":"string","isRequired":true,"uniqueKey":"recentRefusals.items.[INDEX].message","typeLabel":"string"}},"required":["refusedAt","message"],"uniqueKey":"recentRefusals.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"recentRefusals","typeLabel":"object[]"}},"required":["limited","timezone","resetAt","dailyXp","actions","recentRefusals"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"limited":true,"timezone":"\u003cstring>","resetAt":"2023-11-07T05:31:56Z","dailyXp":{"cap":"\u003cstring>","consumed":"\u003cstring>","remaining":"\u003cstring>"},"actions":[{"triggerEventType":"\u003cstring>","dailyMaxAwards":123,"dailyRemaining":123,"lifetimeMaxAwards":123,"lifetimeRemaining":123,"exhausted":true}],"recentRefusals":[{"refusedAt":"2023-11-07T05:31:56Z","message":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"80043c3d-ecbf-45fb-a776-780b9af49ed3":{"description":"`UNAUTHORIZED`: no valid credential","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"status":{"type":"integer","isRequired":true,"uniqueKey":"error.status","typeLabel":"integer"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"required":["code","status","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","status":123,"message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"1055072b-d002-4dc7-a031-2ac219aafa34":{"description":"`NOT_FOUND`: a member session named another user","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"status":{"type":"integer","isRequired":true,"uniqueKey":"error.status","typeLabel":"integer"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"required":["code","status","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","status":123,"message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"8bbf4e3c-f7cf-45f0-824e-d39ee909b365":{"description":"`VALIDATION_ERROR`: the user id is not a valid id","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"status":{"type":"integer","isRequired":true,"uniqueKey":"error.status","typeLabel":"integer"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"required":["code","status","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","status":123,"message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"03993813-1604-4d75-9570-11e49b9b1b8c":{"partnerApiKey":{"type":"http","scheme":"bearer","description":"Organization API key (`org_...`) sent as `Authorization: Bearer \u003ckey>`. Keys are scoped to one organization; every request operates within that tenant.","scopes":[],"schemeName":"partnerApiKey"}},"7d91d4b7-f231-49cb-aa33-62c7942ca8ff":{"adminSession":{"type":"http","scheme":"bearer","description":"Partner admin session token sent as `Authorization: Bearer \u003ctoken>`. Obtained by signing in (console or the email OTP endpoints) and completing the second factor; see the Authentication page.","scopes":[],"schemeName":"adminSession"}},"d173325d-9e00-4ff3-874c-5a6e2e496136":{"memberSession":{"type":"http","scheme":"bearer","description":"A signed-in member's session token sent as `Authorization: Bearer \u003ctoken>`. Accepted only on the operations that list it, and each of those says which user ids a member may name. Your backend uses the organization API key instead.","scopes":[],"schemeName":"memberSession"}}},"servers":{"7548fbcb-cde8-4991-af4e-42d5cd435d3b":{"url":"https://api.develop.fourdos.dev"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Organization API key (`org_...`) sent as `Authorization: Bearer \u003ckey>`. Keys are scoped to one organization; every request operates within that tenant.","scopes":[],"schemeName":"partnerApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Organization API key (`org_...`) sent as `Authorization: Bearer \u003ckey>`. Keys are scoped to one organization; every request operates within that tenant.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"partnerApiKey","name":"Authorization"}],"title":"partnerApiKey"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Partner admin session token sent as `Authorization: Bearer \u003ctoken>`. Obtained by signing in (console or the email OTP endpoints) and completing the second factor; see the Authentication page.","scopes":[],"schemeName":"adminSession"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Partner admin session token sent as `Authorization: Bearer \u003ctoken>`. Obtained by signing in (console or the email OTP endpoints) and completing the second factor; see the Authentication page.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"adminSession","name":"Authorization"}],"title":"adminSession"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"A signed-in member's session token sent as `Authorization: Bearer \u003ctoken>`. Accepted only on the operations that list it, and each of those says which user ids a member may name. Your backend uses the organization API key instead.","scopes":[],"schemeName":"memberSession"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"A signed-in member's session token sent as `Authorization: Bearer \u003ctoken>`. Accepted only on the operations that list it, and each of those says which user ids a member may name. Your backend uses the organization API key instead.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"memberSession","name":"Authorization"}],"title":"memberSession"}]},"originalFileLocation":"https://api.develop.fourdos.dev/openapi/partner.json"},"subdomain":"4dos","siteName":"4D OS Developer Docs","title":"Read what a member can still earn today - 4D OS Developer Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-13T11:31:33.151Z","originalFileLocation":"api-reference/xp/read-what-a-member-can-still-earn-today.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=\"XP left against the member\u0026#x27;s daily cap, which actions still pay, when the day resets in your organization\u0026#x27;s zone, and today\u0026#x27;s refusals with the sentence each one shows. Fields are camelCase. With no earning controls configured, limited is false and the lists are empty. A member session may name only its own user id; another id answers 404.\">\u003cmeta data-mint-head name=\"application-name\" content=\"4D OS Developer Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/4dos/ncF7JlfIXB4OFvnM/_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/4dos/ncF7JlfIXB4OFvnM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/4dos/ncF7JlfIXB4OFvnM/_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/4dos/ncF7JlfIXB4OFvnM/_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/4dos/ncF7JlfIXB4OFvnM/_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/4dos/ncF7JlfIXB4OFvnM/_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/4dos/ncF7JlfIXB4OFvnM/_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/4dos/ncF7JlfIXB4OFvnM/_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/4dos/ncF7JlfIXB4OFvnM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Read what a member can still earn today - 4D OS Developer Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"XP left against the member\u0026#x27;s daily cap, which actions still pay, when the day resets in your organization\u0026#x27;s zone, and today\u0026#x27;s refusals with the sentence each one shows. Fields are camelCase. With no earning controls configured, limited is false and the lists are empty. A member session may name only its own user id; another id answers 404.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"4D OS Developer Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fourdos.dev/api-reference/xp/read-what-a-member-can-still-earn-today\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://4dos.mintlify.site/_mintlify/api/og/v2?division=XP\u0026amp;title=Read+what+a+member+can+still+earn+today\u0026amp;description=XP+left+against+the+member%27s+daily+cap%2C+which+actions+still+pay%2C+when+the+day+resets+in+your+organization%27s+zone%2C+and+today%27s+refusals+with+the+sentence+each+on\u0026amp;theme=b85e85529419e0832c327540\u0026amp;signature=e00a45f9323ab78294c482272b7d2e647c1368e7ec7512f8f8901cedef9666d0\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Read what a member can still earn today - 4D OS Developer Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"XP left against the member\u0026#x27;s daily cap, which actions still pay, when the day resets in your organization\u0026#x27;s zone, and today\u0026#x27;s refusals with the sentence each one shows. Fields are camelCase. With no earning controls configured, limited is false and the lists are empty. A member session may name only its own user id; another id answers 404.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://4dos.mintlify.site/_mintlify/api/og/v2?division=XP\u0026amp;title=Read+what+a+member+can+still+earn+today\u0026amp;description=XP+left+against+the+member%27s+daily+cap%2C+which+actions+still+pay%2C+when+the+day+resets+in+your+organization%27s+zone%2C+and+today%27s+refusals+with+the+sentence+each+on\u0026amp;theme=b85e85529419e0832c327540\u0026amp;signature=e00a45f9323ab78294c482272b7d2e647c1368e7ec7512f8f8901cedef9666d0\">\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/4dos/ncF7JlfIXB4OFvnM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"4D OS Developer Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1865D1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fourdos.dev/api-reference/xp/read-what-a-member-can-still-earn-today\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/xp/read-what-a-member-can-still-earn-today.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fourdos.dev/#organization\",\"name\":\"4D OS Developer Docs\",\"url\":\"https://docs.fourdos.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/4dos/zox555bidSKp__2J/logo/light.svg?fit=max\u0026auto=format\u0026n=zox555bidSKp__2J\u0026q=85\u0026s=f664509c181b052b368f5e6d97c443cb\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fourdos.dev#website\",\"name\":\"4D OS Developer Docs\",\"url\":\"https://docs.fourdos.dev\",\"publisher\":{\"@id\":\"https://docs.fourdos.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fourdos.dev/api-reference/xp/read-what-a-member-can-still-earn-today#webpage\",\"url\":\"https://docs.fourdos.dev/api-reference/xp/read-what-a-member-can-still-earn-today\",\"name\":\"Read what a member can still earn today\",\"description\":\"XP left against the member's daily cap, which actions still pay, when the day resets in your organization's zone, and today's refusals with the sentence each one shows. Fields are camelCase. With no earning controls configured, limited is false and the lists are empty. A member session may name only its own user id; another id answers 404.\",\"dateModified\":\"2026-11-13T11:31:33.151Z\",\"isPartOf\":{\"@id\":\"https://docs.fourdos.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fourdos.dev/api-reference/xp/read-what-a-member-can-still-earn-today#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fourdos.dev/api-reference/xp/read-what-a-member-can-still-earn-today#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.fourdos.dev/api-reference/users/find-members-of-your-organization-by-name-or-email\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"XP\",\"item\":\"https://docs.fourdos.dev/api-reference/xp/read-a-members-spendable-balance-qualifying-xp-and-tier\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Read what a member can still earn today\",\"item\":\"https://docs.fourdos.dev/api-reference/xp/read-what-a-member-can-still-earn-today\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.fourdos.dev/api-reference/xp/read-what-a-member-can-still-earn-today#apireference\",\"headline\":\"Read what a member can still earn today\",\"name\":\"Read what a member can still earn today\",\"description\":\"XP left against the member's daily cap, which actions still pay, when the day resets in your organization's zone, and today's refusals with the sentence each one shows. Fields are camelCase. With no earning controls configured, limited is false and the lists are empty. A member session may name only its own user id; another id answers 404.\",\"url\":\"https://docs.fourdos.dev/api-reference/xp/read-what-a-member-can-still-earn-today\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fourdos.dev/api-reference/xp/read-what-a-member-can-still-earn-today#webpage\"},\"dateModified\":\"2026-11-13T11:31:33.151Z\",\"publisher\":{\"@id\":\"https://docs.fourdos.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fourdos.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"4D OS Developer Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"4D OS Developer Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/xp/read-what-a-member-can-still-earn-today.md","siteName":"4D OS Developer Docs","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API reference overview","href":"/api-reference/overview"}]},{"group":"Endpoints","pages":[{"group":"Users","pages":[{"title":"Find members of your organization by name or email","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users","href":"/api-reference/users/find-members-of-your-organization-by-name-or-email"},{"title":"Create or attach a user (idempotent via Idempotency-Key)","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/users","href":"/api-reference/users/create-or-attach-a-user-idempotent-via-idempotency-key"},{"title":"Fetch a user within the caller's organization","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users/{userId}","href":"/api-reference/users/fetch-a-user-within-the-callers-organization"},{"title":"Update a user's profile fields","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json patch /v1/users/{userId}","href":"/api-reference/users/update-a-users-profile-fields"},{"title":"Lock the caller-org membership for a user","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/users/{userId}/lock","href":"/api-reference/users/lock-the-caller-org-membership-for-a-user"},{"title":"Unlock the caller-org membership for a user","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/users/{userId}/unlock","href":"/api-reference/users/unlock-the-caller-org-membership-for-a-user"},{"title":"List one member's engagement events, newest first","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users/{userId}/engagement/events","href":"/api-reference/users/list-one-members-engagement-events-newest-first"},{"title":"List one member's XP history, newest first","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users/{userId}/xp-history","href":"/api-reference/users/list-one-members-xp-history-newest-first"},{"title":"Remove (soft-delete) the caller-org membership for a user","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json delete /v1/users/{userId}/membership","href":"/api-reference/users/remove-soft-delete-the-caller-org-membership-for-a-user"},{"title":"Read a member's stored attribute values","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users/{userId}/attributes","href":"/api-reference/users/read-a-members-stored-attribute-values"},{"title":"Set or clear a member's attribute values","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json put /v1/users/{userId}/attributes","href":"/api-reference/users/set-or-clear-a-members-attribute-values"}]},{"group":"Consents","pages":[{"title":"List a member's consents","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users/{userId}/consents","href":"/api-reference/consents/list-a-members-consents"},{"title":"Grant a consent or accept an agreement","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/users/{userId}/consents","href":"/api-reference/consents/grant-a-consent-or-accept-an-agreement"},{"title":"Withdraw a consent","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json delete /v1/users/{userId}/consents/{scope}","href":"/api-reference/consents/withdraw-a-consent"}]},{"group":"Rewards","pages":[{"title":"List your published rewards with this member's verdict on each","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users/{userId}/rewards","href":"/api-reference/rewards/list-your-published-rewards-with-this-members-verdict-on-each"},{"title":"Claim a reward for a member","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/users/{userId}/redeem","href":"/api-reference/rewards/claim-a-reward-for-a-member"},{"title":"List a member's claims, newest first","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users/{userId}/redemptions","href":"/api-reference/rewards/list-a-members-claims-newest-first"},{"title":"Read one claim","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users/{userId}/redemptions/{redemptionId}","href":"/api-reference/rewards/read-one-claim"},{"title":"Mark a claim's reward code used","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/users/{userId}/redemptions/{redemptionId}/use","href":"/api-reference/rewards/mark-a-claims-reward-code-used"}]},{"group":"XP","pages":[{"title":"Read a member's spendable balance, qualifying XP and tier","description":"Fields are camelCase. Both figures are read live and the tier is picked from the current ladder on every call. The user is not looked up: an id with no XP account in your organization reads as `\"0\"` with the bottom tier, or `tier: null` when you have no ladder. A member session may name only its own user id.","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users/{userId}/balance","href":"/api-reference/xp/read-a-members-spendable-balance-qualifying-xp-and-tier"},{"title":"Read what a member can still earn today","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users/{userId}/xp-earning","href":"/api-reference/xp/read-what-a-member-can-still-earn-today"},{"title":"Read when a member's XP lapses","description":"With expiry off, `{ \"enabled\": false, \"window_days\": null, \"next\": null, \"schedule\": [] }` for any id. With it on, a member who has never earned gets `next: null` and an empty `schedule`. A member session may name only its own user id; another id answers 404.","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users/{userId}/xp-expiry","href":"/api-reference/xp/read-when-a-members-xp-lapses"},{"title":"Read the XP boost a member earns under right now","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/users/{userId}/xp-boost","href":"/api-reference/xp/read-the-xp-boost-a-member-earns-under-right-now"},{"title":"List what each event pays","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/xp/event-definitions","href":"/api-reference/xp/list-what-each-event-pays"}]},{"group":"Tiers","pages":[{"title":"List your organization's tiers, lowest first","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/tiers","href":"/api-reference/tiers/list-your-organizations-tiers-lowest-first"},{"title":"Read one tier","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/tiers/{tierId}","href":"/api-reference/tiers/read-one-tier"}]},{"group":"Webhooks","pages":[{"title":"List your webhook endpoints, oldest first","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/webhooks","href":"/api-reference/webhooks/list-your-webhook-endpoints-oldest-first"},{"title":"Register a webhook endpoint","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/webhooks","href":"/api-reference/webhooks/register-a-webhook-endpoint"},{"title":"Delete a webhook endpoint","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json delete /v1/webhooks/{id}","href":"/api-reference/webhooks/delete-a-webhook-endpoint"}]},{"group":"Events","pages":[{"title":"Refetch your organization's events from the last 30 days","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/events","href":"/api-reference/events/refetch-your-organizations-events-from-the-last-30-days"}]},{"group":"Imports","pages":[{"title":"Create a bulk import job (starts in `staging`)","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/imports","href":"/api-reference/imports/create-a-bulk-import-job-starts-in-`staging`"},{"title":"Page a job's per-row outcomes, optionally filtered by state","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/imports/{id}/rows","href":"/api-reference/imports/page-a-jobs-per-row-outcomes-optionally-filtered-by-state"},{"title":"Stage a chunk of rows onto a job (≤5k rows/request, job must be `staging`)","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/imports/{id}/rows","href":"/api-reference/imports/stage-a-chunk-of-rows-onto-a-job-≤5k-rowsrequest-job-must-be-`staging`"},{"title":"Seal staging and start async dry-run validation","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/imports/{id}/validate","href":"/api-reference/imports/seal-staging-and-start-async-dry-run-validation"},{"title":"Commit a validated job, or start validation with `dry_run: false` on a `staging` job","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/imports/{id}/commit","href":"/api-reference/imports/commit-a-validated-job-or-start-validation-with-`dry_run:-false`-on-a-`staging`-job"},{"title":"Fetch an import job's status and counts","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/imports/{id}","href":"/api-reference/imports/fetch-an-import-jobs-status-and-counts"},{"title":"Download the invalid+failed rows as CSV (also the console's download URL, cookie auth)","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/imports/{id}/error-report","href":"/api-reference/imports/download-the-invalid+failed-rows-as-csv-also-the-consoles-download-url-cookie-auth"}]},{"group":"API keys","pages":[{"title":"List organization API keys","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/api-keys","href":"/api-reference/api-keys/list-organization-api-keys"},{"title":"Issue an organization API key","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/api-keys","href":"/api-reference/api-keys/issue-an-organization-api-key"},{"title":"Revoke an organization API key","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json delete /v1/api-keys/{keyId}","href":"/api-reference/api-keys/revoke-an-organization-api-key"}]},{"group":"Modules","pages":[{"title":"List modules visible to the caller","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/modules","href":"/api-reference/modules/list-modules-visible-to-the-caller"},{"title":"Create a private module draft","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/modules","href":"/api-reference/modules/create-a-private-module-draft"},{"title":"Get a visible module","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/modules/{moduleId}","href":"/api-reference/modules/get-a-visible-module"},{"title":"List versions for a visible module","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/modules/{moduleId}/versions","href":"/api-reference/modules/list-versions-for-a-visible-module"},{"title":"Create a private module version draft","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/modules/{moduleId}/versions","href":"/api-reference/modules/create-a-private-module-version-draft"},{"title":"Publish a private module version","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/modules/{moduleId}/versions/{versionId}/publish","href":"/api-reference/modules/publish-a-private-module-version"},{"title":"Install a published module","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/modules/{moduleId}/install","href":"/api-reference/modules/install-a-published-module"},{"title":"List the organization's module installations","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/installations","href":"/api-reference/modules/list-the-organizations-module-installations"},{"title":"Get an organization module installation","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/installations/{installationId}","href":"/api-reference/modules/get-an-organization-module-installation"},{"title":"Disable a module installation","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json delete /v1/installations/{installationId}","href":"/api-reference/modules/disable-a-module-installation"},{"title":"Update an installation","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json patch /v1/installations/{installationId}","href":"/api-reference/modules/update-an-installation"},{"title":"List module credentials","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/installations/{installationId}/credentials","href":"/api-reference/modules/list-module-credentials"},{"title":"Issue a module ingest credential","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/installations/{installationId}/credentials","href":"/api-reference/modules/issue-a-module-ingest-credential"},{"title":"Rotate module ingest credentials","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/installations/{installationId}/credentials/rotate","href":"/api-reference/modules/rotate-module-ingest-credentials"},{"title":"Revoke a module ingest credential","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json delete /v1/installations/{installationId}/credentials/{credentialId}","href":"/api-reference/modules/revoke-a-module-ingest-credential"},{"title":"Create a module webhook endpoint","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/installations/{installationId}/webhook-endpoints","href":"/api-reference/modules/create-a-module-webhook-endpoint"},{"title":"Update a module webhook endpoint","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json patch /v1/installations/{installationId}/webhook-endpoints/{endpointId}","href":"/api-reference/modules/update-a-module-webhook-endpoint"}]},{"group":"Ingest","pages":[{"title":"Send a signed module event","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/ingest","href":"/api-reference/ingest/send-a-signed-module-event"}]},{"group":"Engagement","pages":[{"title":"Track engagement events (public, publishable tracking key)","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/track","href":"/api-reference/engagement/track-engagement-events-public-publishable-tracking-key"},{"title":"List the organization's tracking keys","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/engagement/keys","href":"/api-reference/engagement/list-the-organizations-tracking-keys"},{"title":"Issue a publishable tracking key","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/engagement/keys","href":"/api-reference/engagement/issue-a-publishable-tracking-key"},{"title":"Revoke a tracking key (idempotent)","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json delete /v1/engagement/keys/{id}","href":"/api-reference/engagement/revoke-a-tracking-key-idempotent"}]},{"group":"Revenue","pages":[{"title":"Record sales and refunds","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/revenue","href":"/api-reference/revenue/record-sales-and-refunds"}]},{"group":"Ad entries","pages":[{"title":"Enter a fan in a sponsor's draw on an ad campaign","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/ads/campaigns/{campaign_id}/entries","href":"/api-reference/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign"}]},{"group":"Ad delivery","pages":[{"title":"Mint a signed ad identity for a signed-in fan","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/ads/identity-tokens","href":"/api-reference/ad-delivery/mint-a-signed-ad-identity-for-a-signed-in-fan"},{"title":"Fill one ad slot","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/ads/serve","href":"/api-reference/ad-delivery/fill-one-ad-slot"}]}]}]}]},"basePath":"","title":"Read what a member can still earn today - 4D OS Developer Docs","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CDiBsYGW.js","utils-KF9rPlmF.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C26urKTX.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BdjmJAC1.js","snippetPresets-3IpDBjt3.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-D4x_2vvo.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BIWdc5Pa.js","shallow-LQqfiMNd.js","getApiPlaygroundDisplay-DryzlOZG.js","CodeSnippet-tcJujU4r.js","CodeSnippets-BHp0nVLL.js","Page-1CZdsdAn.js","getPastedJson-DU-1ayUv.js","icon-CZK2hPr4.js","MethodPill-DOaqmTFC.js","DuplicateIcon-B5-nUxxl.js","createIcon-CDP_U77G.js","DynamicMarkdown-GHvayGOn.js","SectionHeading-BYvpkmUD.js","axios-vUo_bRtp.js","Markdown-uxhlayGT.js","clsx-B35qUV0p.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BvrGG8gU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CAf0yVYe.js"]}