All BuildBetter API requests must be authenticated. REST is the supported path for new customer integrations.
The GraphQL API is being deprecated for customer integrations. Use REST endpoints for new integrations and migrate existing GraphQL workflows to REST.
You can authenticate in one of two ways:
API Key (Header): Provide your API key in the HTTP header X-Buildbetter-API-Key. For example: X-Buildbetter-API-Key: YOUR_API_KEY. This method is typically used for server-to-server access or integration scenarios. An API key may be scoped to an organization or a specific shared object (like a particular call or document), so it grants access according to its scope (e.g. all data in your organization or just one shared call/document).
Bearer Token (Header): If you have a user login token (JWT), include it in the Authorization header as a Bearer token. For example: Authorization: Bearer YOUR_JWT_TOKEN. This method is used for authenticated user access. The token will be validated by the API, and if valid, the request will execute with the permissions of that user. (If your user account belongs to multiple organizations, you may also include an X-Buildbetter-Organization-Key header to specify which organization’s context to use for the query, though in most cases this is not needed unless explicitly working across organizations.)
Note: Ensure you include one form of authentication on every request. If no valid API key or token is provided, the API will return an Unauthorized error (HTTP 401). API keys and tokens should be kept secret – do not expose them in client-side code or public repositories.
The BuildBetter GraphQL API is deprecated for customer integrations. Existing integrations may still use the legacy GraphQL endpoint during migration:
https://api.buildbetter.app/v1/graphql
Legacy GraphQL HTTP requests should be sent as POST requests to this URL. For example, you might send a JSON payload like:
{ "query": "query { ... }", "variables": { ... }}
to https://api.buildbetter.app/v1/graphql. The API will respond with a JSON object containing your query results or errors.For real-time updates, the API also supports GraphQL subscriptions over WebSocket. The WebSocket endpoint is the same except with the wss:// protocol. For example, wss://api.buildbetter.app/v1/graphql is used for subscriptions. (In a web app using Apollo or similar, you would configure the WebSocket URI for subscriptions accordingly.)CORS: The GraphQL endpoint is CORS-enabled for allowed origins. When making requests from a browser or frontend app, ensure your origin is allowed. By default, the endpoint will accept requests from BuildBetter’s domains (and in development, it may be configured to accept localhost).
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"BuildBetter","colors":{"primary":"#5D5D5D","light":"#C7C7C7","dark":"#434343"},"logo":{"light":"https://mintcdn.com/buildbetter-9c5e0345/fQnmnuRFilg_Npja/logo/light.svg?fit=max\u0026auto=format\u0026n=fQnmnuRFilg_Npja\u0026q=85\u0026s=9558de55511d7953eaa7172e7413721d","dark":"https://mintcdn.com/buildbetter-9c5e0345/fQnmnuRFilg_Npja/logo/dark.svg?fit=max\u0026auto=format\u0026n=fQnmnuRFilg_Npja\u0026q=85\u0026s=a100a99a880b30dac6cf13660d775d6b"},"favicon":"https://mintcdn.com/buildbetter-9c5e0345/fQnmnuRFilg_Npja/favicon.svg?fit=max\u0026auto=format\u0026n=fQnmnuRFilg_Npja\u0026q=85\u0026s=b47637e2911e5a943cff751fb804937f","integrations":{"intercom":{"appId":"lmvj0uqx"}},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":""}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"buildbetter-9c5e0345","hasAudioNarration":false,"actualSubdomain":"buildbetter-9c5e0345","customDomains":["docs.buildbetter.ai"],"gitSource":{"type":"github","owner":"buildbetter-app","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae29ada965c86bf05e371ca","collectionId":"278cff7f-3372-4181-af05-dd304b7f5f2e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae29ada965c86bf05e371ca"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae29ada965c86bf05e371ca","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"en","tag":"Documentation","count":159},{"language":"en","tag":"Integrations","count":128},{"language":"en","tag":"Use Cases","count":35},{"language":"en","tag":"Call Recordings","count":23},{"language":"en","tag":"Support \u0026 Ticketing","count":14},{"language":"en","tag":"Inbox","count":14},{"language":"en","tag":"API","count":14},{"language":"en","tag":"Success","count":12},{"language":"en","tag":"FAQ","count":11},{"language":"en","tag":"Forms \u0026 Surveys","count":11}]},"assistantConfig":{},"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":"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":"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":"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":"sso-setup-deadline-banner","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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"pages/api/authentication","slug":"/pages/api/authentication","pageMetadata":{"title":"Authentication \u0026 Endpoint Setup","description":"Learn how to authenticate your requests to the BuildBetter API.","href":"/pages/api/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: \"Learn how to authenticate your requests to the BuildBetter API.\"\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`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`authentication`,children:`Authentication`}),`\n`,_jsx(_components.p,{children:`All BuildBetter API requests must be authenticated. REST is the supported path for new customer integrations.`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The GraphQL API is being deprecated for customer integrations. Use REST endpoints for new integrations and migrate existing GraphQL workflows to REST.`})}),`\n`,_jsx(_components.p,{children:`You can authenticate in one of two ways:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`API Key (Header):`}),` Provide your API key in the HTTP header `,_jsx(_components.code,{children:`X-Buildbetter-API-Key`}),`. For example: `,_jsx(_components.code,{children:`X-Buildbetter-API-Key: YOUR_API_KEY`}),`. This method is typically used for server-to-server access or integration scenarios. An API key may be scoped to an organization or a specific shared object (like a particular call or document), so it grants access according to its scope (e.g. all data in your organization or just one shared call/document).`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Bearer Token (Header):`}),` If you have a user login token (JWT), include it in the `,_jsx(_components.code,{children:`Authorization`}),` header as a Bearer token. For example: `,_jsx(_components.code,{children:`Authorization: Bearer YOUR_JWT_TOKEN`}),`. This method is used for authenticated user access. The token will be validated by the API, and if valid, the request will execute with the permissions of that user. (If your user account belongs to multiple organizations, you may also include an `,_jsx(_components.code,{children:`X-Buildbetter-Organization-Key`}),` header to specify which organization’s context to use for the query, though in most cases this is not needed unless explicitly working across organizations.)`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Note:`}),` Ensure you include `,_jsx(_components.em,{children:`one`}),` form of authentication on every request. If no valid API key or token is provided, the API will return an `,_jsx(_components.strong,{children:`Unauthorized`}),` error (HTTP 401). API keys and tokens should be kept secret – do not expose them in client-side code or public repositories.`]}),`\n`,_jsx(Heading,{level:`2`,id:`rest-endpoint`,children:`REST Endpoint`}),`\n`,_jsx(_components.p,{children:`The base URL for REST endpoints is:`}),`\n`,_jsx(CodeBlock,{filename:``,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:`https://api.buildbetter.app/v3/rest`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`For example, recording reads are available under `,_jsx(_components.code,{children:`/recordings/{recordingId}`}),`. See `,_jsx(_components.a,{href:`/pages/api/recordings`,children:`Recordings API`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`legacy-graphql-endpoint`,children:`Legacy GraphQL Endpoint`}),`\n`,_jsx(_components.p,{children:`The BuildBetter GraphQL API is deprecated for customer integrations. Existing integrations may still use the legacy GraphQL endpoint during migration:`}),`\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:`https://api.buildbetter.app/v1/graphql`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Legacy GraphQL HTTP requests should be sent as POST requests to this URL. For example, you might send a JSON payload like:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"query\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"query { ... }\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"variables\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#82071E`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#F44747`,\"--shiki-dark-font-style\":`inherit`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`to `,_jsx(_components.code,{children:`https://api.buildbetter.app/v1/graphql`}),`. The API will respond with a JSON object containing your query results or errors.`]}),`\n`,_jsxs(_components.p,{children:[`For real-time updates, the API also supports GraphQL subscriptions over WebSocket. The WebSocket endpoint is the same except with the `,_jsx(_components.code,{children:`wss://`}),` protocol. For example, `,_jsx(_components.code,{children:`wss://api.buildbetter.app/v1/graphql`}),` is used for subscriptions. (In a web app using Apollo or similar, you would configure the WebSocket URI for subscriptions accordingly.)`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`CORS:`}),` The GraphQL endpoint is CORS-enabled for allowed origins. When making requests from a browser or frontend app, ensure your origin is allowed. By default, the endpoint will accept requests from BuildBetter’s domains (and in development, it may be configured to accept localhost).`]})]})}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 \u0026 Endpoint Setup","description":"Learn how to authenticate your requests to the BuildBetter API.","href":"/pages/api/authentication"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Authentication","slug":"authentication","depth":2,"children":[]},{"title":"REST Endpoint","slug":"rest-endpoint","depth":2,"children":[]},{"title":"Legacy GraphQL Endpoint","slug":"legacy-graphql-endpoint","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"buildbetter-9c5e0345","siteName":"BuildBetter","title":"Authentication \u0026 Endpoint Setup - BuildBetter","navMaps":{"firstHrefInVersion":{"latest":{"href":"/pages/api/authentication","matchLevel":0}},"firstHrefInLanguage":{"en":{"href":"/pages/api/authentication","matchLevel":0}}},"lastModified":"2026-06-23T23:54:55.817Z","originalFileLocation":"pages/api/authentication.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=\"Learn how to authenticate your requests to the BuildBetter API.\">\u003cmeta data-mint-head name=\"application-name\" content=\"BuildBetter\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/buildbetter-9c5e0345/Oz0oFXVaXT2Sw_-U/_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/buildbetter-9c5e0345/Oz0oFXVaXT2Sw_-U/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/buildbetter-9c5e0345/Oz0oFXVaXT2Sw_-U/_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/buildbetter-9c5e0345/Oz0oFXVaXT2Sw_-U/_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/buildbetter-9c5e0345/Oz0oFXVaXT2Sw_-U/_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/buildbetter-9c5e0345/Oz0oFXVaXT2Sw_-U/_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/buildbetter-9c5e0345/Oz0oFXVaXT2Sw_-U/_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/buildbetter-9c5e0345/Oz0oFXVaXT2Sw_-U/_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/buildbetter-9c5e0345/Oz0oFXVaXT2Sw_-U/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Authentication \u0026amp; Endpoint Setup - BuildBetter\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how to authenticate your requests to the BuildBetter API.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"BuildBetter\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.buildbetter.ai/pages/api/authentication\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://buildbetter-9c5e0345.mintlify.app/_mintlify/api/og/v2?division=Getting+Started\u0026amp;title=Authentication+%26+Endpoint+Setup\u0026amp;description=Learn+how+to+authenticate+your+requests+to+the+BuildBetter+API.\u0026amp;theme=10b0796f28ca0ff355ca2cec\u0026amp;signature=2d570d87c502c36137cf28c04ef2f4fabfc207c0c6065ea5617bab9c0b491a39\">\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 \u0026amp; Endpoint Setup - BuildBetter\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how to authenticate your requests to the BuildBetter API.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://buildbetter-9c5e0345.mintlify.app/_mintlify/api/og/v2?division=Getting+Started\u0026amp;title=Authentication+%26+Endpoint+Setup\u0026amp;description=Learn+how+to+authenticate+your+requests+to+the+BuildBetter+API.\u0026amp;theme=10b0796f28ca0ff355ca2cec\u0026amp;signature=2d570d87c502c36137cf28c04ef2f4fabfc207c0c6065ea5617bab9c0b491a39\">\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/buildbetter-9c5e0345/Oz0oFXVaXT2Sw_-U/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"BuildBetter\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5D5D5D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.buildbetter.ai/pages/api/authentication\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/pages/api/authentication.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.buildbetter.ai/#organization\",\"name\":\"BuildBetter\",\"url\":\"https://docs.buildbetter.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/buildbetter-9c5e0345/fQnmnuRFilg_Npja/logo/light.svg?fit=max\u0026auto=format\u0026n=fQnmnuRFilg_Npja\u0026q=85\u0026s=9558de55511d7953eaa7172e7413721d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.buildbetter.ai#website\",\"name\":\"BuildBetter\",\"url\":\"https://docs.buildbetter.ai\",\"publisher\":{\"@id\":\"https://docs.buildbetter.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.buildbetter.ai/pages/api/authentication#webpage\",\"url\":\"https://docs.buildbetter.ai/pages/api/authentication\",\"name\":\"Authentication \u0026 Endpoint Setup\",\"description\":\"Learn how to authenticate your requests to the BuildBetter API.\",\"dateModified\":\"2026-06-23T23:54:55.817Z\",\"isPartOf\":{\"@id\":\"https://docs.buildbetter.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.buildbetter.ai/pages/api/authentication#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.buildbetter.ai/pages/api/authentication#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Getting Started\",\"item\":\"https://docs.buildbetter.ai/pages/api/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Authentication \u0026 Endpoint Setup\",\"item\":\"https://docs.buildbetter.ai/pages/api/authentication\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.buildbetter.ai/pages/api/authentication#article\",\"headline\":\"Authentication \u0026 Endpoint Setup\",\"name\":\"Authentication \u0026 Endpoint Setup\",\"description\":\"Learn how to authenticate your requests to the BuildBetter API.\",\"url\":\"https://docs.buildbetter.ai/pages/api/authentication\",\"mainEntityOfPage\":{\"@id\":\"https://docs.buildbetter.ai/pages/api/authentication#webpage\"},\"dateModified\":\"2026-06-23T23:54:55.817Z\",\"publisher\":{\"@id\":\"https://docs.buildbetter.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.buildbetter.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"BuildBetter\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"BuildBetter","nav":{"global":null,"languages":[{"language":"en","versions":[{"version":"latest","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"Use Cases","pages":[{"title":"Use Cases","href":"/pages/Use Cases/quick-start/product-first-calls"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/pages/Integrations/integrations-overview"}]},{"tab":"FAQ","pages":[{"title":"FAQ","href":"/pages/FAQ"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]},{"tab":"Legal","pages":[{"title":"Legal","href":"/pages/Legal/privacy-policy"}]},{"tab":"Trust Portal","href":"https://trust.buildbetter.ai"},{"tab":"Affiliate","pages":[{"title":"Affiliate","href":"/pages/Affiliate"}]},{"tab":"Support","pages":[{"title":"Support","href":"/pages/Help/common-issues"}]},{"tab":"API","groups":[{"group":"Getting Started","pages":[{"title":"BuildBetter API Documentation","description":"Use the BuildBetter REST API to integrate your applications and workflows with our data platform.","href":"/pages/api"},{"title":"Authentication \u0026 Endpoint Setup","href":"/pages/api/authentication"}]},{"group":"Legacy GraphQL API","pages":[{"title":"Legacy GraphQL Queries","description":"Legacy GraphQL query examples for integrations migrating to the BuildBetter REST API.","href":"/pages/api/graphql-queries"},{"title":"Legacy GraphQL Examples","href":"/pages/api/graphql-examples"},{"title":"Legacy GraphQL Query Building","href":"/pages/api/query-building"},{"title":"Accessing Data Models","href":"/pages/api/data-access"}]},{"group":"REST API","pages":[{"title":"Recordings API","href":"/pages/api/recordings"},{"title":"Metadata API","href":"/pages/api/metadata"},{"title":"Agent Chats API","href":"/pages/api/agent-chats"},{"title":"Agent Chats SDK","href":"/pages/api/agent-chats-sdk"},{"title":"Feedback Ingestion API","href":"/pages/api/feedback-ingestion"},{"title":"Feedback Ingestion Examples","href":"/pages/api/feedback-examples"}]},{"group":"Webhooks","pages":[{"title":"Webhooks","href":"/pages/api/webhooks"}]},{"group":"Reference","pages":[{"title":"Error Handling \u0026 Best Practices","href":"/pages/api/error-handling"}]}]},{"tab":"Local Recorder (BETA)","pages":[{"title":"Local Recorder (BETA)","href":"/pages/Local Recorder/overview"}]},{"tab":"ZeroShot (CLI)","pages":[{"title":"ZeroShot (CLI)","href":"/pages/ZeroShot/overview"}]}]}]}]},"basePath":"","title":"Authentication \u0026 Endpoint Setup - BuildBetter","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}