The access token your connected app obtains through the OAuth 2.1 + PKCE flow works on the Developer API as-is: same header, no separate registration. Two things to know:
The token acts as the user who authorized the app: workspace admins and members can read and write; viewers are read-only.
The token must belong to a user. Service-to-service tokens are rejected with 403.
Refresh the access token with your refresh token as usual; nothing else about your API calls changes.
Auth failures are returned by the gateway with an empty body. The status code carries the meaning:
Status
Meaning
401
Missing, malformed, or invalid token.
403
Token is valid but lacks the required permission, for example a READ-scoped PAT attempting a write or a viewer’s OAuth token doing the same.
A mistyped path or unsupported method under /v1 or /v2 also returns 401 (deny-by-default), not 404. If a valid token is suddenly getting 401s, check the path before the credential.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Inflection Help Center","colors":{"primary":"#0A6E72","light":"#10CFC9","dark":"#082A5F"},"logo":{"light":"https://mintcdn.com/inflection-4b2c0de4/HuHUfaapytjERxAZ/logo/light.svg?fit=max\u0026auto=format\u0026n=HuHUfaapytjERxAZ\u0026q=85\u0026s=81098246e2501d2a46b750c33ea43379","dark":"https://mintcdn.com/inflection-4b2c0de4/HuHUfaapytjERxAZ/logo/dark.svg?fit=max\u0026auto=format\u0026n=HuHUfaapytjERxAZ\u0026q=85\u0026s=f04bdd1942876b51714222e6720a0751","href":"https://www.inflection.io"},"favicon":"https://mintcdn.com/inflection-4b2c0de4/N4VRWuxaoalXbMy_/favicon.png?fit=max\u0026auto=format\u0026n=N4VRWuxaoalXbMy_\u0026q=85\u0026s=314755a3da2ea10586a133a2ebc9b918","api":{"openapi":"api-reference/openapi.yaml"},"appearance":{"default":"dark","strict":false},"background":{"color":{"light":"#FFFFFF","dark":"#081020"}},"navbar":{"links":[{"href":"mailto:support@inflection.io","label":"Support"}],"primary":{"type":"button","label":"Sign in","href":"https://app.inflection.io"}},"footer":{"socials":{"website":"https://www.inflection.io","linkedin":"https://www.linkedin.com/company/inflection-io"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"inflection-4b2c0de4","hasAudioNarration":false,"actualSubdomain":"inflection-4b2c0de4","customDomains":["docs.inflection.io"],"gitSource":{"type":"github","owner":"inflectionio","repo":"mintlify-docs","deployBranch":"develop","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"e91b9853-d8a4-4cab-8b72-db2865e9a30c","liveDeploymentHistoryId":"6ae41ef78d7f530c870ed1b1","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae41ef78d7f530c870ed1b1"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae41ef78d7f530c870ed1b1","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Product Docs","count":62},{"language":"default","tag":"Developer APIs","count":49},{"language":"default","tag":"What's New","count":28},{"language":"default","tag":"Connections \u0026 Mapping","count":26},{"language":"default","tag":"Getting Started","count":15},{"language":"default","tag":"MCP and Agents","count":12},{"language":"default","tag":"Journeys \u0026 Assets","count":12},{"language":"default","tag":"Inbound Webhook Setup Guides","count":8},{"language":"default","tag":"Lists","count":8},{"language":"default","tag":"Database \u0026 Audiences","count":7}]},"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":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/authentication","slug":"/api-reference/authentication","pageMetadata":{"title":"Authentication","description":"Two ways to authenticate: a Personal Access Token or an OAuth 2.1 connected app.","icon":"key","href":"/api-reference/authentication"},"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: \"Two ways to authenticate: a Personal Access Token or an OAuth 2.1 connected app.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._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:[_jsxs(_components.p,{children:[`Every call is authenticated with a bearer credential in the `,_jsx(_components.code,{children:`Authorization`}),` header:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,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:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Authorization: Bearer \u003ctoken>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Two kinds of token work. Pick by how your integration runs:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{}),_jsx(_components.th,{children:`Personal Access Token (PAT)`}),_jsx(_components.th,{children:`OAuth 2.1 connected app`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Best for`}),_jsx(_components.td,{children:`Scripts, internal tools, server-side jobs`}),_jsx(_components.td,{children:`Multi-user apps, automation platforms, anything that shouldn’t hold a long-lived secret`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Lifetime`}),_jsx(_components.td,{children:`Long-lived, valid until revoked`}),_jsx(_components.td,{children:`Short-lived access token, renewed with a refresh token`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Permissions`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`READ`}),` / `,_jsx(_components.code,{children:`WRITE`}),` scopes set on the token`]}),_jsx(_components.td,{children:`Acts as the user who authorized the app`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Setup`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/api-reference/get-your-pat`,children:`Get Your Personal Access Token`})}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/agents/connected-apps-oauth`,children:`Inflection Connected Apps using OAuth 2.1`})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`personal-access-tokens`,children:`Personal Access Tokens`}),`\n`,_jsxs(_components.p,{children:[`PATs look like `,_jsx(_components.code,{children:`inf_pat_…`}),` and carry explicit scopes:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`READ`})}),`: required for every `,_jsx(_components.code,{children:`GET`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`WRITE`})}),`: required for `,_jsx(_components.code,{children:`POST`}),`, `,_jsx(_components.code,{children:`PATCH`}),`, and `,_jsx(_components.code,{children:`DELETE`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`oauth-access-tokens`,children:`OAuth access tokens`}),`\n`,_jsxs(_components.p,{children:[`The access token your connected app obtains through the `,_jsx(_components.a,{href:`/agents/connected-apps-oauth`,children:`OAuth 2.1 + PKCE flow`}),` works on the Developer API as-is: same header, no separate registration. Two things to know:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The token `,_jsx(_components.strong,{children:`acts as the user who authorized the app`}),`: workspace admins and members can read and write; viewers are read-only.`]}),`\n`,_jsxs(_components.li,{children:[`The token must belong to a user. Service-to-service tokens are rejected with `,_jsx(_components.code,{children:`403`}),`.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Refresh the access token with your refresh token as usual; nothing else about your API calls changes.`}),`\n`,_jsx(Heading,{level:`2`,id:`auth-failures`,children:`Auth failures`}),`\n`,_jsxs(_components.p,{children:[`Auth failures are returned by the gateway with an `,_jsx(_components.strong,{children:`empty body`}),`. The status code carries the meaning:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:`Missing, malformed, or invalid token.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsxs(_components.td,{children:[`Token is valid but lacks the required permission, for example a `,_jsx(_components.code,{children:`READ`}),`-scoped PAT attempting a write or a viewer’s OAuth token doing the same.`]})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`A mistyped path or unsupported method under `,_jsx(_components.code,{children:`/v1`}),` or `,_jsx(_components.code,{children:`/v2`}),` also returns `,_jsx(_components.strong,{children:`401`}),` (deny-by-default), not 404. If a valid token is suddenly getting 401s, check the path before the credential.`]})})]})}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","description":"Two ways to authenticate: a Personal Access Token or an OAuth 2.1 connected app.","icon":"key","href":"/api-reference/authentication"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Personal Access Tokens","slug":"personal-access-tokens","depth":2,"children":[]},{"title":"OAuth access tokens","slug":"oauth-access-tokens","depth":2,"children":[]},{"title":"Auth failures","slug":"auth-failures","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"inflection-4b2c0de4","siteName":"Inflection Help Center","title":"Authentication - Inflection Help Center","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-26T15:01:10.655Z","originalFileLocation":"api-reference/authentication.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=\"dark\"}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=\"Two ways to authenticate: a Personal Access Token or an OAuth 2.1 connected app.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Inflection Help Center\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/inflection-4b2c0de4/ujDt567pRjq9Wn90/_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/inflection-4b2c0de4/ujDt567pRjq9Wn90/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/inflection-4b2c0de4/ujDt567pRjq9Wn90/_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/inflection-4b2c0de4/ujDt567pRjq9Wn90/_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/inflection-4b2c0de4/ujDt567pRjq9Wn90/_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/inflection-4b2c0de4/ujDt567pRjq9Wn90/_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/inflection-4b2c0de4/ujDt567pRjq9Wn90/_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/inflection-4b2c0de4/ujDt567pRjq9Wn90/_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/inflection-4b2c0de4/ujDt567pRjq9Wn90/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Authentication - Inflection Help Center\">\u003cmeta data-mint-head property=\"og:description\" content=\"Two ways to authenticate: a Personal Access Token or an OAuth 2.1 connected app.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Inflection Help Center\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.inflection.io/api-reference/authentication\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://inflection-4b2c0de4.mintlify.app/_mintlify/api/og/v2?division=Core+Concepts\u0026amp;title=Authentication\u0026amp;description=Two+ways+to+authenticate%3A+a+Personal+Access+Token+or+an+OAuth+2.1+connected+app.\u0026amp;theme=b843e5c8ecad724aa75d7ee0\u0026amp;signature=9677abba514952fdaea9caf84e0ab6264f2a02914ab80c723570690ce5fa97b0\">\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 - Inflection Help Center\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Two ways to authenticate: a Personal Access Token or an OAuth 2.1 connected app.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://inflection-4b2c0de4.mintlify.app/_mintlify/api/og/v2?division=Core+Concepts\u0026amp;title=Authentication\u0026amp;description=Two+ways+to+authenticate%3A+a+Personal+Access+Token+or+an+OAuth+2.1+connected+app.\u0026amp;theme=b843e5c8ecad724aa75d7ee0\u0026amp;signature=9677abba514952fdaea9caf84e0ab6264f2a02914ab80c723570690ce5fa97b0\">\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/inflection-4b2c0de4/ujDt567pRjq9Wn90/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Inflection Help Center\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0A6E72\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.inflection.io/api-reference/authentication\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/authentication.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.inflection.io/#organization\",\"name\":\"Inflection Help Center\",\"url\":\"https://docs.inflection.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/inflection-4b2c0de4/HuHUfaapytjERxAZ/logo/light.svg?fit=max\u0026auto=format\u0026n=HuHUfaapytjERxAZ\u0026q=85\u0026s=81098246e2501d2a46b750c33ea43379\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.inflection.io#website\",\"name\":\"Inflection Help Center\",\"url\":\"https://docs.inflection.io\",\"publisher\":{\"@id\":\"https://docs.inflection.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.inflection.io/api-reference/authentication#webpage\",\"url\":\"https://docs.inflection.io/api-reference/authentication\",\"name\":\"Authentication\",\"description\":\"Two ways to authenticate: a Personal Access Token or an OAuth 2.1 connected app.\",\"dateModified\":\"2026-09-26T15:01:10.655Z\",\"isPartOf\":{\"@id\":\"https://docs.inflection.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.inflection.io/api-reference/authentication#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.inflection.io/api-reference/authentication#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inflection Help Center\",\"item\":\"https://docs.inflection.io\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Authentication\",\"item\":\"https://docs.inflection.io/api-reference/authentication\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.inflection.io/api-reference/authentication#article\",\"headline\":\"Authentication\",\"name\":\"Authentication\",\"description\":\"Two ways to authenticate: a Personal Access Token or an OAuth 2.1 connected app.\",\"url\":\"https://docs.inflection.io/api-reference/authentication\",\"mainEntityOfPage\":{\"@id\":\"https://docs.inflection.io/api-reference/authentication#webpage\"},\"dateModified\":\"2026-09-26T15:01:10.655Z\",\"publisher\":{\"@id\":\"https://docs.inflection.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.inflection.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Inflection Help Center\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Inflection Help Center","nav":{"global":null,"tabs":[{"tab":"Product Docs","pages":[{"title":"Product Docs","href":""}]},{"tab":"MCP and Agents","pages":[{"title":"MCP and Agents","href":"/agents/inflection-agents"}]},{"tab":"Developer APIs","groups":[{"group":"Getting Started","pages":[{"title":"Introduction","icon":"book-open","href":"/api-reference/introduction"},{"title":"Quickstart","icon":"rocket","href":"/api-reference/quickstart"},{"title":"Get Your Personal Access Token","description":"Create the Personal Access Token (PAT) that authenticates your API calls.","icon":"id-card","href":"/api-reference/get-your-pat"}]},{"group":"Core Concepts","pages":[{"title":"Authentication","icon":"key","href":"/api-reference/authentication"},{"title":"The response envelope","description":"One predictable shape for every response.","icon":"box","href":"/api-reference/response-envelope"},{"title":"Asynchronous writes","icon":"clock","href":"/api-reference/async-writes"},{"title":"Pagination","icon":"list","href":"/api-reference/pagination"},{"title":"Errors \u0026 status codes","icon":"triangle-exclamation","href":"/api-reference/errors"},{"title":"Rate Limits","icon":"gauge-high","href":"/api-reference/rate-limits"}]},{"group":"Contacts","pages":[{"title":"Create a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v2/contacts","href":"/api-reference/contacts/create-a-contact"},{"title":"Batch create/upsert contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v2/contacts/batch","href":"/api-reference/contacts/batch-createupsert-contacts"},{"title":"Get a contact by email","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/contacts/by-email/{email}","href":"/api-reference/contacts/get-a-contact-by-email"},{"title":"Get a contact write transaction","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/contacts/transactions/{transactionId}","href":"/api-reference/contacts/get-a-contact-write-transaction"},{"title":"Get a contact by id","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/contacts/{id}","href":"/api-reference/contacts/get-a-contact-by-id"},{"title":"Update a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v2/contacts/{id}","href":"/api-reference/contacts/update-a-contact"}]},{"group":"Contact Activity","pages":[{"title":"Get a contact's product activity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/contacts/{id}/product-activity","href":"/api-reference/contact-activity/get-a-contacts-product-activity"},{"title":"Get a contact's marketing activity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/contacts/{id}/marketing-activity","href":"/api-reference/contact-activity/get-a-contacts-marketing-activity"},{"title":"Get a contact's activity log","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/contacts/{id}/activity-log","href":"/api-reference/contact-activity/get-a-contacts-activity-log"},{"title":"Get a contact's Salesforce record","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/contacts/{id}/salesforce","href":"/api-reference/contact-activity/get-a-contacts-salesforce-record"}]},{"group":"Journeys","pages":[{"title":"List journeys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/journeys","href":"/api-reference/journeys/list-journeys"},{"title":"Get a journey","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/journeys/{id}","href":"/api-reference/journeys/get-a-journey"}]},{"group":"Stats","pages":[{"title":"Journey stats rollup","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/journeys/stats","href":"/api-reference/stats/journey-stats-rollup"},{"title":"Get a journey's stats","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/journeys/{id}/stats","href":"/api-reference/stats/get-a-journeys-stats"},{"title":"Email stats rollup","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/emails/stats","href":"/api-reference/stats/email-stats-rollup"},{"title":"Get an email's stats","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/emails/{id}/stats","href":"/api-reference/stats/get-an-emails-stats"}]},{"group":"Lists","pages":[{"title":"List static and dynamic lists","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/lists","href":"/api-reference/lists/list-static-and-dynamic-lists"},{"title":"Create a static list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v2/lists","href":"/api-reference/lists/create-a-static-list"},{"title":"Get a static list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/lists/{id}","href":"/api-reference/lists/get-a-static-list"},{"title":"Update a static list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v2/lists/{id}","href":"/api-reference/lists/update-a-static-list"},{"title":"Delete a static list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v2/lists/{id}","href":"/api-reference/lists/delete-a-static-list"},{"title":"Get members of a static list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/lists/{id}/members","href":"/api-reference/lists/get-members-of-a-static-list"},{"title":"Add members to a static list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v2/lists/{id}/members","href":"/api-reference/lists/add-members-to-a-static-list"},{"title":"Remove a member from a static list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v2/lists/{id}/members/{contactId}","href":"/api-reference/lists/remove-a-member-from-a-static-list"}]},{"group":"Emails","pages":[{"title":"List emails","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/emails","href":"/api-reference/emails/list-emails"},{"title":"Create an email","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v2/emails","href":"/api-reference/emails/create-an-email"},{"title":"Get an email","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/emails/{id}","href":"/api-reference/emails/get-an-email"}]},{"group":"Email Versions","pages":[{"title":"Set a personalized email version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/email-versions","href":"/api-reference/email-versions/set-a-personalized-email-version"}]},{"group":"Product Users","pages":[{"title":"Create a product user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v2/users","href":"/api-reference/product-users/create-a-product-user"},{"title":"Get a product-user write transaction","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/users/transactions/{transactionId}","href":"/api-reference/product-users/get-a-product-user-write-transaction"},{"title":"Get a product user by email","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/users/by-email/{email}","href":"/api-reference/product-users/get-a-product-user-by-email"},{"title":"Get a product user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/users/{id}","href":"/api-reference/product-users/get-a-product-user"},{"title":"Update a product user","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v2/users/{id}","href":"/api-reference/product-users/update-a-product-user"},{"title":"List a contact's product users","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/contacts/{id}/users","href":"/api-reference/product-users/list-a-contacts-product-users"},{"title":"List an organization's product users","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/orgs/{id}/users","href":"/api-reference/product-users/list-an-organizations-product-users"}]},{"group":"Organizations","pages":[{"title":"List a contact's organizations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/contacts/{id}/orgs","href":"/api-reference/organizations/list-a-contacts-organizations"},{"title":"Add product users to an organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v2/orgs/{id}/users","href":"/api-reference/organizations/add-product-users-to-an-organization"},{"title":"Create an organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v2/orgs","href":"/api-reference/organizations/create-an-organization"},{"title":"Get an organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v2/orgs/{id}","href":"/api-reference/organizations/get-an-organization"},{"title":"Update an organization","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v2/orgs/{id}","href":"/api-reference/organizations/update-an-organization"}]}]},{"tab":"What's New","pages":[{"title":"What's New","href":"/whats-new/october-2026"}]}]},"title":"Authentication - Inflection Help Center","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":[],"chunks":[]}