Reports

The reports endpoints allows you to retrieve reportIds . These IDs can be passed to the data endpoint to pull any desired metrics from any dimension.

Reports can be filtered by any combination of:

  • Advertiser, media partner, or agency.
  • Campaign or report status.
  • Other tags, such as the report's name, start/end date, and much more.

📘

Examples available!

Click the Examples dropdown in the codebox to the right. We have prepared a number of templates that should help you get started!

These examples will be applied to the language/framework of your choice.

Language
Credentials
Basic
base64
:
Click Try It! to start a request and see the response here!
\n\n\n\n\n\n\n\n\n\n\n\n\n","html_footer_meta":"\n\n\n","html_hidelinks":false,"showVersion":false,"hideTableOfContents":false,"nextStepsLabel":"","promos":[{"extras":{"type":"none","buttonPrimary":"get-started","buttonSecondary":"none"},"title":"","text":"","_id":"5fa9a583c88a1e003de1fb64"}],"ai_dropdown":"disabled","ai_options":{"chatgpt":"enabled","claude":"enabled","clipboard":"enabled","copilot":"enabled","view_as_markdown":"enabled"},"showPageIcons":true,"layout":{"full_width":false,"style":"classic"}},"child":{"_id":"6606e9c5e8ce1f005276b057","appearance":{"changelog":{"layoutExpanded":false,"showAuthor":false,"showExactDate":true},"rdmd":{"callouts":{"useIconFont":false},"theme":{"background":"","border":"","markdownEdge":"","markdownFont":"","markdownFontSize":"","markdownLineHeight":"","markdownRadius":"","markdownText":"","markdownTitle":"","markdownTitleFont":"","mdCodeBackground":"","mdCodeFont":"","mdCodeRadius":"","mdCodeTabs":"","mdCodeText":"","tableEdges":"","tableHead":"","tableHeadText":"","tableRow":"","tableStripe":"","tableText":"","text":"","title":""}},"main_body":{"type":"links"},"colors":{"highlight":"","main":"eeeeee","main_alt":"","header_text":"","body_highlight":"#3333FF","custom_login_link_color":""},"typography":{"headline":"Open+Sans:400:sans-serif","body":"Open+Sans:400:sans-serif","typekit":false,"tk_key":"","tk_headline":"","tk_body":""},"header":{"style":"solid","img":[],"img_size":"auto","img_pos":"tl","linkStyle":"buttons"},"body":{"style":"none"},"global_landing_page":{"html":"","redirect":""},"allowApiExplorerJsonEditor":false,"referenceSimpleMode":true,"referenceLayout":"column","link_logo_to_url":true,"theme":"line","colorScheme":"light","overlay":"triangles","landing":true,"sticky":false,"hide_logo":true,"childrenAsPills":false,"subheaderStyle":"dropdown","splitReferenceDocs":true,"showMetricsInReference":false,"logo":["https://files.readme.io/af60d4b-small-395ef92-small-docs.png","af60d4b-small-395ef92-small-docs.png",324,40,"#000000","https://files.readme.io/99736b7-395ef92-small-docs.png","660acd14efe91e001fbe334d"],"loginLogo":[],"logo_white":[],"logo_white_use":false,"logo_large":false,"favicon":["https://files.readme.io/8053e33-small-favicon.png","favicon.png",32,32,"#1c1c1c","https://files.readme.io/6735b58-favicon.png"],"stylesheet":"","stylesheet_hub2":"#ssr-main > div > header > div.Header-bottom2eLKOFXMEmh5.rm-Header-bottom > div > nav > div.Dropdown{\n display:none; \n}\n\n.icon-arrow-up-right:before {\n display:none;\n\n}\n\n.Sidebar-item23D-2Kd61_k3:last-child a[href=\"https://docs.foursquare.com/developer/reference/places-api-overview\"] .Sidebar-link-text_label1gCT_uPnx7Gu {\n color: red; /* Example */\n font-weight: bold;\n font-size:12px;\n}\n\n\n.Param1QyvwHroaCgH .Collapseda2tBtFifUAjo .Param1QyvwHroaCgH {\n display: block;\n}\n\n.Param1QyvwHroaCgH .Collapseda2tBtFifUAjo .Param-form1SoAutupIaz3 {\n margin-left: 10px;\n max-width: 100%;\n}\n\n\n/* Custom Console Doc Styles */\n@media (max-width: 768px){\nbody:not(.showSidebarFlyout) #hub-sidebar.Sidebar_flyout2qTF85usvHxB, body:not(.showSidebarFlyout) #reference-sidebar.Sidebar_flyout2qTF85usvHxB {\n display: none !important;\n}\n}\n\n.rm-Sidebar_guides .hub-sidebar-content > section:last-of-type > .Sidebar-headingTRQyOa2pk0gh {\n display: none !important;\n}\n\nli.Sidebar-item23D-2Kd61_k3.expanded-section-item a[href=\"/developer/docs/developer-console-overview\"] {\n /* Applying styles */\n border-radius: 4px;\n background: #F2EEFB !important;\n box-shadow: 2px 0 0 0 #686df3 inset;\n color: #4f5a66 !important;\n margin-left:-15px !important;\n font-weight:500;\n}\n\n\n.rm-Sidebar_guides {\n opacity: 0;\n animation: fadeIn 0s 1s forwards;\n}\n\n@keyframes fadeIn {\n to {\n opacity: 1;\n }\n}","stylesheet_hub3":"","javascript":"","javascript_hub2":"document.addEventListener('DOMContentLoaded', () => {\n // Select all links in the header\n const headerLinks = document.querySelectorAll('.Header-leftADQdGVqx1wqU a');\n\n headerLinks.forEach(link => {\n const href = link.getAttribute('href');\n\n // Check if the href contains the versioned path (e.g., \"/developer/v20241206/\")\n if (href && href.includes('/developer/v')) {\n // Rewrite the URL by removing the versioned part\n const updatedHref = href.replace(/\\/developer\\/v\\d+\\//, '/developer/');\n link.setAttribute('href', updatedHref);\n }\n });\n});\n\n\n\n$(window).on(\"pageLoad\", function (e, state) {\n setTimeout(function () {\n // Check if there's an active link within the Developer Console section\n const isActiveDeveloperConsolePage =\n document.querySelector(\n \".Sidebar-listWrapper6Q9_yUrG906C .Sidebar-link2Dsha-r-GKh2.active\"\n ) !== null;\n\n if (isActiveDeveloperConsolePage) {\n const developerConsoleSection = Array.from(\n document.querySelectorAll(\n \".rm-Sidebar_guides .Sidebar-headingTRQyOa2pk0gh\"\n )\n ).find(\n (heading) =>\n heading.textContent.includes(\"Developer Console\") &&\n heading.classList.contains(\"section-expanded\")\n )?.parentNode;\n\n if (developerConsoleSection) {\n document\n .querySelectorAll(\n \".rm-Sidebar_guides .Sidebar-listWrapper6Q9_yUrG906C\"\n )\n .forEach((section) => {\n section.style.display =\n section === developerConsoleSection ? \"\" : \"none\";\n section\n .querySelectorAll(\n \".Sidebar-item23D-2Kd61_k3, .subpages .Sidebar-item23D-2Kd61_k3\"\n )\n .forEach((item) => {\n item.style.display = \"\";\n });\n });\n\n const lastSectionHeading = document.querySelector(\n \".rm-Sidebar_guides .hub-sidebar-content > section:last-of-type > .Sidebar-headingTRQyOa2pk0gh\"\n );\n if (\n lastSectionHeading &&\n lastSectionHeading.textContent.includes(\"Developer Console\")\n ) {\n lastSectionHeading.style.display = \"block\";\n }\n\n // Call the function to duplicate navigation after a short delay to ensure the page is fully loaded\n setTimeout(function () {\n duplicateNavigation();\n }, 1); // Adjust the delay as needed\n }\n } else {\n\n // Hide the Developer Console section\n const developerConsoleSection = document.querySelector('.rm-Sidebar_guides .Sidebar-headingTRQyOa2pk0gh');\n if (developerConsoleSection) {\n developerConsoleSection.parentNode.style.display = \"none\";\n }\n\n // Restore visibility of all other sidebar sections\n document\n .querySelectorAll(\".rm-Sidebar_guides .Sidebar-listWrapper6Q9_yUrG906C\")\n .forEach((section) => {\n section.style.display = \"\";\n });\n\n // Ensure that all section headings are visible\n document\n .querySelectorAll(\".rm-Sidebar_guides .Sidebar-headingTRQyOa2pk0gh\")\n .forEach((heading) => {\n heading.style.display = \"block\"; // Or whatever the default should be\n });\n\n // Remove the 'active' class from the Console Docs link in the top navigation, if it was set\n const consoleDocsLink = document.querySelector(\n '.Header-bottom-link[href*=\"developer/docs/developer-console-overview\"]'\n );\n if (consoleDocsLink) {\n consoleDocsLink.classList.remove(\"active\");\n }\n\n // Add the 'active' class to the Console Docs link\n const newConsoleDocsLink = document.querySelector('.Header-bottom-link[href*=\"developer/docs/developer-console-overview\"]');\n if (newConsoleDocsLink) {\n newConsoleDocsLink.classList.add(\"active\");\n }\n }\n }, 10); // Adjust delay as needed\n});\n\n\n// Function to duplicate and insert the original navigation\nfunction duplicateNavigation() {\n // Get the original element to be duplicated\n var originalElement = document.querySelector(\n \".rm-Header-bottom\"\n );\n\n // Check if the original element exists\n if (originalElement) {\n // Clone the original element\n var clonedElement = originalElement.cloneNode(true);\n\n // Insert the cloned element directly after the original element\n originalElement.parentNode.insertBefore(\n clonedElement,\n originalElement.nextSibling\n );\n\n // Hide the original element\n originalElement.style.display = \"none\";\n\n // Remove 'active' class from navigation links below\n const navigationLinks = document.querySelectorAll('.Header-leftADQdGVqx1wqU a');\n navigationLinks.forEach(link => {\n link.classList.remove('active');\n });\n\n // Add the 'active' class to the first Console Docs link\n const consoleDocsLink = document.querySelectorAll('.rm-Header-link[href*=\"developer/docs/developer-console-overview\"]')[1];\n if (consoleDocsLink) {\n consoleDocsLink.classList.add(\"active\");\n console.log(\"Added Active to Console Docs Link\");\n }\n }\n}\n\n\n\n$(window).on('pageLoad', function(e, state) {\n if (state && state.params && state.params.slug === \"address-form-autofill\") {\n function localAddressAutoFillJs() {\n const fsqAPIToken = \"fsq3gM6Yqlox6l+EPn1ITXAlJxk5YaBFlQS5bKofN7ov5W8=\";\n let sessionToken = generateRandomSessionToken();\n const addressInput = document.getElementById(\"autofill-search\");\n const dropDownField = document.getElementById(\"autofill-dropdown\");\n const ulField = document.getElementById(\"autofill-suggestions\");\n const errorField = document.getElementById(\"autofill-error\");\n const notFoundField = document.getElementById(\"autofill-not-found\");\n const cityInput = document.getElementById(\"autofill-city\");\n const regionInput = document.getElementById(\"autofill-region\");\n const countryInput = document.getElementById(\"autofill-country\");\n const postcodeInput = document.getElementById(\"autofill-postcode\");\n const address2Input = document.getElementById(\"autofill-address2\");\n const form = document.getElementById(\"autofill-form\");\n const searchContainer = document.getElementById(\n \"autofill-search-container\"\n );\n\n form && form.addEventListener(\"submit\", preventFormSubmit, true);\n const onChangeAutoComplete = debounce(changeAutoComplete);\n addressInput &&\n addressInput.addEventListener(\"input\", onChangeAutoComplete);\n searchContainer &&\n searchContainer.addEventListener(\"focusin\", focusEventAutoComplete);\n searchContainer &&\n searchContainer.addEventListener(\"focusout\", focusEventAutoComplete);\n\n ulField && ulField.addEventListener(\"click\", selectItem);\n\n function focusEventAutoComplete(event) {\n if (event.type === \"focusin\" && event.target.value) {\n dropDownField.style.display = \"block\";\n } else if (\n event.type === \"focusout\" &&\n !event.currentTarget.contains(event.relatedTarget)\n ) {\n dropDownField.style.display = \"none\";\n }\n }\n\n function preventFormSubmit(event) {\n event.preventDefault();\n }\n\n function logError(err) {\n console.warn(`ERROR(${err.code}): ${err.message}`);\n }\n\n /* Generate a random string with 32 characters.\n Session Token is a user-generated token to identify a session for billing purposes.\n Learn more about session tokens.\n https://docs.foursquare.com/reference/session-tokens\n */\n function generateRandomSessionToken(length = 32) {\n let result = \"\";\n const characters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\";\n for (let i = 0; i < length; i++) {\n result += characters[Math.floor(Math.random() * characters.length)];\n }\n return result;\n }\n\n let isFetching = false;\n async function changeAutoComplete({ target }) {\n const { value: inputSearch = \"\" } = target;\n ulField.innerHTML = \"\";\n notFoundField.style.display = \"none\";\n errorField.style.display = \"none\";\n if (inputSearch.length && !isFetching) {\n try {\n isFetching = true;\n const results = await autoComplete(inputSearch);\n if (results && results.length) {\n results.forEach((value) => {\n addItem(value);\n });\n } else {\n notFoundField.innerHTML = `Foursquare can't\n find ${inputSearch}. Make sure your search is spelled correctly.`;\n notFoundField.style.display = \"block\";\n }\n } catch (err) {\n errorField.style.display = \"block\";\n logError(err);\n } finally {\n isFetching = false;\n dropDownField.style.display = \"block\";\n }\n } else {\n dropDownField.style.display = \"none\";\n }\n }\n\n async function autoComplete(query) {\n try {\n const searchParams = new URLSearchParams({\n query,\n types: \"address\",\n session_token: sessionToken,\n }).toString();\n const searchResults = await fetch(\n `https://api.foursquare.com/v3/autocomplete?${searchParams}`,\n {\n method: \"get\",\n headers: new Headers({\n Accept: \"application/json\",\n Authorization: fsqAPIToken,\n }),\n }\n );\n const data = await searchResults.json();\n return data.results;\n } catch (error) {\n throw error;\n }\n }\n\n function addItem(value) {\n const { link } = value;\n if (!link) return;\n ulField.innerHTML += ``;\n }\n\n async function selectItem({ target }) {\n if (target.tagName === \"BUTTON\") {\n const link = target.dataset.object;\n const addressDetail = await fetchAddressDetails(link);\n const { location = {} } = addressDetail;\n const {\n address = \"\",\n country = \"\",\n postcode = \"\",\n locality = \"\",\n region = \"\",\n } = location;\n addressInput.value = address;\n address2Input.value = \"\";\n countryInput.value = country;\n postcodeInput.value = postcode;\n cityInput.value = locality;\n regionInput.value = region;\n // generate new session token after a complete search\n sessionToken = generateRandomSessionToken();\n\n address2Input && address2Input.focus();\n dropDownField.style.display = \"none\";\n }\n }\n\n async function fetchAddressDetails(link) {\n try {\n const results = await fetch(`https://api.foursquare.com${link}`, {\n method: \"get\",\n headers: new Headers({\n Accept: \"application/json\",\n Authorization: fsqAPIToken,\n }),\n });\n const data = await results.json();\n return data;\n } catch (err) {\n logError(err);\n }\n }\n\n function highlightedNameElement(textObject) {\n if (!textObject) return \"\";\n const { primary, highlight } = textObject;\n if (highlight && highlight.length) {\n let beginning = 0;\n let hightligtedWords = \"\";\n for (let i = 0; i < highlight.length; i++) {\n const { start, length } = highlight[i];\n hightligtedWords += primary.substr(beginning, start - beginning);\n hightligtedWords += \"\" + primary.substr(start, length) + \"\";\n beginning = start + length;\n }\n hightligtedWords += primary.substr(beginning);\n return hightligtedWords;\n }\n return primary;\n }\n\n function debounce(func, timeout = 300) {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(this, args);\n }, timeout);\n };\n }\n }\n\n localAddressAutoFillJs();\n }\n if (state && state.params && state.params.slug === \"local-search-map\") {\n function loadLocalMapSearchJs() {\n mapboxgl.accessToken =\n \"pk.eyJ1IjoiZm91cnNxdWFyZSIsImEiOiJjbDNqNXdrN20wN3JtM2JvMWFqZGxoaGljIn0.uSxJ2t7E96TrBFsn3cXT_g\";\n const fsqAPIToken = \"fsq3bgqdcpLAJFkodk8gisc2F+NenA7gK/zI97A9nKQAXIw=\";\n let userLat = 40.7128;\n let userLng = -74.006;\n let sessionToken = generateRandomSessionToken();\n const inputField = document.getElementById(\"explorer-search\");\n const dropDownField = document.getElementById(\"explorer-dropdown\");\n const ulField = document.getElementById(\"explorer-suggestions\");\n const errorField = document.getElementById(\"explorer-error\");\n const notFoundField = document.getElementById(\"explorer-not-found\");\n\n const onChangeAutoComplete = debounce(changeAutoComplete);\n inputField.addEventListener(\"input\", onChangeAutoComplete);\n ulField.addEventListener(\"click\", selectItem);\n\n function success(pos) {\n const { latitude, longitude } = pos.coords;\n userLat = latitude;\n userLng = longitude;\n flyToLocation(userLat, userLng);\n }\n\n function logError(err) {\n console.warn(`ERROR(${err.code}): ${err.message}`);\n }\n\n navigator.geolocation.getCurrentPosition(success, logError, {\n enableHighAccuracy: true,\n timeout: 5000,\n maximumAge: 0,\n });\n\n const map = new mapboxgl.Map({\n container: \"map\",\n style: \"mapbox://styles/mapbox/light-v10\",\n center: [userLng, userLat],\n zoom: 12,\n });\n\n map.addControl(new mapboxgl.GeolocateControl());\n map.addControl(new mapboxgl.NavigationControl());\n\n let currentMarker;\n\n /* Generate a random string with 32 characters.\n Session Token is a user-generated token to identify a session for billing purposes.\n Learn more about session tokens.\n https://docs.foursquare.com/reference/session-tokens\n */\n function generateRandomSessionToken(length = 32) {\n let result = \"\";\n const characters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\";\n for (let i = 0; i < length; i++) {\n result += characters[Math.floor(Math.random() * characters.length)];\n }\n return result;\n }\n\n let isFetching = false;\n async function changeAutoComplete({ target }) {\n const { value: inputSearch = \"\" } = target;\n ulField.innerHTML = \"\";\n notFoundField.style.display = \"none\";\n errorField.style.display = \"none\";\n if (inputSearch.length && !isFetching) {\n try {\n isFetching = true;\n const results = await autoComplete(inputSearch);\n if (results && results.length) {\n results.forEach((value) => {\n addItem(value);\n });\n } else {\n notFoundField.innerHTML = `Foursquare can't\n find ${inputSearch}. Make sure your search is spelled correctly.\n Don't see the place you're looking for?.`;\n notFoundField.style.display = \"block\";\n }\n } catch (err) {\n errorField.style.display = \"block\";\n logError(err);\n } finally {\n isFetching = false;\n dropDownField.style.display = \"block\";\n }\n } else {\n dropDownField.style.display = \"none\";\n }\n }\n\n async function autoComplete(query) {\n const { lng, lat } = map.getCenter();\n userLat = lat;\n userLng = lng;\n try {\n const searchParams = new URLSearchParams({\n query,\n types: \"place\",\n ll: `${userLat},${userLng}`,\n radius: 50000,\n session_token: sessionToken,\n }).toString();\n const searchResults = await fetch(\n `https://api.foursquare.com/v3/autocomplete?${searchParams}`,\n {\n method: \"get\",\n headers: new Headers({\n Accept: \"application/json\",\n Authorization: fsqAPIToken,\n }),\n }\n );\n const data = await searchResults.json();\n return data.results;\n } catch (error) {\n throw error;\n }\n }\n\n function addItem(value) {\n const placeDetail = value[value.type];\n if (!placeDetail || !placeDetail.geocodes || !placeDetail.geocodes.main)\n return;\n const { latitude, longitude } = placeDetail.geocodes.main;\n const fsqId = placeDetail.fsq_id;\n const dataObject = JSON.stringify({ latitude, longitude, fsqId });\n ulField.innerHTML += `
  • \n
    ${highlightedNameElement(value.text)}
    \n
    ${value.text.secondary}
    \n
  • `;\n }\n\n async function selectItem({ target }) {\n if (target.tagName === \"LI\") {\n const valueObject = JSON.parse(target.dataset.object);\n const { latitude, longitude, fsqId } = valueObject;\n const placeDetail = await fetchPlacesDetails(fsqId);\n addMarkerAndPopup(latitude, longitude, placeDetail);\n flyToLocation(latitude, longitude);\n\n // generate new session token after a complete search\n sessionToken = generateRandomSessionToken();\n const name = target.dataset.name;\n inputField.value = target.children[0].textContent;\n dropDownField.style.display = \"none\";\n }\n }\n\n async function fetchPlacesDetails(fsqId) {\n try {\n const searchParams = new URLSearchParams({\n fields: \"fsq_id,name,geocodes,location,photos,rating\",\n session_token: sessionToken,\n }).toString();\n const results = await fetch(\n `https://api.foursquare.com/v3/places/${fsqId}?${searchParams}`,\n {\n method: \"get\",\n headers: new Headers({\n Accept: \"application/json\",\n Authorization: fsqAPIToken,\n }),\n }\n );\n const data = await results.json();\n return data;\n } catch (err) {\n logError(err);\n }\n }\n\n function createPopup(placeDetail) {\n const { location = {}, name = \"\", photos = [], rating } = placeDetail;\n let photoUrl = \"https://files.readme.io/c163d6e-placeholder.svg\";\n if (photos.length && photos[0]) {\n photoUrl = `${photos[0].prefix}56${photos[0].suffix}`;\n }\n const popupHTML = `
    \n \"photo\n
    \n
    ${name}
    \n
    ${location.address}
    \n
    \n ${\n rating\n ? `
    ${rating}
    `\n : `
    `\n }\n
    `;\n\n const markerHeight = 35;\n const markerRadius = 14;\n const linearOffset = 8;\n const verticalOffset = 8;\n const popupOffsets = {\n top: [0, verticalOffset],\n \"top-left\": [0, verticalOffset],\n \"top-right\": [0, verticalOffset],\n bottom: [0, -(markerHeight + verticalOffset)],\n \"bottom-left\": [\n 0,\n (markerHeight + verticalOffset - markerRadius + linearOffset) * -1,\n ],\n \"bottom-right\": [\n 0,\n (markerHeight + verticalOffset - markerRadius + linearOffset) * -1,\n ],\n left: [\n markerRadius + linearOffset,\n (markerHeight - markerRadius) * -1,\n ],\n right: [\n -(markerRadius + linearOffset),\n (markerHeight - markerRadius) * -1,\n ],\n };\n return new mapboxgl.Popup({\n offset: popupOffsets,\n closeButton: false,\n }).setHTML(popupHTML);\n }\n\n function addMarkerAndPopup(lat, lng, placeDetail) {\n if (currentMarker) currentMarker.remove();\n currentMarker = new mapboxgl.Marker({\n color: \"#3333FF\",\n })\n .setLngLat([lng, lat])\n .setPopup(createPopup(placeDetail))\n .addTo(map);\n\n currentMarker.togglePopup();\n }\n\n function flyToLocation(lat, lng) {\n map.flyTo({\n center: [lng, lat],\n });\n }\n\n function highlightedNameElement(textObject) {\n if (!textObject) return \"\";\n const { primary, highlight } = textObject;\n if (highlight && highlight.length) {\n let beginning = 0;\n let hightligtedWords = \"\";\n for (let i = 0; i < highlight.length; i++) {\n const { start, length } = highlight[i];\n hightligtedWords += primary.substr(beginning, start - beginning);\n hightligtedWords += \"\" + primary.substr(start, length) + \"\";\n beginning = start + length;\n }\n hightligtedWords += primary.substr(beginning);\n return hightligtedWords;\n }\n return primary;\n }\n\n function debounce(func, timeout = 300) {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(this, args);\n }, timeout);\n };\n }\n }\n\n loadLocalMapSearchJs();\n }\n});\n\n$(window).on(\"pageLoad\", function (e, state) {\n const openSearchPopup = () => {\n const headerSearch = document.getElementById(\"hub-search-results\");\n if (headerSearch) {\n headerSearch.classList.add(\"hub-search-results-active\");\n document\n .getElementsByClassName(\"Input Input_md SearchBox-InputUQZAW9QXMe-c\")[0]\n ?.focus();\n }\n };\n\n const triggerSearchButton = document.getElementsByClassName(\n \"landing-page-trigger-search-button\"\n )[0];\n if (triggerSearchButton) {\n triggerSearchButton.addEventListener(\"click\", openSearchPopup);\n }\n});\n\n// START: Add Segment Tracking to Try It button\n// TODO: Verify this runs on route changes, so button gets instrumented on every page\n$(window).on(\"load\", function (e, state) {\n var tryItBtn = document.querySelector(\".rm-TryIt\");\n\n // in case the button has not yet renedered\n if (tryItBtn === undefined) return;\n\n tryItBtn.addEventListener(\"click\", () => {\n console.log(\"Try It button Clicked (project)\");\n analytics.track(\"Try It button Clicked\");\n });\n});\n// END: Add Segment Tracking to Try It button\n\n\n\n// CUSTOM LAUNCH TOP NAV CODE - README \ndocument.addEventListener('DOMContentLoaded', () => {\n setTimeout(() => {\n document.querySelectorAll('.Header-leftADQdGVqx1wqU a[href]').forEach(a => {\n a.addEventListener('click', e => {\n e.preventDefault();\n window.location.href = a.href;\n });\n });\n }, 100);\n});\n\n// CUSTOM LAUNCH SIDEBAR CODE (FINAL project: inject Places first, then Users under Welcome)\n// Runs after a short delay to avoid flicker or unwanted auto-expansion.\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n // Delay entire injection by 1 second\n setTimeout(() => {\n (async function() {\n // Normalize path (strip trailing slash)\n const path = window.location.pathname.replace(/\\/$/, '');\n\n // Only act on the FINAL project paths\n if (!path.startsWith('/developer/reference/')) {\n return;\n }\n\n // Pages to pull from: Places API overview and Users API overview\n // **Places first**, then Users\n const toInject = [\n {\n otherPageUrl: '/fsq-developers-places/reference/places-api-overview',\n targetSectionText: 'Places API'\n },\n {\n otherPageUrl: '/fsq-developers-users/reference/users-api-overview',\n targetSectionText: 'Users API'\n }\n ];\n\n // If versioned (e.g. /v2023-05-01/ in URL), insert version segment into otherPageUrl\n const versionMatch = window.location.pathname.match(/\\/(v\\d{4}-\\d{2}-\\d{2})\\//);\n function applyVersion(url) {\n if (versionMatch) {\n const version = versionMatch[1];\n return url.replace('/reference/', `/${version}/reference/`);\n }\n return url;\n }\n\n // Fetch & cache a single section's HTML from another page\n async function fetchSectionHtml(otherPageUrl, targetSectionText) {\n const versionedUrl = applyVersion(otherPageUrl);\n const cacheKey = `crossSection:${versionedUrl}:${targetSectionText}`;\n const cached = sessionStorage.getItem(cacheKey);\n if (cached) {\n return cached;\n }\n try {\n const resp = await fetch(versionedUrl, { credentials: 'same-origin' });\n if (!resp.ok) {\n console.warn('[CrossInject] Fetch failed', resp.status, versionedUrl);\n return null;\n }\n const htmlText = await resp.text();\n // Parse to DOM\n const parser = new DOMParser();\n const doc = parser.parseFromString(htmlText, 'text/html');\n // Find the sidebar section\n const sidebarSelector = '.rm-Sidebar';\n const otherSidebar = doc.querySelector(sidebarSelector);\n if (!otherSidebar) {\n console.warn('[CrossInject] Sidebar not found for', versionedUrl);\n return null;\n }\n // Locate the
    whose

    includes targetSectionText\n let foundSection = null;\n otherSidebar.querySelectorAll('section').forEach(sec => {\n if (foundSection) return;\n const h2 = sec.querySelector('h2');\n if (h2 && h2.textContent.trim().includes(targetSectionText)) {\n foundSection = sec;\n }\n });\n if (!foundSection) {\n console.warn('[CrossInject] Section not found:', targetSectionText, 'in', versionedUrl);\n return null;\n }\n const sectionHtml = foundSection.outerHTML;\n try {\n sessionStorage.setItem(cacheKey, sectionHtml);\n } catch (_) {}\n return sectionHtml;\n } catch (err) {\n console.error('[CrossInject] Error fetching/parsing:', err);\n return null;\n }\n }\n\n // Wait until the current page's sidebar is present\n function whenSidebarReady(fn) {\n const interval = setInterval(() => {\n const sidebarNav = document.querySelector('.rm-Sidebar');\n if (sidebarNav) {\n clearInterval(interval);\n fn(sidebarNav);\n }\n }, 100);\n // Stop polling after 5s\n setTimeout(() => clearInterval(interval), 5000);\n }\n\n // Collapse helper for a section element\n function collapseSection(sec) {\n const h2 = sec.querySelector('h2');\n const ul = sec.querySelector('ul');\n if (h2) {\n h2.classList.remove('section-expanded');\n h2.classList.add('section-collapsed');\n h2.setAttribute('aria-expanded', 'false');\n }\n if (ul) {\n ul.classList.add('section-collapsed');\n ul.classList.remove('section-list-expanded');\n }\n }\n // Expand helper\n function expandSection(sec) {\n const h2 = sec.querySelector('h2');\n const ul = sec.querySelector('ul');\n if (h2) {\n h2.classList.remove('section-collapsed');\n h2.classList.add('section-expanded');\n h2.setAttribute('aria-expanded', 'true');\n }\n if (ul) {\n ul.classList.remove('section-collapsed');\n ul.classList.add('section-list-expanded');\n }\n }\n\n // Fetch all needed sections in parallel\n const results = await Promise.all(\n toInject.map(item =>\n fetchSectionHtml(item.otherPageUrl, item.targetSectionText)\n .then(html => ({ ...item, sectionHtml: html }))\n )\n );\n const validSections = results.filter(r => r.sectionHtml);\n if (validSections.length === 0) {\n return;\n }\n\n // Once our sidebar is ready, inject under \"Welcome\"\n whenSidebarReady(sidebarNav => {\n const contentDiv = sidebarNav.querySelector('.hub-sidebar-content');\n if (!contentDiv) {\n console.warn('[CrossInject] .hub-sidebar-content not found; abort insertion.');\n return;\n }\n\n // Find \"Welcome\" section\n const welcomeSection = Array.from(contentDiv.querySelectorAll('section')).find(sec => {\n const h2 = sec.querySelector('h2');\n return h2 && h2.textContent.trim() === 'Welcome';\n });\n let insertAfter = welcomeSection;\n\n validSections.forEach(({ targetSectionText, sectionHtml }) => {\n const wrapper = document.createElement('div');\n wrapper.innerHTML = sectionHtml;\n const originalSectionNode = wrapper.firstElementChild;\n if (!originalSectionNode) {\n console.warn('[CrossInject] No section node for', targetSectionText);\n return;\n }\n const sectionClone = originalSectionNode.cloneNode(true);\n\n // Adapt heading & toggle as needed:\n const injectedH2 = sectionClone.querySelector('h2');\n const injectedUL = sectionClone.querySelector('ul');\n if (injectedH2 && injectedUL) {\n // Copy classes from an existing template

    if present\n const templateH2 = sidebarNav.querySelector('.hub-sidebar-content section h2');\n if (templateH2) {\n injectedH2.className = templateH2.className;\n } else {\n injectedH2.classList.add('Sidebar-headingTRQyOa2pk0gh', 'rm-Sidebar-heading');\n }\n injectedH2.setAttribute('tabindex', '0');\n // Remove existing chevrons, clone from template or fallback\n Array.from(injectedH2.querySelectorAll('.icon-chevron')).forEach(el => el.remove());\n if (templateH2) {\n templateH2.querySelectorAll('.icon-chevron').forEach(iconSpan => {\n injectedH2.appendChild(iconSpan.cloneNode(true));\n });\n } else {\n const fallbackSpan = document.createElement('span');\n fallbackSpan.className = 'icon-chevron';\n injectedH2.appendChild(fallbackSpan);\n }\n // Initially collapsed\n collapseSection(sectionClone);\n\n // Toggle handler\n const toggleFn = () => {\n const isCollapsed = injectedUL.classList.contains('section-collapsed');\n if (isCollapsed) {\n expandSection(sectionClone);\n } else {\n collapseSection(sectionClone);\n }\n };\n injectedH2.style.cursor = 'pointer';\n injectedH2.addEventListener('click', toggleFn);\n injectedH2.addEventListener('keydown', e => {\n if (e.key === 'Enter' || e.key === ' ' || e.key === 'Spacebar') {\n e.preventDefault();\n toggleFn();\n }\n });\n }\n\n // Nested toggles\n sectionClone.querySelectorAll('a.Sidebar-link_parent').forEach(aParent => {\n let btn = aParent.querySelector('button');\n if (!btn && aParent.nextElementSibling && aParent.nextElementSibling.tagName === 'BUTTON') {\n btn = aParent.nextElementSibling;\n }\n let subUl = null;\n if (btn) {\n const maybeUl = btn.parentElement.nextElementSibling;\n if (maybeUl && maybeUl.classList.contains('subpages')) subUl = maybeUl;\n }\n if (!subUl) {\n const parentLi = aParent.closest('li');\n if (parentLi) {\n const maybe = parentLi.querySelector('ul.subpages');\n if (maybe) subUl = maybe;\n }\n }\n if (btn && subUl) {\n // collapsed by default\n btn.setAttribute('aria-expanded', 'false');\n subUl.classList.add('section-collapsed');\n subUl.classList.remove('section-list-expanded');\n btn.style.cursor = 'pointer';\n btn.addEventListener('click', e => {\n e.preventDefault();\n const expanded = btn.getAttribute('aria-expanded') === 'true';\n if (expanded) {\n btn.setAttribute('aria-expanded', 'false');\n subUl.classList.add('section-collapsed');\n subUl.classList.remove('section-list-expanded');\n } else {\n btn.setAttribute('aria-expanded', 'true');\n subUl.classList.remove('section-collapsed');\n subUl.classList.add('section-list-expanded');\n }\n });\n }\n });\n\n // Insert right after Welcome (Places first, then Users)\n if (insertAfter && insertAfter.parentElement === contentDiv) {\n insertAfter.insertAdjacentElement('afterend', sectionClone);\n insertAfter = sectionClone;\n } else {\n contentDiv.appendChild(sectionClone);\n }\n console.log(`[CrossInject] Injected \"${targetSectionText}\" after Welcome.`);\n });\n\n // After injecting both, auto-expand whichever matches current path\n function normalizeHref(href) {\n try {\n const url = new URL(href, window.location.origin);\n return url.pathname.replace(/\\/$/, '');\n } catch {\n return href.replace(/\\/$/, '');\n }\n }\n const normPath = window.location.pathname.replace(/\\/$/, '');\n // Clear any previous active marks:\n contentDiv.querySelectorAll('a[aria-current]').forEach(a => {\n a.removeAttribute('aria-current');\n a.classList.remove('active');\n });\n // Find matches among injected links:\n const allLinks = Array.from(contentDiv.querySelectorAll('a'));\n allLinks.forEach(a => {\n const href = a.getAttribute('href');\n if (!href) return;\n if (normalizeHref(href) === normPath) {\n // mark active\n a.setAttribute('aria-current', 'page');\n a.classList.add('active');\n // expand its parent section\n let sec = a.closest('section');\n if (sec) expandSection(sec);\n // expand ancestors\n let anc = a.parentElement;\n while (anc && anc !== contentDiv) {\n if (anc.tagName === 'UL' && anc.classList.contains('subpages')) {\n anc.classList.remove('section-collapsed');\n anc.classList.add('section-list-expanded');\n const parentLi = anc.closest('li');\n if (parentLi) {\n const btn = parentLi.querySelector('button[aria-expanded]');\n if (btn) btn.setAttribute('aria-expanded', 'true');\n }\n }\n if (anc.tagName === 'SECTION') {\n expandSection(anc);\n }\n anc = anc.parentElement;\n }\n }\n });\n // If none matched exactly, all remain collapsed.\n });\n })();\n }, 600);\n});","html_promo":"","html_body":"","html_footer":"
    \n
    \n \n
    \n
    \n
    \n
    \n

    © 2024 Foursquare. All rights reserved.

    \n \n
    \n
    \n\n\n
    \n \n\t\n
    \n\n","html_head":"","html_footer_meta":"\n\n","html_hidelinks":false,"showVersion":false,"hideTableOfContents":false,"nextStepsLabel":"","promos":[{"extras":{"type":"none","buttonPrimary":"get-started","buttonSecondary":"none"},"title":"","text":"","_id":"5fa9a583c88a1e003de1fb64"}],"ai_dropdown":"disabled","ai_options":{"chatgpt":"enabled","claude":"enabled","clipboard":"enabled","copilot":"enabled","view_as_markdown":"enabled"},"showPageIcons":true,"layout":{"full_width":false,"style":"classic"}},"custom_domain":"","childrenProjects":[],"derivedPlan":"enterprise","description":"","isExternalSnippetActive":false,"error404":"","experiments":[],"first_page":"landing","flags":{"allowReusableOTPs":false,"alwaysShowDocPublishStatus":false,"allowUnsafeCustomHtmlSuggestionsFromNonAdmins":false,"allowXFrame":false,"apiAccessRevoked":false,"billingRedesignEnabled":true,"correctnewlines":false,"dashReact":false,"developerPortal":false,"disablePasswordlessLogin":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"disableAutoTranslate":false,"disableSAMLScoping":false,"disableSignups":false,"enterprise":true,"graphql":false,"mdx":false,"newEditorDash":true,"oauth":false,"passwordlessLogin":"default","owlbotAi":false,"rdmdCompatibilityMode":false,"reviewWorkflow":true,"singleProjectEnterprise":false,"staging":false,"star":false,"superHub":false,"superHubDevelopment":false,"translation":false,"annualBillingEnabled":true,"devDashBillingRedesignEnabled":false,"enableOidc":false,"customComponents":false,"disableDiscussionSpamRecaptchaBypass":false,"developerViewUsersData":false,"changelogRssAlwaysPublic":false,"bidiSync":false,"superHubMigrationSelfServeFlow":true,"apiDesigner":false,"hideEnforceSSO":false,"localLLM":false,"superHubManageVersions":false,"gitSidebar":false,"superHubGlobalCustomBlocks":false,"childManagedBidi":false,"requiresJQuery":true,"externalSdkSnippets":false,"superHubBranches":false,"migrationPreview":false,"superHubPreview":false,"superHubBranchReviews":false},"fullBaseUrl":"https://fsq-developers.readme.io/","git":{"migration":{"createRepository":{},"transformation":{},"migratingPages":{},"enableSuperhub":{}},"sync":{"linked_repository":{},"installationRequest":{},"connections":[],"providers":[]}},"glossaryTerms":[{"_id":"600a29fd5ba23c002b40c7d2","term":"POI","definition":"A point of interest"},{"_id":"623bbd4616acf4005d31315f","term":"UUID","definition":"A unique identifier for your map or dataset. Can be found at the end of asset's URL or metadata."}],"graphqlSchema":"","gracePeriod":{"enabled":false,"endsAt":null},"shouldGateDash":false,"healthCheck":{"settings":{"page":"","status":false,"url":""},"provider":""},"intercom_secure_emailonly":false,"intercom":"","is_active":true,"integrations":{"login":{}},"internal":"","jwtExpirationTime":0,"landing_bottom":[{"type":"html","alignment":"left","html":"
    \n
    \n
    \n

    Foursquare Developer Documentation

    \n

    \n Explore our comprehensive technical documentation, tools and more to up your location game.\n

    \n
    \n Search\n
    \n
    \n
    \n\n \n
    \n
    \n
    \n

    Products

    \n

    Explore our products

    \n

    \n Learn more about our complete suite of developer products.\n

    \n

    \n
      \n
    • View All
    • \n
    • APIs
    • \n
    • SDKs
    • \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n

    API

    \n

    Places API New!

    \n

    \n Access global POI data and rich content via our new Places API endpoints.\n

    \n \n
    \n\n \n
    \n
    \n \n
    \n

    API

    \n

    Users API New!

    \n

    \n Manage user accounts and authentication endpoints for Foursquare users.\n

    \n \n
    \n\n\n \n \n
    \n
    \n \n \n \n
    \n

    API

    \n

    Movement Geofence API

    \n

    \n Enable Movement SDK user-configured geofences for specific venues, categories, and more.\n

    \n \n
    \n\n \n
    \n
    \n \n \n \n
    \n

    API

    \n

    Studio Data API

    \n

    \n Create, manage, and modify geospatial assets used on Foursquare Studio. Integrate into\n your pipeline tasks for the bulk processing of geospatial data, allowing for the\n efficient flow of data into Studio.\n

    \n \n
    \n\n \n
    \n
    \n \n \n \n
    \n

    API

    \n

    Measurement API

    \n

    \n Measurement API (MAPI) is a tool for accessing measurement data, powering everything\n from insights gathering to campaign optimization. MAPI combines unparalleled data\n granularity with a flexible syntax to put you in control of your report data.\n

    \n \n
    \n\n \n
    \n
    \n \n \n \n
    \n

    SDK

    \n

    Movement SDK

    \n

    \n Create real-time, contextual mobile experiences, and bridge the gap between online\n interests and real-world behaviors.\n

    \n \n
    \n\n \n
    \n
    \n \n \n \n
    \n

    SDK

    \n

    Studio Data SDK

    \n

    \n Supports automated, scalable management of maps and seamless integration with your work\n flows.\n

    \n \n
    \n\n \n
    \n
    \n \n \n \n
    \n

    SDK

    \n

    Map SDK

    \n

    \n Control, embed and customize maps on your own webpage or in Jupyter Notebooks.\n

    \n \n
    \n\n \n\n
    \n
    X\n
    \n

    API

    \n

    Places API - Deprecated

    \n

    \n Access global POI data and rich content from 100K+ trusted sources via our API for\n real-time venue search, discovery, and ranking.\n

    \n \n
    \n\n
    \n
    X\n
    \n

    API

    \n

    Personalization API - Deprecated

    \n

    \n Leverage our global POI database alongside our personalization algorithms to provide a\n personalized search experience unique to a user’s specific tastes, visit history, review\n sentiment, and more.\n

    \n \n
    \n
    \n
    \n
    \n\n \n\n
    \n
    \n
    \n
    \n

    Developer Tools

    \n

    API Explorer

    \n

    \n View working code examples and make authenticated API requests with full responses. Try\n it out!\n

    \n
      \n
    • \n \n \n \n Full sample responses without writing code\n
    • \n
    • \n \n \n \n Build your own requests and see responses in real-time\n
    • \n
    • \n \n \n \n Multiple code language support\n
    • \n
    \n \n
    \n
    \n \"Foursquare\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n

    API Tools

    \n

    \n View working web experiences leveraging our most popular API endpoints, including code,\n and step-by-step code walkthroughs of our most popular API use cases.\n

    \n \n
    \n
    \n
    \n \n \n \n
    \n

    SDK Tools

    \n

    \n Take Foursquare technology for a test ride before you spend the time and effort to\n implement the code.\n

    \n \n
    \n
    \n
    \n \n \n \n
    \n

    Developer Support

    \n

    \n Resources aimed at providing a dedicated experience where you can interact with other\n developers.\n

    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n

    Resources

    \n

    Get Started Guides

    \n
    \n
    \n
    \n
    Feature
    \n

    Get Started with the Places API

    \n

    \n New to the Foursquare Places API? Not to worry, we've got you covered. In just a few\n simple steps, you'll be up and running with your first API call in no time!\n

    \n

    \n Read more\n

    \n
    \n
    \n
    APIs
    \n

    Get Started with the Personalization APIs

    \n

    \n New to the Foursquare Personalization APIs? Not to worry, we've got you covered. In just\n a few simple steps, you'll be up and running with your first API call in no time!\n

    \n

    \n Read more\n

    \n
    \n
    \n
    Feature
    \n

    Get Started with Foursquare Studio

    \n

    \n Using Foursquare Studio, you can create powerful geospatial visualizations that you can\n share with the world.\n

    \n

    \n Read more\n

    \n
    \n
    \n
    \n
    \n\n
    \n
    \n

    Unlock Your App's Full Potential with Foursquare Developer

    \n

    \n Register now to get the monthly 10,000 monthly free Places Pro Calls and more.\n

    \n Sign up\n
    \n
    \n
    "}],"mdxMigrationStatus":"rdmd","metrics":{"monthlyLimit":0,"thumbsEnabled":true,"monthlyPurchaseLimit":0,"meteredBilling":{}},"modules":{"landing":true,"docs":true,"examples":true,"reference":true,"graphql":false,"changelog":false,"discuss":false,"suggested_edits":true,"custompages":false,"tutorials":false},"name":"Developer","nav_names":{"docs":"SDK Docs","reference":"API Docs","changelog":"Release Notes","discuss":"","recipes":"","tutorials":""},"oauth_url":"","onboardingCompleted":{"api":true,"appearance":true,"documentation":true,"domain":false,"jwt":false,"logs":true,"metricsSDK":false},"owlbot":{"customization":{"tone":"neutral","customTone":"","answerLength":"long","forbiddenWords":"","defaultAnswer":""},"enabled":false,"isPaying":false,"copilot":{"enabled":false,"hasBeenUsed":false,"installedCustomPage":""}},"owner":{"id":null,"email":null,"name":null},"plan":"enterprise","planOverride":"enterprise","planSchedule":{"stripeScheduleId":null,"changeDate":null,"nextPlan":null},"planStatus":"","planTrial":"enterprise","readmeScore":{"components":{"newDesign":{"enabled":true,"points":25},"reference":{"enabled":true,"points":50},"tryItNow":{"enabled":true,"points":35},"syncingOAS":{"enabled":true,"points":10},"customLogin":{"enabled":false,"points":25},"metrics":{"enabled":false,"points":40},"recipes":{"enabled":false,"points":15},"pageVoting":{"enabled":true,"points":1},"suggestedEdits":{"enabled":false,"points":10},"support":{"enabled":false,"points":5},"htmlLanding":{"enabled":true,"points":5},"guides":{"enabled":true,"points":10},"changelog":{"enabled":false,"points":5},"glossary":{"enabled":true,"points":1},"variables":{"enabled":true,"points":1},"integrations":{"enabled":true,"points":2}},"totalScore":140},"reCaptchaSiteKey":"","reference":{"alwaysUseDefaults":true,"defaultExpandResponseExample":true,"defaultExpandResponseSchema":true,"enableOAuthFlows":false},"seo":{"overwrite_title_tag":false},"stable":{"_id":"6606e9c5e8ce1f005276a817","version":"1.0","version_clean":"1.0.0","codename":"OAS Spec File","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["6606e9c5e8ce1f005276a84a","6606e9c5e8ce1f005276a84b","64f77a125b90e20045ad3f37","6606e9c5e8ce1f005276a84c","659d9bd8788254004fcbbf9b","6606e9c5e8ce1f005276a84d","6606e9c5e8ce1f005276a84e","6606e9c5e8ce1f005276a84f","6606e9c5e8ce1f005276a850","634d7c4489e57300949dfc2f","6606e9c5e8ce1f005276a851","64f77a125b90e20045ad3f3f","6606e9c5e8ce1f005276a852","63d9a0447f835300035eb60b","6413513473cec2007a3a0b33","64344de6cb55ac06049b7942","64344df898cc77060800744e","64344e1501238201681398c5","643474727a446d0065e69530","643474b957ef79005110d780","643475946acb95005751f7d3","6435bc498d488f0211d9f460","647f5f350a854d000cb7fd6a","647f601da2e29b0058479b98","647f60d84093441159f3efe2","647f66d02a7075003bc66a91","647f6af5aeaa5b000bce32ad","6606e9c5e8ce1f005276a853","64f77a135b90e20045ad40a8","64f789bfe41a04003ba1c9ab","6606e9c5e8ce1f005276a854","6525abcb1bfe3401da1ba7c4","655e161de002cc07c1cbff81","657cc9aca550a7001002bcab","657ccad8d14bbf005453770a","657ccb274df05f007fa537fe","6606e9c5e8ce1f005276a855","6606e9c5e8ce1f005276a856","6606e9c5e8ce1f005276a857","6606e9c5e8ce1f005276a858","6606e9c5e8ce1f005276a859","6606e9c5e8ce1f005276a85a","660f042788e24f000fc7de39","660f289c25b9de0053f27408","67d86f41e2a4660024496b59"],"project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2024-01-09T19:17:43.818Z","__v":1,"forked_from":"6606e9c5e8ce1f005276a816","updatedAt":"2025-03-17T18:51:45.040Z","pdfStatus":"complete","apiRegistries":[]},"subdomain":"fsq-developers","subpath":"developer","superHubWaitlist":false,"topnav":{"left":[],"right":[{"type":"url","text":"Support","url":"https://support.foursquare.com/hc/en-us/requests/new?ticket_form_id=13089705025180"},{"type":"user"}],"bottom":[{"type":"url","url":"https://docs.foursquare.com/developer/docs/developer-console-overview","text":"❯ Console Docs"}],"edited":true},"trial":{"trialDeadlineEnabled":false,"trialEndsAt":"2024-04-12T16:18:13.348Z"},"translate":{"provider":"transifex","show_widget":false,"key_public":"","org_name":"","project_name":"","languages":[]},"url":"https://docs.foursquare.com","versions":[{"_id":"6606e9c5e8ce1f005276a817","version":"1.0","version_clean":"1.0.0","codename":"OAS Spec File","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["6606e9c5e8ce1f005276a84a","6606e9c5e8ce1f005276a84b","64f77a125b90e20045ad3f37","6606e9c5e8ce1f005276a84c","659d9bd8788254004fcbbf9b","6606e9c5e8ce1f005276a84d","6606e9c5e8ce1f005276a84e","6606e9c5e8ce1f005276a84f","6606e9c5e8ce1f005276a850","634d7c4489e57300949dfc2f","6606e9c5e8ce1f005276a851","64f77a125b90e20045ad3f3f","6606e9c5e8ce1f005276a852","63d9a0447f835300035eb60b","6413513473cec2007a3a0b33","64344de6cb55ac06049b7942","64344df898cc77060800744e","64344e1501238201681398c5","643474727a446d0065e69530","643474b957ef79005110d780","643475946acb95005751f7d3","6435bc498d488f0211d9f460","647f5f350a854d000cb7fd6a","647f601da2e29b0058479b98","647f60d84093441159f3efe2","647f66d02a7075003bc66a91","647f6af5aeaa5b000bce32ad","6606e9c5e8ce1f005276a853","64f77a135b90e20045ad40a8","64f789bfe41a04003ba1c9ab","6606e9c5e8ce1f005276a854","6525abcb1bfe3401da1ba7c4","655e161de002cc07c1cbff81","657cc9aca550a7001002bcab","657ccad8d14bbf005453770a","657ccb274df05f007fa537fe","6606e9c5e8ce1f005276a855","6606e9c5e8ce1f005276a856","6606e9c5e8ce1f005276a857","6606e9c5e8ce1f005276a858","6606e9c5e8ce1f005276a859","6606e9c5e8ce1f005276a85a","660f042788e24f000fc7de39","660f289c25b9de0053f27408","67d86f41e2a4660024496b59"],"project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2024-01-09T19:17:43.818Z","__v":1,"forked_from":"6606e9c5e8ce1f005276a816","updatedAt":"2025-03-17T18:51:45.040Z","pdfStatus":"complete","apiRegistries":[]},{"_id":"6606e9c5e8ce1f005276a815","version":"0.2","version_clean":"0.2.0","codename":"New Help Dev","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["6606e9c5e8ce1f005276a82e","6606e9c5e8ce1f005276a82f","6606e9c5e8ce1f005276a830","6606e9c5e8ce1f005276a831","6606e9c5e8ce1f005276a832","6606e9c5e8ce1f005276a833","6606e9c5e8ce1f005276a834","6606e9c5e8ce1f005276a835","6606e9c5e8ce1f005276a836","634d7c4489e57300949dfc2f","6606e9c5e8ce1f005276a838","6606e9c5e8ce1f005276a839","6606e9c5e8ce1f005276a83a","63d9a0447f835300035eb60b","6413513473cec2007a3a0b33","64344de6cb55ac06049b7942","64344df898cc77060800744e","64344e1501238201681398c5","643474727a446d0065e69530","643474b957ef79005110d780","643475946acb95005751f7d3","6435bc498d488f0211d9f460","647f5f350a854d000cb7fd6a","647f601da2e29b0058479b98","647f60d84093441159f3efe2","647f66d02a7075003bc66a91","647f6af5aeaa5b000bce32ad","6606e9c5e8ce1f005276a83d"],"project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2020-11-09T20:24:35.628Z","__v":1,"forked_from":"6606e9c5e8ce1f005276a814","updatedAt":"2023-10-30T22:02:33.548Z"},{"_id":"6606e9c5e8ce1f005276a814","version":"0.1","version_clean":"0.1.0","codename":"Old DevEx","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["6606e9c5e8ce1f005276a821","6606e9c5e8ce1f005276a822","6606e9c5e8ce1f005276a823","6606e9c5e8ce1f005276a824","6606e9c5e8ce1f005276a825","6606e9c5e8ce1f005276a826","6606e9c5e8ce1f005276a827","6606e9c5e8ce1f005276a828","6606e9c5e8ce1f005276a82b","6606e9c5e8ce1f005276a82c","6606e9c5e8ce1f005276a82d","6606e9c5e8ce1f005276a837","6606e9c5e8ce1f005276a83c"],"project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2020-11-09T20:24:35.628Z","__v":5,"forked_from":"6606e9c5e8ce1f005276a813"},{"_id":"6606e9c5e8ce1f005276a813","version":"0.0","version_clean":"0.0.0","codename":"Old Ent Docs","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["6606e9c5e8ce1f005276a819","6606e9c5e8ce1f005276a819","6606e9c5e8ce1f005276a81a","6606e9c5e8ce1f005276a81b","6606e9c5e8ce1f005276a81c","6606e9c5e8ce1f005276a81d","6606e9c5e8ce1f005276a81e","6606e9c5e8ce1f005276a81f","6606e9c5e8ce1f005276a820","6606e9c5e8ce1f005276a829","6606e9c5e8ce1f005276a82a","6606e9c5e8ce1f005276a83b"],"project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2020-11-09T20:24:35.628Z","__v":3},{"_id":"6606e9c5e8ce1f005276a816","version":"0.3","version_clean":"0.3.0","codename":"New Dev - Manual API","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["6606e9c5e8ce1f005276a83e","6606e9c5e8ce1f005276a83f","64f77a125b90e20045ad3f37","6606e9c5e8ce1f005276a840","6606e9c5e8ce1f005276a841","6606e9c5e8ce1f005276a842","6606e9c5e8ce1f005276a843","6606e9c5e8ce1f005276a844","6606e9c5e8ce1f005276a845","634d7c4489e57300949dfc2f","6606e9c5e8ce1f005276a846","64f77a125b90e20045ad3f3f","6606e9c5e8ce1f005276a847","63d9a0447f835300035eb60b","6413513473cec2007a3a0b33","64344de6cb55ac06049b7942","64344df898cc77060800744e","64344e1501238201681398c5","643474727a446d0065e69530","643474b957ef79005110d780","643475946acb95005751f7d3","6435bc498d488f0211d9f460","647f5f350a854d000cb7fd6a","647f601da2e29b0058479b98","647f60d84093441159f3efe2","647f66d02a7075003bc66a91","647f6af5aeaa5b000bce32ad","6606e9c5e8ce1f005276a848","64f77a135b90e20045ad40a8","64f789bfe41a04003ba1c9ab","6606e9c5e8ce1f005276a849","6525abcb1bfe3401da1ba7c4","655e161de002cc07c1cbff81","657cc9aca550a7001002bcab","657ccad8d14bbf005453770a","657ccb274df05f007fa537fe"],"project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2023-09-05T18:57:22.670Z","__v":1,"forked_from":"6606e9c5e8ce1f005276a815","updatedAt":"2024-01-09T20:22:14.497Z"},{"_id":"6606e9c5e8ce1f005276a818","version":"1.1111","version_clean":"1.1111.0","codename":"Demo Day MAPI","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["6606e9c5e8ce1f005276a85b","6606e9c5e8ce1f005276a85c","64f77a125b90e20045ad3f37","6606e9c5e8ce1f005276a85d","659d9bd8788254004fcbbf9b","6606e9c5e8ce1f005276a85e","6606e9c5e8ce1f005276a85f","6606e9c5e8ce1f005276a860","6606e9c5e8ce1f005276a861","634d7c4489e57300949dfc2f","6606e9c5e8ce1f005276a862","64f77a125b90e20045ad3f3f","6606e9c5e8ce1f005276a863","63d9a0447f835300035eb60b","6413513473cec2007a3a0b33","64344de6cb55ac06049b7942","64344df898cc77060800744e","64344e1501238201681398c5","643474727a446d0065e69530","643474b957ef79005110d780","643475946acb95005751f7d3","6435bc498d488f0211d9f460","647f5f350a854d000cb7fd6a","647f601da2e29b0058479b98","647f60d84093441159f3efe2","647f66d02a7075003bc66a91","647f6af5aeaa5b000bce32ad","6606e9c5e8ce1f005276a864","64f77a135b90e20045ad40a8","64f789bfe41a04003ba1c9ab","6606e9c5e8ce1f005276a865","6525abcb1bfe3401da1ba7c4","655e161de002cc07c1cbff81","657cc9aca550a7001002bcab","657ccad8d14bbf005453770a","657ccb274df05f007fa537fe","6606e9c5e8ce1f005276a855","6606e9c5e8ce1f005276a866","6606e9c5e8ce1f005276a867","6606e9c5e8ce1f005276a868","6606e9c5e8ce1f005276a869","6606e9c5e8ce1f005276a86a","6606e9c5e8ce1f005276a86b"],"project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2024-03-28T10:17:25.142Z","__v":0,"forked_from":"6606e9c5e8ce1f005276a817","updatedAt":"2024-03-28T10:17:25.904Z"},{"_id":"67632b52f5b7cf0061fd6ee2","version":"20241206","version_clean":"20241206.0.0","codename":"","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["67632b52f5b7cf0061fd6d11","67632b52f5b7cf0061fd6d12","64f77a125b90e20045ad3f37","67632b52f5b7cf0061fd6d13","659d9bd8788254004fcbbf9b","67632b52f5b7cf0061fd6d14","67632b52f5b7cf0061fd6d15","67632b52f5b7cf0061fd6d16","67632b52f5b7cf0061fd6d17","634d7c4489e57300949dfc2f","67632b52f5b7cf0061fd6d18","64f77a125b90e20045ad3f3f","67632b52f5b7cf0061fd6d19","63d9a0447f835300035eb60b","6413513473cec2007a3a0b33","64344de6cb55ac06049b7942","64344df898cc77060800744e","64344e1501238201681398c5","643474727a446d0065e69530","643474b957ef79005110d780","643475946acb95005751f7d3","6435bc498d488f0211d9f460","647f5f350a854d000cb7fd6a","647f601da2e29b0058479b98","647f60d84093441159f3efe2","647f66d02a7075003bc66a91","647f6af5aeaa5b000bce32ad","67632b52f5b7cf0061fd6d1a","64f77a135b90e20045ad40a8","64f789bfe41a04003ba1c9ab","67632b52f5b7cf0061fd6d1b","6525abcb1bfe3401da1ba7c4","655e161de002cc07c1cbff81","657cc9aca550a7001002bcab","657ccad8d14bbf005453770a","657ccb274df05f007fa537fe","67632b52f5b7cf0061fd6d1c","67632b52f5b7cf0061fd6d1d","67632b52f5b7cf0061fd6d1e","67632b52f5b7cf0061fd6d1f","67632b52f5b7cf0061fd6d20","6606e9c5e8ce1f005276a85a","660f042788e24f000fc7de39","67632b52f5b7cf0061fd6d21","67800188cfca3400623c7c3b"],"pdfStatus":"","project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2024-12-18T20:06:42.178Z","__v":1,"forked_from":"6606e9c5e8ce1f005276a817","updatedAt":"2025-01-09T17:04:08.987Z","apiRegistries":[]}],"variableDefaults":[{"source":"security","_id":"63405a756dda10000f0ee8a1","name":"Authorization","type":"apiKey","apiSetting":"6606e9c5e8ce1f005276a898"},{"source":"security","_id":"64e8f31e4b5dd10958059cb2","name":"BearerAuth","type":"http","scheme":"bearer","apiSetting":"6606e9c5e8ce1f005276a8b0"},{"source":"security","_id":"64f8c5cfcef95d006694b93d","name":"BearerTokenAuth","type":"http","scheme":"bearer","apiSetting":"6606e9c5e8ce1f005276a8ae"},{"source":"security","_id":"65fabf83d8b563003024e550","name":"x-api-key","type":"apiKey","apiSetting":"6606e9c5e8ce1f005276a8ce"},{"source":"security","_id":"66172602ef644d001382eb70","name":"oauth_token","type":"apiKey","apiSetting":"6606e9c5e8ce1f005276a8cd"},{"source":"security","_id":"664cd2257fdd3a0010197ea1","name":"ServiceKeyBearerTokenAuth","type":"http","scheme":"bearer","apiSetting":"6606e9c5e8ce1f005276a8ca"}],"webhookEnabled":false},"custom_domain":"docs.foursquare.com","childrenProjects":[],"derivedPlan":"enterprise","description":"","isExternalSnippetActive":false,"error404":"","experiments":[],"first_page":"landing","flags":{"allowReusableOTPs":false,"alwaysShowDocPublishStatus":false,"allowUnsafeCustomHtmlSuggestionsFromNonAdmins":false,"allowXFrame":false,"apiAccessRevoked":false,"billingRedesignEnabled":true,"correctnewlines":false,"dashReact":true,"developerPortal":false,"disablePasswordlessLogin":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"disableAutoTranslate":false,"disableSAMLScoping":false,"disableSignups":false,"enterprise":true,"graphql":false,"mdx":false,"newEditorDash":true,"oauth":false,"passwordlessLogin":"default","owlbotAi":false,"rdmdCompatibilityMode":false,"reviewWorkflow":true,"singleProjectEnterprise":false,"staging":false,"star":false,"superHub":false,"superHubDevelopment":false,"translation":false,"annualBillingEnabled":true,"devDashBillingRedesignEnabled":false,"enableOidc":false,"customComponents":false,"disableDiscussionSpamRecaptchaBypass":false,"developerViewUsersData":false,"changelogRssAlwaysPublic":false,"bidiSync":false,"superHubMigrationSelfServeFlow":true,"apiDesigner":false,"hideEnforceSSO":false,"localLLM":false,"superHubManageVersions":false,"gitSidebar":false,"superHubGlobalCustomBlocks":false,"childManagedBidi":false,"superHubBranches":false,"requiresJQuery":true,"externalSdkSnippets":false,"migrationPreview":false,"superHubPreview":false,"superHubBranchReviews":false,"superHubMergePermissions":false,"maskErrorMessages":true},"fullBaseUrl":"https://docs.foursquare.com/developer","git":{"migration":{"createRepository":{},"transformation":{},"migratingPages":{},"enableSuperhub":{}},"sync":{"linked_repository":{},"installationRequest":{},"connections":[],"providers":[]}},"glossaryTerms":[{"_id":"600a29fd5ba23c002b40c7d2","term":"POI","definition":"A point of interest"},{"_id":"623bbd4616acf4005d31315f","term":"UUID","definition":"A unique identifier for your map or dataset. Can be found at the end of asset's URL or metadata."}],"graphqlSchema":"","gracePeriod":{"enabled":false,"endsAt":null},"shouldGateDash":false,"healthCheck":{"settings":{"page":"","status":false,"url":""},"provider":""},"intercom_secure_emailonly":false,"intercom":"","is_active":true,"integrations":{"login":{}},"internal":"","jwtExpirationTime":0,"landing_bottom":[{"type":"html","alignment":"left","html":"
    \n
    \n
    \n

    Foursquare Developer Documentation

    \n

    \n Explore our comprehensive technical documentation, tools and more to up your location game.\n

    \n
    \n Search\n
    \n
    \n
    \n\n \n
    \n
    \n
    \n

    Products

    \n

    Explore our products

    \n

    \n Learn more about our complete suite of developer products.\n

    \n

    \n
      \n
    • View All
    • \n
    • APIs
    • \n
    • SDKs
    • \n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n

    API

    \n

    Places API New!

    \n

    \n Access global POI data and rich content via our new Places API endpoints.\n

    \n \n
    \n\n \n
    \n
    \n \n
    \n

    API

    \n

    Users API New!

    \n

    \n Manage user accounts and authentication endpoints for Foursquare users.\n

    \n \n
    \n\n\n \n \n
    \n
    \n \n \n \n
    \n

    API

    \n

    Movement Geofence API

    \n

    \n Enable Movement SDK user-configured geofences for specific venues, categories, and more.\n

    \n \n
    \n\n \n
    \n
    \n \n \n \n
    \n

    API

    \n

    Studio Data API

    \n

    \n Create, manage, and modify geospatial assets used on Foursquare Studio. Integrate into\n your pipeline tasks for the bulk processing of geospatial data, allowing for the\n efficient flow of data into Studio.\n

    \n \n
    \n\n \n
    \n
    \n \n \n \n
    \n

    API

    \n

    Measurement API

    \n

    \n Measurement API (MAPI) is a tool for accessing measurement data, powering everything\n from insights gathering to campaign optimization. MAPI combines unparalleled data\n granularity with a flexible syntax to put you in control of your report data.\n

    \n \n
    \n\n \n
    \n
    \n \n \n \n
    \n

    SDK

    \n

    Movement SDK

    \n

    \n Create real-time, contextual mobile experiences, and bridge the gap between online\n interests and real-world behaviors.\n

    \n \n
    \n\n \n
    \n
    \n \n \n \n
    \n

    SDK

    \n

    Studio Data SDK

    \n

    \n Supports automated, scalable management of maps and seamless integration with your work\n flows.\n

    \n \n
    \n\n \n
    \n
    \n \n \n \n
    \n

    SDK

    \n

    Map SDK

    \n

    \n Control, embed and customize maps on your own webpage or in Jupyter Notebooks.\n

    \n \n
    \n\n \n\n
    \n
    X\n
    \n

    API

    \n

    Places API - Deprecated

    \n

    \n Access global POI data and rich content from 100K+ trusted sources via our API for\n real-time venue search, discovery, and ranking.\n

    \n \n
    \n\n
    \n
    X\n
    \n

    API

    \n

    Personalization API - Deprecated

    \n

    \n Leverage our global POI database alongside our personalization algorithms to provide a\n personalized search experience unique to a user’s specific tastes, visit history, review\n sentiment, and more.\n

    \n \n
    \n
    \n
    \n
    \n\n \n\n
    \n
    \n
    \n
    \n

    Developer Tools

    \n

    API Explorer

    \n

    \n View working code examples and make authenticated API requests with full responses. Try\n it out!\n

    \n
      \n
    • \n \n \n \n Full sample responses without writing code\n
    • \n
    • \n \n \n \n Build your own requests and see responses in real-time\n
    • \n
    • \n \n \n \n Multiple code language support\n
    • \n
    \n \n
    \n
    \n \"Foursquare\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n

    API Tools

    \n

    \n View working web experiences leveraging our most popular API endpoints, including code,\n and step-by-step code walkthroughs of our most popular API use cases.\n

    \n \n
    \n
    \n
    \n \n \n \n
    \n

    SDK Tools

    \n

    \n Take Foursquare technology for a test ride before you spend the time and effort to\n implement the code.\n

    \n \n
    \n
    \n
    \n \n \n \n
    \n

    Developer Support

    \n

    \n Resources aimed at providing a dedicated experience where you can interact with other\n developers.\n

    \n \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n

    Resources

    \n

    Get Started Guides

    \n
    \n
    \n
    \n
    Feature
    \n

    Get Started with the Places API

    \n

    \n New to the Foursquare Places API? Not to worry, we've got you covered. In just a few\n simple steps, you'll be up and running with your first API call in no time!\n

    \n

    \n Read more\n

    \n
    \n
    \n
    APIs
    \n

    Get Started with the Personalization APIs

    \n

    \n New to the Foursquare Personalization APIs? Not to worry, we've got you covered. In just\n a few simple steps, you'll be up and running with your first API call in no time!\n

    \n

    \n Read more\n

    \n
    \n
    \n
    Feature
    \n

    Get Started with Foursquare Studio

    \n

    \n Using Foursquare Studio, you can create powerful geospatial visualizations that you can\n share with the world.\n

    \n

    \n Read more\n

    \n
    \n
    \n
    \n
    \n\n
    \n
    \n

    Unlock Your App's Full Potential with Foursquare Developer

    \n

    \n Register now to get the monthly 10,000 monthly free Places Pro Calls and more.\n

    \n Sign up\n
    \n
    \n
    "}],"mdxMigrationStatus":"rdmd","metrics":{"monthlyLimit":0,"thumbsEnabled":true,"monthlyPurchaseLimit":0,"meteredBilling":{}},"modules":{"landing":true,"docs":true,"examples":true,"reference":true,"graphql":false,"changelog":false,"discuss":false,"suggested_edits":true,"custompages":false,"tutorials":false},"name":"Developer","nav_names":{"docs":"SDK Docs","reference":"API Docs","changelog":"Release Notes","discuss":"","recipes":"","tutorials":""},"oauth_url":"https://foursquare.com/developers/login","onboardingCompleted":{"api":true,"appearance":true,"documentation":true,"domain":false,"jwt":false,"logs":true,"metricsSDK":false},"owlbot":{"customization":{"tone":"neutral","customTone":"","answerLength":"long","forbiddenWords":"","defaultAnswer":""},"enabled":false,"isPaying":false,"copilot":{"enabled":false,"hasBeenUsed":false,"installedCustomPage":""}},"owner":{"id":null,"email":null,"name":null},"plan":"enterprise","planOverride":"business","planSchedule":{"stripeScheduleId":null,"changeDate":null,"nextPlan":null},"planStatus":"","planTrial":"enterprise","readmeScore":{"components":{"newDesign":{"enabled":true,"points":25},"reference":{"enabled":true,"points":50},"tryItNow":{"enabled":true,"points":35},"syncingOAS":{"enabled":true,"points":10},"customLogin":{"enabled":false,"points":25},"metrics":{"enabled":false,"points":40},"recipes":{"enabled":false,"points":15},"pageVoting":{"enabled":true,"points":1},"suggestedEdits":{"enabled":false,"points":10},"support":{"enabled":false,"points":5},"htmlLanding":{"enabled":true,"points":5},"guides":{"enabled":true,"points":10},"changelog":{"enabled":false,"points":5},"glossary":{"enabled":true,"points":1},"variables":{"enabled":true,"points":1},"integrations":{"enabled":true,"points":2}},"totalScore":140},"reCaptchaSiteKey":"","reference":{"alwaysUseDefaults":true,"defaultExpandResponseExample":true,"defaultExpandResponseSchema":true,"enableOAuthFlows":false},"seo":{"overwrite_title_tag":false},"siblings":[{"_id":"6606e9e46d03dc004a19dbb3","flags":{"allowReusableOTPs":false,"alwaysShowDocPublishStatus":false,"allowUnsafeCustomHtmlSuggestionsFromNonAdmins":false,"allowXFrame":false,"apiAccessRevoked":false,"billingRedesignEnabled":true,"correctnewlines":false,"dashReact":false,"developerPortal":false,"disablePasswordlessLogin":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"disableAutoTranslate":false,"disableSAMLScoping":false,"disableSignups":false,"enterprise":true,"graphql":false,"mdx":false,"newEditorDash":true,"oauth":false,"passwordlessLogin":"default","owlbotAi":false,"rdmdCompatibilityMode":false,"reviewWorkflow":true,"singleProjectEnterprise":false,"staging":false,"star":false,"superHub":false,"superHubDevelopment":false,"translation":false,"annualBillingEnabled":true,"devDashBillingRedesignEnabled":false,"enableOidc":false,"customComponents":false,"disableDiscussionSpamRecaptchaBypass":false,"developerViewUsersData":false,"changelogRssAlwaysPublic":false,"bidiSync":false,"superHubMigrationSelfServeFlow":false,"apiDesigner":false,"hideEnforceSSO":false,"localLLM":false,"superHubManageVersions":false,"gitSidebar":false,"superHubGlobalCustomBlocks":false,"childManagedBidi":false,"externalSdkSnippets":false,"requiresJQuery":false,"superHubBranches":false,"migrationPreview":false,"superHubPreview":false,"superHubBranchReviews":false},"modules":{"landing":true,"docs":true,"examples":true,"reference":false,"graphql":false,"changelog":false,"discuss":false,"suggested_edits":true,"custompages":false,"tutorials":false},"nav_names":{"docs":"Documentation","reference":"","changelog":"Release Notes","discuss":"","recipes":"","tutorials":""},"name":"Data Products","subpath":"data-products","subdomain":"fsq-data","description":"","robotsAllow":true,"is_active":true,"internal":"","owner":"603437d04f249d008184fbdd","stable":"6606e9e46d03dc004a19db33","git":{"sync":{"connection":[],"github":[],"gitlab":[],"logs":[],"connections":[],"providers":[],"installationRequest":{}},"migration":{"createRepository":{},"transformation":{},"migratingPages":{},"enableSuperhub":{}}},"mcp":{"state":"disabled"},"github_user":"","github_repo":"","github_color":"green_007200"},{"_id":"6606ea084f38af000fe23ce1","flags":{"allowReusableOTPs":false,"alwaysShowDocPublishStatus":false,"allowUnsafeCustomHtmlSuggestionsFromNonAdmins":false,"allowXFrame":false,"apiAccessRevoked":false,"billingRedesignEnabled":true,"correctnewlines":false,"dashReact":false,"developerPortal":false,"disablePasswordlessLogin":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"disableAutoTranslate":false,"disableSAMLScoping":false,"disableSignups":false,"enterprise":true,"graphql":false,"mdx":false,"newEditorDash":true,"oauth":false,"passwordlessLogin":"default","owlbotAi":false,"rdmdCompatibilityMode":false,"reviewWorkflow":true,"singleProjectEnterprise":false,"staging":false,"star":false,"superHub":false,"superHubDevelopment":false,"translation":false,"annualBillingEnabled":true,"devDashBillingRedesignEnabled":false,"enableOidc":false,"customComponents":false,"disableDiscussionSpamRecaptchaBypass":false,"developerViewUsersData":false,"changelogRssAlwaysPublic":false,"bidiSync":false,"superHubMigrationSelfServeFlow":false,"apiDesigner":false,"hideEnforceSSO":false,"localLLM":false,"superHubManageVersions":false,"gitSidebar":false,"superHubGlobalCustomBlocks":false,"childManagedBidi":false,"externalSdkSnippets":false,"requiresJQuery":false,"superHubBranches":false,"migrationPreview":false,"superHubPreview":false,"superHubBranchReviews":false},"modules":{"landing":true,"docs":true,"examples":true,"reference":false,"graphql":false,"changelog":false,"discuss":false,"suggested_edits":true,"custompages":false,"tutorials":false},"nav_names":{"docs":"Documentation","reference":"","changelog":"Release Notes","discuss":"","recipes":"","tutorials":""},"name":"Campaign Products","subpath":"campaign-products","subdomain":"fsq-campaign","description":"","robotsAllow":true,"is_active":true,"internal":"","owner":"603437d04f249d008184fbdd","stable":"6606ea074f38af000fe23c3a","git":{"sync":{"connection":[],"github":[],"gitlab":[],"logs":[],"connections":[],"providers":[],"installationRequest":{}},"migration":{"createRepository":{},"transformation":{},"migratingPages":{},"enableSuperhub":{}}},"mcp":{"state":"disabled"},"github_user":"","github_repo":"","github_color":"green_007200"},{"_id":"6606ea3fcfdebc002a58a6f9","flags":{"allowReusableOTPs":false,"alwaysShowDocPublishStatus":false,"allowUnsafeCustomHtmlSuggestionsFromNonAdmins":false,"allowXFrame":false,"apiAccessRevoked":false,"billingRedesignEnabled":true,"correctnewlines":false,"dashReact":false,"developerPortal":false,"disablePasswordlessLogin":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"disableAutoTranslate":false,"disableSAMLScoping":false,"disableSignups":false,"enterprise":true,"graphql":false,"mdx":false,"newEditorDash":true,"oauth":false,"passwordlessLogin":"default","owlbotAi":false,"rdmdCompatibilityMode":false,"reviewWorkflow":true,"singleProjectEnterprise":false,"staging":false,"star":false,"superHub":false,"superHubDevelopment":false,"translation":false,"annualBillingEnabled":true,"devDashBillingRedesignEnabled":false,"enableOidc":false,"customComponents":false,"disableDiscussionSpamRecaptchaBypass":false,"developerViewUsersData":false,"changelogRssAlwaysPublic":false,"bidiSync":false,"superHubMigrationSelfServeFlow":false,"apiDesigner":false,"hideEnforceSSO":false,"localLLM":false,"superHubManageVersions":false,"gitSidebar":false,"superHubGlobalCustomBlocks":false,"childManagedBidi":false,"externalSdkSnippets":false,"requiresJQuery":false,"superHubBranches":false,"migrationPreview":false,"superHubPreview":false,"superHubBranchReviews":false,"superHubMergePermissions":false},"modules":{"landing":true,"docs":true,"examples":true,"reference":false,"graphql":false,"changelog":false,"discuss":false,"suggested_edits":true,"custompages":false,"tutorials":false},"nav_names":{"docs":"Documentation","reference":"","changelog":"Release Notes","discuss":"","recipes":"","tutorials":""},"name":"Analytics Products","subpath":"analytics-products","subdomain":"fsq-analytics","description":"","robotsAllow":true,"is_active":true,"internal":"","owner":"603437d04f249d008184fbdd","stable":"660ae2939b63f000123bb7bc","git":{"sync":{"connection":[],"github":[],"gitlab":[],"logs":[],"connections":[],"providers":[],"installationRequest":{}},"migration":{"createRepository":{},"transformation":{},"migratingPages":{},"enableSuperhub":{}}},"mcp":{"state":"disabled"},"github_user":"","github_repo":"","github_color":"green_007200"},{"_id":"5fa9a583c88a1e003de1fb62","flags":{"allow_hub2":false,"enterprise":true,"alwaysShowDocPublishStatus":false,"hub2":true,"migrationRun":false,"migrationSwaggerRun":false,"oauth":false,"swagger":false,"correctnewlines":false,"rdmdCompatibilityMode":false,"speedyRender":false,"allowXFrame":false,"cookieAuthentication":false,"hideGoogleAnalytics":false,"newEditor":true,"oldMarkdown":false,"newMarkdownBetaProgram":true,"newApiExplorer":true,"disableAnonForum":false,"directGoogleToStableVersion":false,"translation":false,"staging":false,"newSearch":true,"tutorials":true,"allowApiExplorerJsonEditor":false,"useReactApp":true,"newHeader":false,"referenceRedesign":false,"auth0Oauth":false,"graphql":false,"singleProjectEnterprise":false,"dashReact":false,"allowReferenceUpgrade":true,"metricsV2":true,"newEditorDash":true,"enableRealtimeExperiences":false,"reviewWorkflow":true,"star":false,"allowDarkMode":false,"forceDarkMode":false,"useReactGLP":false,"disablePasswordlessLogin":false,"personalizedDocs":false,"myDevelopers":false,"superHub":false,"developerDashboard":false,"allowReusableOTPs":false,"dashHomeRefresh":false,"owlbotAi":false,"apiV2":false,"git":{"read":false,"write":false},"superHubBeta":false,"dashQuickstart":false,"disableAutoTranslate":false,"customBlocks":false,"devDashHub":false,"disableSAMLScoping":false,"allowUnsafeCustomHtmlSuggestionsFromNonAdmins":false,"apiAccessRevoked":false,"passwordlessLogin":"default","disableSignups":false,"billingRedesignEnabled":true,"developerPortal":false,"mdx":false,"superHubDevelopment":false,"annualBillingEnabled":true,"devDashBillingRedesignEnabled":false,"enableOidc":false,"customComponents":false,"disableDiscussionSpamRecaptchaBypass":false,"developerViewUsersData":false,"changelogRssAlwaysPublic":false,"bidiSync":false,"superHubMigrationSelfServeFlow":true,"apiDesigner":false,"hideEnforceSSO":false,"localLLM":false,"superHubManageVersions":false,"gitSidebar":false,"superHubGlobalCustomBlocks":false,"childManagedBidi":false,"externalSdkSnippets":false,"requiresJQuery":false,"superHubBranches":false,"migrationPreview":false,"superHubPreview":false,"superHubBranchReviews":false},"modules":{"landing":true,"docs":true,"examples":true,"reference":true,"changelog":false,"discuss":false,"suggested_edits":false,"logs":false,"custompages":false,"tutorials":true,"graphql":false},"nav_names":{"docs":"","reference":"","changelog":"","discuss":"","tutorials":"","recipes":"Code Tutorials"},"name":"Code Tutorials (ARCHIVED)","subdomain":"fsq-tutorials","description":"Foursquare Code Tutorials","robotsAllow":false,"is_active":false,"internal":"","owner":"603437d04f249d008184fbdd","stable":"659d9bd8788254004fcbc149","subpath":"developer-tutorials","git":{"sync":{"connection":[],"github":[],"gitlab":[],"logs":[],"connections":[],"providers":[],"installationRequest":{}},"migration":{"createRepository":{},"transformation":{},"migratingPages":{},"enableSuperhub":{}}},"mcp":{"state":"disabled"},"github_user":"","github_repo":"","github_color":"green_007200"},{"_id":"6606e9c5e8ce1f005276b057","flags":{"allowReusableOTPs":false,"alwaysShowDocPublishStatus":false,"allowUnsafeCustomHtmlSuggestionsFromNonAdmins":false,"allowXFrame":false,"apiAccessRevoked":false,"billingRedesignEnabled":true,"correctnewlines":false,"dashReact":false,"developerPortal":false,"disablePasswordlessLogin":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"disableAutoTranslate":false,"disableSAMLScoping":false,"disableSignups":false,"enterprise":true,"graphql":false,"mdx":false,"newEditorDash":true,"oauth":false,"passwordlessLogin":"default","owlbotAi":false,"rdmdCompatibilityMode":false,"reviewWorkflow":true,"singleProjectEnterprise":false,"staging":false,"star":false,"superHub":false,"superHubDevelopment":false,"translation":false,"annualBillingEnabled":true,"devDashBillingRedesignEnabled":false,"enableOidc":false,"customComponents":false,"disableDiscussionSpamRecaptchaBypass":false,"developerViewUsersData":false,"changelogRssAlwaysPublic":false,"bidiSync":false,"superHubMigrationSelfServeFlow":true,"apiDesigner":false,"hideEnforceSSO":false,"localLLM":false,"superHubManageVersions":false,"gitSidebar":false,"superHubGlobalCustomBlocks":false,"childManagedBidi":false,"requiresJQuery":true,"externalSdkSnippets":false,"superHubBranches":false,"migrationPreview":false,"superHubPreview":false,"superHubBranchReviews":false},"modules":{"landing":true,"docs":true,"examples":true,"reference":true,"graphql":false,"changelog":false,"discuss":false,"suggested_edits":true,"custompages":false,"tutorials":false},"nav_names":{"docs":"SDK Docs","reference":"API Docs","changelog":"Release Notes","discuss":"","recipes":"","tutorials":""},"name":"Developer","subpath":"developer","subdomain":"fsq-developers","description":"","robotsAllow":true,"is_active":true,"internal":"","owner":"6362c6c6ada30600a023c012","stable":"6606e9c5e8ce1f005276a817","git":{"sync":{"connection":[],"github":[],"gitlab":[],"logs":[],"connections":[],"providers":[],"installationRequest":{}},"migration":{"createRepository":{},"transformation":{},"migratingPages":{},"enableSuperhub":{}}},"mcp":{"state":"disabled"},"github_user":"","github_repo":"","github_color":"green_007200"},{"_id":"682f7aee39811e005ab82d7e","flags":{"allowReusableOTPs":false,"alwaysShowDocPublishStatus":false,"allowUnsafeCustomHtmlSuggestionsFromNonAdmins":false,"allowXFrame":false,"apiAccessRevoked":false,"bidiSync":false,"changelogRssAlwaysPublic":false,"childManagedBidi":false,"correctnewlines":false,"dashReact":false,"disablePasswordlessLogin":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"disableAutoTranslate":false,"disableSignups":false,"enableOidc":false,"enterprise":true,"graphql":false,"hideEnforceSSO":false,"localLLM":false,"mdx":false,"newEditorDash":true,"oauth":false,"passwordlessLogin":"default","owlbotAi":false,"rdmdCompatibilityMode":false,"reviewWorkflow":true,"singleProjectEnterprise":false,"star":false,"staging":false,"superHub":false,"superHubBranches":false,"superHubMigrationSelfServeFlow":false,"translation":false,"disableDiscussionSpamRecaptchaBypass":false,"externalSdkSnippets":false,"requiresJQuery":true,"migrationPreview":false,"superHubPreview":false,"superHubBranchReviews":false},"modules":{"landing":false,"docs":false,"examples":true,"reference":true,"graphql":false,"changelog":false,"discuss":false,"suggested_edits":false,"custompages":false,"tutorials":false},"nav_names":{"docs":"SDK Docs","reference":"API Docs","changelog":"Release Notes","discuss":"","recipes":"","tutorials":""},"git":{"sync":{"providers":[],"connections":[],"logs":[],"installationRequest":{}},"migration":{"createRepository":{},"transformation":{},"migratingPages":{},"enableSuperhub":{}}},"name":"Developer - Users","subpath":"","subdomain":"fsq-developers-users","description":"","robotsAllow":false,"is_active":true,"internal":"","owner":"603437d04f249d008184fbdd","stable":"684b49ea4c9681004c950548","mcp":{"state":"disabled"},"github_user":"","github_repo":"","github_color":"green_007200"},{"_id":"682f7b0f3e4a0649aca9f2d0","flags":{"allowReusableOTPs":false,"alwaysShowDocPublishStatus":false,"allowUnsafeCustomHtmlSuggestionsFromNonAdmins":false,"allowXFrame":false,"apiAccessRevoked":false,"bidiSync":false,"changelogRssAlwaysPublic":false,"childManagedBidi":false,"correctnewlines":false,"dashReact":false,"disablePasswordlessLogin":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"disableAutoTranslate":false,"disableSignups":false,"enableOidc":false,"enterprise":true,"graphql":false,"hideEnforceSSO":false,"localLLM":false,"mdx":false,"newEditorDash":true,"oauth":false,"passwordlessLogin":"default","owlbotAi":false,"rdmdCompatibilityMode":false,"reviewWorkflow":true,"singleProjectEnterprise":false,"star":false,"staging":false,"superHub":false,"superHubBranches":false,"superHubMigrationSelfServeFlow":false,"translation":false,"disableDiscussionSpamRecaptchaBypass":false,"requiresJQuery":true,"externalSdkSnippets":false,"migrationPreview":false,"superHubPreview":false,"superHubBranchReviews":false,"superHubMergePermissions":false},"modules":{"landing":false,"docs":false,"examples":true,"reference":true,"graphql":false,"changelog":false,"discuss":false,"suggested_edits":false,"custompages":false,"tutorials":false},"nav_names":{"docs":"SDK Docs","reference":"API Docs","changelog":"Release Notes","discuss":"","recipes":"","tutorials":""},"git":{"sync":{"providers":[],"connections":[],"logs":[],"installationRequest":{}},"migration":{"createRepository":{},"transformation":{},"migratingPages":{},"enableSuperhub":{}}},"name":"Developer - Places","subpath":"","subdomain":"fsq-developers-places","description":"","robotsAllow":false,"is_active":true,"internal":"","owner":"603437d04f249d008184fbdd","stable":"684af68b75763b00183a120c","mcp":{"state":"disabled"},"github_user":"","github_repo":"","github_color":"green_007200"},{"_id":"685077dd8ac7e200112fcb8a","mcp":{"state":"disabled"},"flags":{"allowReusableOTPs":false,"alwaysShowDocPublishStatus":false,"allowUnsafeCustomHtmlSuggestionsFromNonAdmins":false,"allowXFrame":false,"apiAccessRevoked":false,"bidiSync":false,"changelogRssAlwaysPublic":false,"childManagedBidi":false,"correctnewlines":false,"dashReact":false,"disablePasswordlessLogin":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"disableAutoTranslate":false,"disableSignups":false,"enableOidc":false,"enterprise":true,"externalSdkSnippets":false,"graphql":false,"hideEnforceSSO":false,"localLLM":false,"migrationPreview":false,"mdx":false,"newEditorDash":true,"oauth":false,"passwordlessLogin":"default","rdmdCompatibilityMode":false,"requiresJQuery":false,"reviewWorkflow":true,"singleProjectEnterprise":false,"star":false,"staging":false,"superHub":false,"superHubBranches":false,"superHubMigrationSelfServeFlow":false,"superHubPreview":false,"translation":false,"disableDiscussionSpamRecaptchaBypass":false,"superHubBranchReviews":false,"superHubMergePermissions":false},"modules":{"landing":true,"docs":true,"examples":true,"reference":true,"graphql":false,"changelog":false,"discuss":false,"suggested_edits":true,"custompages":false,"tutorials":false},"nav_names":{"docs":"SDK Docs","reference":"API Docs","changelog":"Release Notes","discuss":"","recipes":"","tutorials":""},"git":{"sync":{"providers":[],"connections":[],"logs":[],"installationRequest":{}},"migration":{"createRepository":{},"transformation":{},"migratingPages":{},"enableSuperhub":{}}},"name":"Developer (AI Owlbot Test)","subpath":"","subdomain":"fsq-developers-final","description":"","robotsAllow":true,"is_active":false,"internal":"password","owner":"603437d04f249d008184fbdd","stable":"685077dc8ac7e200112fc263","github_user":"","github_repo":"","github_color":"green_007200"},{"_id":"664e8876d73a9100120f567c","flags":{"allowReusableOTPs":false,"alwaysShowDocPublishStatus":false,"allowUnsafeCustomHtmlSuggestionsFromNonAdmins":false,"allowXFrame":false,"annualBillingEnabled":true,"apiAccessRevoked":false,"billingRedesignEnabled":false,"correctnewlines":false,"dashReact":false,"devDashBillingRedesignEnabled":false,"developerPortal":false,"disablePasswordlessLogin":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"disableAutoTranslate":false,"disableSAMLScoping":false,"disableSignups":false,"enterprise":true,"graphql":false,"mdx":false,"newEditorDash":true,"oauth":false,"passwordlessLogin":"default","owlbotAi":false,"rdmdCompatibilityMode":false,"reviewWorkflow":true,"singleProjectEnterprise":false,"staging":false,"star":false,"superHub":false,"superHubDevelopment":false,"translation":false,"enableOidc":false,"customComponents":false,"disableDiscussionSpamRecaptchaBypass":false,"developerViewUsersData":false,"changelogRssAlwaysPublic":false,"bidiSync":false,"superHubMigrationSelfServeFlow":true,"apiDesigner":false,"hideEnforceSSO":false,"localLLM":false,"superHubManageVersions":false,"gitSidebar":false,"superHubGlobalCustomBlocks":false,"childManagedBidi":false,"requiresJQuery":true,"externalSdkSnippets":false,"migrationPreview":false,"superHubBranches":false,"superHubPreview":false,"superHubBranchReviews":false},"modules":{"landing":true,"docs":true,"examples":true,"reference":true,"graphql":false,"changelog":false,"discuss":false,"suggested_edits":true,"custompages":false,"tutorials":false},"nav_names":{"docs":"SDK Docs","reference":"API Docs","changelog":"Release Notes","discuss":"","recipes":"","tutorials":""},"name":"Staging Developer (removing?)","subpath":"","subdomain":"fsq-developers-staging","description":"","robotsAllow":true,"is_active":false,"internal":"password","owner":"603437d04f249d008184fbdd","stable":"664e8876d73a9100120f4e3c","git":{"sync":{"connection":[],"github":[],"gitlab":[],"logs":[],"connections":[],"providers":[],"installationRequest":{}},"migration":{"createRepository":{},"transformation":{},"migratingPages":{},"enableSuperhub":{}}},"mcp":{"state":"disabled"},"github_user":"","github_repo":"","github_color":"green_007200"}],"stable":{"_id":"6606e9c5e8ce1f005276a817","version":"1.0","version_clean":"1.0.0","codename":"OAS Spec File","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["6606e9c5e8ce1f005276a84a","6606e9c5e8ce1f005276a84b","64f77a125b90e20045ad3f37","6606e9c5e8ce1f005276a84c","659d9bd8788254004fcbbf9b","6606e9c5e8ce1f005276a84d","6606e9c5e8ce1f005276a84e","6606e9c5e8ce1f005276a84f","6606e9c5e8ce1f005276a850","634d7c4489e57300949dfc2f","6606e9c5e8ce1f005276a851","64f77a125b90e20045ad3f3f","6606e9c5e8ce1f005276a852","63d9a0447f835300035eb60b","6413513473cec2007a3a0b33","64344de6cb55ac06049b7942","64344df898cc77060800744e","64344e1501238201681398c5","643474727a446d0065e69530","643474b957ef79005110d780","643475946acb95005751f7d3","6435bc498d488f0211d9f460","647f5f350a854d000cb7fd6a","647f601da2e29b0058479b98","647f60d84093441159f3efe2","647f66d02a7075003bc66a91","647f6af5aeaa5b000bce32ad","6606e9c5e8ce1f005276a853","64f77a135b90e20045ad40a8","64f789bfe41a04003ba1c9ab","6606e9c5e8ce1f005276a854","6525abcb1bfe3401da1ba7c4","655e161de002cc07c1cbff81","657cc9aca550a7001002bcab","657ccad8d14bbf005453770a","657ccb274df05f007fa537fe","6606e9c5e8ce1f005276a855","6606e9c5e8ce1f005276a856","6606e9c5e8ce1f005276a857","6606e9c5e8ce1f005276a858","6606e9c5e8ce1f005276a859","6606e9c5e8ce1f005276a85a","660f042788e24f000fc7de39","660f289c25b9de0053f27408","67d86f41e2a4660024496b59"],"project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2024-01-09T19:17:43.818Z","__v":1,"forked_from":"6606e9c5e8ce1f005276a816","updatedAt":"2025-03-17T18:51:45.040Z","pdfStatus":"complete","apiRegistries":[]},"subdomain":"fsq-developers","subpath":"developer","superHubWaitlist":false,"topnav":{"left":[],"right":[{"type":"url","text":"Support","url":"https://support.foursquare.com/hc/en-us/requests/new?ticket_form_id=13089705025180"},{"type":"user","text":"User","url":"/login?redirect_uri=/reference/mapi-reports"}],"bottom":[{"type":"url","url":"https://docs.foursquare.com/developer/docs/developer-console-overview","text":"❯ Console Docs"}],"edited":true},"trial":{"trialDeadlineEnabled":false,"trialEndsAt":"2024-04-12T16:18:13.348Z"},"translate":{"provider":"transifex","show_widget":false,"key_public":"","org_name":"","project_name":"","languages":[]},"url":"https://docs.foursquare.com","versions":[{"_id":"6606e9c5e8ce1f005276a813","version":"0.0","version_clean":"0.0.0","codename":"Old Ent Docs","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["6606e9c5e8ce1f005276a819","6606e9c5e8ce1f005276a819","6606e9c5e8ce1f005276a81a","6606e9c5e8ce1f005276a81b","6606e9c5e8ce1f005276a81c","6606e9c5e8ce1f005276a81d","6606e9c5e8ce1f005276a81e","6606e9c5e8ce1f005276a81f","6606e9c5e8ce1f005276a820","6606e9c5e8ce1f005276a829","6606e9c5e8ce1f005276a82a","6606e9c5e8ce1f005276a83b"],"project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2020-11-09T20:24:35.628Z","__v":3},{"_id":"6606e9c5e8ce1f005276a814","version":"0.1","version_clean":"0.1.0","codename":"Old DevEx","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["6606e9c5e8ce1f005276a821","6606e9c5e8ce1f005276a822","6606e9c5e8ce1f005276a823","6606e9c5e8ce1f005276a824","6606e9c5e8ce1f005276a825","6606e9c5e8ce1f005276a826","6606e9c5e8ce1f005276a827","6606e9c5e8ce1f005276a828","6606e9c5e8ce1f005276a82b","6606e9c5e8ce1f005276a82c","6606e9c5e8ce1f005276a82d","6606e9c5e8ce1f005276a837","6606e9c5e8ce1f005276a83c"],"project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2020-11-09T20:24:35.628Z","__v":5,"forked_from":"6606e9c5e8ce1f005276a813"},{"_id":"6606e9c5e8ce1f005276a815","version":"0.2","version_clean":"0.2.0","codename":"New Help Dev","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["6606e9c5e8ce1f005276a82e","6606e9c5e8ce1f005276a82f","6606e9c5e8ce1f005276a830","6606e9c5e8ce1f005276a831","6606e9c5e8ce1f005276a832","6606e9c5e8ce1f005276a833","6606e9c5e8ce1f005276a834","6606e9c5e8ce1f005276a835","6606e9c5e8ce1f005276a836","634d7c4489e57300949dfc2f","6606e9c5e8ce1f005276a838","6606e9c5e8ce1f005276a839","6606e9c5e8ce1f005276a83a","63d9a0447f835300035eb60b","6413513473cec2007a3a0b33","64344de6cb55ac06049b7942","64344df898cc77060800744e","64344e1501238201681398c5","643474727a446d0065e69530","643474b957ef79005110d780","643475946acb95005751f7d3","6435bc498d488f0211d9f460","647f5f350a854d000cb7fd6a","647f601da2e29b0058479b98","647f60d84093441159f3efe2","647f66d02a7075003bc66a91","647f6af5aeaa5b000bce32ad","6606e9c5e8ce1f005276a83d"],"project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2020-11-09T20:24:35.628Z","__v":1,"forked_from":"6606e9c5e8ce1f005276a814","updatedAt":"2023-10-30T22:02:33.548Z"},{"_id":"6606e9c5e8ce1f005276a816","version":"0.3","version_clean":"0.3.0","codename":"New Dev - Manual API","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["6606e9c5e8ce1f005276a83e","6606e9c5e8ce1f005276a83f","64f77a125b90e20045ad3f37","6606e9c5e8ce1f005276a840","6606e9c5e8ce1f005276a841","6606e9c5e8ce1f005276a842","6606e9c5e8ce1f005276a843","6606e9c5e8ce1f005276a844","6606e9c5e8ce1f005276a845","634d7c4489e57300949dfc2f","6606e9c5e8ce1f005276a846","64f77a125b90e20045ad3f3f","6606e9c5e8ce1f005276a847","63d9a0447f835300035eb60b","6413513473cec2007a3a0b33","64344de6cb55ac06049b7942","64344df898cc77060800744e","64344e1501238201681398c5","643474727a446d0065e69530","643474b957ef79005110d780","643475946acb95005751f7d3","6435bc498d488f0211d9f460","647f5f350a854d000cb7fd6a","647f601da2e29b0058479b98","647f60d84093441159f3efe2","647f66d02a7075003bc66a91","647f6af5aeaa5b000bce32ad","6606e9c5e8ce1f005276a848","64f77a135b90e20045ad40a8","64f789bfe41a04003ba1c9ab","6606e9c5e8ce1f005276a849","6525abcb1bfe3401da1ba7c4","655e161de002cc07c1cbff81","657cc9aca550a7001002bcab","657ccad8d14bbf005453770a","657ccb274df05f007fa537fe"],"project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2023-09-05T18:57:22.670Z","__v":1,"forked_from":"6606e9c5e8ce1f005276a815","updatedAt":"2024-01-09T20:22:14.497Z"},{"_id":"6606e9c5e8ce1f005276a817","version":"1.0","version_clean":"1.0.0","codename":"OAS Spec File","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["6606e9c5e8ce1f005276a84a","6606e9c5e8ce1f005276a84b","64f77a125b90e20045ad3f37","6606e9c5e8ce1f005276a84c","659d9bd8788254004fcbbf9b","6606e9c5e8ce1f005276a84d","6606e9c5e8ce1f005276a84e","6606e9c5e8ce1f005276a84f","6606e9c5e8ce1f005276a850","634d7c4489e57300949dfc2f","6606e9c5e8ce1f005276a851","64f77a125b90e20045ad3f3f","6606e9c5e8ce1f005276a852","63d9a0447f835300035eb60b","6413513473cec2007a3a0b33","64344de6cb55ac06049b7942","64344df898cc77060800744e","64344e1501238201681398c5","643474727a446d0065e69530","643474b957ef79005110d780","643475946acb95005751f7d3","6435bc498d488f0211d9f460","647f5f350a854d000cb7fd6a","647f601da2e29b0058479b98","647f60d84093441159f3efe2","647f66d02a7075003bc66a91","647f6af5aeaa5b000bce32ad","6606e9c5e8ce1f005276a853","64f77a135b90e20045ad40a8","64f789bfe41a04003ba1c9ab","6606e9c5e8ce1f005276a854","6525abcb1bfe3401da1ba7c4","655e161de002cc07c1cbff81","657cc9aca550a7001002bcab","657ccad8d14bbf005453770a","657ccb274df05f007fa537fe","6606e9c5e8ce1f005276a855","6606e9c5e8ce1f005276a856","6606e9c5e8ce1f005276a857","6606e9c5e8ce1f005276a858","6606e9c5e8ce1f005276a859","6606e9c5e8ce1f005276a85a","660f042788e24f000fc7de39","660f289c25b9de0053f27408","67d86f41e2a4660024496b59"],"project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2024-01-09T19:17:43.818Z","__v":1,"forked_from":"6606e9c5e8ce1f005276a816","updatedAt":"2025-03-17T18:51:45.040Z","pdfStatus":"complete","apiRegistries":[]},{"_id":"6606e9c5e8ce1f005276a818","version":"1.1111","version_clean":"1.1111.0","codename":"Demo Day MAPI","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["6606e9c5e8ce1f005276a85b","6606e9c5e8ce1f005276a85c","64f77a125b90e20045ad3f37","6606e9c5e8ce1f005276a85d","659d9bd8788254004fcbbf9b","6606e9c5e8ce1f005276a85e","6606e9c5e8ce1f005276a85f","6606e9c5e8ce1f005276a860","6606e9c5e8ce1f005276a861","634d7c4489e57300949dfc2f","6606e9c5e8ce1f005276a862","64f77a125b90e20045ad3f3f","6606e9c5e8ce1f005276a863","63d9a0447f835300035eb60b","6413513473cec2007a3a0b33","64344de6cb55ac06049b7942","64344df898cc77060800744e","64344e1501238201681398c5","643474727a446d0065e69530","643474b957ef79005110d780","643475946acb95005751f7d3","6435bc498d488f0211d9f460","647f5f350a854d000cb7fd6a","647f601da2e29b0058479b98","647f60d84093441159f3efe2","647f66d02a7075003bc66a91","647f6af5aeaa5b000bce32ad","6606e9c5e8ce1f005276a864","64f77a135b90e20045ad40a8","64f789bfe41a04003ba1c9ab","6606e9c5e8ce1f005276a865","6525abcb1bfe3401da1ba7c4","655e161de002cc07c1cbff81","657cc9aca550a7001002bcab","657ccad8d14bbf005453770a","657ccb274df05f007fa537fe","6606e9c5e8ce1f005276a855","6606e9c5e8ce1f005276a866","6606e9c5e8ce1f005276a867","6606e9c5e8ce1f005276a868","6606e9c5e8ce1f005276a869","6606e9c5e8ce1f005276a86a","6606e9c5e8ce1f005276a86b"],"project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2024-03-28T10:17:25.142Z","__v":0,"forked_from":"6606e9c5e8ce1f005276a817","updatedAt":"2024-03-28T10:17:25.904Z"},{"_id":"67632b52f5b7cf0061fd6ee2","version":"20241206","version_clean":"20241206.0.0","codename":"","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["67632b52f5b7cf0061fd6d11","67632b52f5b7cf0061fd6d12","64f77a125b90e20045ad3f37","67632b52f5b7cf0061fd6d13","659d9bd8788254004fcbbf9b","67632b52f5b7cf0061fd6d14","67632b52f5b7cf0061fd6d15","67632b52f5b7cf0061fd6d16","67632b52f5b7cf0061fd6d17","634d7c4489e57300949dfc2f","67632b52f5b7cf0061fd6d18","64f77a125b90e20045ad3f3f","67632b52f5b7cf0061fd6d19","63d9a0447f835300035eb60b","6413513473cec2007a3a0b33","64344de6cb55ac06049b7942","64344df898cc77060800744e","64344e1501238201681398c5","643474727a446d0065e69530","643474b957ef79005110d780","643475946acb95005751f7d3","6435bc498d488f0211d9f460","647f5f350a854d000cb7fd6a","647f601da2e29b0058479b98","647f60d84093441159f3efe2","647f66d02a7075003bc66a91","647f6af5aeaa5b000bce32ad","67632b52f5b7cf0061fd6d1a","64f77a135b90e20045ad40a8","64f789bfe41a04003ba1c9ab","67632b52f5b7cf0061fd6d1b","6525abcb1bfe3401da1ba7c4","655e161de002cc07c1cbff81","657cc9aca550a7001002bcab","657ccad8d14bbf005453770a","657ccb274df05f007fa537fe","67632b52f5b7cf0061fd6d1c","67632b52f5b7cf0061fd6d1d","67632b52f5b7cf0061fd6d1e","67632b52f5b7cf0061fd6d1f","67632b52f5b7cf0061fd6d20","6606e9c5e8ce1f005276a85a","660f042788e24f000fc7de39","67632b52f5b7cf0061fd6d21","67800188cfca3400623c7c3b"],"pdfStatus":"","project":"6606e9c5e8ce1f005276b057","releaseDate":"2020-11-09T20:24:35.628Z","createdAt":"2024-12-18T20:06:42.178Z","__v":1,"forked_from":"6606e9c5e8ce1f005276a817","updatedAt":"2025-01-09T17:04:08.987Z","apiRegistries":[]}],"variableDefaults":[{"source":"security","_id":"63405a756dda10000f0ee8a1","name":"Authorization","type":"apiKey","apiSetting":"6606e9c5e8ce1f005276a898"},{"source":"security","_id":"64e8f31e4b5dd10958059cb2","name":"BearerAuth","type":"http","scheme":"bearer","apiSetting":"6606e9c5e8ce1f005276a8b0"},{"source":"security","_id":"64f8c5cfcef95d006694b93d","name":"BearerTokenAuth","type":"http","scheme":"bearer","apiSetting":"6606e9c5e8ce1f005276a8ae"},{"source":"security","_id":"65fabf83d8b563003024e550","name":"x-api-key","type":"apiKey","apiSetting":"6606e9c5e8ce1f005276a8ce"},{"source":"security","_id":"66172602ef644d001382eb70","name":"oauth_token","type":"apiKey","apiSetting":"6606e9c5e8ce1f005276a8cd"},{"source":"security","_id":"664cd2257fdd3a0010197ea1","name":"ServiceKeyBearerTokenAuth","type":"http","scheme":"bearer","apiSetting":"6606e9c5e8ce1f005276a8ca"}],"webhookEnabled":false,"parent":{"_id":"6606ec7d41d324002a857d4b","appearance":{"changelog":{"layoutExpanded":false,"showAuthor":true,"showExactDate":false},"rdmd":{"callouts":{"useIconFont":false},"theme":{"background":"","border":"","markdownEdge":"","markdownFont":"","markdownFontSize":"","markdownLineHeight":"","markdownRadius":"","markdownText":"","markdownTitle":"","markdownTitleFont":"","mdCodeBackground":"","mdCodeFont":"","mdCodeRadius":"","mdCodeTabs":"","mdCodeText":"","tableEdges":"","tableHead":"","tableHeadText":"","tableRow":"","tableStripe":"","tableText":"","text":"","title":""}},"main_body":{"type":"links"},"colors":{"highlight":"","main":"eeeeee","main_alt":"","header_text":"","body_highlight":"","custom_login_link_color":""},"typography":{"headline":"Open+Sans:400:sans-serif","body":"Open+Sans:400:sans-serif","typekit":false,"tk_key":"","tk_headline":"","tk_body":""},"header":{"style":"solid","img":[],"img_size":"auto","img_pos":"tl","linkStyle":"buttons"},"body":{"style":"none"},"global_landing_page":{"html":"
    \n
    \n
    \n

    Foursquare Product Documentation

    \n

    \n Find help, follow step-by-step guides, technical documentation, and learn more about how to power your business forward with Foursquare Products.\n

    \n
    Search
    \n \n
    \n
    \n \n
    \n
    \n
    \n

    Products

    \n

    Explore our products

    \n

    \n Learn more about our complete suite of geospatial technology products.\n

    \n

    \n \n
      \n
    • View All
    • \n
    • Analytics Products
    • \n
    • Campaign Products
    • \n
    • Data Products
    • \n
    • Developer
    • \n
    \n
    \n
    \n
    \n
    \n \n \n \n
    \n

    Analytics Products

    \n

    Studio

    \n

    Next-generation geospatial analytics platform for working with big geospatial data.

    \n \n
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n
    \n

    Campaign Products

    \n

    Targeting

    \n

    Create and deploy audience segment, dervied from our rich repository of historical place visits.

    \n \n
    \n
    \n
    \n \n \n \n
    \n

    Campaign Products

    \n

    Attribution

    \n

    Quantify the effectiveness of advertising campaigns at driving conversions across all channels.

    \n \n
    \n
    \n
    \n \n \n \n \n \n \n
    \n

    Data Products

    \n

    Places

    \n

    Enrich your understanding of locations to help you drive business decisions or develop engaging user experiences.

    \n \n
    \n
    \n
    \n \n
    \n

    Data Products

    \n

    Placemaker Tools

    \n

    Foursquare Placemakers are the guardians and curators of our Places dataset – playing a crucial role in shaping how people understand and interact with physical spaces in our digital world.

    \n \n
    \n\n\n
    \n
    \n \n \n \n
    \n

    Developer

    \n

    Places API New!

    \n

    \n Access global POI data and rich content via our new Places API endpoints.\n

    \n \n
    \n\n\n
    \n
    \n \n
    \n

    Developer

    \n

    Users API New!

    \n

    \n Manage user accounts and authentication endpoints for Foursquare users.\n

    \n \n
    \n\n\n\n
    \n
    \n \n \n \n
    \n

    Developer

    \n

    Movement Geofence API

    \n

    \n Enable Movement SDK user-configured geofences for specific venues, categories, and more.\n

    \n \n
    \n\n
    \n
    \n \n \n \n
    \n

    Developer

    \n

    Studio Data API

    \n

    \n Create, manage, and modify geospatial assets used on Foursquare Studio . Integrate into\n your pipeline tasks for the bulk processing of geospatial data, allowing for the\n efficient flow of data into Studio.\n

    \n \n
    \n\n
    \n
    \n \n \n \n
    \n

    Developer

    \n

    Measurement API

    \n

    \n Measurement API (MAPI) is a tool for accessing measurement data, powering everything from insights gathering to campaign optimization. MAPI combines unparalleled data granularity with a flexible syntax to put you in control of your report data.\n

    \n \n
    \n\n \n
    \n
    \n \n \n \n
    \n

    Developer

    \n

    Movement SDK

    \n

    \n Create real-time, contextual mobile experiences, and bridge the gap between online\n interests and real-world behaviors.\n

    \n \n
    \n\n
    \n
    \n \n \n \n
    \n

    Developer

    \n

    Studio Data SDK

    \n

    \n Supports automated, scalable management of maps and seamless integration with your work\n flows.\n

    \n \n
    \n \n
    \n
    \n \n \n \n
    \n

    Developer

    \n

    Studio Map SDK

    \n

    Control, embed and customize maps on your own webpage or in Jupyter Notebooks.

    \n \n
    \n\n \n
    \n
    \n \n \n \n
    \n

    Developer

    \n

    Places API - Deprecated

    \n

    \n Access global POI data and rich content from 100K+ trusted sources via our API for\n real-time venue search, discovery, and ranking.\n

    \n \n
    \n\n\n
    \n
    \n \n \n \n
    \n

    Developer

    \n

    Personalization API - Deprecated

    \n

    \n Leverage our global POI database alongside our personalization algorithms to provide a\n personalized search experience unique to a user’s specific tastes, visit history, review\n sentiment, and more.\n

    \n \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    Product Spotlight

    \n

    Placemaker Tools

    \n

    \n Foursquare Placemakers are the guardians and curators of our Places dataset – playing a crucial role in shaping how people understand and interact with physical spaces in our digital world.\n

    \n
      \n
    • \n \n \n \n Placemakers are the dedicated, passionate members of our global open source community who contribute to our shared understanding of places around the world.\n
    • \n
      \n
    • \n \n \n \n There are 10 levels in the Placemaker community. Each time you advance, you gain benefits and influence within the community, plus improve the quality of our places.\n
    • \n
      \n
    • \n \n \n \n Directly contribute to the accuracy of places for Swarm users and developers using our data to build rich, location-powered features.\n
    • \n
    \n
    \n \n
    \n
    \n \"Foursquare\n \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n

    Resources

    \n

    Get Started Guides

    \n
    \n
    \n
    \n
    APIs
    \n

    Get Started with the Placemaker Tools

    \n

    \n Placemakers are the most dedicated and passionate members of our community. They care deeply about maintaining the accuracy and quality of our data.\n

    \n

    \n Read more\n

    \n
    \n
    \n
    Feature
    \n

    Get Started with the Places API

    \n

    \n New to the Foursquare Places API? Not to worry, we've got you covered. In just a few\n simple steps, you'll be up and running with your first API call in no time!\n

    \n

    \n Read more\n

    \n
    \n
    \n
    Feature
    \n

    Get Started with Foursquare Studio

    \n

    \n Using Foursquare Studio, you can create powerful geospatial visualizations that you can\n share with the world.\n

    \n

    \n Read more\n

    \n
    \n
    \n
    \n
    \n
    \n
    \n

    Get in touch with an expert

    \n

    \n Interested in exploring how Foursquare can help drive your business forward? Let us show you.\n

    \n Request a Demo\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n \n
    \n \n \n
    \n \n \n ","redirect":""},"allowApiExplorerJsonEditor":false,"referenceSimpleMode":true,"referenceLayout":"row","link_logo_to_url":false,"theme":"line","colorScheme":"system","overlay":"triangles","landing":true,"sticky":false,"hide_logo":false,"childrenAsPills":false,"subheaderStyle":"links","splitReferenceDocs":false,"showMetricsInReference":true,"logo":["https://files.readme.io/395ef92-small-docs.png","395ef92-small-docs.png",324,40,"#000000","https://files.readme.io/e6bf6a6-docs.png","66073de859b0cb005930f3ce"],"loginLogo":["https://files.readme.io/369886b-small-readme-logo.png","readme.png",60,60,"#018EF5"],"logo_white":[],"logo_white_use":false,"logo_large":false,"favicon":["https://files.readme.io/ab74fae-small-favicon.png","ab74fae-small-favicon.png",32,32,"#000000","https://files.readme.io/8bd4089-favicon.png","66073e7c6de45200245db22e"],"stylesheet":"","stylesheet_hub2":"/*****************************************/ \n/************ General GLP ****************/ \n/*****************************************/ \n* {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n.rdmd-html iframe {\n background: #FFF;\n}\n.rm-LandingPage{\n margin: 0 auto;\n max-width: 100%;\n padding: 0;\n width: 100%;\n}\n\n.rm-Header-top [id^=\"tippy-\"] > div > div > div > div > div > div:nth-child(2){\n display:none !important; \n}\n\n.doc-search-button {\n font-size: 0.9rem;\n line-height: 1.6;\n color: #000;\n opacity: 0.999;\n display: inline-block;\n border: solid 1px #6666FF;\n background-color: white;\n border-radius: 7px;\n padding: 0.5em 1em;\n transition: background 100ms;\n width: 50%;\n cursor: pointer;\n}\n\n.landing-page-home .container {\n max-width: 1440px;\n margin: 0 auto;\n padding: 0 24px;\n}\n\n.landing-page-home .content {\n padding: 0 24px 24px;\n}\n\n.landing-page-home .content p {\n margin: 0 0 10px;\n line-height: 24px;\n}\n\n.landing-page-home section {\n padding: 48px 0;\n}\n\n.landing-page-home .button {\n border-radius: 12px;\n border: 1px solid #3333FF;\n background: #3333FF;\n color: #FFF;\n display: inline-block;\n padding: 12px 16px;\n text-decoration: none !important;\n margin-top: 24px;\n}\n\n.landing-page-home .button:hover {\n color: #3333FF;\n background: #FFF;\n}\n\n.landing-page-home .banner {\n background: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3)), url(\"https://location.foursquare.com/wp-content/uploads/sites/2/2023/10/foursquare-hero-docs.jpg\") no-repeat center center #010101;\n}\n\n.landing-page-home .banner.signup {\n background: linear-gradient(0deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.3)), url(\"https://location.foursquare.com/wp-content/uploads/sites/2/2023/10/foursquare-signup.jpg\") no-repeat center center #010101;\n}\n\n.landing-page-home .banner h1 {\n color: #FFF;\n font-size: 48px;\n line-height: 64px;\n margin: 0 0 10px;\n padding: 0;\n font-weight: 300;\n}\n\n.landing-page-home .banner p.description {\n color: #B3B0B1;\n}\n\n.landing-page-home h2 {\n font-size: 32px;\n line-height: 40px;\n margin: 0;\n}\n\n.landing-page-home .tag {\n text-transform: uppercase;\n color: #2ED9C3;\n font-size: 12px;\n}\n\n.landing-page-home ul.filters {\n margin: 0;\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n gap: 10px;\n padding: 0;\n}\n\n.landing-page-home ul.filters li {\n cursor: pointer;\n margin: 0;\n padding: 0;\n font-size: 14px !important;\n display: block;\n border-radius: 12px;\n padding: 6px 8px;\n border: 1px solid #F8F8F8;\n background: #F8F8F8;\n color: #171417;\n}\n\n.landing-page-home ul.filters li.active {\n background: #010101;\n color: #F8F8F8;\n border: 1px solid #010101;\n}\n\n.landing-page-home ul.pills {\n margin: 0;\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n gap: 10px;\n padding: 0;\n}\n\n.landing-page-home ul.pills li {\n margin: 0;\n padding: 0;\n}\n\n.landing-page-home ul.pills li a {\n text-decoration: none;\n font-size: 14px !important;\n display: block;\n border: 1px solid #B3B0B1;\n border-radius: 50px;\n padding: 12px 16px;\n background: #F8F8F8;\n color: #171417;\n}\n\n.landing-page-home ul.pills li a:hover {\n background: #E0DDDE;\n text-decoration: none !important;\n}\n\n.landing-page-home ul.pills.blue li a {\n color: #3333FF;\n border-radius: 8px;\n background: #FFF;\n border: 1px solid #3333FF;\n}\n\n.landing-page-home ul.pills.blue li a:hover {\n background: #F2EEFB;\n\n}\n\n.landing-page-home ul.ticks {\n margin: 0 0 25px;\n padding: 0;\n list-style: none;\n}\n\n.landing-page-home .tiles {\n display: grid;\n gap: 20px;\n /* Adjust spacing between tiles as needed */\n row-gap: 40px;\n}\n\n.landing-page-home .tiles .tile-image {\n border-radius: 24px;\n box-shadow: 0px 3.38082px 11.77026px 0px rgba(0, 0, 0, 0.06), 0px 8.13971px 28.33825px 0px rgba(0, 0, 0, 0.08), 0px 27px 94px 0px rgba(0, 0, 0, 0.13), 0px 4px 4px 0px rgba(0, 0, 0, 0.25);\n}\n\n.landing-page-home .tile-container-border .tile {\n position: relative;\n padding: 24px;\n border-radius: 16px;\n box-sizing: border-box;\n border: 1px solid #ccc;\n}\n\n.landing-page-home .tile-container-border .tile .external {\n position: absolute;\n right: 24px;\n width: 32px;\n height: 32px;\n border: 1px solid #F8F8F8;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50px;\n}\n\n.landing-page-home .tile .icon {\n box-sizing: content-box;\n background: #EFF4FE;\n border-radius: 12px;\n padding: 10px;\n width: 24px;\n height: 24px;\n display: inline-block;\n color: blue;\n margin-bottom: 16px;\n}\n\n.landing-page-home .tile .icon.text {\n padding: 4px 8px;\n font-size: 12px;\n height: unset;\n width: unset;\n border-radius: 6px;\n}\n\n.landing-page-home .tile .icon.text.green {\n color: #0A5E14;\n background: #D7F6E7;\n}\n\n.landing-page-home .tile-container-bg {\n background: #F8F8F8;\n}\n\n.landing-page-home .tile-container-bg .tile {\n box-shadow: 0px 0px 8px 0px rgba(23, 20, 23, 0.1);\n background: #FFF;\n\n}\n\n.landing-page-home .tile-container-bg .tile h3 {\n margin-top: 0;\n}\n\n.landing-page-home .tile-container-bg .tile a {\n text-decoration: none;\n}\n\n.landing-page-home .tile-container-bg .tile a:hover {\n text-decoration: underline;\n}\n \n/*****************************************/\n/********* Viewport Changes **************/ \n/*****************************************/ \n \n@media (min-width: 768px) {\n \n .hub-is-home .rm-Header-top .rm-SearchToggle {\n \n }\n \n .landing-page-home .tiles {\n padding: 24px;\n }\n \n .landing-page-home .banner {\n padding: 80px 48px;\n }\n\n .landing-page-home .tiles .tile-image.tile-image-mobile {\n display: none;\n }\n\n .landing-page-home .tiles .tile-image.tile-image-desktop {\n display: block;\n }\n \n .landing-page-home .tiles-third {\n grid-template-columns: repeat(3, 1fr);\n }\n \n .landing-page-home .tiles-half {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (max-width: 767px) {\n .landing-page-home .tiles .tile-image.tile-image-mobile {\n display: block;\n }\n\n .landing-page-home .tiles .tile-image.tile-image-desktop {\n display: none;\n }\n}\n\n/*****************************************/ \n/************* Footer ******************/ \n/*****************************************/ \n \n.footer-section {\n background-color: #f6f6f6;\n padding: 2rem 1rem;\n}\n\nfooter .footer-section ul {\n list-style-type: none !important;\n}\n\n.footer-section div>ul {\n display: grid;\n column-gap: 1rem;\n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n\n.footer-section div>ul>li>ul>li {\n margin-bottom: 1rem;\n}\n\n.footer-section ul li a {\n color: #000;\n}\n\n.footer-section ul li a:hover {\n text-decoration: underline;\n}\n\n.below-footer a {\n color: #999999;\n text-decoration: none;\n}\n\n.below-footer a:hover {\n color: #000;\n}\n\n.below-footer p {\n display: flex;\n justify-content: space-around;\n}\n \n/*****************************************/ \n/********** Dark Mode ****************/ \n/*****************************************/ \n\n[data-color-mode=\"dark\"] .Header-logo-img3YvV4lcGKkeb {\n filter: invert(100%);\n}\n\n\n[data-color-mode=\"dark\"] .rm-Header-bottom-link.active {\n background: #fff !important;\n color: #0d0d0d !important;\n}\n\n[data-color-mode=\"dark\"] .rm-Header-bottom-link.active i {\n color: #0d0d0d !important;\n opacity: 1 !important;\n}\n\n[data-color-mode=\"dark\"] .rm-Header-bottom-link {\n background: none !important;\n}\n\n[data-color-mode=\"dark\"] .rm-Header-bottom-link:hover {\n background: #1e2021 !important;\n color: #fff !important;\n}\n\n[data-color-mode=\"dark\"] .rm-Header-bottom-link {\n color: #fff;\n}\n\n[data-color-mode=\"dark\"] .Header-right21PC2XTT6aMg a {\n padding: 8px 16px !important;\n border: 1px solid #66f !important;\n}\n\n[data-color-mode=\"dark\"] .Header-right21PC2XTT6aMg a:nth-child(1) {\n border: 1px solid #66f;\n background: #0d0d0d !important;\n color: #66f !important;\n}\n\n[data-color-mode=\"dark\"] .Header-right21PC2XTT6aMg a:nth-child(1):hover {\n background: #242e34 !important;\n}\n\n[data-color-mode=\"dark\"] .Button_primary:not(.Button_white_text) {\n color: #fff !important;\n background: #0d0d0d !important;\n}\n\n[data-color-mode=\"dark\"] .Header-right21PC2XTT6aMg a:nth-child(2) {\n background: #66f !important;\n color: #fff !important;\n}\n\n[data-color-mode=\"dark\"] .rm-Header-bottom .Dropdown-button {\n color: #f8f8f8 !important;\n border: none !important;\n background: #0d0d0d !important;\n}\n\n[data-color-mode=\"dark\"] .rm-Header-bottom .Dropdown-list {\n background: #0d0d0d !important;\n}\n\n[data-color-mode=\"dark\"] .rm-Header-bottom .Dropdown-list li a {\n color: #f8f8f8 !important;\n}\n\n[data-color-mode=\"dark\"] .rm-Header-bottom .Dropdown-list li a:hover {\n background: #1e2021 !important;\n color: #fff !important;\n}\n\n[data-color-mode=\"dark\"] a.readmore {\n color: #4d4dff !important;\n}\n\n[data-color-mode=\"dark\"] .landing-page-home svg path {\n fill: #4d4dff !important;\n}\n\n[data-color-mode=\"dark\"] .landing-page-home .button {\n border: 1px solid #4d4dff !important;\n background: #4d4dff !important;\n color: #0d0d0d !important;\n}\n\n[data-color-mode=\"dark\"] .landing-page-home .button:hover {\n border: 1px solid #4d4dff !important;\n background: #4d4dff !important;\n color: #0d0d0d !important;\n}\n\n[data-color-mode=\"dark\"] .landing-page-home ul.filters li {\n background: #1e2021 !important;\n border: 1px solid #1e2021 !important;\n color: #f8f8f8 !important;\n}\n\n[data-color-mode=\"dark\"] .landing-page-home ul.filters li.active {\n border: 1px solid #f8f8f8 !important;\n background: #f8f8f8 !important;\n color: #171417 !important;\n}\n\n[data-color-mode=\"dark\"] .rm-SearchToggle {\n background-color: #171717 !important;\n border-color: #171717 !important;\n}\n\n[data-color-mode=\"dark\"] .rm-SearchToggle-icon,\n[data-color-mode=\"dark\"] .rm-SearchToggle-placeholder,\n[data-color-mode=\"dark\"] .footer-section ul {\n color: #fff !important;\n}\n\n[data-color-mode=\"dark\"] .landing-page-home .tile-container-bg {\n background-color: #20292e;\n}\n\n[data-color-mode=\"dark\"] .landing-page-home .tile-container-bg .tile,\n[data-color-mode=\"dark\"] .landing-page-home .tile-container-bg .tile a,\n[data-color-mode=\"dark\"] .landing-page-home .tile .icon {\n background-color: #171717;\n border-color: #171717;\n color: #fff;\n}\n\n[data-color-mode=\"dark\"] .landing-page-home .tile-container-bg .tile a {\n background-color: #141414;\n border-color: #fff;\n color: #fff;\n}\n\n[data-color-mode=\"dark\"] .landing-page-home .tile-container.tile-bg-alternate,\n[data-color-mode=\"dark\"] .footer-section {\n background: #0d0d0d !important;\n}\n\n[data-color-mode=\"dark\"] .landing-page-home ul.pills.blue li a,\n[data-color-mode=\"dark\"] .landing-page-home ul.pills li a {\n background-color: #0d0d0d;\n}\n\n[data-color-mode=\"dark\"] .landing-page-home ul.pills.blue li a,\n[data-color-mode=\"dark\"] .landing-page-home .tiles.tiles-third ul.pills li a path {\n fill: #fff !important;\n}\n\n[data-color-mode=\"dark\"] .footer-section path {\n fill: #fff;\n}\n\n[data-color-mode=\"dark\"] .footer-section ul li a {\n color: #757575;\n}\n \n[data-color-mode=\"dark\"] .below-footer p{\n color: #000 !important;\n}\n\n/*****************************************/ \n/*********** System Mode *************/ \n/*****************************************/ \n \n@media(prefers-color-scheme: dark) {\n[data-color-mode=\"system\"] {\n /* Common properties for system color mode */\n}\n\n[data-color-mode=\"system\"] .Button_primary:not(.Button_white_text) {\n color: #FFF !important;\n background: #0D0D0D !important;\n}\n\n[data-color-mode=\"system\"] .Header-logo-img3YvV4lcGKkeb {\n -webkit-filter: grayscale(1) invert(1);\n filter: grayscale(1) invert(1); \n}\n\n[data-color-mode=\"system\"] .rm-SearchToggle {\n background-color: #171717 !important;\n border-color: #171717 !important;\n}\n\n[data-color-mode=\"system\"] .rm-SearchToggle-icon,\n[data-color-mode=\"system\"] .rm-SearchToggle-placeholder,\n[data-color-mode=\"system\"] .footer-section ul {\n color: #fff !important;\n}\n\n[data-color-mode=\"system\"] .landing-page-home .tile-container-bg {\n background-color: #20292E;\n}\n\n[data-color-mode=\"system\"] .landing-page-home .tile-container-bg .tile,\n[data-color-mode=\"system\"] .landing-page-home .tile-container-bg .tile a,\n[data-color-mode=\"system\"] .landing-page-home .tile .icon {\n background-color: #171717;\n border-color: #171717;\n color: #fff;\n}\n\n[data-color-mode=\"system\"] .landing-page-home .tile-container-bg .tile a {\n background-color: #141414;\n border-color: #fff;\n color: #fff;\n}\n\n[data-color-mode=\"system\"] .landing-page-home .tile-container.tile-bg-alternate,\n[data-color-mode=\"system\"] .footer-section {\n background: #0D0D0D !important;\n}\n\n[data-color-mode=\"system\"] .landing-page-home ul.pills.blue li a,\n[data-color-mode=\"system\"] .landing-page-home ul.pills li a {\n background-color: #0D0D0D;\n}\n\n[data-color-mode=\"system\"] .landing-page-home ul.pills.blue li a,\n[data-color-mode=\"system\"] .landing-page-home .tiles.tiles-third ul.pills li a path {\n fill: #fff !important;\n}\n\n[data-color-mode=\"system\"] .footer-section path {\n fill: #fff;\n}\n\n[data-color-mode=\"system\"] .footer-section ul li a {\n color: #757575;\n}\n\n/* Additional rules */\n[data-color-mode=\"system\"] .Header-right21PC2XTT6aMg a {\n padding: 8px 16px !important;\n border: 1px solid #66F !important;\n}\n\n[data-color-mode=\"system\"] .Header-right21PC2XTT6aMg a:nth-child(1) {\n border: 1px solid #66F;\n background: #0D0D0D !important;\n color: #66F !important;\n}\n\n[data-color-mode=\"system\"] .Header-right21PC2XTT6aMg a:nth-child(1):hover {\n background: #242E34 !important;\n}\n\n[data-color-mode=\"system\"] .Header-right21PC2XTT6aMg a:nth-child(2) {\n background: #66F !important;\n color: #0D0D0D !important;\n}\n\n[data-color-mode=\"system\"] .rm-Header-bottom .Dropdown-button,\n[data-color-mode=\"system\"] .rm-Header-bottom .Dropdown-list,\n[data-color-mode=\"system\"] .landing-page-home ul.filters li {\n background: #0D0D0D !important;\n}\n\n[data-color-mode=\"system\"] .rm-Header-bottom .Dropdown-button,\n[data-color-mode=\"system\"] .rm-Header-bottom .Dropdown-list li a,\n[data-color-mode=\"system\"] .rm-Header-bottom-link,\n[data-color-mode=\"system\"] a.readmore {\n color: #F8F8F8 !important;\n}\n\n[data-color-mode=\"system\"] .rm-Header-bottom-link:hover,\n[data-color-mode=\"system\"] .landing-page-home ul.filters li.active {\n background: #1E2021 !important;\n}\n\n[data-color-mode=\"system\"] .rm-Header-bottom-link.active {\n background: #FFF !important;\n color: #0D0D0D !important;\n}\n\n[data-color-mode=\"system\"] .rm-Header-bottom-link.active i {\n color: #0D0D0D !important;\n opacity: 1 !important;\n}\n\n[data-color-mode=\"system\"] .landing-page-home .tile-container-bg .tile .icon,\n[data-color-mode=\"system\"] .landing-page-home .button,\n[data-color-mode=\"system\"] .landing-page-home .button:hover {\n border: 1px solid #4D4DFF !important;\n}\n\n[data-color-mode=\"system\"] .landing-page-home .button,\n[data-color-mode=\"system\"] .landing-page-home .button:hover {\n background: #4D4DFF !important;\n color: #0D0D0D !important;\n}\n\n[data-color-mode=\"system\"] .landing-page-home svg path {\n fill: #4D4DFF !important;\n}\n\n[data-color-mode=\"system\"] .below-footer p{\n color: #000 !important;\n} \n}\n\n/*****************************************/ \n/************** Interior ****************/ \n/*****************************************/ \n\n.rm-SearchModal .Tabs-listItem_active {\n -webkit-box-shadow: inset 0 -2px 0 currentcolor !important;\n box-shadow: inset 0 -2px 0 currentcolor !important;\n color: black !important;\n}\n\n.hub-is-home .rm-SearchToggle {display:none;}\n\n\n/* Guides Thumb Votes*/ \n.rm-Guides .PageThumbs-helpful {\n\tword-break: normal;\n overflow-wrap: normal;\n display: block;\n font-size: 10px;\n margin-bottom: 10px;\n padding: 5px;\n text-align: center;\n border-color: rgba(0, 0, 0, 0);\n}\n\n.rm-Guides .PageThumbs {\n display: table;\n margin: 0;\n padding: 0;\n position: absolute !important;\n top: 120px;\n margin-left: 665px;\n}\n\n.rm-Guides #content-head h1 {\n margin-bottom: 0;\n margin-top: 0;\n max-width: 600px;\n}\n\n.rm-Guides .PageThumbs-cta {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: space-evenly;\n -ms-flex-pack: space-evenly;\n justify-content: space-evenly;\n padding-left: 0;\n}\n\n.rm-Guides .PageThumbs-button {\n padding:0; \n}\n\n.rm-Guides .content-body {\n padding-top: 35px !important;\n}\n\n.headline-container_basic1DFntTggitfX {\n border-bottom: 0;\n margin-bottom: 30px;\n padding-bottom: 30px;\n}\n\n.Button_secondary_text {\n background: rgba(0, 0, 0, 0);\n -webkit-box-shadow: none;\n box-shadow: none;\n color: #4f5a66;\n font-size: 11px;\n}\n\n.icon-thumbs-up-2:before {\n content: \"\\ea39\";\n font-size: 15px;\n}\n\n.icon-thumbs-down1:before {\n content: \"\\ea47\";\n font-size: 15px;\n}\n\n/* Ref Thumb Votes\n#Explorer .PageThumbs-helpful {\n\tword-break: normal;\n overflow-wrap: normal;\n display: block;\n font-size: 10px;\n margin-bottom: 10px;\n padding: 5px;\n text-align: center;\n border-color: rgba(0, 0, 0, 0);\n}\n\n#Explorer .PageThumbs {\n\t\tdisplay: table;\n margin: 0;\n padding: 0;\n position: absolute !important;\n top: 105px;\n margin-left: 495px;\n}\n\n#Explorer #content-head h1 {\n margin-bottom: 0;\n margin-top: 0;\n max-width: 600px;\n}\n\n#Explorer .PageThumbs-cta {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: space-evenly;\n -ms-flex-pack: space-evenly;\n justify-content: space-evenly;\n padding-left: 0;\n}\n\n#Explorer .PageThumbs-button {\n padding:0; \n}\n\n#Explorer .content-body {\n padding-top: 35px !important;\n}\n*/ \n.removeLogoutLink {\n outline: none !important;\n border: none !important;\n box-shadow: none !important;\n cursor: initial !important;\n}\n\n.rm-Flyout {\n background: #FFFFFF !important;\n}\n\n.Header-right21PC2XTT6aMg a {\n padding: 8px 16px !important;\n border: 1px solid #3333FF !important;\n}\n\n.Header-right21PC2XTT6aMg a:nth-child(1) {\n color: #3333FF !important;\n}\n\n.Header-right21PC2XTT6aMg a:nth-child(2) {\n background: #3333FF !important;\n color: #FFF !important;\n}\n\n.Header-right21PC2XTT6aMg a:first-child:hover {\n background: #F2EEFB !important\n}\n\n.Header-right21PC2XTT6aMg a:nth-child(2):hover {\n background: #1C1F9F !important;\n color: #FFF !important;\n}\n\n/* Content */\n\n.rm-Guides #content-head {\n border-bottom: none !important;\n padding-bottom: 0 !important;\n}\n\n.rm-PlaygroundRequest button {\n color: #FFF !important;\n}\n\n/* Alerts and Callouts */\n\n.callout.callout {\n padding: 1.5rem !important;\n border-radius: 12px !important;\n}\n\n.field-description blockquote,\n.markdown-body blockquote {\n border: none !important;\n}\n\n.callout.callout .callout-heading.empty .callout-icon {\n margin-left: 0 !important;\n\n}\n\n.callout.callout .callout-heading.empty {\n margin-left: 0 !important;\n}\n\n.tabbed-content {\n display: grid;\n column-gap: 1.25rem;\n row-gap: 1.25rem;\n max-width: 99%;\n}\n\n@media only screen and (min-width: 48em) {\n .tabbed-content {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n\n@media only screen and (min-width: 64em) {\n .tabbed-content {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n}\n\n.tabbed-content .tabbed-tile {\n box-shadow: 0px 0px 8px 0px rgba(23, 20, 23, 0.10) !important;\n background-color: #FFFFFF;\n padding: 20px;\n border-radius: 12px;\n display: none;\n}\n\n@media only screen and (min-width: 48em) {\n .tabbed-content .tabbed-tile {\n padding: 20px;\n }\n}\n\n\n@media only screen and (min-width: 64em) {\n .tabbed-content .tabbed-tile {\n padding: 20px;\n }\n}\n\n.tabbed-content .tabbed-tile.active {\n display: block;\n}\n\n.tabbed-content .tabbed-tile .svg-container {\n height: 44px;\n width: 44px;\n padding: 8px;\n display: flex;\n border-radius: 12px;\n background-color: #EFF4FE !important;\n margin-bottom: 16px;\n flex-wrap: wrap;\n align-content: center;\n justify-content: center;\n}\n\n.tabbed-content .tabbed-tile .svg-container img {\n margin-left: 0;\n margin-right: 0;\n max-width: 24px;\n max-height: 24px;\n filter: invert(10%) sepia(74%) saturate(6495%) hue-rotate(246deg) brightness(135%) contrast(104%);\n}\n\n@media only screen and (min-width: 48em) {\n .tabbed-content .tabbed-tile p {\n min-height: 75px;\n }\n}\n\n.tabbed-content img,\n.tabbed-content svg {\n max-width: 40px;\n height: auto;\n}\n\n.tabbed-content h3 {\n margin: 0 0 1rem;\n}\n\n.tabbed-content p:last-child {\n margin: 0;\n}\n\n.tabbed-content a {\n text-decoration: none !important;\n}\n\n.tabbed-content a:hover {\n text-decoration: underline !important;\n}\n\n/* Tokens & Icons */\n\nul.tokens {\n list-style: none;\n display: flex;\n margin-top: 22px;\n flex-wrap: wrap;\n padding-left: 0 !important;\n}\n\nul.tokens li {\n margin-top: 0;\n}\n\nul.tokens li a {\n color: #171417;\n text-align: center;\n border-radius: 50px;\n border: 1px solid #B3B0B1;\n background-color: #F3F3F3 !important;\n padding: 8px 12px;\n margin-top: 0;\n margin-right: 0.5rem;\n font-size: 12px;\n margin-bottom: 0.5rem;\n display: inline-block;\n text-decoration: none !important;\n}\n\nul.tokens li a:hover {\n background-color: #E0DDDE !important;\n color: #171417;\n text-decoration: none !important;\n}\n\nul.tokens li a:active {\n background-color: #e7e7ff !important;\n}\n\n/* TOC List */\n\nnav ul.toc-list li a.tocHeader,\nnav ul.toc-list li a.tocHeader i {\n color: #3AC1AF !important;\n}\n\nnav ul.toc-list li.toc-children {\n border-left: 1px solid #3333FF;\n}\n\nnav ul.toc-list li.toc-children ul li.active>a {\n color: #3333FF;\n}\n\n.rm-Sidebar {\n box-shadow: none !important;\n -webkit-box-shadow: none !important;\n margin-top: 3px !important;\n}\n\n.rm-Sidebar-section {\n margin-top: 8px !important;\n margin-bottom: 0 !important;\n}\n\n.rm-Sidebar-section h2 {\n padding: 12px 20px !important;\n margin: 0 !important;\n line-height: 1 !important;\n}\n\n.rm-Sidebar-heading {\n font-weight: 500 !important;\n margin: 0 0 8px !important;\n}\n\n.rm-Sidebar-heading,\n.rm-Sidebar-link {\n font-size: 16px !important;\n line-height: 24px !important;\n text-transform: none !important;\n padding-left: 20px !important;\n position: relative !important;\n}\n\n.icon-arrow-up-right {\n position: absolute !important;\n bottom: 4px !important;\n right: 15px !important;\n}\n\n.rm-Sidebar-list {\n padding-left: 22px !important;\n}\n\n.rm-Sidebar-list .rm-Sidebar-list {\n padding-left: 5px !important;\n}\n\n.rm-Sidebar-list.subpages:last-child {\n margin-bottom: 8px !important;\n}\n\nul.subpages li a.subpage {\n margin-left: 0 !important;\n\n}\n\n.rm-Sidebar-link {\n display: flex !important;\n padding-left: 6px !important;\n padding-right: 6px !important;\n padding-top: 6px !important;\n padding-bottom: 6px !important;\n margin: 0 !important;\n}\n\n.rm-Sidebar-link:hover {\n background: none !important;\n}\n\n.rm-Sidebar-link span span {\n border-bottom: 1px solid transparent !important;\n}\n\n.rm-Sidebar-link:hover span span {\n border-bottom: 1px solid #000 !important;\n}\n\n\n.rm-Sidebar-link.active,\n.rm-Sidebar-link:active {\n background: none !important;\n color: #3333FF !important;\n\n}\n\n.rm-Sidebar-link.active:hover span span {\n border-bottom: 1px solid transparent !important;\n}\n\n.Sidebar-link-buttonWrapper3hnFHNku8_BJ {\n margin-left: 0px !important;\n}\n\n/* Collapsible sidebar navigation */\n.rm-Sidebar-heading {\n cursor: pointer;\n position: relative;\n}\n\n.rm-Sidebar-heading.section-expanded {\n border-radius: 4px;\n background: var(--secondary-brand-secondary-1, #F2EEFB);\n box-shadow: 2px 0px 0px 0px #686DF3 inset;\n}\n\n.rm-Sidebar-section .subnav-expanded>a {\n color: #33f !important;\n}\n\n.rm-Sidebar-heading.section-expanded .icon-chevron {\n transform: rotate(90deg);\n margin-top:1px;\n}\n\n.rm-Sidebar-heading .icon-chevron {\n transition: transform 0.2s;\n position: absolute;\n top: 12px;\n color: #7C7C7C;\n font-size: 16px;\n opacity: 1;\n margin-left: 4px;\n}\n\n.reference-redesign .Sidebar-link-textLuTE1ySm4Kqn {\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n flex-direction: row-reverse;\n}\n\n.reference-redesign .Sidebar-link-buttonWrapper3hnFHNku8_BJ {\n background: none;\n border: 0;\n color: inherit;\n display: inherit;\n padding:10px !important;\n\n}\n\n.rm-Sidebar-heading .icon-chevron::before {\n content: \"\\ea10\" !important;\n}\n\n.rm-Sidebar-section>.rm-Sidebar-list {\n display: none !important;\n}\n\n.rm-Sidebar-list.section-list-expanded {\n display: flex !important;\n /* Footer */\n}\n\n.footer-section {\n background-color: #F6F6F6;\n padding: 2rem 1rem;\n}\n\n.footer-section ul.footer-links__block-list {\n padding-left: 0;\n}\n\n.footer-section div>ul {\n display: grid;\n column-gap: 1rem;\n list-style: none;\n padding-left: 0;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n@media only screen and (min-width: 48em) {\n .footer-section div>ul {\n \n \n \n \n grid-template-columns: repeat(6, minmax(0, 1fr));\n}\n}\n\n.footer-section div>ul>li>ul>li {\n margin-bottom: 1rem;\n list-style: none;\n}\n\n.footer-section ul li a {\n color: #000;\n}\n\n.footer-section ul li a:hover {\n text-decoration: underline;\n}\n\n\n.below-footer a {\n color: #999999;\n text-decoration: none;\n}\n\n.below-footer a:hover {\n color: #000;\n}\n\n.below-footer p {\n display: flex;\n justify-content: space-around;\n}\n\n/*****************************************/ \n/********* Dark Mode NON-LANDING ********/ \n/*****************************************/ \n\n[data-color-mode=\"dark\"] .rm-Sidebar-section .subnav-expanded>a {\n background: #1E2021 !important;\n}\n\n[data-color-mode=\"dark\"] .rm-Sidebar-heading.section-expanded {\n border-radius: 4px;\n background: #171717;\n box-shadow: 2px 0px 0px 0px #686DF3 inset;\n color: #FFF !important;\n}\n\n[data-color-mode=\"dark\"] .tabbed-content .tabbed-tile {\n background: #171717 !important;\n border: none !important;\n}\n\n[data-color-mode=\"dark\"] .tabbed-content .tabbed-tile .svg-container {\n background: #171717 !important;\n}\n\n[data-color-mode=\"dark\"] nav ul.toc-list li.toc-children {\n border-left: 1px solid #4D4DFF !important;\n}\n\n[data-color-mode=\"dark\"] nav ul.toc-list li.toc-children ul li.active>a {\n color: #4D4DFF !important;\n}\n\n[data-color-mode=dark] ul.tokens li a {\n background: #171417 !important;\n}\n\n/*****************************************/ \n/******* System Mode NON-LANDING ********/ \n/*****************************************/ \n\n@media(prefers-color-scheme: dark) {\n\n[data-color-mode=\"system\"] .rm-Flyout {\n filter: invert(1);\n}\n\n[data-color-mode=\"system\"] .rm-Sidebar-heading.section-expanded {\n border-radius: 4px;\n background: #171717;\n box-shadow: 2px 0px 0px 0px #686DF3 inset;\n color: #FFF !important;\n}\n\n[data-color-mode=\"system\"] .rm-Sidebar-section .subnav-expanded>a {\n background: #1E2021 !important;\n}\n\n[data-color-mode=\"system\"] .tabbed-content .tabbed-tile {\n background: #171717 !important;\n border: none !important;\n}\n\n[data-color-mode=\"system\"] .tabbed-content .tabbed-tile .svg-container {\n background: #171717 !important;\n}\n\n[data-color-mode=\"system\"] nav ul.toc-list li.toc-children {\n border-left: 1px solid #4D4DFF !important;\n}\n\n[data-color-mode=\"system\"] nav ul.toc-list li.toc-children ul li.active>a {\n color: #4D4DFF !important;\n}\n\n[data-color-mode=\"system\"] .rm-Sidebar-link.active,\n[data-color-mode=\"auto\"] .rm-Sidebar-link:active {\n background-color: none !important;\n color: #4D4DFF !important;\n}\n\n[data-color-mode=\"system\"] .rm-Sidebar-link:hover span span {\n border-bottom: 1px solid #4D4DFF !important;\n}\n\n[data-color-mode=\"system\"] ul.tokens li a {\n background: #171417 !important;\n}\n\n}","stylesheet_hub3":"","javascript":"","javascript_hub2":"//Dark Mode Hack\n$(window).on('pageLoad', function(e, state) {\n console.log(\"Page Loaded!\");\n // Counter to track the number of intervals\n let intervalCount = 0;\n\n // Function to check and perform theme toggle behavior if the data-color-mode is set to \"system\"\n const checkAndToggleTheme = () => {\n // Get the current color mode\n var currentMode = document.documentElement.getAttribute('data-color-mode');\n\n console.log('Current color mode:', currentMode);\n\n // Check if the current mode is \"system\"\n if (currentMode === 'system') {\n console.log('System mode detected. Performing theme toggle behavior.');\n\n // Find the theme toggle button by aria-label\n const lightToggleButton = document.querySelector('[aria-label=\"Toggle to light mode\"]');\n\n if (lightToggleButton) {\n // Click the \"Light\" toggle button\n lightToggleButton.click();\n } else {\n console.log('Light mode toggle button not found.');\n }\n } else {\n console.log('Theme toggle behavior not performed because the color mode is not \"system\".');\n }\n\n // Increment intervalCount\n intervalCount++;\n\n // Check if intervalCount reaches 2, then stop further execution\n if (intervalCount >= 2) {\n clearInterval(intervalId);\n }\n };\n\n // Call the function to check and toggle the theme initially\n checkAndToggleTheme();\n\n // Set interval to repeatedly call checkAndToggleTheme every 1100 milliseconds\n const intervalId = setInterval(checkAndToggleTheme, 200);\n});\n\n\n// START - Custom Project Dropdown\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n setTimeout(function () {\n // Create a flag to check if the dropdown has already been inserted\n var dropdownInserted = false;\n\n // Find all elements with a class that starts with \"Header-bottom\" \n var headerBottomElements = document.querySelectorAll('[class^=\"Header-bottom\"] nav');\n\n // Define a mapping of URL paths to section names\n var pathToSectionMap = {\n \"/data-products\": \"Data Products\",\n \"/campaign-products\": \"Campaign Products\",\n \"/analytics-products\": \"Analytics Products\",\n \"/developer\": \"Developer\"\n };\n \n // Function to get the section name based on the current URL\n function getSectionName() {\n var currentPath = window.location.pathname.toLowerCase();\n for (var path in pathToSectionMap) {\n if (currentPath.indexOf(path) !== -1) {\n return pathToSectionMap[path];\n }\n }\n return \"Choose Product\";\n }\n\n // Loop through the matched elements\n headerBottomElements.forEach(function (navElement) {\n // Check if the current element is within an element with the class \"Dropdown\"\n if (!navElement.closest('.Dropdown')) {\n // If not, insert the clickable dropdown at the very beginning of this