Scopes

Which scope each App Store API operation needs.

An app's manifest lists the scopes it needs. When a site owner installs the app, they approve those scopes, and the installation's access token (X-DUDA-ACCESS-TOKEN) carries them. Every call checks the scope of the operation; a call without it is refused with 403 Access is denied. The App Scopes guide explains how scopes and webhooks are set in the manifest.

📘

Changing an app's scopes does not change existing installations. They keep the scopes they were installed with until the site gets a new token or reinstalls the app.

The table lists every operation of this reference by the scope it requires. GET operations need the read scope of their resource, every other method the update scope. The three app-level operations (manifest and token refresh) need no scope: they are authorized by the app's own credentials.

ScopeOperations
GET_ACCOUNT_DETAILSGet site owner details (GET /site/{site_name}/account/details)
GET_BLOGGet blog (GET /site/{site_name}/blog)
List blog posts (GET /site/{site_name}/blog/posts)
Get blog post (GET /site/{site_name}/blog/posts/{post_id})
GET_BOOKINGList appointment types (GET /site/{site_name}/booking/appointment-types)
Get appointment type (GET /site/{site_name}/booking/appointment-types/{id})
List appointments (GET /site/{site_name}/booking/appointments)
Get available time slots for an appointment type (GET /site/{site_name}/booking/availability)
GET_CARTSList carts (GET /site/{site_name}/ecommerce/carts)
Get cart (GET /site/{site_name}/ecommerce/carts/{id})
GET_COLLECTIONGet all collections for the site (GET /site/{site_name}/collection)
Get collection by name (GET /site/{site_name}/collection/{collection_name})
GET_CONTENT_LIBRARYGet content library (GET /site/{site_name}/content)
Get specific location (GET /site/{site_name}/content/location/{location_uuid})
GET_ECOMMERCEGet account settings (GET /site/{site_name}/ecommerce)
Get store (GET /site/{site_name}/ecommerce/store)
GET_MEMBERGet membership configuration (GET /site/{site_name}/membership/configuration)
List groups (GET /site/{site_name}/membership/groups)
Get group (GET /site/{site_name}/membership/groups/{id})
List invitations (GET /site/{site_name}/membership/invitations)
List members (GET /site/{site_name}/membership/members)
Get member (GET /site/{site_name}/membership/members/{id})
GET_ORDERSList orders (GET /site/{site_name}/ecommerce/orders)
Get order (GET /site/{site_name}/ecommerce/orders/{order_id})
List order fulfillments (GET /site/{site_name}/ecommerce/orders/{order_id}/fulfillments)
Get order fulfillment (GET /site/{site_name}/ecommerce/orders/{order_id}/fulfillments/{fulfillment_id})
List order refunds (GET /site/{site_name}/ecommerce/orders/{order_id}/refunds)
Get order refund (GET /site/{site_name}/ecommerce/orders/{order_id}/refunds/{refund_id})
Get refund intent (GET /site/{site_name}/ecommerce/refund-intents/{id})
GET_PAGESList pages (GET /site/{site_name}/v2/pages)
GET_PAYMENT_GATEWAYList custom payment gateways (GET /site/{site_name}/ecommerce/payment-gateways)
Get custom payment gateway (GET /site/{site_name}/ecommerce/payment-gateways/{id})
GET_PAYMENT_SESSIONSGet payment session (GET /site/{site_name}/ecommerce/payment-sessions/{id})
GET_PRODUCTSList product options (GET /site/{site_name}/ecommerce/options)
Get product option (GET /site/{site_name}/ecommerce/options/{option_id})
List products (GET /site/{site_name}/ecommerce/products)
Get product (GET /site/{site_name}/ecommerce/products/{product_id})
Get product variation (GET /site/{site_name}/ecommerce/products/{product_id}/variations/{variation_id})
GET_SHIPPING_PROVIDERSList external shipping providers (GET /site/{site_name}/ecommerce/shipping-providers)
Get external shipping provider (GET /site/{site_name}/ecommerce/shipping-providers/{id})
PUBLISH_SITEPublish site (POST /site/{site_name}/republish)
REPORTINGGet form submissions (GET /site/{site_name}/get-forms)
SITE_WIDE_HTMLAdd site-wide HTML (POST /site/{site_name}/sitewidehtml)
List site-wide HTML (GET /site/{site_name}/sitewidehtml/list)
Get site-wide HTML (GET /site/{site_name}/sitewidehtml/{site_wide_uuid})
Update site-wide HTML (PUT /site/{site_name}/sitewidehtml/{site_wide_uuid})
Delete site-wide HTML (DELETE /site/{site_name}/sitewidehtml/{site_wide_uuid})
Publish site-wide HTML (POST /site/{site_name}/sitewidehtml/{site_wide_uuid}/publish)
UPDATE_BLOGImport blog post (POST /site/{site_name}/blog/posts/import)
Delete blog post (DELETE /site/{site_name}/blog/posts/{post_id})
Update blog post (PATCH /site/{site_name}/blog/posts/{post_id})
Publish blog post (POST /site/{site_name}/blog/posts/{post_id}/publish)
Unpublish blog post (POST /site/{site_name}/blog/posts/{post_id}/unpublish)
UPDATE_BOOKINGCreate appointment type (POST /site/{site_name}/booking/appointment-types)
Update appointment type (PUT /site/{site_name}/booking/appointment-types/{id})
Delete appointment type (DELETE /site/{site_name}/booking/appointment-types/{id})
Book an appointment (POST /site/{site_name}/booking/appointments)
Email appointment details (POST /site/{site_name}/booking/appointments/{appointment_uid}/send-management-email)
UPDATE_COLLECTIONSAdd collection to the site (POST /site/{site_name}/collection)
Update collection (PUT /site/{site_name}/collection/{collection_name})
Delete collection (DELETE /site/{site_name}/collection/{collection_name})
Test external API connection (POST /site/{site_name}/collection/{collection_name}/external/connection)
Add field to the collection (POST /site/{site_name}/collection/{collection_name}/field)
Update field (PUT /site/{site_name}/collection/{collection_name}/field/{field_name})
Delete field (DELETE /site/{site_name}/collection/{collection_name}/field/{field_name})
Publish collection (POST /site/{site_name}/collection/{collection_name}/publish)
Query collection data (POST /site/{site_name}/collection/{collection_name}/query-data)
Refresh collection data (POST /site/{site_name}/collection/{collection_name}/revalidate)
Update rows (PUT /site/{site_name}/collection/{collection_name}/row)
Create rows (POST /site/{site_name}/collection/{collection_name}/row)
Delete rows (DELETE /site/{site_name}/collection/{collection_name}/row)
Update only the given fields of existing rows in the collection (PATCH /site/{site_name}/collection/{collection_name}/row)
Delete row (DELETE /site/{site_name}/collection/{collection_name}/row/{row_uuid})
UPDATE_CONTENT_LIBRARYUpdate content library (POST /site/{site_name}/content)
Add specific location (POST /site/{site_name}/content/location)
Update specific location (POST /site/{site_name}/content/location/{location_uuid})
Delete specific location (DELETE /site/{site_name}/content/location/{location_uuid})
Publish content library (POST /site/{site_name}/content/publish)
Upload Resources (POST /site/{site_name}/resources/upload)
UPDATE_ECOMMERCEUpdate account settings (PATCH /site/{site_name}/ecommerce)
Create store (POST /site/{site_name}/ecommerce/store)
Delete store (DELETE /site/{site_name}/ecommerce/store)
UPDATE_MEMBERUpdate membership configuration (PUT /site/{site_name}/membership/configuration)
Create group (POST /site/{site_name}/membership/groups)
Delete group (DELETE /site/{site_name}/membership/groups/{id})
Update group (PATCH /site/{site_name}/membership/groups/{id})
Create invitation (POST /site/{site_name}/membership/invitations)
Batch create invitations (POST /site/{site_name}/membership/invitations/batch)
Delete invitation (DELETE /site/{site_name}/membership/invitations/{id})
Delete member (DELETE /site/{site_name}/membership/members/{id})
Update member (PATCH /site/{site_name}/membership/members/{id})
Create member password reset link (POST /site/{site_name}/membership/members/{id}/change-password)
UPDATE_ORDERSCreate order (POST /site/{site_name}/ecommerce/orders)
Update order (PATCH /site/{site_name}/ecommerce/orders/{order_id})
Cancel order (POST /site/{site_name}/ecommerce/orders/{order_id}/cancel)
Create order fulfillment (POST /site/{site_name}/ecommerce/orders/{order_id}/fulfillments)
Update order fulfillment (PATCH /site/{site_name}/ecommerce/orders/{order_id}/fulfillments/{fulfillment_id})
Create order refund (POST /site/{site_name}/ecommerce/orders/{order_id}/refunds)
UPDATE_PAGESUpdate page (PUT /site/{site_name}/v2/pages/{page_uuid})
UPDATE_PAYMENT_GATEWAYCreate custom payment gateway (POST /site/{site_name}/ecommerce/payment-gateways)
Delete custom payment gateway (DELETE /site/{site_name}/ecommerce/payment-gateways/{id})
Update custom payment gateway (PATCH /site/{site_name}/ecommerce/payment-gateways/{id})
UPDATE_PAYMENT_SESSIONSConfirm payment session (POST /site/{site_name}/ecommerce/payment-sessions/{id}/confirm)
UPDATE_PRODUCTSCreate product option (POST /site/{site_name}/ecommerce/options)
Update product option (PUT /site/{site_name}/ecommerce/options/{option_id})
Delete product option (DELETE /site/{site_name}/ecommerce/options/{option_id})
Create product option choice (POST /site/{site_name}/ecommerce/options/{option_id}/choices)
Update product option choice (PUT /site/{site_name}/ecommerce/options/{option_id}/choices/{choice_id})
Delete product option choice (DELETE /site/{site_name}/ecommerce/options/{option_id}/choices/{choice_id})
Create product (POST /site/{site_name}/ecommerce/products)
Create multiple products (POST /site/{site_name}/ecommerce/products/bulk)
Update multiple products (PATCH /site/{site_name}/ecommerce/products/bulk)
Batch delete products (POST /site/{site_name}/ecommerce/products/delete)
Batch update product prices (PUT /site/{site_name}/ecommerce/products/prices)
Batch update product stocks (PUT /site/{site_name}/ecommerce/products/stocks)
Delete product (DELETE /site/{site_name}/ecommerce/products/{product_id})
Update product (PATCH /site/{site_name}/ecommerce/products/{product_id})
Update variation external IDs (PATCH /site/{site_name}/ecommerce/products/{product_id}/variations/external-ids)
Update product variation (PATCH /site/{site_name}/ecommerce/products/{product_id}/variations/{variation_id})
UPDATE_SHIPPING_PROVIDERSCreate external shipping provider (POST /site/{site_name}/ecommerce/shipping-providers)
Delete external shipping provider (DELETE /site/{site_name}/ecommerce/shipping-providers/{id})
Update external shipping provider (PATCH /site/{site_name}/ecommerce/shipping-providers/{id})
UPDATE_URL_RULESAdd Redirect rule (POST /site/{site_name}/urlrules)
UPDATE_WEBSITEUpdate site (POST /site/{site_name})
No scope (app credentials only)Get site (GET /site/{site_name})
Get branding information (GET /site/{site_name}/branding)
Get app manifest (GET /{app_uuid})
Update app manifest (POST /{app_uuid})
Refresh access token (POST /{app_uuid}/token/refresh)