CINXE.COM
Salesforce Developers
<!DOCTYPE html> <html lang="en-us"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" /> <meta name="author" content="Salesforce" /> <meta name="theme-color" content="#ffffff" /> <meta name="salesforce-community" content="https://trailblazer.me" /> <meta name="salesforce-mode" content="authprovider" /> <meta name="salesforce-redirect-uri" content="https://developer.salesforce.com/tbid/login" /> <meta name="salesforce-authprovider-login" content="https://developer.salesforce.com/tbid/dologin" /> <meta name="salesforce-authprovider-signup" content="" /> <meta name="salesforce-init-handler" content="__tbidHandleInit" /> <meta name="salesforce-login-handler" content="__tbidHandleLogin" /> <meta name="salesforce-logout-handler" content="__tbidHandleLogout" /> <meta name="salesforce-brand" content="dsc" /> <script src="https://trailblazer.me/resource/authProviderEmbeddedLogin_v1_3" async="true" defer="true"></script> <script src="/1/asset/immutable/s/17326623590000000/assets/js/tbid-controller.js" data-tbid-api-base-url="https://developer.salesforce.com/tbid"></script> <title>Salesforce Developers</title> <meta name="title" content="Salesforce Developers"/> <meta name="description" content="Salesforce Developer Website"/> <meta name="google-site-verification" content="9nBLHedRs97kceoTtOMsUGrVIhNfsJHbExzaKVARgAM"/> <link rel="stylesheet" href="/1/asset/immutable/s/17326622330000000/assets/css/main.css" /> <script> (function () { window.Sprig = function () { U._queue.push(arguments); }; let U = window.Sprig; U._queue = []; U.config = { /////// REQUIRED /////// envId: 'PZOIfnbk1ROP', controllerSDKURL: '/assets/js/sprig-web-controller.js', viewSDKURL: '/assets/js/sprig-web-view.js', }; let s = document.createElement('script'); s.async = 1; s.src = U.config.controllerSDKURL; let x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); })(); hashCode = function(s){ return s.split("").reduce(function(a,b){a=((a<<5)-a)+b.charCodeAt(0);return a&a},0); } triggerPageLoadSprigEvent = () => { if(Sprig.visitorId) { if(hashCode(Sprig.visitorId) % 20 === 0) { // 5% sample rate for this event Sprig("track", "ManualPageLoadEvent"); } } else { setTimeout(triggerPageLoadSprigEvent, "500") } } triggerPageLoadSprigEvent(); </script> <!-- Load OneTrust script only for DSC Prod app --> <script src="https://a.sfdcstatic.com/digital/one-trust/core/stable/scripttemplates/otSDKStub.js" async type="text/javascript" data-domain-script="8e783e8c-0ad0-475d-8fca-4a03afa0a02a" crossorigin></script> <!-- OptanonWrapper() runs on page load and every time user updates cookie preferences --> <script type="text/javascript"> function OptanonWrapper() { // Push a oneTrust group update event to dataLayer window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: 'OneTrustGroupsUpdated' }); } </script> <!-- OneTrust Cookies Consent Notice end --> <!-- Google Tag Manager --> <script> (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != "dataLayer" ? "&l=" + l : ""; j.async = true; j.src = "https://www.googletagmanager.com/gtm.js?id=" + i + dl; f.parentNode.insertBefore(j, f); })(window, document, "script", "dataLayer", "GTM-MWZCN8"); </script> <!-- End Google Tag Manager --> <!-- Use stable global nav on prod and latest global nav everywhere else --> <!-- Global Navigation (stable) --> <script type="module" src="https://a.sfdcstatic.com/digital/xsf/components/v1-stable/navs.js"></script> <link rel="canonical" href="https://developer.salesforce.com/docs/atlas.en-us.236.0.apexref.meta/apexref/apex_class_Auth_SessionManagement.htm"/> <link rel="icon" href="https://a.sfdcstatic.com/developer-website/images/favicon.ico" /> </head> <body> <dx-scroll-manager></dx-scroll-manager> <dx-traffic-labeler internal-ips="^40\\.136\\.179\\.(19[2-9]|2([0-4][0-9]|5[0-5]))|(204\\.14\\.236|136\\.146\\.154)\\.(([0-9]|[1-9][0-9])|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$,^104\\.161\\.24(6|7)\\.(([0-9]|[1-9][0-9])|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$,^85\\.222\\.13(4|5)\\.(([0-9]|[1-9][0-9])|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$,^104\\.161\\.24(2|3)\\.(([0-9]|[1-9][0-9])|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$,^54\\.(148\\.249\\.104|214\\.85\\.193)$,^13\\.110\\.5(4|5)\\.(([0-9]|[1-9][0-9])|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$,^66\\.203\\.11(4|5)\\.(([0-9]|[1-9][0-9])|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$,^202\\.95\\.77\\.(6[4-9]|[7-8][0-9]|9[0-5])$,^(13\\.250\\.175\\.119|52\\.220\\.254\\.0)$,^221\\.133\\.209\\.1(2(8|9)|[3-5][0-9])$,^104\\.161\\.244\\.(([0-9]|[1-9][0-9])|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$,^61\\.120\\.150\\.1(2(8|9)|3[0-9]|4[0-3])$" coveo-organization-id="org62salesforce" coveo-analytics-token="xx31dfe2d4-2138-4fff-9ac6-daacb3e8c586" ></dx-traffic-labeler> <!-- Google Tag Manager (noscript) --> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MWZCN8" height="0" width="0" style="display: none; visibility: hidden" ></iframe> </noscript> <!-- End Google Tag Manager (noscript) --> <div class="slds-grid slds-grid_vertical"> <!-- global nav --> <div class="global-nav-container"> <dx-skip-nav-link></dx-skip-nav-link> </div> <script> const containerEl = document.querySelector(".global-nav-container"); const headerSettings = fetch("/header-settings.json") .then(response => { if (response.ok) { return response.json() } // Return a barebones headerSettings object if the fetch fails (e.g. if the endpoint doesn't exist) return { barebonesHeader: true } }) .then(data => { if (containerEl && !data.barebonesHeader) { const hgfNav = document.createElement("hgf-c360nav"); hgfNav.setAttribute("search", data.headerSettings.search); hgfNav.setAttribute("search-organization-id", data.headerSettings.coveoOrganizationId); hgfNav.setAttribute("search-access-token", data.headerSettings.coveoPublicAccessToken); hgfNav.setAttribute("search-placeholder", data.headerSettings.searchPlaceholder); hgfNav.setAttribute("search-site-url", data.headerSettings.searchSiteUrl); hgfNav.setAttribute("search-hub", data.headerSettings.searchHub); hgfNav.setAttribute("show-region-selector", data.headerSettings.showRegionSelector); hgfNav.setAttribute("contact-menu-override", data.headerSettings.contactMenuOverride); if (window.location.host === 'developer.salesforce.com') { hgfNav.setAttribute("origin", data.headerSettings.origin); } else { hgfNav.setAttribute("origin", "https://wp-develop.sfdcdigital.com/en-us/wp-json"); } hgfNav.setAttribute("context-nav-enabled", data.headerSettings.contextNavEnabled); hgfNav.setAttribute("tbid-module-override", data.headerSettings.tbidModuleOverride); hgfNav.setAttribute("contact-links-override", JSON.stringify(data.headerSettings.contactLinksOverride)); hgfNav.setAttribute("search-with-quick-links", data.headerSettings.searchWithQuickLinks); const hgfNavContext = document.createElement("hgf-c360contextnav"); hgfNavContext.setAttribute("data", JSON.stringify(data.navItems)); containerEl.appendChild(hgfNav); containerEl.appendChild(hgfNavContext); } else if (containerEl && data.barebonesHeader) { const hgfNav = document.createElement("hgf-c360nav"); const hgfNavContext = document.createElement("hgf-c360contextnav"); hgfNav.setAttribute("origin", ""); hgfNav.setAttribute("context-nav-enabled", "true"); const contextNavData = { variation: 'static', propertyTitle: { label: 'Developers', url: '/' }, menuGroup: {} } hgfNavContext.setAttribute("data", JSON.stringify(contextNavData)); containerEl.appendChild(hgfNav); containerEl.appendChild(hgfNavContext); } else { throw new Error("Could not find container element for global nav"); } }) .catch(error => { console.error("Error:", error); }); </script> <!-- doc header --> <div class="sticky-doc-header context-nav-active"> <doc-header subtitle="Developers" brand="" ></doc-header> </div> <div class="slds-col main-container"> <div class="slds-is-relative"> <main role="main" id="maincontent"> <doc-xml-content labels="{"project_label":"Projects","developers_label":"Developers","toc_title":"Contents","guides":"Guides","reference":"Reference","key_features":"Key Features","get_started_with_the_guide":"Get Started","go_to_api_reference":"API Reference","docs_breadcrumb_label":"Documentation"}" api-domain="https://developer.salesforce.com" coveo-organization-id="org62salesforce" coveo-search-hub="Developer_Docs_SS" coveo-public-access-token="xxa5e44ccd-0904-4c0e-927a-060669b41105" coveo-analytics-token="xx31dfe2d4-2138-4fff-9ac6-daacb3e8c586" all-languages="[{"id":"en-us","label":"language_english","displayText":"English"},{"id":"ja-jp","label":"language_japanese","displayText":"日本語"},{"id":"zh-cn","label":"language_chinese","displayText":"中文"},{"id":"zh-tw","label":"language_taiwan","displayText":"繁體中文"},{"id":"fr-fr","label":"language_france","displayText":"Français"},{"id":"de-de","label":"language_german","displayText":"Deutsch"},{"id":"it-it","label":"language_italian","displayText":"Italiano"},{"id":"ko-kr","label":"language_korean","displayText":"한국어"},{"id":"pt-br","label":"language_portuguese","displayText":"Português"},{"id":"es-mx","label":"language_spanish","displayText":"Español"}]" enable-coveo="true" ></doc-xml-content> </main> </div> </div> </div> </body> <script type="application/javascript">/* This script is generated */ /* Client Bootstrap configuration */ globalThis.LWR = globalThis.LWR || {}; Object.assign(globalThis.LWR, {"appId":"developer_site_developer-website_en-us_page__docs_atlas*","bootstrapModule":"@lwrjs/app-service/developer_site_developer-website_en-us_page__docs_atlas*/module/esm/v/0_14_4","autoBoot":true,"imports":{"/1/bundle/esm/l/en-US/bi/0/module/mi/%40lwrjs%2Fapp-service%2Fdeveloper_site_developer-website_en-us_page__docs_atlas*%2Fmodule%2Fesm%2Fv%2F0_14_4/s/939e7669deabcadf2439b527c56d7756da5144df/bundle_@lwrjs_app-service_developer_site_developer-website_en-us_page__docs_atlas*_module_esm.js":["@lwrjs/app-service/developer_site_developer-website_en-us_page__docs_atlas*/module/esm/v/0_14_4"],"/1/bundle/esm/l/en-US/bi/0/module/mi/dx%2FscrollManager%2Fv%2F1_3_365/s/b827b8bdf6d1c95e01b30c6f667046e84f7b187e/bundle_dx_scrollManager.js":["dx/scrollManager/v/1_3_365"],"/1/bundle/esm/l/en-US/bi/0/module/mi/dx%2FtrafficLabeler%2Fv%2F1_3_365/s/cbcccf8fe36487b4b8bcabf19c1b714088af80af/bundle_dx_trafficLabeler.js":["dx/trafficLabeler/v/1_3_365"],"/1/bundle/esm/l/en-US/bi/0/module/mi/dx%2FskipNavLink%2Fv%2F1_3_365/s/903aa9d454255594da5cd57647436d82579d868a/bundle_dx_skipNavLink.js":["dx/skipNavLink/v/1_3_365"],"/1/bundle/esm/l/en-US/bi/0/module/mi/doc%2Fheader%2Fv%2F1_3_345/s/5168a5303b0309e5002e7e323b7540d2cc43b217/bundle_doc_header.js":["doc/header/v/1_3_345"],"/1/bundle/esm/l/en-US/bi/0/module/mi/doc%2FxmlContent%2Fv%2F1_3_345/s/43c0690d9f3db8019d31c4dc3ae1617201a35a65/bundle_doc_xmlContent.js":["doc/xmlContent/v/1_3_345"],"/1/bundle/esm/l/en-US/bi/0/module/mi/dw%2Finstrumentation%2Fv%2F1_3_363/s/f83a73fae250daf91e47664169a4f4ef38885584/bundle_dw_instrumentation.js":["dw/instrumentation/v/1_3_363"]},"index":{"@lwrjs/app-service/developer_site_developer-website_en-us_page__docs_atlas*/module/esm/v/0_14_4":"/1/module/esm/0/l/en-US/mi/%40lwrjs%2Fapp-service%2Fdeveloper_site_developer-website_en-us_page__docs_atlas*%2Fmodule%2Fesm%2Fv%2F0_14_4/latest/@lwrjs_app-service_developer_site_developer-website_en-us_page__docs_atlas*_module_esm.js","dx/scrollManager/v/1_3_365":"/1/module/esm/0/l/en-US/mi/dx%2FscrollManager%2Fv%2F1_3_365/latest/dx_scrollManager.js","dx/trafficLabeler/v/1_3_365":"/1/module/esm/0/l/en-US/mi/dx%2FtrafficLabeler%2Fv%2F1_3_365/latest/dx_trafficLabeler.js","dx/skipNavLink/v/1_3_365":"/1/module/esm/0/l/en-US/mi/dx%2FskipNavLink%2Fv%2F1_3_365/latest/dx_skipNavLink.js","doc/header/v/1_3_345":"/1/module/esm/0/l/en-US/mi/doc%2Fheader%2Fv%2F1_3_345/latest/doc_header.js","doc/xmlContent/v/1_3_345":"/1/module/esm/0/l/en-US/mi/doc%2FxmlContent%2Fv%2F1_3_345/latest/doc_xmlContent.js","dw/instrumentation/v/1_3_363":"/1/module/esm/0/l/en-US/mi/dw%2Finstrumentation%2Fv%2F1_3_363/latest/dw_instrumentation.js"},"rootComponents":["dx/scrollManager/v/1_3_365","dx/trafficLabeler/v/1_3_365","dx/skipNavLink/v/1_3_365","doc/header/v/1_3_345","doc/xmlContent/v/1_3_345","dw/instrumentation/v/1_3_363"],"serverData":{},"endpoints":{"uris":{"mapping":"/1/mapping/esm/0/l/en-US/bi/0/mp/","module":"/1/bundle/esm/l/en-US/bi/0/module/mi/"}}}); globalThis.LWR = {...globalThis.LWR, env: {"SSR":false,"basePath":"","locale":"en-US","assetBasePath":"","uiBasePath":""}}; globalThis.process={...globalThis.process,env:{...globalThis.process?.env,...{"NODE_ENV":"prod"}}}; globalThis.lwcRuntimeFlags = { ENABLE_MIXED_SHADOW_MODE: false };</script> <script type="module" src="/1/bundle/esm/l/en-US/bi/0/module/mi/%40lwrjs%2Fapp-service%2Fdeveloper_site_developer-website_en-us_page__docs_atlas*%2Fmodule%2Fesm%2Fv%2F0_14_4/s/939e7669deabcadf2439b527c56d7756da5144df/bundle_@lwrjs_app-service_developer_site_developer-website_en-us_page__docs_atlas*_module_esm.js"></script> <link rel="modulepreload" href="/1/bundle/esm/l/en-US/bi/0/module/mi/dx%2FscrollManager%2Fv%2F1_3_365/s/b827b8bdf6d1c95e01b30c6f667046e84f7b187e/bundle_dx_scrollManager.js" /> <link rel="modulepreload" href="/1/bundle/esm/l/en-US/bi/0/module/mi/dx%2FtrafficLabeler%2Fv%2F1_3_365/s/cbcccf8fe36487b4b8bcabf19c1b714088af80af/bundle_dx_trafficLabeler.js" /> <link rel="modulepreload" href="/1/bundle/esm/l/en-US/bi/0/module/mi/dx%2FskipNavLink%2Fv%2F1_3_365/s/903aa9d454255594da5cd57647436d82579d868a/bundle_dx_skipNavLink.js" /> <link rel="modulepreload" href="/1/bundle/esm/l/en-US/bi/0/module/mi/doc%2Fheader%2Fv%2F1_3_345/s/5168a5303b0309e5002e7e323b7540d2cc43b217/bundle_doc_header.js" /> <link rel="modulepreload" href="/1/bundle/esm/l/en-US/bi/0/module/mi/doc%2FxmlContent%2Fv%2F1_3_345/s/43c0690d9f3db8019d31c4dc3ae1617201a35a65/bundle_doc_xmlContent.js" /> <link rel="modulepreload" href="/1/bundle/esm/l/en-US/bi/0/module/mi/dw%2Finstrumentation%2Fv%2F1_3_363/s/f83a73fae250daf91e47664169a4f4ef38885584/bundle_dw_instrumentation.js" /> <dw-instrumentation use-google-tag-manager="true"></dw-instrumentation> <script type="text/javascript"> // Make all exposed ENV variables accessible on `process.env` in client modules. Note that // only ENV variables explicitly listed in .themerc.js will be exposed. Note also that this // has to come at the end of the HTML body, because otherwise LWR overwrites // `globalThis.process.env` completely. globalThis.process = globalThis.process || {}; globalThis.process.env = Object.freeze({ ...globalThis.process.env, ...JSON.parse('{"GTM_CONTAINER":"GTM-MWZCN8","SPRIG_ENV":"PZOIfnbk1ROP","INTERNAL_IPS":"^40\\\\.136\\\\.179\\\\.(19[2-9]|2([0-4][0-9]|5[0-5]))|(204\\\\.14\\\\.236|136\\\\.146\\\\.154)\\\\.(([0-9]|[1-9][0-9])|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$,^104\\\\.161\\\\.24(6|7)\\\\.(([0-9]|[1-9][0-9])|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$,^85\\\\.222\\\\.13(4|5)\\\\.(([0-9]|[1-9][0-9])|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$,^104\\\\.161\\\\.24(2|3)\\\\.(([0-9]|[1-9][0-9])|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$,^54\\\\.(148\\\\.249\\\\.104|214\\\\.85\\\\.193)$,^13\\\\.110\\\\.5(4|5)\\\\.(([0-9]|[1-9][0-9])|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$,^66\\\\.203\\\\.11(4|5)\\\\.(([0-9]|[1-9][0-9])|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$,^202\\\\.95\\\\.77\\\\.(6[4-9]|[7-8][0-9]|9[0-5])$,^(13\\\\.250\\\\.175\\\\.119|52\\\\.220\\\\.254\\\\.0)$,^221\\\\.133\\\\.209\\\\.1(2(8|9)|[3-5][0-9])$,^104\\\\.161\\\\.244\\\\.(([0-9]|[1-9][0-9])|1([0-9][0-9])|2([0-4][0-9]|5[0-5]))$,^61\\\\.120\\\\.150\\\\.1(2(8|9)|3[0-9]|4[0-3])$","BASE_URL":"https://developer.salesforce.com","MODE":"prod","COVEO_ORGANIZATION_ID":"org62salesforce","COVEO_SEARCH_HUB":"salesforcedevdoc","COVEO_BLOGS_TOKEN":"xxbcec12a1-0baf-4d43-ab0d-da4d0dbc8d01","COVEO_PUBLIC_ACCESS_TOKEN":"xx159433fa-c01d-457f-9e79-7bbe66868056","COVEO_SEARCH_HUB_DOC_XML":"Developer_Docs_SS","COVEO_PUBLIC_ACCESS_TOKEN_DOC_XML":"xxa5e44ccd-0904-4c0e-927a-060669b41105","COVEO_SEARCH_HUB_DOC_MD":"Developer_MdDocs_SS","COVEO_PUBLIC_ACCESS_TOKEN_DOC_MD":"xxde693aca-0dd1-412e-873a-b713d2c12acd","COVEO_ANALYTICS_TOKEN":"xx31dfe2d4-2138-4fff-9ac6-daacb3e8c586","COVEO_PUBLIC_ACCESS_TOKEN_DOC_REF":"xx74ac5814-9756-4202-8590-665ae4a44834","COVEO_SEARCH_HUB_DOC_REF":"Developer_Reference_Docs_SS","COVEO_SEARCH_PIPELINE":"salesforcedevdoc","TBID_BASE_URL":"https://trailblazer.me","TBID_API_BASE_URL":"https://developer.salesforce.com/tbid","DRM_RECAPTCHA_SITE_KEY":"6LdnxQEVAAAAAEci-AbfPj8ZK-z1EAE-yeoyHlgd"}'), }); </script> <script> document.addEventListener('www_track', (e) => { try { if(window.dataLayer) { window.dataLayer.push(e.detail); } } catch { console.log('Could not push event detail to GTM'); } }); </script> </html>