Provide your app name and description. Please make sure to use a clearly identifiable name for your app, as it can be of great help with troubleshooting later on. Optionally, add an image to identify your application. On your app page, you can define the scope of your application and the OAuth parameters. For more details on defining your app scope, check Create Your API Application.
Upon clicking Create new key, the client ID and client secret will be generated and made available as a downloadable .txt file.
Select your app’s authentication method: choose between “Client Credentials” or “Authorization Code”.
For this setup, we are selecting “Client Credentials”, but you can review our OAuth App implementation guide to determine the best option for your organization.
To generate your client_id and client_secret, click the Create new key button. This will trigger a download of a text file containing your API keys. Make sure to store the keys securely for future access.
Once your API application is set up, you must request consent from the advertiser or publisher to access their assets. You can generate multiple URLs, but each URL can only be used once.
Click on Generate new URL. This will generate a fresh new consent URL every time this step is done.
Click the Copy icon to the right of the consent URL field.
Share this URL with a user who has access to the CMax account. Users with Admin, Business Manager or Technical Manager roles can grant consent to API applications in Retail Media. For more details, check User Management in our Help Center
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Criteo Docs","colors":{"primary":"#FE5001","light":"#FE5001","dark":"#FE5001"},"logo":{"light":"https://mintcdn.com/criteo-e1682996/oGhV8AgFf1afoax4/logo/light.svg?fit=max\u0026auto=format\u0026n=oGhV8AgFf1afoax4\u0026q=85\u0026s=25bacaf5d815bd4242b98ca759ed086c","dark":"https://mintcdn.com/criteo-e1682996/oGhV8AgFf1afoax4/logo/dark.svg?fit=max\u0026auto=format\u0026n=oGhV8AgFf1afoax4\u0026q=85\u0026s=28cba1b2ef8d4354739c680b8335cc7c"},"favicon":"https://mintcdn.com/criteo-e1682996/-a_Zn-jb9gMTKnuK/favicon.png?fit=max\u0026auto=format\u0026n=-a_Zn-jb9gMTKnuK\u0026q=85\u0026s=6d00e60b5acc0fba4fca5c228132809a","appearance":{"default":"light"},"background":{"decoration":"gradient"},"navbar":{"links":[{"href":"https://status.criteo.com/","label":"Status"},{"href":"https://partners.criteo.com/","label":"Partner Portal"}],"primary":{"type":"button","label":"Contact Sales","href":"https://www.criteo.com/talk-to-an-expert/"}},"fonts":{"heading":{"family":"Graphik LC Web","source":"https://www.criteo.com/wp-content/themes/criteo2017/fonts/graphik-lc/Graphik-Semibold-Cy-Web.woff2","format":"woff2"},"body":{"family":"Graphik LC Web","source":"https://criteo.com/wp-content/themes/criteo2017/fonts/graphik-lc/Graphik-Regular-Cy-Web.woff2","format":"woff2"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"heap":{"appId":"305485844"}},"contextual":{"options":["copy","view","chatgpt","claude","vscode","grok"],"display":"header"},"navigation":{"global":{},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"criteo-e1682996","hasAudioNarration":false,"actualSubdomain":"criteo-e1682996","customDomains":["developers.criteo.com"],"gitSource":{"type":"github","owner":"criteo","repo":"public-api-doc","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af5df3474b58a8f305810d2","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"default","tag":"API Reference","count":1601},{"language":"default","tag":"Marketing Solutions API","count":1399},{"language":"default","tag":"Retail Media API","count":1058},{"language":"default","tag":"Campaign","count":670},{"language":"default","tag":"Guides","count":660},{"language":"default","tag":"Guides for Retail Media API","count":274},{"language":"default","tag":"Audience","count":226},{"language":"default","tag":"Marketing Solutions Endpoints","count":201},{"language":"default","tag":"Analytics","count":191},{"language":"default","tag":"Creative","count":161}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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}],"starterQuestions":[{"_id":"69c3ab31b75fcc3c3b4cdb3d","deploymentId":"69b6cc72b519f361e0c30b32","questionText":"How do I get started with Onsite Display campaigns?","status":"active","generatedBy":"manual","createdAt":"2026-03-25T09:30:25.685Z","updatedAt":"2026-03-25T09:30:25.685Z","__v":0},{"_id":"69c3ab1fb75fcc3c3b4cdafb","deploymentId":"69b6cc72b519f361e0c30b32","questionText":"How do I get started with Sponsored Products campaigns?","status":"active","generatedBy":"manual","createdAt":"2026-03-25T09:30:07.459Z","updatedAt":"2026-03-25T09:30:07.459Z","__v":0}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"@media (width >= 768px){footer .md\\:truncate{text-overflow:ellipsis;white-space:wrap!important;overflow:visible!important}}"}],"page":{"pagePath":"criteo-apis/docs/oauth-app-client-credentials","slug":"/criteo-apis/docs/oauth-app-client-credentials","pageMetadata":{"title":"OAuth App - Client Credentials Setup","description":"This guide provides step-by-step instructions on setting up an API application using the client credentials workflow","href":"/criteo-apis/docs/oauth-app-client-credentials"},"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: \"This guide provides step-by-step instructions on setting up an API application using the client credentials workflow\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Frame,Heading,OptimizedImage,Warning}=_components;if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`setting-up-an-client-credentials-application`,children:`Setting up an client credentials application`}),`\n`,_jsx(Heading,{level:`2`,id:`client-credential`,children:`Client Credential`}),`\n`,_jsxs(_components.p,{children:[`Log in to the Criteo Partners Portal and create a new app by clicking the ➕ button in the `,_jsx(_components.code,{children:`My apps`}),` section.`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/criteo-e1682996/JUXl4tN6qP1utg1F/images/retail-media/docs/ff276e4-image.png?fit=max\u0026auto=format\u0026n=JUXl4tN6qP1utg1F\u0026q=85\u0026s=02c25d0ce751dd03aa6043ccb3a8bb7f`,alt:`ff276e4 image`,\"data-og-width\":`1852`,width:`1852`,\"data-og-height\":`725`,height:`725`,\"data-path\":`images/retail-media/docs/ff276e4-image.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/criteo-e1682996/JUXl4tN6qP1utg1F/images/retail-media/docs/ff276e4-image.png?w=280\u0026fit=max\u0026auto=format\u0026n=JUXl4tN6qP1utg1F\u0026q=85\u0026s=b4e54f9c17696318ff8e1dc877a0272b 280w, https://mintcdn.com/criteo-e1682996/JUXl4tN6qP1utg1F/images/retail-media/docs/ff276e4-image.png?w=560\u0026fit=max\u0026auto=format\u0026n=JUXl4tN6qP1utg1F\u0026q=85\u0026s=dc54f9e62e9e213ab5a7655363c04501 560w, https://mintcdn.com/criteo-e1682996/JUXl4tN6qP1utg1F/images/retail-media/docs/ff276e4-image.png?w=840\u0026fit=max\u0026auto=format\u0026n=JUXl4tN6qP1utg1F\u0026q=85\u0026s=887fe6c881e1348351fbb00c82663812 840w, https://mintcdn.com/criteo-e1682996/JUXl4tN6qP1utg1F/images/retail-media/docs/ff276e4-image.png?w=1100\u0026fit=max\u0026auto=format\u0026n=JUXl4tN6qP1utg1F\u0026q=85\u0026s=6b3e670774f30f3cbac241b92f23b9fe 1100w, https://mintcdn.com/criteo-e1682996/JUXl4tN6qP1utg1F/images/retail-media/docs/ff276e4-image.png?w=1650\u0026fit=max\u0026auto=format\u0026n=JUXl4tN6qP1utg1F\u0026q=85\u0026s=1261a7d77860ee09633b3419c6c9b314 1650w, https://mintcdn.com/criteo-e1682996/JUXl4tN6qP1utg1F/images/retail-media/docs/ff276e4-image.png?w=2500\u0026fit=max\u0026auto=format\u0026n=JUXl4tN6qP1utg1F\u0026q=85\u0026s=79fe0d62e49dc94b26bfd18241a8618b 2500w`})}),`\n`,_jsx(_components.p,{children:`This opens a modal where you can choose the type of application.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`step-1-create-app`,children:`Step 1. Create app`}),`\n`,_jsx(Heading,{level:`4`,id:`app-details`,children:`App details`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Provide your app name and description. Please make sure to use a clearly identifiable name for your app, as it can be of great help with troubleshooting later on. Optionally, add an image to identify your application. On your app page, you can define the scope of your application and the OAuth parameters. For more details on defining your app scope, check `,_jsx(_components.a,{href:`/criteo-apis/docs/create-your-app`,children:`Create Your API Application`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Upon clicking `,_jsx(_components.code,{children:`Create new key`}),`, the `,_jsx(_components.code,{children:`client ID`}),` and `,_jsx(_components.code,{children:`client secret`}),` will be generated and made available as a downloadable .txt file.`]}),`\n`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/criteo-e1682996/JUXl4tN6qP1utg1F/images/retail-media/docs/ec2ea86-portal-_clientcreds1.gif?s=42896bfb980203d58d9346ec29407e83`,alt:`ec2ea86 portal _clientcreds1`,\"data-og-width\":`1896`,width:`1896`,\"data-og-height\":`725`,height:`725`,\"data-path\":`images/retail-media/docs/ec2ea86-portal-_clientcreds1.gif`,\"data-optimize\":`true`,\"data-opv\":`3`})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`4`,id:`authentication-method`,children:`Authentication method`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Select your app’s authentication method: choose between “`,_jsx(_components.em,{children:`Client Credentials`}),`” or “`,_jsx(_components.em,{children:`Authorization Code`}),`”.`]}),`\n`,_jsxs(_components.li,{children:[`For this setup, we are selecting “`,_jsx(_components.em,{children:`Client Credentials`}),`”, but you can review our `,_jsx(_components.a,{href:`/criteo-apis/docs/oauth-app-implementation`,children:`OAuth App implementation`}),` guide to determine the best option for your organization.`]}),`\n`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/74936ae-client_credentials_option.png?fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=825dc6e1684756d773af9bea6ce49431`,alt:`74936ae client_credentials_option`,\"data-og-width\":`1737`,width:`1737`,\"data-og-height\":`697`,height:`697`,\"data-path\":`images/retail-media/docs/74936ae-client_credentials_option.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/74936ae-client_credentials_option.png?w=280\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=b9f7adf2b6adf80b5a83bbb3aecd4361 280w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/74936ae-client_credentials_option.png?w=560\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=3fccaf80e04527d841ddb9bc1cee542e 560w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/74936ae-client_credentials_option.png?w=840\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=93fde2b7fe3990cfd0545729a3760295 840w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/74936ae-client_credentials_option.png?w=1100\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=53a89868f5f1eb7d025b5a60f37d5bec 1100w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/74936ae-client_credentials_option.png?w=1650\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=502e3f0338486518ee7b6b5c10d96fdd 1650w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/74936ae-client_credentials_option.png?w=2500\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=43894a400a560244fafb4ae39c2949bf 2500w`})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`step-2-app-activation`,children:`Step 2. App activation`}),`\n`,_jsx(Heading,{level:`4`,id:`service`,children:`Service`}),`\n`,_jsx(_components.p,{children:`Choose the Criteo service your API application will use: select C-Growth for Marketing Solutions or C-Max for Retail Media.`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/4a14336-services.png?fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=a8fff9a640270cc13327a45d001b68cb`,alt:`4a14336 services`,\"data-og-width\":`1847`,width:`1847`,\"data-og-height\":`501`,height:`501`,\"data-path\":`images/retail-media/docs/4a14336-services.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/4a14336-services.png?w=280\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=4b6fe96a0597fa4e4041fe968488437a 280w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/4a14336-services.png?w=560\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=bcc0421035feda467a4687fec97ff9b6 560w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/4a14336-services.png?w=840\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=d8f3d15c8a4460a19d6c7fb329c35808 840w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/4a14336-services.png?w=1100\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=733e2aefae707500d720f2504feb5eb2 1100w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/4a14336-services.png?w=1650\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=91755f2426e54d36e1d0e415221844bc 1650w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/4a14336-services.png?w=2500\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=9f6e211f0797ec92b36c65189222dcc3 2500w`})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`step-3-authorizations`,children:`Step 3. Authorizations`}),`\n`,_jsx(Heading,{level:`4`,id:`domains`,children:`Domains`}),`\n`,_jsx(_components.p,{children:`Choose the domains to specify which permissions your application requires.`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/criteo-e1682996/JUXl4tN6qP1utg1F/images/retail-media/docs/fb84380-portal-_step4final_1.gif?s=df8f4678160568d2a6838c638571463b`,alt:`fb84380 portal _step4final_1`,\"data-og-width\":`1896`,width:`1896`,\"data-og-height\":`750`,height:`750`,\"data-path\":`images/retail-media/docs/fb84380-portal-_step4final_1.gif`,\"data-optimize\":`true`,\"data-opv\":`3`})}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`After this step, you can no longer change the name, description, image, or app scope.`})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`app-credentials`,children:`App Credentials`}),`\n`,_jsx(Heading,{level:`3`,id:`create-new-key`,children:`Create new key`}),`\n`,_jsxs(_components.p,{children:[`To generate your `,_jsx(_components.code,{children:`client_id`}),` and `,_jsx(_components.code,{children:`client_secret`}),`, click the `,_jsx(_components.code,{children:`Create new key`}),` button. This will trigger a download of a text file containing your API keys. Make sure to store the keys securely for future access.`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/544d9f0-image.png?fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=0b94269af7d1bee1993658be5fbba562`,alt:`544d9f0 image`,\"data-og-width\":`1824`,width:`1824`,\"data-og-height\":`465`,height:`465`,\"data-path\":`images/retail-media/docs/544d9f0-image.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/544d9f0-image.png?w=280\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=5c1dcbd3c01daebe71735482e0438188 280w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/544d9f0-image.png?w=560\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=d1e6a89e0b9f5ec0e8fc05207120678f 560w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/544d9f0-image.png?w=840\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=9b933549113f8118470ec7e228460ae7 840w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/544d9f0-image.png?w=1100\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=356a85720f133773d0b65a49464f5ab2 1100w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/544d9f0-image.png?w=1650\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=2c8bba2f8ce0da5cc570fa36a91834c8 1650w, https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/544d9f0-image.png?w=2500\u0026fit=max\u0026auto=format\u0026n=KL9i4BnMuq4R7Zhu\u0026q=85\u0026s=384f81336fa0982c6f36205b2693b26a 2500w`})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`consent-url`,children:`Consent URL`}),`\n`,_jsx(Heading,{level:`3`,id:`generate-new-url`,children:`Generate new URL`}),`\n`,_jsxs(_components.p,{children:[`Once your API application is set up, you must request consent from the advertiser or publisher to access their assets. You can generate multiple URLs, but `,_jsx(_components.strong,{children:`each URL can only be used once`}),`.`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/criteo-e1682996/KL9i4BnMuq4R7Zhu/images/retail-media/docs/b205ae3-consenturl.gif?s=bf37299c31801cae048d54be57c06ada`,alt:`b205ae3 consenturl`,\"data-og-width\":`1896`,width:`1896`,\"data-og-height\":`725`,height:`725`,\"data-path\":`images/retail-media/docs/b205ae3-consenturl.gif`,\"data-optimize\":`true`,\"data-opv\":`3`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Click on `,_jsx(_components.code,{children:`Generate new URL`}),`. This will generate a fresh new consent URL every time this step is done.`]}),`\n`,_jsxs(_components.li,{children:[`Click the `,_jsx(_components.code,{children:`Copy`}),` icon to the right of the consent URL field.`]}),`\n`,_jsxs(_components.li,{children:[`Share this URL with a user who has access to the CMax account. Users with `,_jsx(_components.strong,{children:`Admin`}),`, `,_jsx(_components.strong,{children:`Business Manager`}),` or `,_jsx(_components.strong,{children:`Technical Manager`}),` roles can grant consent to API applications in Retail Media. For more details, check `,_jsx(_components.a,{href:`https://help.retailmedia.criteo.com/kb/en/user-management-127278`,children:`User Management`}),` in our Help Center`]}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(`br`,{})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"OAuth App - Client Credentials Setup","description":"This guide provides step-by-step instructions on setting up an API application using the client credentials workflow","href":"/criteo-apis/docs/oauth-app-client-credentials"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Setting up an client credentials application","slug":"setting-up-an-client-credentials-application","depth":1,"children":[]},{"title":"Client Credential","slug":"client-credential","depth":2,"children":[{"title":"Step 1. Create app","slug":"step-1-create-app","depth":3,"children":[]},{"title":"App details","slug":"app-details","depth":4,"children":[]},{"title":"Authentication method","slug":"authentication-method","depth":4,"children":[]},{"title":"Step 2. App activation","slug":"step-2-app-activation","depth":3,"children":[]},{"title":"Service","slug":"service","depth":4,"children":[]},{"title":"Step 3. Authorizations","slug":"step-3-authorizations","depth":3,"children":[]},{"title":"Domains","slug":"domains","depth":4,"children":[]}]},{"title":"App Credentials","slug":"app-credentials","depth":2,"children":[{"title":"Create new key","slug":"create-new-key","depth":3,"children":[]}]},{"title":"Consent URL","slug":"consent-url","depth":2,"children":[{"title":"Generate new URL","slug":"generate-new-url","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"criteo-e1682996","siteName":"Criteo Docs","title":"OAuth App - Client Credentials Setup - Criteo Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-14T10:04:19.166Z","originalFileLocation":"criteo-apis/docs/oauth-app-client-credentials.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=\"light\"}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=\"This guide provides step-by-step instructions on setting up an API application using the client credentials workflow\">\u003cmeta data-mint-head name=\"application-name\" content=\"Criteo 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/criteo-e1682996/Q7JsFULesw3hnXj8/_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/criteo-e1682996/Q7JsFULesw3hnXj8/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/criteo-e1682996/Q7JsFULesw3hnXj8/_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/criteo-e1682996/Q7JsFULesw3hnXj8/_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/criteo-e1682996/Q7JsFULesw3hnXj8/_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/criteo-e1682996/Q7JsFULesw3hnXj8/_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/criteo-e1682996/Q7JsFULesw3hnXj8/_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/criteo-e1682996/Q7JsFULesw3hnXj8/_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/criteo-e1682996/Q7JsFULesw3hnXj8/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"OAuth App - Client Credentials Setup - Criteo Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"This guide provides step-by-step instructions on setting up an API application using the client credentials workflow\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Criteo Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.criteo.com/criteo-apis/docs/oauth-app-client-credentials\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://criteo-e1682996.mintlify.site/_mintlify/api/og/v2?division=OAuth+App+Implementation\u0026amp;title=OAuth+App+-+Client+Credentials+Setup\u0026amp;description=This+guide+provides+step-by-step+instructions+on+setting+up+an+API+application+using+the+client+credentials+workflow\u0026amp;theme=648d77e0e29bbd03aa3fd8b6\u0026amp;signature=b970f5b5fd8e41e2d31fa5a574229bfc93c4bcfe5466656de5f4fa51c2a0328d\">\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=\"OAuth App - Client Credentials Setup - Criteo Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"This guide provides step-by-step instructions on setting up an API application using the client credentials workflow\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://criteo-e1682996.mintlify.site/_mintlify/api/og/v2?division=OAuth+App+Implementation\u0026amp;title=OAuth+App+-+Client+Credentials+Setup\u0026amp;description=This+guide+provides+step-by-step+instructions+on+setting+up+an+API+application+using+the+client+credentials+workflow\u0026amp;theme=648d77e0e29bbd03aa3fd8b6\u0026amp;signature=b970f5b5fd8e41e2d31fa5a574229bfc93c4bcfe5466656de5f4fa51c2a0328d\">\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/criteo-e1682996/Q7JsFULesw3hnXj8/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Criteo Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FE5001\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.criteo.com/criteo-apis/docs/oauth-app-client-credentials\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/criteo-apis/docs/oauth-app-client-credentials.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.criteo.com/#organization\",\"name\":\"Criteo Docs\",\"url\":\"https://developers.criteo.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/criteo-e1682996/oGhV8AgFf1afoax4/logo/light.svg?fit=max\u0026auto=format\u0026n=oGhV8AgFf1afoax4\u0026q=85\u0026s=25bacaf5d815bd4242b98ca759ed086c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.criteo.com#website\",\"name\":\"Criteo Docs\",\"url\":\"https://developers.criteo.com\",\"publisher\":{\"@id\":\"https://developers.criteo.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.criteo.com/criteo-apis/docs/oauth-app-client-credentials#webpage\",\"url\":\"https://developers.criteo.com/criteo-apis/docs/oauth-app-client-credentials\",\"name\":\"OAuth App - Client Credentials Setup\",\"description\":\"This guide provides step-by-step instructions on setting up an API application using the client credentials workflow\",\"dateModified\":\"2026-07-14T10:04:19.166Z\",\"isPartOf\":{\"@id\":\"https://developers.criteo.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.criteo.com/criteo-apis/docs/oauth-app-client-credentials#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.criteo.com/criteo-apis/docs/oauth-app-client-credentials#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Getting Started\",\"item\":\"https://developers.criteo.com/criteo-apis/docs/create-your-partner-account\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OAuth App Implementation\",\"item\":\"https://developers.criteo.com/criteo-apis/docs/oauth-app-implementation\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"OAuth App - Client Credentials Setup\",\"item\":\"https://developers.criteo.com/criteo-apis/docs/oauth-app-client-credentials\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developers.criteo.com/criteo-apis/docs/oauth-app-client-credentials#article\",\"headline\":\"OAuth App - Client Credentials Setup\",\"name\":\"OAuth App - Client Credentials Setup\",\"description\":\"This guide provides step-by-step instructions on setting up an API application using the client credentials workflow\",\"url\":\"https://developers.criteo.com/criteo-apis/docs/oauth-app-client-credentials\",\"mainEntityOfPage\":{\"@id\":\"https://developers.criteo.com/criteo-apis/docs/oauth-app-client-credentials#webpage\"},\"dateModified\":\"2026-07-14T10:04:19.166Z\",\"publisher\":{\"@id\":\"https://developers.criteo.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.criteo.com#website\"}}]}\u003c/script>","agentPointerHref":"/criteo-apis/docs/oauth-app-client-credentials.md","siteName":"Criteo Docs","nav":{"global":{},"products":[{"product":"API Resources","groups":[{"group":"Introduction","pages":[{"title":"Welcome to our API Resources","href":"/criteo-apis/docs/overview"},{"title":"Criteo API Terms and Conditions","href":"/criteo-apis/docs/criteo-api-terms-and-conditions"},{"title":"API Versioning Policy","href":"/criteo-apis/docs/versioning-policy"}]},{"group":"Getting Started","pages":[{"group":"Get connected to the API","root":{"title":"Get connected to the API","href":"/criteo-apis/docs/connect-to-the-api"},"pages":[{"title":"Create Your Partner Account","href":"/criteo-apis/docs/create-your-partner-account"},{"title":"Create Your Organization","href":"/criteo-apis/docs/create-your-organization"},{"title":"Create Your API Application","href":"/criteo-apis/docs/create-your-app"},{"title":"Get Your Credentials","href":"/criteo-apis/docs/get-credentials"},{"title":"Manage Your Account, Organization and Apps","href":"/criteo-apis/docs/developer-accounts-organizations-apps"}]},{"group":"API Authorization","root":{"title":"API Authorization","href":"/criteo-apis/docs/api-authorization"},"pages":[{"title":"Consent URL Generation","href":"/criteo-apis/docs/consent-url-generation"},{"title":"Authorization Requests","href":"/criteo-apis/docs/authorization-requests"}]},{"group":"OAuth App Implementation","root":{"title":"OAuth App Implementation","description":null,"href":"/criteo-apis/docs/oauth-app-implementation"},"pages":[{"title":"OAuth App - Client Credentials Setup","href":"/criteo-apis/docs/oauth-app-client-credentials"},{"title":"OAuth App - Authorization Code Setup","description":"This guide provides step-by-step instructions on setting up an API application using the authorization code workflow","href":"/criteo-apis/docs/oauth-app-authorization-code"},{"title":"OAuth App – Authorization Code \u0026 PKCE Setup","href":"/criteo-apis/docs/oauth-app-authorization-code-pkce-setup"}]}]},{"group":"API Troubleshooting","pages":[{"title":"Troubleshooting Guide","href":"/criteo-apis/docs/api-troubleshooting-guide"},{"title":"Escalation Guidelines","href":"/criteo-apis/docs/escalation-guidelines"},{"title":"API Error Codes","href":"/criteo-apis/docs/api-error-codes"}]},{"group":"Concepts","pages":[{"title":"Authentication","href":"/criteo-apis/docs/authentication"},{"title":"API Pattern","href":"/criteo-apis/docs/api-pattern"},{"title":"API Response","href":"/criteo-apis/docs/api-response"},{"title":"Bulk Calls","href":"/criteo-apis/docs/bulk-calls"},{"title":"Rate Limits","href":"/criteo-apis/docs/rate-limits"},{"title":"API Error Types","href":"/criteo-apis/docs/api-error-types"}]},{"group":"Resources","pages":[{"title":"API Client Libraries","href":"/criteo-apis/docs/api-client-libraries"},{"title":"OpenAPI Specifications","href":"/criteo-apis/docs/criteo-api-swagger"},{"title":"Postman Collection","href":"/criteo-apis/docs/postman-collection"}]}]},{"product":"Retail Media API","pages":[{"title":"Retail Media API","href":"/retail-media/docs/welcome-to-criteo"}]},{"product":"Marketing Solutions API","pages":[{"title":"Marketing Solutions API","href":"/marketing-solutions/docs/welcome-to-criteo"}]},{"product":"Retailer Integration","pages":[{"title":"Retailer Integration","href":"/retailer-integration/docs/overview"}]},{"product":"MMP Integrations","pages":[{"title":"MMP Integrations","href":"/mobile-integrations/docs/mobile-endpoint-specification"}]},{"product":"Model Context Protocol (MCP)","pages":[{"title":"Model Context Protocol (MCP)","href":"/mcp/docs/criteos-model-context-protocol-mcp"}]}]},"basePath":"","title":"OAuth App - Client Credentials Setup - Criteo Docs","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-Dmj010Ph.js","DynamicMarkdown-GHvayGOn.js","zoom-image-lightbox-8gCTkA22.js","lightbox-handle-r17bVUz3.js"]}