Use API-key scopes, idempotency keys, and state versions correctly.
Authentication
Send your secret as a bearer token:
Authorization: Bearer nbq_live_xxx
The key identifies the organization, domain, and allowed scopes. Do not send identity headers: the API derives identity from the key.
Least-privilege scopes
Scope
Access
runtime
Session runtime routes.
configuration:read
Read configuration, questions, and compilation status.
configuration:write
Read and edit the draft.
configuration:publish
Publish and read configuration audit events. Add configuration:read to poll compilation.
Idempotency
Every mutating V1 request requires a unique Idempotency-Key. Replaying the same key with the same payload returns the same logical result without applying the change twice. Reusing a key for a different payload is rejected.Keep keys stable when retrying a request after a timeout. Generate a new key for a new business action.Use the same key and the same payload to recover the result of a timed-out call without creating another turn. Idempotency does not replace optimistic concurrency with state_version.
Optimistic concurrency
Mutations to an existing session include state_version. After a successful mutation, replace your stored value with the version returned by the API.If two workers write from the same version, only one can succeed. On 409 state_version_conflict, read the session again and decide whether the second action still applies.
Do not automatically retry a state conflict with a new version without checking the business action. This could apply an obsolete answer to a newer conversation state.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Zelinqa","colors":{"primary":"#7C3AED","light":"#A78BFA","dark":"#8B5CF6"},"logo":{"light":"https://mintcdn.com/zelinqa-d77427f3/NHQX6jXz7QClMoqF/logo/light.svg?fit=max\u0026auto=format\u0026n=NHQX6jXz7QClMoqF\u0026q=85\u0026s=6cbe3336a207008182be0916b85b70ef","dark":"https://mintcdn.com/zelinqa-d77427f3/NHQX6jXz7QClMoqF/logo/dark.svg?fit=max\u0026auto=format\u0026n=NHQX6jXz7QClMoqF\u0026q=85\u0026s=7ff1e5b30a949dd04c9ea9b6f3e6beaa","href":"https://zelinqa.ai"},"favicon":"https://mintcdn.com/zelinqa-d77427f3/04zoXbeL2ZlFQrrw/favicon.svg?fit=max\u0026auto=format\u0026n=04zoXbeL2ZlFQrrw\u0026q=85\u0026s=76e8077a8df9fee9dce67ea7cf0612cb","api":{"openapi":["openapi.fr.yaml","openapi.yaml"],"playground":{"display":"interactive"},"examples":{"languages":["bash","python","javascript"]}},"navbar":{"primary":{"type":"button","label":"Zelinqa Studio","href":"https://client.zelinqa.ai"}},"styling":{"latex":false},"navigation":{"languages":[{"language":"fr","default":true,"href":"fr/introduction"},{"language":"en","href":"en/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"zelinqa-d77427f3","hasAudioNarration":false,"actualSubdomain":"zelinqa-d77427f3","customDomains":["docs.zelinqa.ai"],"gitSource":{"type":"github","owner":"zelinqa","repo":"nbq-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad54348ae0c8a39b0082ad1","clientVersion":"0.0.4142","searchFilterCounts":[{"language":"en","tag":"API Reference","count":17},{"language":"fr","tag":"Référence API","count":17},{"language":"en","tag":"Developers","count":14},{"language":"fr","tag":"Développeurs","count":14},{"language":"en","tag":"Zelinqa Studio","count":11},{"language":"fr","tag":"Zelinqa Studio","count":11},{"language":"en","tag":"Configure","count":6},{"language":"en","tag":"Configuration","count":6},{"language":"fr","tag":"Configurer","count":6},{"language":"fr","tag":"Configuration","count":6},{"language":"en","tag":"API guides","count":5},{"language":"en","tag":"Guides","count":5},{"language":"en","tag":"Publish and operate","count":5},{"language":"en","tag":"Sessions","count":5},{"language":"fr","tag":"Guides API","count":5},{"language":"fr","tag":"Guides","count":5},{"language":"fr","tag":"Publier et exploiter","count":5},{"language":"fr","tag":"Sessions","count":5},{"language":"en","tag":"Resources","count":3},{"language":"fr","tag":"Ressources","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":""}],"page":{"pagePath":"en/api-reference/auth-concurrency","slug":"/en/api-reference/auth-concurrency","pageMetadata":{"title":"Authentication and concurrency","description":"Use API-key scopes, idempotency keys, and state versions correctly.","href":"/en/api-reference/auth-concurrency"},"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: \"Use API-key scopes, idempotency keys, and state versions correctly.\"\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={code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`authentication`,children:`Authentication`}),`\n`,_jsx(_components.p,{children:`Send your secret as a bearer token:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`http`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Authorization`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Bearer nbq_live_xxx`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`The key identifies the organization, domain, and allowed scopes. Do not send identity headers: the API derives identity from the key.`}),`\n`,_jsx(Heading,{level:`2`,id:`least-privilege-scopes`,children:`Least-privilege scopes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Scope`}),_jsx(_components.th,{children:`Access`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`runtime`})}),_jsx(_components.td,{children:`Session runtime routes.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configuration:read`})}),_jsx(_components.td,{children:`Read configuration, questions, and compilation status.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configuration:write`})}),_jsx(_components.td,{children:`Read and edit the draft.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`configuration:publish`})}),_jsxs(_components.td,{children:[`Publish and read configuration audit events. Add `,_jsx(_components.code,{children:`configuration:read`}),` to poll compilation.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`idempotency`,children:`Idempotency`}),`\n`,_jsxs(_components.p,{children:[`Every mutating V1 request requires a unique `,_jsx(_components.code,{children:`Idempotency-Key`}),`. Replaying the same key with the same payload returns the same logical result without applying the change twice. Reusing a key for a different payload is rejected.`]}),`\n`,_jsx(_components.p,{children:`Keep keys stable when retrying a request after a timeout. Generate a new key for a new business action.`}),`\n`,_jsxs(_components.p,{children:[`Use the `,_jsx(_components.strong,{children:`same key and the same payload`}),` to recover the result of a timed-out call without creating another turn. Idempotency does not replace optimistic concurrency with `,_jsx(_components.code,{children:`state_version`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`optimistic-concurrency`,children:`Optimistic concurrency`}),`\n`,_jsxs(_components.p,{children:[`Mutations to an existing session include `,_jsx(_components.code,{children:`state_version`}),`. After a successful mutation, replace your stored value with the version returned by the API.`]}),`\n`,_jsxs(_components.p,{children:[`If two workers write from the same version, only one can succeed. On `,_jsx(_components.code,{children:`409 state_version_conflict`}),`, read the session again and decide whether the second action still applies.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Do not automatically retry a state conflict with a new version without checking the business action. This could apply an obsolete answer to a newer conversation state.`})})]})}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":"Authentication and concurrency","description":"Use API-key scopes, idempotency keys, and state versions correctly.","href":"/en/api-reference/auth-concurrency"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Authentication","slug":"authentication","depth":2,"children":[]},{"title":"Least-privilege scopes","slug":"least-privilege-scopes","depth":2,"children":[]},{"title":"Idempotency","slug":"idempotency","depth":2,"children":[]},{"title":"Optimistic concurrency","slug":"optimistic-concurrency","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"zelinqa-d77427f3","siteName":"Zelinqa","title":"Authentication and concurrency - Zelinqa","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"fr":{"href":"/fr/api-reference/auth-concurrency","matchLevel":1},"en":{"href":"/en/api-reference/auth-concurrency","matchLevel":0}}},"lastModified":"2026-09-29T18:37:57.256Z","originalFileLocation":"en/api-reference/auth-concurrency.mdx","locale":"en"},"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=\"Use API-key scopes, idempotency keys, and state versions correctly.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Zelinqa\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/zelinqa-d77427f3/DJdTp2ipwe2o2XTM/_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/zelinqa-d77427f3/DJdTp2ipwe2o2XTM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/zelinqa-d77427f3/DJdTp2ipwe2o2XTM/_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/zelinqa-d77427f3/DJdTp2ipwe2o2XTM/_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/zelinqa-d77427f3/DJdTp2ipwe2o2XTM/_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/zelinqa-d77427f3/DJdTp2ipwe2o2XTM/_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/zelinqa-d77427f3/DJdTp2ipwe2o2XTM/_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/zelinqa-d77427f3/DJdTp2ipwe2o2XTM/_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/zelinqa-d77427f3/DJdTp2ipwe2o2XTM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Authentication and concurrency - Zelinqa\">\u003cmeta data-mint-head property=\"og:description\" content=\"Use API-key scopes, idempotency keys, and state versions correctly.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Zelinqa\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.zelinqa.ai/en/api-reference/auth-concurrency\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://zelinqa-d77427f3.mintlify.site/_mintlify/api/og/v2?division=API+guides\u0026amp;title=Authentication+and+concurrency\u0026amp;description=Use+API-key+scopes%2C+idempotency+keys%2C+and+state+versions+correctly.\u0026amp;theme=2bd94d4ac999925d0fca8b51\u0026amp;signature=7eb242256a35b9f189e0d21dd8129d49e5ff5179f67ba18b001fd86eaa710d04\">\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=\"Authentication and concurrency - Zelinqa\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Use API-key scopes, idempotency keys, and state versions correctly.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://zelinqa-d77427f3.mintlify.site/_mintlify/api/og/v2?division=API+guides\u0026amp;title=Authentication+and+concurrency\u0026amp;description=Use+API-key+scopes%2C+idempotency+keys%2C+and+state+versions+correctly.\u0026amp;theme=2bd94d4ac999925d0fca8b51\u0026amp;signature=7eb242256a35b9f189e0d21dd8129d49e5ff5179f67ba18b001fd86eaa710d04\">\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/zelinqa-d77427f3/DJdTp2ipwe2o2XTM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Zelinqa\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7C3AED\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.zelinqa.ai/en/api-reference/auth-concurrency\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/api-reference/auth-concurrency.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.zelinqa.ai/en/api-reference/auth-concurrency\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.zelinqa.ai/fr/api-reference/auth-concurrency\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.zelinqa.ai/fr/api-reference/auth-concurrency\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.zelinqa.ai/#organization\",\"name\":\"Zelinqa\",\"url\":\"https://docs.zelinqa.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/zelinqa-d77427f3/NHQX6jXz7QClMoqF/logo/light.svg?fit=max\u0026auto=format\u0026n=NHQX6jXz7QClMoqF\u0026q=85\u0026s=6cbe3336a207008182be0916b85b70ef\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.zelinqa.ai#website\",\"name\":\"Zelinqa\",\"url\":\"https://docs.zelinqa.ai\",\"publisher\":{\"@id\":\"https://docs.zelinqa.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.zelinqa.ai/en/api-reference/auth-concurrency#webpage\",\"url\":\"https://docs.zelinqa.ai/en/api-reference/auth-concurrency\",\"name\":\"Authentication and concurrency\",\"description\":\"Use API-key scopes, idempotency keys, and state versions correctly.\",\"dateModified\":\"2026-09-29T18:37:57.256Z\",\"isPartOf\":{\"@id\":\"https://docs.zelinqa.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.zelinqa.ai/en/api-reference/auth-concurrency#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.zelinqa.ai/en/api-reference/auth-concurrency#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API guides\",\"item\":\"https://docs.zelinqa.ai/en/api-reference/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Authentication and concurrency\",\"item\":\"https://docs.zelinqa.ai/en/api-reference/auth-concurrency\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.zelinqa.ai/en/api-reference/auth-concurrency#article\",\"headline\":\"Authentication and concurrency\",\"name\":\"Authentication and concurrency\",\"description\":\"Use API-key scopes, idempotency keys, and state versions correctly.\",\"url\":\"https://docs.zelinqa.ai/en/api-reference/auth-concurrency\",\"mainEntityOfPage\":{\"@id\":\"https://docs.zelinqa.ai/en/api-reference/auth-concurrency#webpage\"},\"dateModified\":\"2026-09-29T18:37:57.256Z\",\"publisher\":{\"@id\":\"https://docs.zelinqa.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.zelinqa.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Zelinqa\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Zelinqa\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/en/api-reference/auth-concurrency.md","siteName":"Zelinqa","nav":{"global":null,"languages":[{"language":"fr","default":true,"pages":[{"title":"fr","href":"/fr/api-reference/auth-concurrency"}]},{"language":"en","tabs":[{"tab":"Developers","pages":[{"title":"Developers","href":"/en/introduction"}]},{"tab":"Zelinqa Studio","pages":[{"title":"Zelinqa Studio","href":"/en/studio/overview"}]},{"tab":"API Reference","groups":[{"group":"API guides","pages":[{"title":"V1 API reference","description":"Base URL, resources, and essential rules of the public Zelinqa contract.","href":"/en/api-reference/overview"},{"title":"Authentication and concurrency","href":"/en/api-reference/auth-concurrency"},{"title":"REST API","description":"Integrate Zelinqa V1 directly from any server-side language.","href":"/en/integrations/rest-api"},{"title":"HTTP calls with curl","href":"/en/quickstart/first-api-call"},{"title":"Errors","href":"/en/api-reference/errors"}]},{"group":"Sessions","pages":[{"title":"Create a session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/sessions","href":"/api-reference/sessions/create-a-session"},{"title":"Get the next questions","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/sessions/{session_id}/next","href":"/api-reference/sessions/get-the-next-questions"},{"title":"Apply session events","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/sessions/{session_id}/events","href":"/api-reference/sessions/apply-session-events"},{"title":"Get a session","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/sessions/{session_id}","href":"/api-reference/sessions/get-a-session"},{"title":"Submit conversation feedback","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/sessions/{session_id}/feedback","href":"/api-reference/sessions/submit-conversation-feedback"}]},{"group":"Configuration","pages":[{"title":"Get the configuration","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/configuration","href":"/api-reference/configuration/get-the-configuration"},{"title":"List configuration questions","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/configuration/questions","href":"/api-reference/configuration/list-configuration-questions"},{"title":"List configuration audit events","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/configuration/audit","href":"/api-reference/configuration/list-configuration-audit-events"},{"title":"Apply draft changes","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/configuration/changes","href":"/api-reference/configuration/apply-draft-changes"},{"title":"Publish the configuration","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/configuration/publish","href":"/api-reference/configuration/publish-the-configuration"},{"title":"Get compilation status","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/configuration/compilations/{compilation_id}","href":"/api-reference/configuration/get-compilation-status"}]},{"group":"Service","pages":[{"title":"Check service availability","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/health","href":"/api-reference/legacy/check-service-availability"}]}]}]}]},"basePath":"","title":"Authentication and concurrency - Zelinqa","buildId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","deploymentId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","dynamics":[],"chunks":[]}