{"id":2940794,"date":"2025-10-07T00:00:41","date_gmt":"2025-10-07T07:00:41","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2940794"},"modified":"2025-10-22T13:24:39","modified_gmt":"2025-10-22T20:24:39","slug":"how-to-build-open-source-applications-using-basemap-sessions","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions","title":{"rendered":"How to Build Open Source Applications Using Basemap Sessions"},"author":360822,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[738191],"tags":[780825,770112,762932,780820,763382],"industry":[],"product":[761642],"class_list":["post-2940794","blog","type-blog","status-publish","format-standard","hentry","category-developers","tag-basemap-session","tag-cesium","tag-leaflet","tag-maplibre-gl-js","tag-openlayers","product-platform"],"acf":{"authors":[{"ID":360822,"user_firstname":"Sheryl","user_lastname":"Tania","nickname":"Sheryl Tania","user_nicename":"stania","display_name":"Sheryl Tania","user_email":"stania@esri.com","user_url":"","user_registered":"2024-08-27 19:29:29","user_description":"Sheryl Tania is a product engineer on the Developer Experience team.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/09\/profile-465x465.jpeg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"},{"ID":290882,"user_firstname":"Anita","user_lastname":"Kemp","nickname":"Anita Kemp","user_nicename":"akemp","display_name":"Anita Kemp","user_email":"akemp@esri.com","user_url":"","user_registered":"2021-10-27 14:50:10","user_description":"Anita Kemp is a product engineer on the Developer Experience team.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/12\/Kemp_Headshot-e1670883297363-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"},{"ID":3791,"user_firstname":"Allan","user_lastname":"Laframboise","nickname":"Allan Laframboise","user_nicename":"alaframboise","display_name":"Allan Laframboise","user_email":"alaframboise@esri.com","user_url":"","user_registered":"2018-03-02 00:15:25","user_description":"Allan Laframboise is the product engineering lead for documentation for the Developer Experience team.","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/af35f23e49f7a462c9c1b97ec1033d5804a0a99ee5b8d6ed09394c1208abf8c9?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/af35f23e49f7a462c9c1b97ec1033d5804a0a99ee5b8d6ed09394c1208abf8c9?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"}],"short_description":"Learn how to build applications with basemap sessions using open source libraries such as Leaflet, MapLibre GL JS, OpenLayers, and CesiumJS.","flexible_content":[{"acf_fc_layout":"image","image":{"ID":2942229,"id":2942229,"title":"sessions-animate (1)","filename":"sessions-animate-1.gif","filesize":4089639,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/sessions-animate-1.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions\/sessions-animate-1","alt":"","author":"360822","description":"","caption":"","name":"sessions-animate-1","status":"inherit","uploaded_to":2940794,"date":"2025-10-07 19:08:37","modified":"2025-10-07 19:08:37","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1316,"height":654,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/sessions-animate-1-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/sessions-animate-1.gif","medium-width":464,"medium-height":231,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/sessions-animate-1.gif","medium_large-width":768,"medium_large-height":382,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/sessions-animate-1.gif","large-width":1316,"large-height":654,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/sessions-animate-1.gif","1536x1536-width":1316,"1536x1536-height":654,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/sessions-animate-1.gif","2048x2048-width":1316,"2048x2048-height":654,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/sessions-animate-1-826x410.gif","card_image-width":826,"card_image-height":410,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/sessions-animate-1.gif","wide_image-width":1316,"wide_image-height":654}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>This blog contains resources for <a href=\"https:\/\/location.arcgis.com\/\">ArcGIS Location Platform<\/a> developers who want to learn how to build applications that use basemap sessions. You\u2019ll find steps, code examples, and tutorials for working with different open source mapping libraries such as <a href=\"#maplibre\">MapLibre GL JS<\/a>, <a href=\"#leaflet\">Leaflet<\/a>, <a href=\"#openlayers\">OpenLayers<\/a> and <a href=\"https:\/\/developers.arcgis.com\/cesiumjs\/\" target=\"_blank\" rel=\"noopener\">CesiumJS<\/a>.<\/p>\n<h2>What is a basemap session?<\/h2>\n<p><span data-contrast=\"auto\">Basemap sessions are a type of usage and charging model for displaying basemaps in a mapping application. Basemap sessions allow a user of an application access to an unlimited number of tiles from the <a href=\"https:\/\/developers.arcgis.com\/documentation\/mapping-and-location-services\/mapping\/basemaps\/introduction-basemap-styles-service\/\">ArcGIS Basemap Styles service<\/a> <\/span><span data-contrast=\"auto\">for up to 12 hours. <\/span>Sessions are commonly used to build applications that consume a high volume of basemap tiles through user interactions such as panning, zooming, searching, or displaying many different styles.<\/p>\n<p><span data-contrast=\"auto\">If you want to learn more about <\/span><span data-contrast=\"auto\">basemap sessions, check out our <\/span><a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/announcements\/basemap-sessions\"><span data-contrast=\"none\">recent blog<\/span><\/a><span data-contrast=\"auto\"> or go to the <\/span><a href=\"https:\/\/developers.arcgis.com\/documentation\/mapping-and-location-services\/mapping\/basemaps\/basemap-usage-styles\/\"><span data-contrast=\"none\">Basemap usage page<\/span><\/a><span data-contrast=\"auto\"> in the <\/span><i><span data-contrast=\"auto\">Mapping and location services<\/span><\/i><span data-contrast=\"auto\"> developer guide.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun MacChromeBold SCXW183056553 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW183056553 BCX0\">How <\/span><span class=\"NormalTextRun SCXW183056553 BCX0\">do you <\/span><span class=\"NormalTextRun SCXW183056553 BCX0\">build an app that u<\/span><span class=\"NormalTextRun SCXW183056553 BCX0\">ses <\/span><span class=\"NormalTextRun SCXW183056553 BCX0\">basemap session<\/span><span class=\"NormalTextRun SCXW183056553 BCX0\">s<\/span><span class=\"NormalTextRun SCXW183056553 BCX0\">?<\/span><\/span><span class=\"EOP SCXW183056553 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/h2>\n<p>Before creating a basemap session, you need to decide on its duration and which basemap style family you would like to access. The duration can range from as short as 10 seconds (helpful for testing and development) and up to 12 hours (the maximum time). When the duration expires, you can refresh the session to maintain uninterrupted application use. You must also specify the style family \u2014 either <a href=\"https:\/\/developers.arcgis.com\/documentation\/mapping-and-location-services\/mapping\/basemaps\/open-styles\/\">Open style family<\/a> or <a href=\"https:\/\/developers.arcgis.com\/documentation\/mapping-and-location-services\/mapping\/basemaps\/arcgis-styles\/\">ArcGIS style family<\/a> \u2014 that the session will access.<\/p>\n<p>The general workflow is to:<\/p>\n<p><span data-contrast=\"auto\">1. Create a basemap session for a duration and a style family (<code>arcgis<\/code> or <code>open<\/code>).<\/span><\/p>\n<p>2. Use the session token to access a basemap style.<\/p>\n<p>3. Display the basemap style in a map.<\/p>\n<p>4. Refresh the session when it expires and update the map.<\/p>\n<p><strong>Note<\/strong>: Your ArcGIS Location Platform subscription includes <a href=\"https:\/\/location.arcgis.com\/pricing\/\">1,000 free sessions<\/a> per month for testing, developing, and deploying applications.<\/p>\n<p>The way you apply a session token to display a basemap style depends on the mapping library you are using. If there is no native support for sessions, <a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/\">ArcGIS REST JS<\/a> can be used with any of the JavaScript libraries. See the examples below.<\/p>\n<h2 id=\"maplibre\">MapLibre GL JS<\/h2>\n<p>If you&#8217;re using MapLibre GL JS, the <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/announcements\/new-maplibre-gl-js-plugin-for-open-source-developers\" target=\"_blank\" rel=\"noopener\">new MapLibre ArcGIS plugin<\/a><span data-contrast=\"none\">\u00a0<\/span>streamlines the workflow for creating and managing sessions. You can create a session with the <code><a href=\"https:\/\/developers.arcgis.com\/maplibre-gl-js\/api-reference\/BasemapSession\/\">BasemapSession<\/a><\/code> class and <span data-contrast=\"auto\">use the session token to display a basemap style. <\/span><span data-contrast=\"auto\">The class also <\/span><span data-contrast=\"auto\">refreshes with a new session once it expires.<\/span><\/p>\n<p><span data-contrast=\"auto\">The plugin also automatically updates the tiles with the new token behind the scenes. This means you don\u2019t have to write custom logic to reload or reapply tiles manually.<\/span><\/p>\n<p>Here&#8217;s what the code looks like:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2940800,"id":2940800,"title":"maplibre-session","filename":"maplibre-session.png","filesize":126871,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/maplibre-session.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions\/maplibre-session","alt":"","author":"360822","description":"","caption":"","name":"maplibre-session","status":"inherit","uploaded_to":2940794,"date":"2025-09-23 20:24:51","modified":"2025-09-23 20:24:51","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":936,"height":384,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/maplibre-session-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/maplibre-session.png","medium-width":464,"medium-height":190,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/maplibre-session.png","medium_large-width":768,"medium_large-height":315,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/maplibre-session.png","large-width":936,"large-height":384,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/maplibre-session.png","1536x1536-width":936,"1536x1536-height":384,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/maplibre-session.png","2048x2048-width":936,"2048x2048-height":384,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/maplibre-session-826x339.png","card_image-width":826,"card_image-height":339,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/maplibre-session.png","wide_image-width":936,"wide_image-height":384}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/maplibre-gl-js\/maps\/display-a-map-with-a-basemap-session\/"},{"acf_fc_layout":"content","content":"<p style=\"text-align: center\"><em><span class=\"TextRun SCXW154726668 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW154726668 BCX0\">Check out the <\/span><\/span><a href=\"https:\/\/developers.arcgis.com\/maplibre-gl-js\/maps\/display-a-map-with-a-basemap-session\/\" target=\"_blank\" rel=\"noopener\"><span class=\"TextRun Underlined SCXW154726668 BCX0\" lang=\"EN-US\" title=\"Sorry, Word can't open this link in a browser. To go to this link, please open this document in the desktop version of Microsoft Word.\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW154726668 BCX0\" data-ccp-charstyle=\"Hyperlink\">full tutorial<\/span><\/span><\/a><span class=\"TextRun SCXW154726668 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW154726668 BCX0\"> in the <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW154726668 BCX0\">MapLibre<\/span><span class=\"NormalTextRun SCXW154726668 BCX0\"> GL JS and ArcGIS developer guide.<\/span><\/span><span class=\"EOP SCXW154726668 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/em><\/p>\n<h2 id=\"leaflet\">Leaflet<\/h2>\n<p><span data-contrast=\"auto\">If you are using Leaflet, you can combine the Esri Leaflet plugin with ArcGIS REST JS to create and manage the session. To start a new session, use the <code><a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-basemap-sessions\/BasemapStyleSession\/\">BasemapStyleSession<\/a><\/code> class in ArcGIS REST JS. Then, use Esri Leaflet to display a basemap style using the session token.<\/span><\/p>\n<p><span data-contrast=\"auto\">When the session expires, you remove the old layer and add a new one with the refreshed token.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<p>Here&#8217;s what the code looks like:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2940801,"id":2940801,"title":"leaflet-session","filename":"leaflet-session.png","filesize":127561,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/leaflet-session.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions\/leaflet-session","alt":"","author":"360822","description":"","caption":"","name":"leaflet-session","status":"inherit","uploaded_to":2940794,"date":"2025-09-23 20:25:03","modified":"2025-09-23 20:25:03","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":936,"height":640,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/leaflet-session-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/leaflet-session.png","medium-width":382,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/leaflet-session.png","medium_large-width":768,"medium_large-height":525,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/leaflet-session.png","large-width":936,"large-height":640,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/leaflet-session.png","1536x1536-width":936,"1536x1536-height":640,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/leaflet-session.png","2048x2048-width":936,"2048x2048-height":640,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/leaflet-session-680x465.png","card_image-width":680,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/leaflet-session.png","wide_image-width":936,"wide_image-height":640}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/esri-leaflet\/maps\/display-a-map-with-a-basemap-session\/"},{"acf_fc_layout":"content","content":"<p style=\"text-align: center\"><em>Check out the <a href=\"https:\/\/developers.arcgis.com\/esri-leaflet\/maps\/display-a-map-with-a-basemap-session\/\" target=\"_blank\" rel=\"noopener\">full tutorial<\/a> in the Esri Leaflet and ArcGIS developer guide.\u00a0<\/em><\/p>\n<h2 id=\"openlayers\">OpenLayers<\/h2>\n<p><span data-contrast=\"auto\">If you are using OpenLayers, you can use it alongside ArcGIS REST JS library to create and manage the session. To do so, start a new session with the <code><a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-basemap-sessions\/BasemapStyleSession\/\">BasemapStyleSession<\/a><\/code> class. Next, display a basemap style with the session token using a library such as <code><a href=\"https:\/\/openlayers.org\/ol-mapbox-style\/\">ol-mapbox-style<\/a><\/code>.\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">When the session expires, create a new session and update your map by looping through the layers and replacing the expired token with the new one.<\/span><\/p>\n<p>Here&#8217;s what the code looks like:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2940802,"id":2940802,"title":"openlayers-session","filename":"openlayers-session.png","filesize":146036,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/openlayers-session.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions\/openlayers-session","alt":"","author":"360822","description":"","caption":"","name":"openlayers-session","status":"inherit","uploaded_to":2940794,"date":"2025-09-23 20:25:17","modified":"2025-09-23 20:25:17","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":936,"height":702,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/openlayers-session-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/openlayers-session.png","medium-width":348,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/openlayers-session.png","medium_large-width":768,"medium_large-height":576,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/openlayers-session.png","large-width":936,"large-height":702,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/openlayers-session.png","1536x1536-width":936,"1536x1536-height":702,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/openlayers-session.png","2048x2048-width":936,"2048x2048-height":702,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/openlayers-session-620x465.png","card_image-width":620,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/openlayers-session.png","wide_image-width":936,"wide_image-height":702}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/openlayers\/maps\/display-a-map-with-a-basemap-session\/"},{"acf_fc_layout":"content","content":"<p style=\"text-align: center\"><em>Check out the <a href=\"https:\/\/developers.arcgis.com\/openlayers\/maps\/display-a-map-with-a-basemap-session\/\" target=\"_blank\" rel=\"noopener\">full tutorial<\/a> in the OpenLayers and ArcGIS developer guide.\u00a0<\/em><\/p>\n<h2 id=\"openlayers\">CesiumJS<\/h2>\n<p data-start=\"194\" data-end=\"473\">If you\u2019re using CesiumJS, you can integrate ArcGIS REST JS to create and manage basemap sessions for your 3D scene. Start a new session with <span data-contrast=\"auto\">the <code><a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-basemap-sessions\/BasemapStyleSession\/\">BasemapStyleSession<\/a><\/code> class<\/span>, then apply the session token to <code><a href=\"https:\/\/cesium.com\/learn\/ion-sdk\/ref-doc\/ArcGisMapService.html#.defaultAccessToken\">ArcGisMapService.defaultAccessToken<\/a><\/code> and load an ArcGIS satellite imagery provider using <code><a href=\"https:\/\/cesium.com\/learn\/ion-sdk\/ref-doc\/ArcGisMapServerImageryProvider.html\">ArcGisMapServerImageryProvider<\/a><\/code>.<\/p>\n<p data-start=\"475\" data-end=\"609\">When the session expires, refresh it to obtain a new token and update the default access token property so the base layer continues to load seamlessly.<\/p>\n<p>Here&#8217;s what the code looks like:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2944828,"id":2944828,"title":"Screenshot 2025-10-22 at 1.22.06\u202fPM","filename":"Screenshot-2025-10-22-at-1.22.06-PM.png","filesize":115390,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Screenshot-2025-10-22-at-1.22.06-PM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions\/screenshot-2025-10-22-at-1-22-06-pm","alt":"","author":"360822","description":"","caption":"","name":"screenshot-2025-10-22-at-1-22-06-pm","status":"inherit","uploaded_to":2940794,"date":"2025-10-22 20:22:20","modified":"2025-10-22 20:22:20","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":839,"height":664,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Screenshot-2025-10-22-at-1.22.06-PM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Screenshot-2025-10-22-at-1.22.06-PM.png","medium-width":330,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Screenshot-2025-10-22-at-1.22.06-PM.png","medium_large-width":768,"medium_large-height":608,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Screenshot-2025-10-22-at-1.22.06-PM.png","large-width":839,"large-height":664,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Screenshot-2025-10-22-at-1.22.06-PM.png","1536x1536-width":839,"1536x1536-height":664,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Screenshot-2025-10-22-at-1.22.06-PM.png","2048x2048-width":839,"2048x2048-height":664,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Screenshot-2025-10-22-at-1.22.06-PM-588x465.png","card_image-width":588,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/10\/Screenshot-2025-10-22-at-1.22.06-PM.png","wide_image-width":839,"wide_image-height":664}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/cesiumjs\/scenes\/satellite-basemap-tiles\/display-a-scene-basemap-session\/"},{"acf_fc_layout":"content","content":"<p style=\"text-align: center\"><em>Check out the <a href=\"https:\/\/developers.arcgis.com\/cesiumjs\/scenes\/satellite-basemap-tiles\/display-a-scene-basemap-session\/\" target=\"_blank\" rel=\"noopener\">full tutorial<\/a> in the CesiumJS and ArcGIS developer guide.\u00a0<\/em><\/p>\n<h2>What\u2019s next?<\/h2>\n<p><span data-contrast=\"auto\">Learn more about building applications with basemap sessions in the <a href=\"https:\/\/developers.arcgis.com\/documentation\/mapping-and-location-services\/mapping\/basemaps\/basemap-usage-styles\/\" target=\"_blank\" rel=\"noopener\">Basemap usage page<\/a> in the <a href=\"https:\/\/developers.arcgis.com\/documentation\/mapping-and-location-services\/\" target=\"_blank\" rel=\"noopener\">Mapping and location services developer guide<\/a>.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">You can also learn more about <\/span><a href=\"https:\/\/www.esri.com\/en-us\/arcgis\/products\/arcgis-location-platform\/overview\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">ArcGIS Location Platform<\/span><\/a><span data-contrast=\"auto\"> by exploring Esri\u2019s website, checking out our latest <\/span><a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/introducing-arcgis-location-platform\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">blog<\/span><\/a><span data-contrast=\"auto\">, or by <\/span><a href=\"https:\/\/location.arcgis.com\/sign-up\/\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">signing up for an account<\/span><\/a><span data-contrast=\"auto\"> to start experimenting with the technology.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559738&quot;:0,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Also, stay in the loop with the latest in developer technology by subscribing to the <a href=\"https:\/\/go.esri.com\/subscribe\" target=\"_blank\" rel=\"noopener\">Esri Developer Newsletter<\/a>!<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\n"}],"related_articles":"","show_article_image":false,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/card-bloggy-1.png","wide_image":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Build Open Source Applications Using Basemap Sessions<\/title>\n<meta name=\"description\" content=\"Learn how to build apps with basemap sessions using open source libraries such as Leaflet, MapLibre GL JS, OpenLayers, and CesiumJS.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Build Open Source Applications Using Basemap Sessions\" \/>\n<meta property=\"og:description\" content=\"Learn how to build apps with basemap sessions using open source libraries such as Leaflet, MapLibre GL JS, OpenLayers, and CesiumJS.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-22T20:24:39+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions\"},\"author\":{\"name\":\"Sheryl Tania\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/a5405e67f8f8ba5ae1a34e7fb59c7721\"},\"headline\":\"How to Build Open Source Applications Using Basemap Sessions\",\"datePublished\":\"2025-10-07T07:00:41+00:00\",\"dateModified\":\"2025-10-22T20:24:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions\"},\"wordCount\":9,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"basemap session\",\"Cesium\",\"leaflet\",\"maplibre gl js\",\"openlayers\"],\"articleSection\":[\"Developers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions\",\"name\":\"How to Build Open Source Applications Using Basemap Sessions\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2025-10-07T07:00:41+00:00\",\"dateModified\":\"2025-10-22T20:24:39+00:00\",\"description\":\"Learn how to build apps with basemap sessions using open source libraries such as Leaflet, MapLibre GL JS, OpenLayers, and CesiumJS.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Build Open Source Applications Using Basemap Sessions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/a5405e67f8f8ba5ae1a34e7fb59c7721\",\"name\":\"Sheryl Tania\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/09\/profile-465x465.jpeg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/09\/profile-465x465.jpeg\",\"caption\":\"Sheryl Tania\"},\"description\":\"Sheryl Tania is a product engineer on the Developer Experience team.\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/stania\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Build Open Source Applications Using Basemap Sessions","description":"Learn how to build apps with basemap sessions using open source libraries such as Leaflet, MapLibre GL JS, OpenLayers, and CesiumJS.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions","og_locale":"en_US","og_type":"article","og_title":"How to Build Open Source Applications Using Basemap Sessions","og_description":"Learn how to build apps with basemap sessions using open source libraries such as Leaflet, MapLibre GL JS, OpenLayers, and CesiumJS.","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2025-10-22T20:24:39+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions"},"author":{"name":"Sheryl Tania","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/a5405e67f8f8ba5ae1a34e7fb59c7721"},"headline":"How to Build Open Source Applications Using Basemap Sessions","datePublished":"2025-10-07T07:00:41+00:00","dateModified":"2025-10-22T20:24:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions"},"wordCount":9,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["basemap session","Cesium","leaflet","maplibre gl js","openlayers"],"articleSection":["Developers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions","name":"How to Build Open Source Applications Using Basemap Sessions","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2025-10-07T07:00:41+00:00","dateModified":"2025-10-22T20:24:39+00:00","description":"Learn how to build apps with basemap sessions using open source libraries such as Leaflet, MapLibre GL JS, OpenLayers, and CesiumJS.","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"How to Build Open Source Applications Using Basemap Sessions"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/a5405e67f8f8ba5ae1a34e7fb59c7721","name":"Sheryl Tania","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/09\/profile-465x465.jpeg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/09\/profile-465x465.jpeg","caption":"Sheryl Tania"},"description":"Sheryl Tania is a product engineer on the Developer Experience team.","url":"https:\/\/www.esri.com\/arcgis-blog\/author\/stania"}]}},"text_date":"October 7, 2025","author_name":"Multiple Authors","author_page":"https:\/\/www.esri.com\/arcgis-blog\/products\/platform\/developers\/how-to-build-open-source-applications-using-basemap-sessions","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcGIS Location Platform","tag_data":[{"term_id":780825,"name":"basemap session","slug":"basemap-session","term_group":0,"term_taxonomy_id":780825,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":770112,"name":"Cesium","slug":"cesium","term_group":0,"term_taxonomy_id":770112,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":762932,"name":"leaflet","slug":"leaflet","term_group":0,"term_taxonomy_id":762932,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":780820,"name":"maplibre gl js","slug":"maplibre-gl-js","term_group":0,"term_taxonomy_id":780820,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":763382,"name":"openlayers","slug":"openlayers","term_group":0,"term_taxonomy_id":763382,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"}],"category_data":[{"term_id":738191,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":738191,"taxonomy":"category","description":"","parent":0,"count":420,"filter":"raw"}],"product_data":[{"term_id":761642,"name":"ArcGIS Location Platform","slug":"platform","term_group":0,"term_taxonomy_id":761642,"taxonomy":"product","description":"","parent":36601,"count":213,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=platform","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2940794","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/360822"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=2940794"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2940794\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2940794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2940794"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2940794"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2940794"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2940794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}