Called by the club’s backend with its org API key when a signed-in fan enters the draw a campaign’s creative leads to. One entry per fan and campaign. When the club’s rules pay an entry from the sponsor’s XP pool linked to the campaign, the fan earns that XP through the ordinary accrual rail, so the club’s earning controls apply and the fan’s balance moves as it does for any award.
{"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":"6af526ed66e069ab19a6e112","clientVersion":"0.0.4111","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":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"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/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign","slug":"/api-reference/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign","pageMetadata":{"title":"Enter a fan in a sponsor's draw on an ad campaign","description":"Called by the club's backend with its org API key when a signed-in fan enters the draw a campaign's creative leads to. One entry per fan and campaign. When the club's rules pay an entry from the sponsor's XP pool linked to the campaign, the fan earns that XP through the ordinary accrual rail, so the club's earning controls apply and the fan's balance moves as it does for any award.","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","autogeneratedByOpenApi":true},"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: \"Called by the club’s backend with its org API key when a signed-in fan enters the draw a campaign’s creative leads to. One entry per fan and campaign. When the club’s rules pay an entry from the sponsor’s XP pool linked to the campaign, the fan earns that XP through the ordinary accrual rail, so the club’s earning controls apply and the fan’s balance moves as it does for any award.\"\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":"Enter a fan in a sponsor's draw on an ad campaign","description":"Called by the club's backend with its org API key when a signed-in fan enters the draw a campaign's creative leads to. One entry per fan and campaign. When the club's rules pay an entry from the sponsor's XP pool linked to the campaign, the fan earns that XP through the ordinary accrual rail, so the club's earning controls apply and the fan's balance moves as it does for any award.","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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createAdCampaignEntry","tags":["Ad entries"],"summary":"Enter a fan in a sponsor's draw on an ad campaign","description":"Called by the club's backend with its org API key when a signed-in fan enters the draw a campaign's creative leads to. One entry per fan and campaign. When the club's rules pay an entry from the sponsor's XP pool linked to the campaign, the fan earns that XP through the ordinary accrual rail, so the club's earning controls apply and the fan's balance moves as it does for any award.","security":["1c18cecc-299d-45da-8145-3d11c3732a52"],"parameters":["e9a4ef5f-8c05-4d09-b546-1ff82b612715"],"requestBody":"84c0daea-2de0-4e54-b724-a2e3a78d5ee5","responses":{"200":"d81de0b3-0ff8-4cea-911a-fc52fe6396fd","401":"5f6336dd-6c2c-470f-b35c-2b7f45359d6b","403":"78ea1e59-bae4-4e04-a80b-903f54caacdc","404":"87503ff7-1935-4eb7-a334-d6362300e77e","409":"0068a00f-27e2-4693-a769-81603eeb3f1f","422":"684ac9ca-40ba-4b62-8c88-894b4399f9ab"},"method":"post","type":"path","servers":["c176665f-fc8c-479a-b327-7b293c67589c"],"path":"/v1/ads/campaigns/{campaign_id}/entries","baseUrlOptions":["https://api.develop.fourdos.dev"],"title":"Enter a fan in a sponsor's draw on an ad campaign","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"e9a4ef5f-8c05-4d09-b546-1ff82b612715":{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"member_external_id":{"type":"string","minLength":1,"maxLength":255,"description":"The fan's id in the club's own system, as the club's backend knows it.","isRequired":true,"uniqueKey":"member_external_id","typeLabel":"string"}},"required":["member_external_id"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"member_external_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"d81de0b3-0ff8-4cea-911a-fc52fe6396fd":{"description":"The entry's outcome","content":{"application/json":{"schema":{"type":"object","properties":{"entry":{"type":"object","additionalProperties":false,"properties":{"status":{"type":"string","enum":["recorded","duplicate","anonymous"],"description":"`recorded`: the fan holds the club's personalised content consent and had no entry on this campaign; the entry is stored with the fan. `duplicate`: the fan already has an entry; nothing is stored and no XP is paid, however often or concurrently this is called. `anonymous`: the fan does not hold the consent; the entry is counted without the fan and pays no XP.","isRequired":true,"uniqueKey":"entry.status","typeLabel":"enum\u003cstring>"},"campaign_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"entry.campaign_id","typeLabel":"string\u003cuuid>"},"advertiser_name":{"oneOf":[{"type":"string","description":"The sponsor whose campaign this is, when it has one.","isRequired":true,"uniqueKey":"entry.advertiser_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"The sponsor whose campaign this is, when it has one.","isRequired":true,"uniqueKey":"entry.advertiser_name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.advertiser_name","typeLabel":"string | null"},"xp":{"type":"string","enum":["funded","none"],"description":"`funded` when the sponsor's XP pool linked to the campaign pays this entry under the club's earning rules. The award is asynchronous and the response never carries an amount; an earning control (a daily cap, say) can still refuse it, as for any award.","isRequired":true,"uniqueKey":"entry.xp","typeLabel":"enum\u003cstring>"}},"required":["status","campaign_id","advertiser_name","xp"],"isRequired":true,"uniqueKey":"entry","typeLabel":"object"}},"required":["entry"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"entry":{"status":"recorded","campaign_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","advertiser_name":"\u003cstring>","xp":"funded"}}}},"exampleType":"generated"}},"exampleType":"generated"},"5f6336dd-6c2c-470f-b35c-2b7f45359d6b":{"description":"Authentication is required","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"},"78ea1e59-bae4-4e04-a80b-903f54caacdc":{"description":"The caller is not an org API key","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"},"87503ff7-1935-4eb7-a334-d6362300e77e":{"description":"The campaign is not this tenant's, or no active member has that member_external_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"},"0068a00f-27e2-4693-a769-81603eeb3f1f":{"description":"`AD_CAMPAIGN_INVALID_STATE`: the campaign is not running (not active, or outside its flight)","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"},"684ac9ca-40ba-4b62-8c88-894b4399f9ab":{"description":"`campaign_id` is not a UUID, or the body failed validation","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":{"1c18cecc-299d-45da-8145-3d11c3732a52":{"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"}}},"servers":{"c176665f-fc8c-479a-b327-7b293c67589c":{"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"}]},"originalFileLocation":"https://api.develop.fourdos.dev/openapi/partner.json"},"subdomain":"4dos","siteName":"4D OS Developer Docs","title":"Enter a fan in a sponsor's draw on an ad campaign - 4D OS Developer Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T02:39:47.594Z","originalFileLocation":"api-reference/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign.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=\"Called by the club\u0026#x27;s backend with its org API key when a signed-in fan enters the draw a campaign\u0026#x27;s creative leads to. One entry per fan and campaign. When the club\u0026#x27;s rules pay an entry from the sponsor\u0026#x27;s XP pool linked to the campaign, the fan earns that XP through the ordinary accrual rail, so the club\u0026#x27;s earning controls apply and the fan\u0026#x27;s balance moves as it does for any award.\">\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=\"Enter a fan in a sponsor\u0026#x27;s draw on an ad campaign - 4D OS Developer Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Called by the club\u0026#x27;s backend with its org API key when a signed-in fan enters the draw a campaign\u0026#x27;s creative leads to. One entry per fan and campaign. When the club\u0026#x27;s rules pay an entry from the sponsor\u0026#x27;s XP pool linked to the campaign, the fan earns that XP through the ordinary accrual rail, so the club\u0026#x27;s earning controls apply and the fan\u0026#x27;s balance moves as it does for any award.\">\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/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign\">\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=Ad+entries\u0026amp;title=Enter+a+fan+in+a+sponsor%27s+draw+on+an+ad+campaign\u0026amp;description=Called+by+the+club%27s+backend+with+its+org+API+key+when+a+signed-in+fan+enters+the+draw+a+campaign%27s+creative+leads+to.+One+entry+per+fan+and+campaign.+When+the+\u0026amp;theme=b85e85529419e0832c327540\u0026amp;signature=a6dc505c88ddc3e3d1e6f678191d6250d9e8591341e10f2c845c8fd73e46205b\">\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=\"Enter a fan in a sponsor\u0026#x27;s draw on an ad campaign - 4D OS Developer Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Called by the club\u0026#x27;s backend with its org API key when a signed-in fan enters the draw a campaign\u0026#x27;s creative leads to. One entry per fan and campaign. When the club\u0026#x27;s rules pay an entry from the sponsor\u0026#x27;s XP pool linked to the campaign, the fan earns that XP through the ordinary accrual rail, so the club\u0026#x27;s earning controls apply and the fan\u0026#x27;s balance moves as it does for any award.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://4dos.mintlify.site/_mintlify/api/og/v2?division=Ad+entries\u0026amp;title=Enter+a+fan+in+a+sponsor%27s+draw+on+an+ad+campaign\u0026amp;description=Called+by+the+club%27s+backend+with+its+org+API+key+when+a+signed-in+fan+enters+the+draw+a+campaign%27s+creative+leads+to.+One+entry+per+fan+and+campaign.+When+the+\u0026amp;theme=b85e85529419e0832c327540\u0026amp;signature=a6dc505c88ddc3e3d1e6f678191d6250d9e8591341e10f2c845c8fd73e46205b\">\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/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign.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/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign#webpage\",\"url\":\"https://docs.fourdos.dev/api-reference/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign\",\"name\":\"Enter a fan in a sponsor's draw on an ad campaign\",\"description\":\"Called by the club's backend with its org API key when a signed-in fan enters the draw a campaign's creative leads to. One entry per fan and campaign. When the club's rules pay an entry from the sponsor's XP pool linked to the campaign, the fan earns that XP through the ordinary accrual rail, so the club's earning controls apply and the fan's balance moves as it does for any award.\",\"dateModified\":\"2026-11-12T02:39:47.594Z\",\"isPartOf\":{\"@id\":\"https://docs.fourdos.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fourdos.dev/api-reference/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fourdos.dev/api-reference/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign#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\":\"Enter a fan in a sponsor's draw on an ad campaign\",\"item\":\"https://docs.fourdos.dev/api-reference/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.fourdos.dev/api-reference/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign#apireference\",\"headline\":\"Enter a fan in a sponsor's draw on an ad campaign\",\"name\":\"Enter a fan in a sponsor's draw on an ad campaign\",\"description\":\"Called by the club's backend with its org API key when a signed-in fan enters the draw a campaign's creative leads to. One entry per fan and campaign. When the club's rules pay an entry from the sponsor's XP pool linked to the campaign, the fan earns that XP through the ordinary accrual rail, so the club's earning controls apply and the fan's balance moves as it does for any award.\",\"url\":\"https://docs.fourdos.dev/api-reference/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fourdos.dev/api-reference/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign#webpage\"},\"dateModified\":\"2026-11-12T02:39:47.594Z\",\"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/ad-entries/enter-a-fan-in-a-sponsors-draw-on-an-ad-campaign.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"}]},{"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":"External integrations","pages":[{"title":"Get integration availability","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/external-data/status","href":"/api-reference/external-integrations/get-integration-availability"},{"title":"List available integrations","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/external-data/catalog","href":"/api-reference/external-integrations/list-available-integrations"},{"title":"List tenant integration connections","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json get /v1/external-data/connections","href":"/api-reference/external-integrations/list-tenant-integration-connections"},{"title":"Create a hosted Composio connection link","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/external-data/connect","href":"/api-reference/external-integrations/create-a-hosted-composio-connection-link"},{"title":"Reconcile accounts using saved server ownership","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/external-data/refresh","href":"/api-reference/external-integrations/reconcile-accounts-using-saved-server-ownership"},{"title":"Snapshot the connected YouTube channel's figures now","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json post /v1/external-data/youtube/sync","href":"/api-reference/external-integrations/snapshot-the-connected-youtube-channels-figures-now"},{"title":"Disconnect a tenant integration","deprecated":null,"version":null,"openapi":"https://api.develop.fourdos.dev/openapi/partner.json delete /v1/external-data/connections/{id}","href":"/api-reference/external-integrations/disconnect-a-tenant-integration"}]},{"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","description":"Server-to-server only: authenticate with an organization API key, never from a browser. Amounts are positive integer minor units (1999 is $19.99) with an ISO 4217 currency; a refund is `type: \"refund\"` with a positive amount. Each event is idempotent on `event_id`: resending it with the same money is reported as `duplicate`, resending it with different money is `rejected`. Totals in the console only include events in the club's reporting currency. Revenue reported here does not award XP.","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","description":"Server to server only: authenticate with an organization API key, never from a browser. Name the fan by your own `member_external_id` or by the platform `user_id` (exactly one). The token is signed by the platform, bound to your organization and that member, and expires after one hour; hand it to your page, which passes it to `GET /v1/ads/serve`. A page cannot forge one or use another club's. Minting stores nothing.","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":"Enter a fan in a sponsor's draw on an ad campaign - 4D OS Developer Docs","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CybtLBIt.js","utils-BMLj2fvV.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-B6In562Y.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dr8Mfhp9.js","snippetPresets-2rmQvMVl.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-WMqJYdZj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CJ-MlPHu.js","shallow-dY3TMRCk.js","getApiPlaygroundDisplay-v-1B2bKm.js","CodeSnippet-BDhiTB7U.js","CodeSnippets-D9hnzQcS.js","Page-C4GwDT3_.js","getPastedJson-Th2V45jI.js","icon-BQXch1W9.js","MethodPill-BCqUneP3.js","DuplicateIcon-Q_-bhurZ.js","createIcon-DUjLHRqp.js","DynamicMarkdown-B-f2cqXQ.js","SectionHeading-Da5NsV4v.js","axios-vUo_bRtp.js","Markdown-D13FWkIM.js","clsx-D3Isdib3.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-C-XZBk9h.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink--qIqmmVG.js"]}