{"id":2940568,"date":"2025-09-26T04:54:25","date_gmt":"2025-09-26T11:54:25","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2940568"},"modified":"2025-10-22T06:17:57","modified_gmt":"2025-10-22T13:17:57","slug":"arcgis-hosted-data-services-management-tools-differences","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences","title":{"rendered":"ArcGIS Hosted Data Services: Management Tools Differences"},"author":293052,"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":[176482,780819,29651,780817,780816],"industry":[],"product":[761642,36551,36601],"class_list":["post-2940568","blog","type-blog","status-publish","format-standard","hentry","category-developers","tag-feature-service","tag-hosted-data-services-blog-series","tag-hosted-services","tag-map-tile-service","tag-vector-tile-service","product-platform","product-arcgis-online","product-developers"],"acf":{"short_description":"Guide to managing ArcGIS hosted data services: tools, workflows, trade-offs, and when to use each approach.","flexible_content":[{"acf_fc_layout":"content","content":"<p style=\"font-size: 0.9rem; text-align: left; color: #797979;\"><em><strong>Last updated<\/strong>: Oct 21, 2025<\/em><\/p>\n<p><span style=\"font-size: .9rem;\">\u2139\ufe0f This blog series focuses on hosted data services in <strong>ArcGIS Online<\/strong> and <strong>ArcGIS Location Platform<\/strong> (<a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-services-explained-feature-vector-map-tiles-services#content-focus\">more about the scope<\/a>).<\/span><\/p>\n<p>Have you ever struggled to manage your hosted data services?:<\/p>\n<ul>\n<li>Wasting time on manual steps that should be automated.<\/li>\n<li>Struggling to integrate your system with these services.<\/li>\n<li>Unsure what tools or workflows are available to get the job done.<\/li>\n<li>Confused about the trade-offs between different workflows and tools.<\/li>\n<li>Spending hours hunting for the right docs or examples.<\/li>\n<\/ul>\n<p>This article tackles those challenges by<strong> comparing tools and workflows <\/strong>and includes the resources you need to manage ArcGIS hosted data services in practice.<\/p>\n<details>\n<summary><span style=\"color: #800080;\">Notes on accuracy: Surviving the test of time &#8230;<\/span><\/summary>\n<div>\n<p>As introduced in <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-services-explained-feature-vector-map-tiles-services\">the first article of this series<\/a>, this series is a unified resource to save you time and clarify differences between similar technologies, based on information from official sources.<\/p>\n<p>Technology evolves rapidly, so some details may become outdated. Each article includes references to official documentation, which contains the most up-to-date information. <strong>In case of discrepancies, the official documentation takes precedence<\/strong>.<\/p>\n<p>If you find something unclear or notice an error, contact us at <a href=\"mailto:developers@esri.com\">developers@esri.com<\/a><\/p>\n<\/div>\n<\/details>\n<details>\n<summary><span style=\"color: #800080;\">About the hosted data services covered &#8230;<\/span><\/summary>\n<div>\n<p>This series covers:<\/p>\n<ul>\n<li>Hosted feature services<\/li>\n<li>Hosted vector tile services<\/li>\n<li>Hosted map tile services<\/li>\n<\/ul>\n<p>There are other popular and useful data services within the ArcGIS system optimized for other purposes, such as <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/publish-imagery-layers.htm\">hosted image services<\/a>,\u00a0<a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/publish-scenes.htm\">hosted scene services<\/a>, etc. Still, we won\u2019t cover them as explained in the <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-services-explained-feature-vector-map-tiles-services\">first article<\/a> since they are not available for ArcGIS Location Platform users.<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<\/details>\n"},{"acf_fc_layout":"content","content":"<h2>Quick overview<\/h2>\n<p>This guide is for you if you\u2019re responsible for creating and maintaining hosted data services, whether you\u2019re a <strong>backend developer<\/strong>, <strong>data engineer<\/strong>, <strong>solution architect<\/strong>, <strong>DevOps specialist<\/strong>, or in a similar role.<\/p>\n<p>[<a href=\"https:\/\/en.wikipedia.org\/wiki\/TL;DR\">TL;DR<\/a>] Short on time? This table gives you the key highlights at a glance:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2941073,"id":2941073,"title":"arcgis-hostad-data-services-management-tools-v2","filename":"arcgis-hostad-data-services-management-tools-v2.jpg","filesize":153501,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-hostad-data-services-management-tools-v2.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences\/arcgis-hostad-data-services-management-tools-v2","alt":"","author":"293052","description":"","caption":"","name":"arcgis-hostad-data-services-management-tools-v2","status":"inherit","uploaded_to":2940568,"date":"2025-09-25 20:42:17","modified":"2025-09-25 20:42:17","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":850,"height":460,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-hostad-data-services-management-tools-v2-213x200.jpg","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-hostad-data-services-management-tools-v2.jpg","medium-width":464,"medium-height":251,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-hostad-data-services-management-tools-v2.jpg","medium_large-width":768,"medium_large-height":416,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-hostad-data-services-management-tools-v2.jpg","large-width":850,"large-height":460,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-hostad-data-services-management-tools-v2.jpg","1536x1536-width":850,"1536x1536-height":460,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-hostad-data-services-management-tools-v2.jpg","2048x2048-width":850,"2048x2048-height":460,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-hostad-data-services-management-tools-v2-826x447.jpg","card_image-width":826,"card_image-height":447,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-hostad-data-services-management-tools-v2.jpg","wide_image-width":850,"wide_image-height":460}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>By the end, you\u2019ll know which technologies fit each task, the <strong>trade-offs<\/strong>, how to automate, and how to choose the right approach.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Table of contents<\/strong><\/span><\/p>\n<ul class=\"spaced\">\n<li><a href=\"#tile-package-creation-tools-tpk-tpkx-and-vtpk\">Tile package creation tools (TPK, TPKX &amp; VTPK)<\/a><\/li>\n<li><a href=\"#service-creation-approaches-and-tools\">Service creation approaches and tools<\/a>\n<ul>\n<li style=\"padding-top: .5rem;\"><a href=\"#how-to-create-hosted-data-services\">How to create hosted data services<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#service-definition-management-tools\">Service definition management tools<\/a><\/li>\n<li><a href=\"#content-management-tools\">Content management tools<\/a><\/li>\n<li><a href=\"#style-definition-tools\">Style definition tools<\/a><\/li>\n<li><a href=\"#summary\">Summary<\/a><\/li>\n<li><a href=\"#next-steps\">Next steps<\/a><\/li>\n<\/ul>\n<p><small><strong>Note<\/strong>: Technical details and references are in collapsible sections.<\/small><br \/>\n<small><strong>Note<\/strong>: Some links go to ArcGIS Online docs; the steps also apply to ArcGIS Location Platform..<\/small><\/p>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"tile-package-creation-tools-tpk-tpkx-and-vtpk\">Tile package creation tools (TPK, TPKX &amp; VTPK)<\/h2>\n<p>Creating services from tile packages is <strong>not very common<\/strong>\u00a0but has its own advantages and trade-offs.<\/p>\n<details>\n<summary><span style=\"color: #800080;\">More about the advantages and trade-offs of creating services from tile packages<\/span><\/summary>\n<div>\n<p>Publishing from a tile package <strong>avoids tile generation charges<\/strong> (<span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">since tiles are pre-generated) and\u00a0<strong>ensures predictable storage<\/strong>, as the service always uses a fixed amount of space with no extra<\/span>\u00a0feature storage costs.<\/p>\n<p>There are, however, some trade-offs:<\/p>\n<ul>\n<li data-start=\"593\" data-end=\"685\">\n<p data-start=\"595\" data-end=\"685\">Changing the source data requires regenerating and republishing the entire package.<\/p>\n<\/li>\n<li data-start=\"686\" data-end=\"814\">\n<p data-start=\"688\" data-end=\"814\">Tiles can\u2019t be created on demand, so the cache may include unused areas and waste storage.<\/p>\n<\/li>\n<li data-start=\"686\" data-end=\"814\">You need a separate workflow to build and upload new tile packages for updates.<\/li>\n<\/ul>\n<p>By contrast, publishing a tile service from a feature service <strong>optimizes tile storage<\/strong> (tiles are generated only when requested) and <strong>allows selective updates<\/strong> (refresh only changed regions instead of the entire dataset).<\/p>\n<\/div>\n<\/details>\n<table>\n<thead>\n<tr>\n<th>Tools<\/th>\n<th>Method<\/th>\n<th style=\"text-align: center;\">TPK<\/th>\n<th style=\"text-align: center;\">TPKX<\/th>\n<th style=\"text-align: center;\">VTPK<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>ArcGIS Pro<\/td>\n<td>Manually<\/td>\n<td style=\"text-align: center;\"><a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/workflows\/create-map-tile-service-for-app\/#publish-the-map-tile-service\">Docs<\/a><\/td>\n<td style=\"text-align: center;\"><a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/workflows\/create-map-tile-service-for-app\/#publish-the-map-tile-service\">Docs<\/a><\/td>\n<td style=\"text-align: center;\"><a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/workflows\/create-vector-tile-service-for-app\/#publish-the-vector-tile-service\">Docs<\/a><\/td>\n<\/tr>\n<tr>\n<td>Using ArcPy<\/td>\n<td>Programmatically<\/td>\n<td style=\"text-align: center;\">X<\/td>\n<td style=\"text-align: center;\">X<\/td>\n<td style=\"text-align: center;\">X<\/td>\n<\/tr>\n<tr>\n<td>Through a hosted feature service<\/td>\n<td>Both<\/td>\n<td style=\"text-align: center;\">X<\/td>\n<td style=\"text-align: center;\">X<\/td>\n<td style=\"text-align: center;\">X<\/td>\n<\/tr>\n<tr>\n<td>Using raster-tiles-compactcache<\/td>\n<td>Programmatically<\/td>\n<td style=\"text-align: center;\"><a href=\"https:\/\/github.com\/Esri\/raster-tiles-compactcache\">Repo<\/a><\/td>\n<td style=\"text-align: center;\">&#8211;<\/td>\n<td style=\"text-align: center;\">&#8211;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>If you choose this approach, here are additional instructions:<\/p>\n<details>\n<summary><span style=\"color: #800080;\">Instructions using ArcPy<\/span><\/summary>\n<div>\n<p><a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/arcpy\/get-started\/what-is-arcpy-.htm\">ArcPy<\/a> is a library available on any machine with ArcGIS Pro or ArcGIS Enterprise. In ArcGIS Online, <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/reference\/use-arcpy-in-your-notebook.htm\">it\u2019s available through the advanced runtime<\/a> in ArcGIS Notebooks.<\/p>\n<p>Use these tools to create tile packages:<\/p>\n<ul>\n<li><strong>arcpy.management.CreateMapTilePackage<\/strong> for map tile packages (TPK or TPKX).<\/li>\n<li><strong>arcpy.management.CreateVectorTilePackage<\/strong> for vector tile packages (VTPK).<\/li>\n<\/ul>\n<p><strong>Tip<\/strong>: For details on <strong>map tile packages<\/strong>, see the\u00a0<a href=\"https:\/\/github.com\/Esri\/tile-package-spec\/tree\/master\">official Esri Tile Package Specification<\/a>.<\/p>\n<\/div>\n<\/details>\n<details>\n<summary><span style=\"color: #800080;\">Instructions through a hosted feature service<\/span><\/summary>\n<div>\n<p>If other methods don\u2019t work for you, you can still publish a hosted feature service as an intermediate step to export the tile package<\/p>\n<ul>\n<li>1. Create a hosted feature service.<\/li>\n<li>2. Publish it as a map tile or vector tile service.<\/li>\n<li>3. Enable the service for offline use.<\/li>\n<li>4. Use the exportTiles REST API from the <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/enterprise\/export-tiles-map-service\/\">map tile service<\/a> or <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/enterprise\/export-tiles-vector-tile-service\/\">vector tile service<\/a>.<\/li>\n<\/ul>\n<p><strong>Note:<\/strong> This approach incurs tile generation and storage costs <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-understanding-service-usage\">as explained here<\/a>.<\/p>\n<\/div>\n<\/details>\n<details>\n<summary><span style=\"color: #800080;\">Frequently asked questions about tile package creation<\/span><\/summary>\n<div>\n<p><strong><span style=\"text-decoration: underline;\">Can open-source tools like GDAL and Mapnik create TPK files for ArcGIS?<\/span><br \/>\n<\/strong>Technically yes (data can be preprocessed with GDAL, tiles rendered with Mapnik, and packaged as a TPK), but it\u2019s not recommended, given that more reliable workflows are available.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Can I create ArcGIS vector tile packages (.vtpk) from mbtiles?<\/span><br \/>\n<\/strong>Yes, with the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/3.4\/help\/data\/data-interoperability\/supported-formats-with-the-data-interoperability-extension.htm\">Data Interoperability extension<\/a>. You can transform .mbtiles from tools like Tippecanoe, OpenMapTiles, Tegola, Tilemaker, Martin, Mapbox Tiling Service, QGIS, or Planetiler into .vtpk files, although this requires extra setup and licensing. The list of tools isn\u2019t exhaustive.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Where can I learn more about tile caching?<\/strong><\/span><br \/>\nBesides the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/tool-reference\/data-management\/an-overview-of-the-tile-cache-toolset.htm\">ArcGIS Pro Tile Cache documentation<\/a>\u00a0and <a href=\"https:\/\/mediaspace.esri.com\/esearch\/search?fields=all&amp;sortBy=relevance&amp;keyword=%22tile%22%20%22caching%22\">Esri&#8217;s videos on the topic<\/a>, a highly recommended resource is the <a href=\"https:\/\/www.youtube.com\/playlist?list=PLwlfo9n0qTCIag_GJm-sGEzEacLjXjysG\">CartoRedux Caching Master Class<\/a><\/p>\n<\/div>\n<\/details>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"service-creation-approaches-and-tools\">Service creation approaches and tools<\/h2>\n<p>Hosted data services can be created using different approaches, from manual file imports to scripted integrations. Each approach has trade-offs in simplicity, control, flexibility, and cost, so understanding them helps you choose the right workflow and tool.<\/p>\n<table>\n<thead>\n<tr>\n<th>Workflow<\/th>\n<th style=\"text-align: center;\">Feature service<\/th>\n<th style=\"text-align: center;\">Vector tile service<\/th>\n<th style=\"text-align: center;\">Map tile service<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><span data-sheets-root=\"1\">Import a static file<\/span><\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<\/tr>\n<tr>\n<td>Publish tile service from a hosted feature service<\/td>\n<td style=\"text-align: center;\">Not applicable<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<\/tr>\n<tr>\n<td><span data-sheets-root=\"1\">Publish an ArcGIS Pro service definition file\u00a0(.sd)<\/span><\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">No<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<\/tr>\n<tr>\n<td><span data-sheets-root=\"1\">Create a service with no data from scratch<\/span><\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">No<\/td>\n<td style=\"text-align: center;\">No<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<details>\n<summary><span style=\"color: #800080;\">If you don&#8217;t know what a service definition file is&#8230;<\/span><\/summary>\n<div>\n<p>A <strong data-start=\"71\" data-end=\"93\">service definition<\/strong> is a reusable file that packages everything needed to publish a hosted service.\u00a0 Similar to a configuration file in Docker, Kubernetes, or Terraform, it lets you consistently recreate an environment for ArcGIS services. But it can also bundle data along with the service configuration (schema, rendering rules, spatial reference, capabilities, permissions, etc.).<\/p>\n<p>You <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/sharing\/overview\/introduction-to-saving-service-definitions.htm\">can create it with ArcGIS Pro<\/a> or ArcPy. When you upload this file to ArcGIS Online or ArcGIS Location Platform, you can publish the service exactly as described, making automation much easier.<\/p>\n<\/div>\n<\/details>\n<p>You can create hosted data services with these tools, though not all support every approach (explained in the next section):<\/p>\n<ul class=\"spaced\">\n<li><strong>Data management tools<\/strong>, such as <a href=\"https:\/\/developers.arcgis.com\/documentation\/glossary\/arcgis-pro\/\">ArcGIS Pro<\/a> and <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/portals\/content-and-data-tools\/\">ArcGIS Portal content and data tools<\/a>.<\/li>\n<li><strong>Esri-provided scripting APIs<\/strong> such as <a href=\"https:\/\/developers.arcgis.com\/documentation\/glossary\/arcgis-api-for-python\/\">ArcGIS API for Python<\/a>, <a href=\"https:\/\/developers.arcgis.com\/documentation\/glossary\/arcgis-rest-js\/\">ArcGIS REST JS<\/a>, and <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/arcpy\/get-started\/what-is-arcpy-.htm\">ArcPy<\/a>.<\/li>\n<\/ul>\n<p>Keep in mind that you can achieve the same results by making raw <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><a href=\"https:\/\/developers.arcgis.com\/documentation\/glossary\/arcgis-rest-apis\/\" target=\"_blank\" rel=\"noopener\"><strong>ArcGIS REST API<\/strong><\/a><\/span> calls (the underlying technology used by all these tools and APIs).<\/p>\n"},{"acf_fc_layout":"content","content":"<h3 id=\"how-to-create-hosted-data-services\">How to create hosted data services<\/h3>\n<p>As with everything else, you can create any hosted service manually or through code.<\/p>\n<p>Regardless of the tool, <strong>creating a hosted data service is a multi-step process<\/strong>:<\/p>\n<ul>\n<li>First, create an item (e.g., import a file as a portal item or make an empty item).<\/li>\n<li>Then publish it as a service.<\/li>\n<li>If you made an empty item, add the definition schema.<\/li>\n<\/ul>\n<p>The <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/\">Portal and data services guide<\/a> <em data-start=\"164\" data-end=\"196\">provides<\/em> step-by-step instructions for creating <strong>these three service types<\/strong> using data management tools (ArcGIS Portal and ArcGIS Pro) and scripting APIs (ArcGIS API for Python and ArcGIS REST JS).<\/p>\n<p>The collapsible sections below include additional details and resources for each service type:<\/p>\n<details>\n<summary><span style=\"color: #800080;\">Ways to create a hosted feature service<\/span><\/summary>\n<div>\n<p>Tutorials about creating feature services through a GUI (ArcGIS Pro, ArcGIS Portal\u2019s &#8220;<a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/portals\/content-and-data-tools\/#feature-layer-tool\">Feature layer tool<\/a>&#8221; or &#8220;<a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/portals\/content-and-data-tools\/#import-data-tool\">Import data tool<\/a>&#8220;) or through code:<\/p>\n<ul class=\"spaced\">\n<li><span data-sheets-root=\"1\"><strong>Importing static files<\/strong>: <\/span><a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/tutorials\/tools\/import-data-to-create-a-feature-layer\/\">Tutorial: Import data to create a feature layer<\/a> (e.g., GeoJSON, CSV, Excel, Shapefiles, and a few <a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/publish-item\/#description\">other supported formats<\/a>)<\/li>\n<li><span data-sheets-root=\"1\"><strong>Create the service definition manually<\/strong>: <\/span><a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/tutorials\/tools\/define-a-new-feature-layer\/\" target=\"_blank\" rel=\"noopener\">Tutorial: Define a new feature layer<\/a> (with no data). This approach creates an empty service and requires authoring the JSON spec from scratch, so some knowledge of the specification is needed.<\/li>\n<\/ul>\n<p>Beyond the approaches documented in the guide, you can also use a service definition file (.sd). You first need to author it in ArcGIS Pro by <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/sharing\/overview\/save-a-service-definition-for-a-web-layer.htm\">saving the definition for a web layer<\/a>, then upload and publish it using any of the tools available.<\/p>\n<p>Below is a quick guide to the developer APIs not yet covered in the developer guide:<\/p>\n<ul class=\"spaced\">\n<li>The<strong> ArcGIS REST APIs<\/strong> can also be used to reproduce these approaches:\n<ul>\n<li><strong>Importing static files<\/strong>:\n<ol>\n<li>Uploading the file via <em><a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/add-item\/\">addItem<\/a>.<\/em><\/li>\n<li>Publishing the item as a service using the <a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/publish-item\/\"><em>publish <\/em>items<\/a> operation.<\/li>\n<\/ol>\n<\/li>\n<li><span data-sheets-root=\"1\"><strong>Create a service definition manually<\/strong>:<\/span>\n<ol>\n<li>Create the item using <em><a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/add-item\/\">addItem<\/a><\/em>.<\/li>\n<li>Create the service using <a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/create-service\/\">createService<\/a> (with <code>targetType=featureService<\/code>).<\/li>\n<li>Add the service definition using <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/online\/add-to-definition-feature-service\/\"><em>addToDefinition<\/em><\/a>.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<\/li>\n<li><strong>ArcPy<\/strong> can also be used to:\n<ul class=\"spaced\">\n<li><strong>Publish an ArcGIS Pro service definition file (.sd)<\/strong>: Through the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/arcpy\/sharing\/introduction-to-arcpy-sharing.htm\">arcpy.sharing module<\/a> to publish a service definition.<\/li>\n<li><strong>Create a service definition manually<\/strong>: Create a geodatabase with an <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/3.4\/tool-reference\/data-management\/create-feature-class.htm\">empty feature class<\/a> and publish it.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<\/details>\n<details>\n<summary><span style=\"color: #800080;\">Ways to create a hosted feature layer view from a hosted feature service<\/span><\/summary>\n<div>\n<p>A hosted feature layer view is based on an existing layer and lets you filter data by extent, choose fields, and customize capabilities.<\/p>\n<p>Here are some resources on creating layer views with different tools:<\/p>\n<ul class=\"spaced\">\n<li><strong>ArcGIS Portal<\/strong>:\n<ul>\n<li><a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/create-hosted-views.htm\">Create hosted feature layer views<\/a> (docs).<\/li>\n<li><a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/create-hosted-views.htm#ESRI_SECTION1_FB2E757804014C88B5E5A6D9404A23E1\">Create a joined hosted feature layer view<\/a> (docs).<\/li>\n<\/ul>\n<\/li>\n<li><strong>ArcGIS REST JS:<\/strong> <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/tutorials\/tools\/create-a-feature-layer-view\/#create-the-feature-layer-view\">Create a feature layer view<\/a> (tutorial).<\/li>\n<li><strong>ArcGIS REST API:<\/strong> <a href=\"https:\/\/www.postman.com\/winter-water-5421-2\/arcgis-hosted-feature-service\/collection\/huxzqzr\/getting-started-hosted-fs-demo\">Create a joined hosted feature layer view<\/a> (Postman collection).<\/li>\n<\/ul>\n<p>Some examples are missing, but you can use the \u2018<strong>\ud83d\udca1Pro Tip<\/strong>\u2019 explained below to work them out. If you need help, please don&#8217;t hesitate to reach out.<\/p>\n<\/div>\n<\/details>\n"},{"acf_fc_layout":"content","content":"<details>\n<summary><span style=\"color: #800080;\">Ways to create a vector tile service<\/span><\/summary>\n<div>\n<p>You can create vector tile services either through GUIs or through code.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Publish tile service from a hosted feature service using<\/strong><\/span><\/p>\n<ul class=\"spaced\">\n<li><strong>ArcGIS Portal<\/strong>: Use the <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/portals\/content-and-data-tools\/#import-data-tool\">Import Data tool<\/a> followed by the <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/portals\/content-and-data-tools\/#tile-layer-tool\">Tile Layer tool<\/a>, or <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/vector-tile-services\/publish-vector-tiles\/\">publish it directly from an existing hosted feature service<\/a>.<\/li>\n<li><strong>ArcGIS API for Python<\/strong> and <strong>ArcGIS REST JS<\/strong>:\u00a0<a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/workflows\/create-vector-tile-service-for-app\/#scripting-apis-2\">Create a vector tile service for an app &gt; Publish the map tile service &gt; Scripting APIs<\/a> (choose the relevant tab).<\/li>\n<li><strong>REST API<\/strong>: Create the feature service and use the <a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/publish-item\/\"><em>publish <\/em>items<\/a> operation (setting <code>outputType=vectorTiles<\/code> and <code>publishParameters=&lt;JSON serviceDefinition&gt;<\/code>).<\/li>\n<li><strong>ArcGIS Pro<\/strong>: (not available, use ArcGIS Portal instead).<\/li>\n<li><strong>ArcPy<\/strong>: (not available, use the ArcGIS API for Python instead).<\/li>\n<\/ul>\n<p><small><strong>Note<\/strong>: Publishing from a hosted feature service produces a single layer that blends all layers in the service<\/small><\/p>\n<p><strong><span style=\"text-decoration: underline;\">Import a static file (VTPK)<\/span><\/strong><\/p>\n<ul class=\"spaced\">\n<li><strong>ArcGIS Portal<\/strong>: <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/publish-vector-tiles.htm\">Publish hosted vector tile layers from files<\/a>.<\/li>\n<li><strong>ArcGIS API for Python<\/strong>: <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/samples\/publishing-packages-as-web-layers\/#publishing-vector-tile-layers-from-a-vector-tile-package\">Publish vector tile layers from a vector tile package<\/a><\/li>\n<li><strong>ArcGIS REST JS<\/strong>: Create the item (<a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/portal-service\/content-items\/create\/create-an-item\/#create-a-web-map\">related resource<\/a>), upload the package with <a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-portal\/addItemData\/\"><em>addItemData<\/em><\/a>\u00a0and <a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-request\/\">arcgis-rest-request<\/a> to call\u00a0the REST endpoint <a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/publish-item\/\"><em>publish <\/em>item operation<\/a>.<\/li>\n<li><strong>REST API<\/strong>: Upload the file via <em><a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/add-item\/\">addItem<\/a><\/em><em>, and <\/em>publish the item as a service using the <a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/publish-item\/\"><em>publish <\/em>items<\/a> operation.<\/li>\n<li><strong>ArcGIS Pro<\/strong>: <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/mapping\/map-authoring\/author-a-map-for-vector-tile-creation.htm\">Author a map for vector tile<\/a>, or <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/get-started\/add-data-to-your-project.htm\">add an existing VTPK<\/a>, and then <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/sharing\/overview\/vector-tile-layer.htm#ESRI_STEP_9EA177340B4C4DB1AA563010FE2CC6DC\">publish\/share the vector tile layer.<\/a><\/li>\n<li><strong>ArcPy<\/strong>: Use <em>CreateSharingDraft<\/em>\u00a0and <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/arcpy\/sharing\/publish.htm\">arcpy.sharing.Publish<\/a> as explained in <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/sharing\/overview\/automate-sharing-web-layers.htm\">automate sharing web layers<\/a>.<\/li>\n<\/ul>\n<p><small><strong>Key parameters to set in the request to the REST API<\/strong>: <em>addItem<\/em> operation:<code>type=\"Vector Tile Package\"<\/code> |\u00a0 <em>publish item<\/em> operation:\u00a0 <code>fileType=vectorTilePackage<\/code>.<\/small><\/p>\n<\/div>\n<\/details>\n<details>\n<summary><span style=\"color: #800080;\">Ways to create a map tile service<\/span><\/summary>\n<div>\n<p>You can also create map tile services either through GUIs or through code.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Publish tile service from a hosted feature service using<\/strong><\/span><\/p>\n<ul class=\"spaced\">\n<li><strong>ArcGIS Portal<\/strong>: Use the <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/portals\/content-and-data-tools\/#import-data-tool\">Import Data tool<\/a> followed by the <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/portals\/content-and-data-tools\/#tile-layer-tool\">Tile Layer tool<\/a>, or <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/map-tile-services\/publish-map-tiles\/#how-to-create-new-services\">publish it from a feature service.<\/a><\/li>\n<li><strong>ArcGIS API for Python<\/strong> and <strong>ArcGIS REST JS<\/strong>: Check, <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/workflows\/create-map-tile-service-for-app\/#scripting-apis-2\">create a map tile service for an app &gt; Publish the map tile service &gt; Scripting APIs<\/a> (choose the relevant tab).<\/li>\n<li><strong>REST API<\/strong>: Use the <a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/publish-item\/\"><em>publish <\/em>items<\/a> operation (<code>outputType=tiles<\/code>\u00a0and <code>publishParameters=&lt;JSON serviceDefinition&gt;<\/code>).<\/li>\n<li><strong>ArcGIS Pro<\/strong>:\u00a0(not available, use ArcGIS Portal instead).<\/li>\n<li><strong>ArcPy<\/strong>: (not available, use the ArcGIS API for Python instead)<\/li>\n<\/ul>\n<p><small><strong>Note<\/strong>: Publishing from a hosted feature service produces a single layer that blends all layers in the service<\/small><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Import a static file (TPK or TPKX)<\/strong><\/span><\/p>\n<ul class=\"spaced\">\n<li><strong>ArcGIS Portal<\/strong>: <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/publish-tiles.htm\">Publish hosted tile layers from files<\/a>.<\/li>\n<li><strong>ArcGIS API for Python<\/strong>: <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/samples\/publishing-packages-as-web-layers\/\">Publish tile layers from a tile package.<\/a><\/li>\n<li><strong>ArcGIS REST JS<\/strong>: \u00a0Create the item (<a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/portal-service\/content-items\/create\/create-an-item\/#create-a-web-map\">related resource<\/a>), upload the package using <a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-portal\/addItemData\/\"><em>addItemData<\/em><\/a> and <a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-request\/\">arcgis-rest-request<\/a> to call\u00a0the REST endpoint <a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/publish-item\/\"><em>publish <\/em>item operation<\/a><\/li>\n<li><strong>REST API<\/strong>: Uploading the file via <em><a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/add-item\/\">addItem<\/a><\/em><em>, and <\/em>publishing the item as a service using <a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/publish-item\/\"><em>publish <\/em>items<\/a>.<\/li>\n<li><strong>ArcGIS Pro<\/strong>: \u00a0<a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/sharing\/overview\/web-tile-layer.htm\">sharing a web tile layer<\/a>.<\/li>\n<li><strong>ArcPy<\/strong>: Using <em>CreateSharingDraft<\/em>\u00a0and <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/arcpy\/sharing\/publish.htm\">arcpy.sharing.Publish<\/a> as explained in <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/sharing\/overview\/automate-sharing-web-layers.htm\">automate sharing web layers<\/a>.<\/li>\n<\/ul>\n<p><small><strong>Key parameters to set in requests to the REST API<\/strong>: <em>addItem<\/em> operation:<code>type=\"Tile Package\"<\/code> |\u00a0 <em>publish item<\/em> operation:\u00a0 <code>fileType=tilePackage<\/code>, <code>buildInitialCache<\/code> (to generate tiles immediately after publishing).<\/small><\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Publish an ArcGIS Pro service definition file (.sd)<\/strong><\/span><\/p>\n<ul class=\"spaced\">\n<li><strong>ArcGIS Portal<\/strong>: Using the <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/portals\/content-and-data-tools\/#import-data-tool\">Import data tool<\/a> to <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/publish-tiles.htm#ESRI_SECTION2_7C0D5F1A89D94D80BFAD309DB974E266\">publish the hosted tile layer from the service definition<\/a>.<\/li>\n<li><strong>ArcGIS API for Python<\/strong>: This Notebook shows how to <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/samples\/publishing-sd-shapefiles-and-csv\/#publish-all-the-service-definition-files-in-a-folder\">publish all service definition files in a folder<\/a>.<\/li>\n<li><strong>ArcGIS REST JS<\/strong>: Using <a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-request\/\">arcgis-rest-request<\/a> to call\u00a0the REST endpoint <a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/publish-item\/\"><em>publish <\/em>item operation<\/a>.<\/li>\n<li><strong>REST API<\/strong>: Using the <a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/publish-item\/\"><em>publish <\/em>items<\/a> operation.<\/li>\n<li><strong>ArcGIS Pro<\/strong>: Using the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/3.4\/tool-reference\/data-management\/share-package.htm\">Share Package tool<\/a> with the .sd file and<\/li>\n<li><strong>ArcPy<\/strong>: Upload it using the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/3.4\/tool-reference\/data-management\/share-package.htm\">arcpy.management.SharePackage<\/a> and use <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/arcpy\/sharing\/introduction-to-arcpy-sharing.htm\">arcpy.sharing module<\/a> to publish a <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/sharing\/overview\/introduction-to-saving-service-definitions.htm\">service definition<\/a>.<\/li>\n<\/ul>\n<p><small><strong>Key parameter to set in the request to the REST API<\/strong>: <em>publish item<\/em> operation:\u00a0 <code>fileType=serviceDefinition<\/code><\/small><\/p>\n<\/div>\n<\/details>\n<details>\n<summary><span style=\"color: #800080;\">Frequently asked questions about hosted services creation<\/span><\/summary>\n<div>\n<p><span style=\"text-decoration: underline;\"><strong>Can hosted map tile services be directly created from other files such as mbtiles or geopackages?<\/strong><\/span><br \/>\nNo, they can not.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Can hosted vector tile services be directly created from mbtiles?<\/strong><\/span><br \/>\nNo, they can not.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>How do I define the tile size and other tiling scheme parameters?<\/strong><\/span><\/p>\n<p>Use the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/tool-reference\/data-management\/generate-tile-cache-tiling-scheme.htm\">Generate Tile Cache Tiling Scheme geoprocessing tool<\/a> in ArcGIS Pro (or <code>arcpy.management.GenerateTileCacheTilingScheme<\/code>) to define parameters such as the coordinate system, tile origin, tile size (e.g., 128 x 128, 256 x 256, 512 x 512, 1024 x 1024), DPI, scale levels (LODs), and resolution. Check <a href=\"https:\/\/www.youtube.com\/watch?v=D4jXNngH7Lg&amp;list=PLwlfo9n0qTCIag_GJm-sGEzEacLjXjysG&amp;index=4\">this CartoRedux&#8217;s video<\/a>.<\/p>\n<p>You can also configure the tiling scheme using the <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/portals\/content-and-data-tools\/#tile-layer-tool\" target=\"_blank\" rel=\"noopener\">Tile Layer tool<\/a> in your ArcGIS portal, though its configuration options (and the corresponding REST endpoints) are more limited. When publishing from tile packages or features, you can customize the tiling scheme as described in <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/publish-tiles.htm\" target=\"_blank\" rel=\"noopener\">Publish tile layers from files<\/a> or <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/publish-tiles-from-features.htm#GUID-75AD5125-07FE-4D39-96DB-F945CCC6D8F7\">Publish a hosted tile layer from features<\/a>.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">What are the file size limits for uploading data when preparing to publish hosted services?<\/span><br \/>\n<\/strong>You can upload files up to 500 GB to \u201cMy Content\u201d using multipart uploads, which support up to 10,000 parts. For single uploads through the web browser, the limit is 5 GB. If you&#8217;re using chunked transfer uploads, each chunk can be up to 50 MB. These limits apply when preparing data for publishing hosted services<\/p>\n<\/div>\n<\/details>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"service-definition-management-tools\">Service definition management tools<\/h2>\n<p>As explained in the previous article (<a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-creation-and-maintenance-differences#whats-inside-a-service-definition\">What\u2019s inside a service definition<\/a>), a service definition is stored as a structured JSON object that describes all key aspects of a service or its layers.<\/p>\n<p>We cover both <strong>service-level<\/strong> settings, which control the overall behavior of the service, and <strong>layer-level<\/strong> settings, which apply only to individual layers.<\/p>\n<p>After publishing a service, you can update its settings from the <strong>ArcGIS portal <a href=\"https:\/\/developers.arcgis.com\/documentation\/glossary\/item-page\/\">item&#8217;s page<\/a><\/strong> (<code>https:\/\/&lt;org-short-name&gt;.maps.arcgis.com\/home\/item.html?id=&lt;item-id&gt;#settings<\/code>). This page exposes the most common configuration options, but sometimes, though, you need to see (or edit) the full JSON specification.<\/p>\n<p>If you need complete control, you can access it through the <a href=\"https:\/\/support.esri.com\/en-us\/knowledge-base\/how-to-access-the-rest-and-admin-endpoints-of-an-arcgis-000027990\"><strong>REST API Admin HTML interface<\/strong><\/a>, or manage it through code using developer tools such as the <strong>ArcGIS API for Python<\/strong>, <strong>ArcGIS REST JS<\/strong>, or directly via the <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/enterprise\/hosted-feature-service\/\"><strong>ArcGIS REST Admin API<\/strong><\/a>.<\/p>\n<p><small><strong>\u26a0\ufe0f Important note<\/strong>:\u00a0Even advanced users can cause unrecoverable issues when working directly with the REST API. Always experiment on disposable services and keep backups in case something important breaks.<\/small><\/p>\n<p><small><strong>\ud83d\udca1Pro Tip:<\/strong> Advanced users can inspect the network requests made by the ArcGIS portal interface when saving changes. Looking at the REST API payloads is a great way to discover which properties are being set and how to configure them when changing service settings programmatically. <\/small><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2940837,"id":2940837,"title":"arcgis-updateService-definition","filename":"arcgis-updateService-definition.png","filesize":170824,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-updateService-definition.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences\/arcgis-updateservice-definition","alt":"","author":"293052","description":"","caption":"Inspecting the updateDefinition request after saving changes in the ArcGIS portal item page","name":"arcgis-updateservice-definition","status":"inherit","uploaded_to":2940568,"date":"2025-09-24 09:47:15","modified":"2025-09-24 10:00:34","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":850,"height":554,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-updateService-definition-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-updateService-definition.png","medium-width":400,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-updateService-definition.png","medium_large-width":768,"medium_large-height":501,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-updateService-definition.png","large-width":850,"large-height":554,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-updateService-definition.png","1536x1536-width":850,"1536x1536-height":554,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-updateService-definition.png","2048x2048-width":850,"2048x2048-height":554,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-updateService-definition-713x465.png","card_image-width":713,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-updateService-definition.png","wide_image-width":850,"wide_image-height":554}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><strong>ArcGIS Pro<\/strong> and <strong>ArcPy<\/strong> are mainly used to author and publish services. You can republish or overwrite an existing service, but they don\u2019t provide a way to directly modify service-level settings after publishing.<\/p>\n<details>\n<summary><span style=\"color: #800080;\">Ways to modify a service definition<\/span><\/summary>\n<div>\n<p>There are several ways to manage service settings, depending on your workflow or toolset. Below, you can learn how to use each option.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>ArcGIS Portal<\/strong><\/span><\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th>Feature services<\/th>\n<th>Vector tile services<\/th>\n<th>Map tile services<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>General capabilities<\/strong><\/td>\n<td><a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/feature-services\/item-and-service-properties\/\">Docs<\/a><\/td>\n<td><a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/vector-tile-services\/item-properties\/\">Docs<\/a><\/td>\n<td><a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/map-tile-services\/item-properties\/\">Docs<\/a><\/td>\n<\/tr>\n<tr>\n<td><strong>Access control<\/strong><\/td>\n<td><a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/feature-services\/sharing-and-security\/\">Docs<\/a><\/td>\n<td><a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/vector-tile-services\/sharing-and-security\/\">Docs<\/a><\/td>\n<td><a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/map-tile-services\/sharing-and-security\/\">Docs<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The ArcGIS Online documentation also provides useful information on all supported services under: <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/configure-item-details.htm#ESRI_SECTION2_2F26E3BBBC5D45D3800D0203CC52C8DA\">Manage data &gt; Configure item details<\/a>.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>ArcGIS API for Python<\/strong><\/span><\/p>\n<ul class=\"spaced\">\n<li><strong>Feature services:<\/strong> Check &#8220;<a href=\"https:\/\/developers.arcgis.com\/python\/latest\/guide\/updating-feature-layer-properties\/#update-the-feature-service-definition\">Update the feature service definition<\/a>&#8221; to understand how to use the FeatureLayerCollection class and the <a href=\"https:\/\/developers.arcgis.com\/python\/api-reference\/arcgis.features.toc.html#arcgis.features.FeatureLayerCollection.update_definition\">update_definition() method<\/a>.<\/li>\n<li><strong>Vector tile services<\/strong>: Use the <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/api-reference\/arcgis.layers.toc.html#vectortilelayermanager\">VectorTileLayerManager class<\/a> and the <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/api-reference\/arcgis.layers.toc.html#arcgis.layers.VectorTileLayerManager.edit_tile_service\">edit_tile_service() method<\/a>.<\/li>\n<li><strong>Map tile services<\/strong>: Use the <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/api-reference\/arcgis.layers.toc.html#mapimagelayermanager\">MapImageLayerManager<\/a> and the <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/api-reference\/arcgis.layers.toc.html#arcgis.layers.MapImageLayerManager.edit_tile_service\">edit_tile_service() method<\/a>.<\/li>\n<\/ul>\n<p><span style=\"text-decoration: underline;\"><strong>ArcGIS REST JS<\/strong><\/span><\/p>\n<ul class=\"spaced\">\n<li><strong>Feature services<\/strong>: Use the <a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-feature-service\/updateServiceDefinition\/\">updateServiceDefinition method<\/a><\/li>\n<li><strong>Vector tile services<\/strong> and <strong>map tile services<\/strong>: There is no specific method to update these. Use <a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-request\/\">arcgis-rest-request<\/a> to call the REST API.<\/li>\n<\/ul>\n<p><span style=\"text-decoration: underline;\"><strong>ArcGIS REST API<\/strong><\/span><\/p>\n<p>The following endpoints can be accessed programmatically, but each service also provides an HTML interface if you set the &#8220;f&#8221; to &#8220;html&#8221;.<\/p>\n<ul class=\"spaced\">\n<li><strong>Feature services<\/strong>: Provide multiple endpoints for managing their definitions: <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/online\/add-to-definition-feature-service\/\">addToDefinition<\/a>, <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/online\/update-definition-feature-service\/\">updateDefinition<\/a>, and <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/online\/delete-from-definition-feature-service\/\">deleteFromDefinition<\/a>. Not all changes can be applied with updateDefinition alone\u2014some require first deleting and then re-adding the definition<\/li>\n<li><strong>Vector tile services<\/strong>: Use the <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/online\/vector-tile-edit-service-feature-service\/\">&#8220;<em>edit<\/em>&#8221; operation<\/a> to update the service definition.<\/li>\n<li><strong>Map tile services: <\/strong>Use the <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/online\/edit-service\/\">&#8220;<em>edit<\/em>&#8221; operation<\/a> to update the service definition.<\/li>\n<\/ul>\n<p>Also, note that all data services have a refresh operation to clear the web server cache for the service.<\/p>\n<\/div>\n<\/details>\n"},{"acf_fc_layout":"content","content":"<details>\n<summary><span style=\"color: #800080;\">More about feature service, layer, and layer view definitions<\/span><\/summary>\n<div>\n<p>It is common to want to make changes to a feature service after it has been published. Many of these changes can be made through the item&#8217;s page, such as:<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Service-level capabilities <\/strong><\/span><\/p>\n<p>In addition to the ones listed in the &#8220;Ways to modify a service definition&#8221;:<\/p>\n<ul class=\"spaced\">\n<li><strong>Performance and optimization:<\/strong> <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/feature-services\/field-and-spatial-indexes\/\">Manage spatial indexes<\/a>\u00a0and <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/feature-services\/cdn-caching\/\">manage CDN cache<\/a>.<\/li>\n<li><strong>Other capabilities<\/strong>:\u00a0<a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/feature-services\/editing-and-synchronization\/\">editing and offline synchronization,<\/a> and more.<\/li>\n<\/ul>\n<p><strong>Layer-level capabilities:<\/strong><\/p>\n<ul>\n<li><strong>Data model:<\/strong> <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/add-or-delete-fields.htm\">Add or delete fields<\/a> (e.g., update field properties: alias, defaults, visibility) to the layers, <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/manage-hosted-feature-layers.htm#ESRI_SECTION1_3FA256DBA3D94BBB9F21CA1481E656E3\">enable\/disable attachments<\/a>, and <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/manage-hosted-feature-layers.htm\">much more<\/a>.<\/li>\n<li><strong>Data integrity and rules<\/strong>: <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/define-attribute-lists-and-ranges.htm\">Create domain lists and ranges<\/a>, and <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/add-unique-constraint.htm\">unique constraints<\/a>.<\/li>\n<li><strong>Visualization<\/strong>: Configure the drawing information: default symbology and labels (<a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/get-started\/item-details.htm#ESRI_SECTION2_93D932F9D6744934B9310169C85C91CA\">using Map Viewer<\/a>).<\/li>\n<li><strong>Performance and optimization:<\/strong> <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/feature-services\/field-and-spatial-indexes\/\">Manage field indexes<\/a>, <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/feature-services\/drawing-optimization\/\">enable complex shape drawing optimization<\/a><\/li>\n<li><strong>Other capabilities<\/strong>: include <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/manage-feature-templates.htm\">defining feature templates<\/a>, <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/reference\/configure-time.htm\">enabling time<\/a>, etc.<\/li>\n<\/ul>\n<hr \/>\n<p>As mentioned earlier, any change made through the graphical interface can also be done via the REST API. The API also supports changes not always available in the GUIs, such as:<\/p>\n<ul>\n<li>Modify the <strong>layer structure<\/strong> of an existing service: (add, modify, or delete layers or tables) using the <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/online\/update-definition-feature-service\/\"><em>FeatureServer\/updateDefinition <\/em>endpoint<\/a><em>.<\/em><\/li>\n<li>Create or delete <strong>relationships<\/strong> (1:M or M:M) between layers and tables within the same service. (check <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/online\/add-to-definition-feature-service\/#advanced-views\">Advanced views<\/a>)<\/li>\n<li><a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/online\/web-hooks-feature-service\/\">Register <strong>webhooks<\/strong><\/a> to trigger on edits or schema changes.<\/li>\n<\/ul>\n<p><small><strong>\ud83d\udd14 Reminder<\/strong>: Manually modifying data schemas is complex. While the <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/online\/update-definition-feature-layer\/\">API reference includes some examples<\/a>, schema changes are primarily intended to be handled through Esri\u2019s tools. Whenever possible, use the provided tools and SDKs (they simplify the process and help you avoid common pitfalls).<\/small><\/p>\n<\/div>\n<\/details>\n"},{"acf_fc_layout":"content","content":"<details>\n<summary><span style=\"color: #800080;\">Frequently asked questions about hosted feature services\u00a0<\/span><\/summary>\n<div>\n<p><strong><span style=\"text-decoration: underline;\">Are there limitations to joined layer views?<\/span><br \/>\n<\/strong>Yes:<\/p>\n<ul class=\"spaced\">\n<li><strong>Read-only<\/strong>: Joined views can&#8217;t be edited or synced.<\/li>\n<li><strong>Schema lock<\/strong>: Source layer schemas become fixed after joining.<\/li>\n<li><strong>Performance<\/strong>: Large joins may slow downloading due to dynamic data processing.<\/li>\n<li><strong>Offline use<\/strong>: Joined views aren&#8217;t available offline.<\/li>\n<li><strong>Access control<\/strong>: Layers with ownership-based access can&#8217;t be used in joins.<\/li>\n<li><strong>Attachments<\/strong>: Only included if the target layer has a global ID field.<\/li>\n<\/ul>\n<\/div>\n<\/details>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"content-management-tools\">Content management tools<\/h2>\n<p>The table below summarizes the type of update each service supports, the maximum scope of change, and whether updates happen immediately or must be explicitly triggered.<\/p>\n<table>\n<thead>\n<tr>\n<th>Service type<\/th>\n<th style=\"text-align: center;\">Update operation<\/th>\n<th style=\"text-align: center;\">Max. granularity<\/th>\n<th style=\"text-align: center;\">Update mode<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Hosted feature services (FS)<\/td>\n<td style=\"text-align: center;\">Immediate edits<\/td>\n<td style=\"text-align: center;\">Per-feature\/attribute<\/td>\n<td style=\"text-align: center;\">Inmediate<\/td>\n<\/tr>\n<tr>\n<td>Hosted vector tile services (from FS)<\/td>\n<td style=\"text-align: center;\">Cache rebuild<\/td>\n<td style=\"text-align: center;\">Extent (map area)<\/td>\n<td style=\"text-align: center;\">On-demand or scheduled<\/td>\n<\/tr>\n<tr>\n<td>Hosted map tile services (from FS)<\/td>\n<td style=\"text-align: center;\">Cache rebuild<\/td>\n<td style=\"text-align: center;\">Extent (map area)<\/td>\n<td style=\"text-align: center;\">On-demand<\/td>\n<\/tr>\n<tr>\n<td>Hosted vector tile services (from VTPK)<\/td>\n<td style=\"text-align: center;\">Replace cache<\/td>\n<td style=\"text-align: center;\">Whole service<\/td>\n<td style=\"text-align: center;\">On-demand<\/td>\n<\/tr>\n<tr>\n<td>Hosted map tile services (from TPK\/TPKX)<\/td>\n<td style=\"text-align: center;\">Replace cache<\/td>\n<td style=\"text-align: center;\">Whole service<\/td>\n<td style=\"text-align: center;\">On-demand<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Next, we\u2019ll see which tools are available to manage these updates:<\/p>\n<table>\n<thead>\n<tr>\n<th>Tool<\/th>\n<th style=\"text-align: center;\">Hosted feature service<\/th>\n<th style=\"text-align: center;\">Hosted vector tile services<\/th>\n<th style=\"text-align: center;\">Hosted map tile services<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>ArcGIS Portal<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<\/tr>\n<tr>\n<td>ArcGIS Pro<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<\/tr>\n<tr>\n<td>ArcGIS API for Python<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<\/tr>\n<tr>\n<td>ArcPy<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<\/tr>\n<tr>\n<td>ArcGIS REST JS<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<\/tr>\n<tr>\n<td>REST API<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<\/tr>\n<tr>\n<td>Map Viewer<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">No<\/td>\n<td style=\"text-align: center;\">No<\/td>\n<\/tr>\n<tr>\n<td>ArcGIS Maps SDKs<\/td>\n<td style=\"text-align: center;\">Yes<\/td>\n<td style=\"text-align: center;\">No<\/td>\n<td style=\"text-align: center;\">No<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Keep in mind that not all tools provide the same experience<\/strong>. Some expose only a subset of the service capabilities, which means specific updates may require you to work around missing methods by crafting REST requests directly, as explained in the collapsible sections below.<\/p>\n<details>\n<summary><span style=\"color: #800080;\">Ways to manage data from a hosted feature service<\/span><\/summary>\n<div>\n<p>The Portal and Data Services guide links to several <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/tutorials\/#data-services\">tutorials on managing content from feature services<\/a> using the Map Viewer, ArcGIS Pro, ArcGIS Maps SDKs, and scripting SDKs.<\/p>\n<p>In addition, there are other resources that might be helpful:<\/p>\n<ul class=\"spaced\">\n<li><strong>ArcGIS Portal<\/strong>: Update data (<a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/manage-hosted-feature-layers.htm#APPEND\">add, update, add &amp; update features<\/a>, or <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/manage-hosted-feature-layers.htm#ESRI_SECTION1_1D3A87A80E3E4CD2A71744715F1522FE\">overwrite a hosted feature layer<\/a>) and <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-online\/data-management\/whats-new-in-arcgis-onlines-data-tab\">update, delete, and calculate field\/attribute values, attachments<\/a>.<\/li>\n<li><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><strong>ArcGIS Pro<\/strong>: <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/data\/indoors\/manage-data-updates.htm#ESRI_SECTION1_C66255018038494DB920C33BB3066D15\">Apply edits directly to a hosted feature service<\/a> and <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/sharing\/overview\/overwrite-a-web-layer.htm\">overwrite a web feature layer<\/a>.<\/span><\/li>\n<li><strong>ArcGIS API for Python<\/strong>: <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/guide\/editing-features\/\">Edit features<\/a> (<a href=\"https:\/\/developers.arcgis.com\/python\/latest\/samples\/updating-features-in-a-feature-layer\/\">update features sample<\/a>), <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/guide\/appending-features\/\">append features<\/a>, <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/guide\/using-attachments-with-feature-layers\/\">manage attachments<\/a>, and <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/samples\/overwriting-feature-layers\/\">overwrite feature layers<\/a>.<\/li>\n<li><strong>ArcPy<\/strong>: Overwrite as explained in the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/3.5\/help\/sharing\/overview\/automate-sharing-web-layers.htm\">automate sharing a web layer<\/a>, and edit data using the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/3.3\/tool-reference\/data-management\/an-overview-of-the-data-management-toolbox.htm\">Data Management toolbox<\/a>.<\/li>\n<li><strong>ArcGIS REST JS<\/strong>: Implements:\u00a0<a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-feature-service\/addFeatures\/\">addFeatures<\/a>, <a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-feature-service\/updateFeatures\/\">updateFeatures<\/a>,\u00a0<a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-feature-service\/deleteFeatures\/\">deleteFeatures<\/a>, <a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-feature-service\/addAttachment\/\">addAttachment<\/a>,\u00a0 <a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-feature-service\/deleteAttachments\/\">deleteAttachments<\/a>.<\/li>\n<li><strong>REST API<\/strong>: <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/enterprise\/feature-service\/\">Multiple endpoints<\/a> are available to add features, attachments, append data, apply edits, calculate fields, and delete features and attachments. All these endpoints also provide an <a href=\"https:\/\/support.esri.com\/en-us\/knowledge-base\/how-to-access-the-rest-and-admin-endpoints-of-an-arcgis-000027990\"><strong>HTML interface<\/strong><\/a>. A <a href=\"https:\/\/www.postman.com\/esridevs\/esri-arcgis-services\/folder\/hve6nlz\/feature-service\">Postman collection<\/a> is also available at <a href=\"https:\/\/www.postman.com\/esridevs\">EsriDevs in Postman<\/a>.<\/li>\n<li><strong>Map Viewer<\/strong>: Enable <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/edit-features-mv.htm\">manual edits (features, attributes, and attachments)<\/a> (also available in the ArcGIS Portal &gt; Visualization tab).<\/li>\n<li><strong>ArcGIS Maps SDKs<\/strong>:\u00a0As explained in the &#8220;<a href=\"https:\/\/mediaspace.esri.com\/media\/t\/1_776uq583\">ArcGIS Maps SDK for JavaScript: Web Editing<\/a>&#8221; and &#8220;<a href=\"https:\/\/mediaspace.esri.com\/playlist\/dedicated\/368599242\/1_wtede53i\/1_p4dxtj9h\">Native Maps SDKs: Feature Editing Workflows<\/a>&#8221; technical sessions.<\/li>\n<\/ul>\n<\/div>\n<\/details>\n<details>\n<summary><span style=\"color: #800080;\">Ways to manage data from a hosted vector tile service<\/span><\/summary>\n<div>\n<p>The Portal and Data Services guide links to explaining <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/tutorials\/#data-services\">tutorials on managing content from feature services<\/a> using the Map Viewer, ArcGIS Pro, ArcGIS Maps SDKs, and scripting SDKs.<\/p>\n<ul class=\"spaced\">\n<li><strong>ArcGIS Portal<\/strong>: Depending on the source data (feature service or tile package), you will have different options:\n<ul>\n<li><strong>From a feature service<\/strong>: <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/vector-tile-services\/vector-tile-cache\/#set-feature-attributes\">Set attributes included in the cached tiles<\/a>, <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/vector-tile-services\/vector-tile-cache\/#synchronize-the-cache\">synchronize (rebuild) the entire cache immediately<\/a>, and <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/manage-hosted-tile-layers.htm#ESRI_SECTION2_1067B10E898F484FB07A9A643DB28320\">schedule the cache to be rebuilt<\/a>.<\/li>\n<li><strong>From a tile package<\/strong>: <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/manage-hosted-tile-layers.htm#ESRI_SECTION1_CF8695C829AD41379E66E8D59AF6AF8E\">Replace the layer<\/a>.<\/li>\n<\/ul>\n<\/li>\n<li><strong>ArcGIS Pro: <\/strong>You can only <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/sharing\/overview\/replace-web-layer.htm\">replace the entire vector tile layer <\/a><a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/sharing\/overview\/replace-web-layer.htm\">using Replace Web Layer tool<\/a>.<\/li>\n<li><strong>ArcGIS API for Python<\/strong>:\n<ul>\n<li><strong>From a feature service: <\/strong>The <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/api-reference\/arcgis.layers.toc.html#vectortilelayermanager\">VectorTileLayerManager class<\/a> provides methods like <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/api-reference\/arcgis.layers.toc.html#arcgis.layers.VectorTileLayerManager.rebuild_cache\">rebuild_cache()<\/a>\u00a0and <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/api-reference\/arcgis.layers.toc.html#arcgis.layers.VectorTileLayerManager.update_tiles\">update_tiles()<\/a>.<\/li>\n<li><strong>From a tile package:\u00a0<\/strong>The VectorTileLayerManager class only works with vector services published from hosted feature services, so you can only replace the service using <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/api-reference\/arcgis.gis.toc.html#arcgis.gis.ContentManager.replace_service\" target=\"_blank\" rel=\"noopener\">arcgis.gis.<\/a><a href=\"https:\/\/developers.arcgis.com\/python\/latest\/api-reference\/arcgis.gis.toc.html#arcgis.gis.ContentManager.replace_service\">ContentManager.replace_service()<\/a>.<\/li>\n<\/ul>\n<\/li>\n<li><strong>ArcPy<\/strong>: You can replace the entire layer using <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/tool-reference\/server\/replace-web-layer.htm\">arcpy.server.ReplaceWebLayer<\/a>.<\/li>\n<li><strong>ArcGIS REST JS<\/strong>: Although it doesn&#8217;t provide built-in methods, you can utilize the\u00a0<a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-request\/\" target=\"_blank\" rel=\"noopener\">@esri\/arcgis-rest-request package to call the REST API<\/a>.<\/li>\n<li><strong>REST API<\/strong>:\n<ul>\n<li><strong>From a feature service:<\/strong> The most relevant operations are:\n<ul>\n<li>The <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/online\/vector-tile-refresh-feature-service\/\">refresh endpoint<\/a>\u00a0clears the web server cache. Typically used when there are minor updates to the service or its configuration.<\/li>\n<li>The <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/online\/vector-tile-rebuild-cache-feature-service\/\">rebuildCache endpoint<\/a> reflects any changes made to the feature layer or service definition. Used when the underlying feature layer data has changed significantly.<\/li>\n<li>The <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/online\/vector-tile-update-tiles-feature-service\/\">updateTiles<\/a>\u00a0<strong>updates specific tiles<\/strong> in the cache by defining the cooking extent and cache levels. This operation is more granular compared to rebuilding the entire cache. Used when only specific tiles or areas need to be updated, saving time and resources compared to a whole cache rebuild.<\/li>\n<li>The <a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/create-new-scheduled-task\/\">createTask<\/a> to schedule vector tile service updates.<\/li>\n<\/ul>\n<\/li>\n<li><strong>From a tile package: <\/strong>using <a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/replace-service\/\">replaceService REST operation<\/a>,<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>You can find that other operations are exposed through the REST Admin HTML interface, but they are primarily used for the publication process.<\/p>\n<\/div>\n<\/details>\n<details>\n<summary><span style=\"color: #800080;\">Ways to manage data from a hosted map tile service<\/span><\/summary>\n<div>\n<ul class=\"spaced\">\n<li><strong>ArcGIS Portal<\/strong>:\n<ul class=\"spaced\">\n<li><strong>From a feature service: <\/strong><a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/manage-hosted-tile-layers.htm#ESRI_SECTION2_BCBE279A0A2B4A3A8F8F62670439FD6A\">Manually generate (build) tiles from the portal interface<\/a>,<\/li>\n<li><strong>From a tile package: <\/strong><a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/manage-hosted-tile-layers.htm#ESRI_SECTION1_3C08EA71F33B49D1AD6E89C80E781806\">Replaced the layer<\/a>,<\/li>\n<\/ul>\n<\/li>\n<li><strong>ArcGIS Pro<\/strong>:\u00a0You can only <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/sharing\/overview\/replace-web-layer.htm\">replace the entire vector tile layer <\/a><a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/sharing\/overview\/replace-web-layer.htm\">using Replace Web Layer tool<\/a>.<\/li>\n<li><strong>ArcGIS API for Python<\/strong>:\n<ul class=\"spaced\">\n<li><strong>From a feature service: <\/strong>Use the\u00a0<a href=\"https:\/\/developers.arcgis.com\/python\/latest\/api-reference\/arcgis.layers.toc.html#mapimagelayermanager\">MapImageLayerManager<\/a> class or <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/api-reference\/arcgis.layers.toc.html#arcgis.layers.MapImageLayerManager.update_tiles\">update_tiles() operation<\/a> to rebuild\/generate tiles for specific extents and levels of detail (LODs). This is typically used when the underlying data or symbology has changed.<\/li>\n<li><strong>From a feature service:<\/strong><strong> tile package: <\/strong>Use <a href=\"https:\/\/developers.arcgis.com\/python\/latest\/api-reference\/arcgis.gis.toc.html#arcgis.gis.ContentManager.replace_service\" target=\"_blank\" rel=\"noopener\">arcgis.gis.<\/a><a href=\"https:\/\/developers.arcgis.com\/python\/latest\/api-reference\/arcgis.gis.toc.html#arcgis.gis.ContentManager.replace_service\">ContentManager.replace_service()<\/a> to replace the service.<\/li>\n<\/ul>\n<\/li>\n<li><strong>ArcPy<\/strong>:\u00a0You can replace the entire layer using <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/tool-reference\/server\/replace-web-layer.htm\">arcpy.server.ReplaceWebLayer<\/a>.<\/li>\n<li><strong>ArcGIS REST JS<\/strong>:\u00a0Although it doesn&#8217;t provide built-in methods, you can utilize the\u00a0<a href=\"https:\/\/developers.arcgis.com\/arcgis-rest-js\/api-reference\/arcgis-rest-request\/\" target=\"_blank\" rel=\"noopener\">@esri\/arcgis-rest-request package to call the REST API<\/a>.<\/li>\n<li><strong>REST API<\/strong>:\n<ul>\n<li><strong>From a feature service: <\/strong>Use the <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/online\/update-tiles\/\">updateTiles operation<\/a>.<\/li>\n<li><strong>From a tile package: <\/strong>Use the <a href=\"https:\/\/developers.arcgis.com\/rest\/users-groups-and-items\/replace-service\/\">replaceService operation<\/a>,<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>You can find that other operations are exposed through the REST Admin HTML interface, but they are primarily used for the publication process.<\/p>\n<\/div>\n<\/details>\n<details>\n<summary><span style=\"color: #800080;\">Frequently asked questions about content management<\/span><\/summary>\n<div>\n<p><span style=\"text-decoration: underline;\"><strong>Are there any limitations when updating map tile services published from tile packages?<br \/>\n<\/strong><\/span>Yes, there are a few important limitations to keep in mind when using the\u00a0<strong>Import Tiles <\/strong>REST endpoint:<\/p>\n<ul class=\"spaced\">\n<li><strong>Supported sources<\/strong>: Only tile layers originally published from\u00a0<strong>tile packages <\/strong>or\u00a0<strong>service definition files<\/strong>\u00a0are eligible for updates.<\/li>\n<li><strong>Layer consistency<\/strong>: The layers in the replacement service must\u00a0<strong>match the existing service <\/strong>in structure and content.<\/li>\n<li><strong>Service compatibility<\/strong>: The\u00a0<strong>service type <\/strong>and <strong>coordinate system<\/strong> of the replacement layer must\u00a0match\u00a0those of the current service.<\/li>\n<\/ul>\n<p><strong>Are there any limits for Feature Services Data queries or updates?<br \/>\n<\/strong>Yes, we highly recommend checking the <a href=\"https:\/\/mediaspace.esri.com\/media\/t\/1_4e7fyqde?st=668\">Best Practices with Hosted Feature Services technical session<\/a>.<\/p>\n<\/div>\n<\/details>\n"},{"acf_fc_layout":"content","content":"<h2 id=\"style-definition-tools\">Style definition tools<\/h2>\n<p>To make the most of the ArcGIS geoinformation model, it\u2019s important to understand which services can be styled directly within their service definition, and how.<\/p>\n<details>\n<summary><span style=\"color: purple; font-style: bold;\">If you still don&#8217;t know what the ArcGIS geoinformation model is&#8230;<\/span><\/summary>\n<div>\n<p>ArcGIS uses a layer abstraction system based on a cascading configuration model (similar to CSS) that lets you override default service configurations with an extended schema. This extended schema includes options such as chart configurations, graphical parameters, and other advanced customizations.<\/p>\n<p>This approach makes services more flexible and reusable across multiple apps and platforms with minimal code, saving significant development time. It also ensures greater consistency (apps look and behave similarly by default), reducing the likelihood of human-introduced errors.<\/p>\n<p>Learn more about this in \u201c<a href=\"https:\/\/www.youtube.com\/watch?v=uj0tHzM9G5c\">The ArcGIS geoinformation model video<\/a>. A helpful tool for exploring how this model works is <a href=\"https:\/\/guide.assistant.esri-ps.com\/docs\/\">ArcGIS Assistant<\/a>; however, it is not an official Esri product and is not covered by Esri Support. Be sure to read the <a href=\"https:\/\/guide.assistant.esri-ps.com\/docs\/warnings\">warning page<\/a> carefully before using it.<\/p>\n<\/div>\n<\/details>\n<p><small><strong>Note:<\/strong> In this section, we focus on graphical tools, given the nature of this work. Everything shown here can also be automated through code, as already explained. Styling options in client SDKs will be covered in a separate article on &#8220;<em data-start=\"319\" data-end=\"364\"><a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-visualization-interactivity-differences\">Visualization and Interactivity Differences<\/a>&#8220;<\/em>.<\/small><\/p>\n<h3>Map tile services<\/h3>\n<p>As explained in <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-creation-and-maintenance-differences#whats-inside-a-service-definition\">the previous article<\/a>, map tile service definitions <strong>do not store style information<\/strong>. Styles are applied before the tiles are cached, so changing the appearance requires restyling the source data and republishing the service. When a map tile service is published from a hosted feature service, the style is inherited from the feature service at the time of publication.<\/p>\n<p>You can style map tile services with tools such as <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/latest\/help\/mapping\/layer-properties\/symbolization.htm\">ArcGIS Pro<\/a>, or with <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/create-maps\/apply-styles-mv.htm\">Map Viewer<\/a> when publishing from a hosted feature service, <a href=\"https:\/\/developers.arcgis.com\/documentation\/portal-and-data-services\/data-services\/workflows\/create-map-tile-service-for-app\/#set-the-feature-styles\">as explained in this tutorial<\/a>.<\/p>\n<h3>Vector tile services<\/h3>\n<p>Vector tile services work differently. In this case, the style is not baked into the cached tiles. Instead, the style is stored as a separate resource within the service. That resource itself cannot be modified directly, but you can edit the style JSON in the <a href=\"https:\/\/vtse.arcgis.com\/documentation\/\">Vector Tile Style Editor<\/a> (or, for advanced users, by <a href=\"https:\/\/www.youtube.com\/watch?v=sxfXdDVOKEA\">editing the JSON manually<\/a>), then save the result as a <strong>new style item<\/strong> that references the same vector tile service, allowing client applications to load it.<\/p>\n<p>If you need to change the style resource of the service itself, the service must be republished.<\/p>\n<p><small><strong>Note:<\/strong> If you\u2019ve wondered whether you can import styles from third-party tools like Maputnik into Esri vector tile layers, the answer is that it is not officially supported. So, styles need to be created or edited with Esri tools such as ArcGIS Pro and the Vector Tile Style Editor.<\/small><\/p>\n<h3>Feature services<\/h3>\n<p data-start=\"75\" data-end=\"313\">Feature services are a different case. As explained earlier (<a href=\"#service-definition-management-tools\">Service definition management tools<\/a>), each layer in a feature service includes a <strong><code data-start=\"286\" data-end=\"299\">drawingInfo<\/code><\/strong> property in its JSON service definition.<\/p>\n<p data-start=\"315\" data-end=\"495\">This property defines the layer\u2019s symbology, labels, transparency, and related settings.<\/p>\n<p data-start=\"497\" data-end=\"621\">When you change the style directly from <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/create-maps\/apply-styles-mv.htm\">Map Viewer<\/a>, or on the item\u2019s Visualization tab, the\u00a0<code data-start=\"286\" data-end=\"299\">drawingInfo<\/code> is saved at the <strong>item level<\/strong>.\u00a0This means the style will only be applied when the service is loaded using the item\u2019s identifier.<\/p>\n<p data-start=\"497\" data-end=\"621\">If you want to overwrite its contents directly in the service definition (<strong>at the layer level<\/strong>), the only way to do so is through code, doing a REST API call.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2941080,"id":2941080,"title":"arcgis-overwrite-drawing-info","filename":"arcgis-overwrite-drawing-info.png","filesize":125800,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-overwrite-drawing-info.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences\/arcgis-overwrite-drawing-info-2","alt":"","author":"293052","description":"","caption":"\ud83d\udca1 Pro Tip: Apply your drawingInfo changes directly to the service definition","name":"arcgis-overwrite-drawing-info-2","status":"inherit","uploaded_to":2940568,"date":"2025-09-25 21:11:42","modified":"2025-09-25 21:13:57","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":850,"height":177,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-overwrite-drawing-info-213x177.png","thumbnail-width":213,"thumbnail-height":177,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-overwrite-drawing-info.png","medium-width":464,"medium-height":97,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-overwrite-drawing-info.png","medium_large-width":768,"medium_large-height":160,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-overwrite-drawing-info.png","large-width":850,"large-height":177,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-overwrite-drawing-info.png","1536x1536-width":850,"1536x1536-height":177,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-overwrite-drawing-info.png","2048x2048-width":850,"2048x2048-height":177,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-overwrite-drawing-info-826x172.png","card_image-width":826,"card_image-height":172,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-overwrite-drawing-info.png","wide_image-width":850,"wide_image-height":177}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/arcgis-overwrite-drawing-info-scaled.jpg"},{"acf_fc_layout":"content","content":"<h2 id=\"next-steps\">Next steps<\/h2>\n<p>We hope this article has clarified the wide range of options for managing these services. While the variety of tools and workflows can feel overwhelming, our goal has been to give you the context needed to decide which approach best fits your needs.<\/p>\n<p>Next, we will cover &#8220;<a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-retrieval-and-loading-time-differences\">Behind the scenes and SDK trade-offs<\/a>&#8220;, with a focus on what application developers need to know when consuming these services.<\/p>\n<p>If you have questions, join the conversation in <a href=\"questionshttps:\/\/community.esri.com\/t5\/arcgis-location-service-questions\/bd-p\/arcgis-location-service-questions\">Esri Community &gt; Developers &gt; ArcGIS REST APIs and Services &gt; ArcGIS Location Service<\/a>. If you find something confusing or believe you&#8217;ve spotted an error or inconsistency in this article, reach out to us at <a href=\"mailto:developers@esri.com\">developers@esri.com<\/a>. Your input helps us improve the clarity and accuracy of this content.<\/p>\n<p>Looking for more tutorials? Check: <a href=\"https:\/\/learn.arcgis.com\/en\/gallery\/#?c=datamgmt&amp;p=agol\">ArcGIS Online\u00a0data management tutorials<\/a> and <a href=\"https:\/\/learn.arcgis.com\/en\/gallery\/#?p=arcgispro&amp;c=datamgmt\">ArcGIS Pro data management tutorials<\/a>.<\/p>\n<p>And if you found this article useful and believe others in your professional network may benefit from it, we would greatly appreciate it if you could share or engage with the post on <a href=\"https:\/\/www.linkedin.com\/posts\/jimenezortegaraul_%F0%9D%90%87%F0%9D%90%9A%F0%9D%90%AF%F0%9D%90%9E-%F0%9D%90%B2%F0%9D%90%A8%F0%9D%90%AE-%F0%9D%90%9E%F0%9D%90%AF%F0%9D%90%9E%F0%9D%90%AB-%F0%9D%90%AC%F0%9D%90%AD%F0%9D%90%AB%F0%9D%90%AE%F0%9D%90%A0%F0%9D%90%A0%F0%9D%90%A5%F0%9D%90%9E-activity-7377309833512886275-n3sr?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAAFTWIUB408_I8M39G1F7ZzN47wVswa8PcA\">LinkedIn<\/a>, <a href=\"https:\/\/bsky.app\/profile\/rauljimenez.info\/post\/3lzqfwgpowp22\">Bluesky<\/a>, or <a href=\"https:\/\/x.com\/hhkaos\/status\/1971544063141654591\">X<\/a>.<\/p>\n<p>Thank you to everyone who contributed to the content of this article. You rock! Extra special thanks to <a href=\"https:\/\/www.linkedin.com\/in\/matt-george-247317a5\/\">Matt George<\/a>, <a href=\"https:\/\/www.esri.com\/arcgis-blog\/author\/cwesson\">Chris Wesson<\/a>, and <a href=\"https:\/\/www.linkedin.com\/in\/wuyue1\/\">Yue (Nathan) Wu<\/a>.<\/p>\n<style>ul.spaced>li,ul.spaced>li ul li{margin-top:.5rem} ul.spaced li ul{padding-bottom:0 !important}<\/style>\n<style>details div{background-color: #efefef; padding: 1rem 1rem 0 1rem; border: 1px solid #ccc; margin-top: 0; margin-bottom: 1rem;}<\/style>\n<style>summary{margin-bottom: 1rem;cursor:pointer}<\/style>\n<style>details ul li ul{margin-top: 1rem; padding-bottom: 0.5rem;}<\/style>\n<style>details[open] summary span:before{content: \"\u2296 \"}<\/style>\n<style>details summary span:before{content: \"\u2295 \"}small{font-size: 1.1rem; border: 1px dotted #ccc; padding: .6rem; display: block; background-color: #fdfdfd;} ul.spaced ul{display:block !important; } ul.spaced ul li:last-child{padding-bottom:0rem}} details ul.spaced ul{padding-top: 0 !important;}h3{margin-bottom: 0;}<\/style>\n"}],"authors":[{"ID":293052,"user_firstname":"Raul","user_lastname":"Jimenez Ortega","nickname":"Raul Jimenez Ortega","user_nicename":"rjimenez","display_name":"Ra\u00fal Jim\u00e9nez Ortega","user_email":"rjimenez@esri.com","user_url":"http:\/\/links.rauljimenez.info\/","user_registered":"2021-11-17 17:27:29","user_description":"Developer on the Developer Experience (DX) team, looking for ways to improve the DX through better educational resources, developer tools, and community support among other things.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/06\/raul-jimenez-ortega-social-picture-enhanced-blur-desaturated-white-levels-465x465.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"show_article_image":false,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/management-tools-differences.jpg","wide_image":false,"related_articles":[{"ID":2940568,"post_author":"293052","post_date":"2025-09-26 04:54:25","post_date_gmt":"2025-09-26 11:54:25","post_content":"","post_title":"ArcGIS Hosted Data Services: Management Tools Differences","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-hosted-data-services-management-tools-differences","to_ping":"","pinged":"","post_modified":"2025-10-22 06:17:57","post_modified_gmt":"2025-10-22 13:17:57","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2940568","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2939766,"post_author":"293052","post_date":"2025-09-15 09:34:48","post_date_gmt":"2025-09-15 16:34:48","post_content":"","post_title":"ArcGIS Hosted Data Services: Creation and Maintenance Differences","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-hosted-data-services-creation-and-maintenance-differences","to_ping":"","pinged":"","post_modified":"2025-10-22 06:21:38","post_modified_gmt":"2025-10-22 13:21:38","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2939766","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2941236,"post_author":"293052","post_date":"2025-09-29 06:28:38","post_date_gmt":"2025-09-29 13:28:38","post_content":"","post_title":"ArcGIS Hosted Data Services: Behind the Scenes and SDK Trade-offs","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-hosted-data-services-retrieval-and-loading-time-differences","to_ping":"","pinged":"","post_modified":"2025-10-16 06:32:54","post_modified_gmt":"2025-10-16 13:32:54","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2941236","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2942023,"post_author":"293052","post_date":"2025-10-09 11:00:53","post_date_gmt":"2025-10-09 18:00:53","post_content":"","post_title":"ArcGIS Hosted Data Services: Visualization & Interactivity Differences","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-hosted-data-services-visualization-interactivity-differences","to_ping":"","pinged":"","post_modified":"2025-10-16 06:35:17","post_modified_gmt":"2025-10-16 13:35:17","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2942023","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"1","filter":"raw"},{"ID":2943284,"post_author":"293052","post_date":"2025-10-16 04:54:08","post_date_gmt":"2025-10-16 11:54:08","post_content":"","post_title":"ArcGIS Hosted Services: Terms of Use & Pricing Differences","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-hosted-services-terms-of-use-pricing-differences","to_ping":"","pinged":"","post_modified":"2025-10-22 06:11:35","post_modified_gmt":"2025-10-22 13:11:35","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2943284","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2938599,"post_author":"293052","post_date":"2025-09-10 08:16:54","post_date_gmt":"2025-09-10 15:16:54","post_content":"","post_title":"ArcGIS Hosted Services: Use Cases for Each Type of Data Service","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"arcgis-hosted-services-use-cases-for-each-type-of-data-service","to_ping":"","pinged":"","post_modified":"2025-11-05 23:38:19","post_modified_gmt":"2025-11-06 07:38:19","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2938599","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}]},"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>ArcGIS Hosted Data Services: Management Tools Differences<\/title>\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\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ArcGIS Hosted Data Services: Management Tools Differences\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences\" \/>\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-22T13:17:57+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=\"23 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\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences\"},\"author\":{\"name\":\"Ra\u00fal Jim\u00e9nez Ortega\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/5c4567f75f116a7404ab334a37e370bc\"},\"headline\":\"ArcGIS Hosted Data Services: Management Tools Differences\",\"datePublished\":\"2025-09-26T11:54:25+00:00\",\"dateModified\":\"2025-10-22T13:17:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences\"},\"wordCount\":7,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"feature service\",\"hosted data services blog series\",\"hosted services\",\"map tile service\",\"vector tile service\"],\"articleSection\":[\"Developers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences\",\"name\":\"ArcGIS Hosted Data Services: Management Tools Differences\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2025-09-26T11:54:25+00:00\",\"dateModified\":\"2025-10-22T13:17:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ArcGIS Hosted Data Services: Management Tools Differences\"}]},{\"@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\/5c4567f75f116a7404ab334a37e370bc\",\"name\":\"Ra\u00fal Jim\u00e9nez Ortega\",\"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\/2025\/06\/raul-jimenez-ortega-social-picture-enhanced-blur-desaturated-white-levels-465x465.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/06\/raul-jimenez-ortega-social-picture-enhanced-blur-desaturated-white-levels-465x465.jpg\",\"caption\":\"Ra\u00fal Jim\u00e9nez Ortega\"},\"description\":\"Developer on the Developer Experience (DX) team, looking for ways to improve the DX through better educational resources, developer tools, and community support among other things.\",\"sameAs\":[\"http:\/\/links.rauljimenez.info\/\",\"https:\/\/www.linkedin.com\/in\/jimenezortegaraul\/\",\"https:\/\/x.com\/hhkaos\",\"https:\/\/www.youtube.com\/channel\/UC1B_69SF_RFcWyTWz3MdQDw\"],\"jobTitle\":\"Principal Product Engineer\",\"worksFor\":\"Esri Inc\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/rjimenez\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"ArcGIS Hosted Data Services: Management Tools Differences","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\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences","og_locale":"en_US","og_type":"article","og_title":"ArcGIS Hosted Data Services: Management Tools Differences","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2025-10-22T13:17:57+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"23 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences"},"author":{"name":"Ra\u00fal Jim\u00e9nez Ortega","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/5c4567f75f116a7404ab334a37e370bc"},"headline":"ArcGIS Hosted Data Services: Management Tools Differences","datePublished":"2025-09-26T11:54:25+00:00","dateModified":"2025-10-22T13:17:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences"},"wordCount":7,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["feature service","hosted data services blog series","hosted services","map tile service","vector tile service"],"articleSection":["Developers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences","name":"ArcGIS Hosted Data Services: Management Tools Differences","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2025-09-26T11:54:25+00:00","dateModified":"2025-10-22T13:17:57+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/developers\/arcgis-hosted-data-services-management-tools-differences#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"ArcGIS Hosted Data Services: Management Tools Differences"}]},{"@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\/5c4567f75f116a7404ab334a37e370bc","name":"Ra\u00fal Jim\u00e9nez Ortega","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\/2025\/06\/raul-jimenez-ortega-social-picture-enhanced-blur-desaturated-white-levels-465x465.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/06\/raul-jimenez-ortega-social-picture-enhanced-blur-desaturated-white-levels-465x465.jpg","caption":"Ra\u00fal Jim\u00e9nez Ortega"},"description":"Developer on the Developer Experience (DX) team, looking for ways to improve the DX through better educational resources, developer tools, and community support among other things.","sameAs":["http:\/\/links.rauljimenez.info\/","https:\/\/www.linkedin.com\/in\/jimenezortegaraul\/","https:\/\/x.com\/hhkaos","https:\/\/www.youtube.com\/channel\/UC1B_69SF_RFcWyTWz3MdQDw"],"jobTitle":"Principal Product Engineer","worksFor":"Esri Inc","url":"https:\/\/www.esri.com\/arcgis-blog\/author\/rjimenez"}]}},"text_date":"September 26, 2025","author_name":"Ra\u00fal Jim\u00e9nez Ortega","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/rjimenez","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"Developers","tag_data":[{"term_id":176482,"name":"feature service","slug":"feature-service","term_group":0,"term_taxonomy_id":176482,"taxonomy":"post_tag","description":"","parent":0,"count":14,"filter":"raw"},{"term_id":780819,"name":"hosted data services blog series","slug":"hosted-data-services-blog-series","term_group":0,"term_taxonomy_id":780819,"taxonomy":"post_tag","description":"","parent":0,"count":9,"filter":"raw"},{"term_id":29651,"name":"hosted services","slug":"hosted-services","term_group":0,"term_taxonomy_id":29651,"taxonomy":"post_tag","description":"","parent":0,"count":13,"filter":"raw"},{"term_id":780817,"name":"map tile service","slug":"map-tile-service","term_group":0,"term_taxonomy_id":780817,"taxonomy":"post_tag","description":"","parent":0,"count":8,"filter":"raw"},{"term_id":780816,"name":"vector tile service","slug":"vector-tile-service","term_group":0,"term_taxonomy_id":780816,"taxonomy":"post_tag","description":"","parent":0,"count":8,"filter":"raw"}],"category_data":[{"term_id":738191,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":738191,"taxonomy":"category","description":"","parent":0,"count":426,"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":215,"filter":"raw"},{"term_id":36551,"name":"ArcGIS Online","slug":"arcgis-online","term_group":0,"term_taxonomy_id":36551,"taxonomy":"product","description":"","parent":0,"count":2435,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":765,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=developers","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2940568","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\/293052"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=2940568"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2940568\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2940568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2940568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2940568"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2940568"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2940568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}