{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown","redocly_category":"MCP Server","api_domain":"MCP"},"seo":{"title":"MCP access profiles and permissions","description":"Compare Read-only and Full access profiles for Sales Layer MCP Catalog and DAM tools, including confirmation behavior for writes.","siteUrl":"https://docs.api.saleslayer.com/","image":"/assets/sales-layer-horizontal-dark-green.224c048d0bb386d3c2683ba504140512b6233d3c6cbf706ca81e2e3f2f02dbd0.9c1bb791.svg","keywords":["Sales Layer","Sales Layer API","REST API","OpenAPI","PIM API","Product Information Management API","DAM API","Catalog API","product catalog API","product data synchronization","ecommerce integration API","ERP integration","marketplace integration","image management API","digital asset management API","API integration","Model Context Protocol","MCP server","Sales Layer MCP","AI assistant connector","PIM AI assistant"],"lang":"en-US","meta":[{"name":"og:type","content":"website"},{"name":"og:site_name","content":"Sales Layer REST API Documentation"},{"name":"og:title","content":"Sales Layer REST API Documentation"},{"name":"og:description","content":"Technical REST API docs for Sales Layer PIM, Catalog, DAM, ecommerce, ERP, and marketplace integrations."},{"name":"og:image","content":"/assets/sales-layer-horizontal-dark-green.224c048d0bb386d3c2683ba504140512b6233d3c6cbf706ca81e2e3f2f02dbd0.9c1bb791.svg"},{"name":"twitter:card","content":"summary_large_image"},{"name":"twitter:site","content":"@saleslayer"},{"name":"twitter:title","content":"Sales Layer REST API Documentation"},{"name":"twitter:description","content":"Technical REST API docs for Sales Layer PIM, Catalog, DAM, ecommerce, ERP, and marketplace integrations."},{"name":"twitter:image","content":"/assets/sales-layer-horizontal-dark-green.224c048d0bb386d3c2683ba504140512b6233d3c6cbf706ca81e2e3f2f02dbd0.9c1bb791.svg"}],"llmstxt":{"hide":false,"title":"Sales Layer REST API Documentation","description":"Technical guides and OpenAPI references for Sales Layer DAM and Catalog REST APIs.","sections":[{"title":"Guides","description":"Static API guides for authentication, headers, query parameters, responses, rate limiting, and best practices.","includeFiles":["guides/**/*.md","changelog.md"]},{"title":"API Reference","description":"OpenAPI-based references and API overview pages for Sales Layer REST APIs.","includeFiles":["apis/**/*.md","apis/**/*.yaml"]},{"title":"Postman collections","description":"Importable Postman collection and environment instructions for testing Sales Layer REST APIs.","includeFiles":["postman/**/*.md"]},{"title":"MCP server","description":"Documentation for the Sales Layer MCP Server, its tools, access profiles, and how AI assistants consume the Catalog REST API.","includeFiles":["mcp-server/**/*.md"]}]},"jsonLd":{"@context":"https://schema.org","@type":"WebSite","name":"Sales Layer REST API Documentation","url":"https://docs.api.saleslayer.com/","publisher":{"@type":"Organization","name":"Sales Layer","url":"https://www.saleslayer.com/"}}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"mcp-access-profiles-and-permissions","__idx":0},"children":["MCP access profiles and permissions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The MCP Server exposes two access profiles. The server classifies tools by the underlying REST"," ","operation: tools backed by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET"]}," are read operations; tools backed by ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PATCH"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PUT"]},", or"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DELETE"]}," are write operations. Cache tools declare the same distinction explicitly."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"read-only-and-full","__idx":1},"children":["Read-only and Full"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Profile"},"children":["Profile"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"What the assistant can do"},"children":["What the assistant can do"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Read-only"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Query and analyze Catalog data, layouts and changelogs, and read DAM images and files."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Full access"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Everything Read-only allows, plus Catalog and DAM writes, layout changes, and runtime cache control."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Read-only is the recommended starting point. Move to Full access only when a workflow needs to"," ","modify data and your organization has approved it."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"tools-blocked-under-read-only","__idx":2},"children":["Tools blocked under Read-only"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Read-only does not advertise the following tools and rejects them if a client attempts to call"," ","them."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Area"},"children":["Area"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Blocked tools"},"children":["Blocked tools"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Attribute Sets"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["create_attribute_set"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["update_attribute_set"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delete_attribute_set"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Categories"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["create_category"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["update_category"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delete_category"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["update_category_layout"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Products"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["create_product"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["update_product"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delete_product"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Variants"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["create_variant"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["update_variant"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delete_variant"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Custom Entities"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["create_custom_entity"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["update_custom_entity"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delete_custom_entity"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["update_custom_entity_layout"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["DAM Images"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dam_create_image"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dam_update_image"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dam_delete_image"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["DAM Files"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dam_create_file"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dam_update_file"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dam_delete_file"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Runtime cache"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cache_clear"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cache_control"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Every tool marked ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Read"]}," in the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server/tools"},"children":["tool reference"]}," is available under both profiles."," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cache_clear"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cache_control"]}," require Full access because they change server runtime state,"," ","even though they do not modify Sales Layer records."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"choosing-the-profile","__idx":3},"children":["Choosing the profile"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The profile is set in one of two ways:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["During authorization."]}," Select Read only or Full on the Sales Layer authorization screen."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["In the endpoint."]}," Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://mcp.saleslayer.com/onlyread/mcp"]}," or"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://mcp.saleslayer.com/full/mcp"]}," to pin the profile in the URL."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To change profile, disconnect and reconnect. It cannot be changed from inside a conversation."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"confirmation-behavior","__idx":4},"children":["Confirmation behavior"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Full access makes a tool callable; it does not add a universal preview step. Confirmation behavior"," ","depends on the tool."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Behavior"},"children":["Behavior"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Tools"},"children":["Tools"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Two-step preview or confirmation"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delete_category"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delete_product"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delete_variant"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["create_custom_entity"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["update_custom_entity"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delete_custom_entity"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cache_clear"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Executes when called"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Category, Product, and Variant creates/updates; Attribute Set writes; layout updates; DAM writes; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cache_control"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For a two-step operation, the first call omits ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["confirm"]}," and returns a preview or deletion warning."," ","The second call includes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["confirm: true"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Tools in the second row do not implement that server-side two-step flow. Your MCP client may still"," ","ask you to approve a tool call before sending it, but that is a client control, not a guarantee"," ","provided by the server."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"destructive-behavior-to-review","__idx":5},"children":["Destructive behavior to review"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delete_product"]}," permanently removes the Product and its associated Variants."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delete_attribute_set"]}," normally reassigns its Products and Variants to the default set. With"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deleteAssociatedProductsAndVariants: true"]},", it deletes them instead."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["update_category_layout"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["update_custom_entity_layout"]}," replace the complete stored layout;"," ","they do not merge selected rows or fields."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Custom Entity and DAM delete tools do not repoint Catalog records that reference the deleted"," ","item or asset."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["DAM create, update, and delete tools do not use a server-side ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["confirm"]}," parameter."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Deletions cannot be undone. Read the current record, layout, or asset details immediately before a"," ","write, and test automated workflows against a non-production catalog first."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"recommended-practice","__idx":6},"children":["Recommended practice"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Connect with Read-only first and verify the returned catalog and assets."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use Full access only for a defined workflow and only for as long as necessary."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Keep client-side approval enabled for all write tools."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Read metadata before writing tenant-specific or multilingual fields."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Fetch a layout before replacing it."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Inspect DAM ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["numLinks"]}," before deleting a file and identify Catalog references before deleting an"," ","image."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Disconnect clients that are no longer in use."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Account-level configuration and profile selection are covered in"," ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://support.saleslayer.com/support/solutions/articles/206000072271"},"children":["Sales Layer MCP Server URLs and access modes"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-pages","__idx":7},"children":["Related pages"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server/authentication"},"children":["Authentication"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server/tools"},"children":["Tool reference"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server/quickstart"},"children":["Quickstart"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/mcp-server/troubleshooting"},"children":["Troubleshooting"]}]}]}]},"headings":[{"value":"MCP access profiles and permissions","id":"mcp-access-profiles-and-permissions","depth":1},{"value":"Read-only and Full","id":"read-only-and-full","depth":2},{"value":"Tools blocked under Read-only","id":"tools-blocked-under-read-only","depth":2},{"value":"Choosing the profile","id":"choosing-the-profile","depth":2},{"value":"Confirmation behavior","id":"confirmation-behavior","depth":2},{"value":"Destructive behavior to review","id":"destructive-behavior-to-review","depth":2},{"value":"Recommended practice","id":"recommended-practice","depth":2},{"value":"Related pages","id":"related-pages","depth":2}],"frontmatter":{"seo":{"title":"MCP access profiles and permissions","description":"Compare Read-only and Full access profiles for Sales Layer MCP Catalog and DAM tools, including confirmation behavior for writes."},"keywords":{"includes":["MCP permissions","access profile","read-only access","AI assistant write access","MCP security"]},"metadata":{"redocly_category":"MCP Server","api_domain":"MCP"}},"lastModified":"2026-08-31T15:07:55.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/mcp-server/permissions","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}