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.
| Scope | Operations |
|---|---|
GET_ACCOUNT_DETAILS | Get site owner details (GET /site/{site_name}/account/details) |
GET_BLOG | Get 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_BOOKING | List 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_CARTS | List carts (GET /site/{site_name}/ecommerce/carts)Get cart ( GET /site/{site_name}/ecommerce/carts/{id}) |
GET_COLLECTION | Get all collections for the site (GET /site/{site_name}/collection)Get collection by name ( GET /site/{site_name}/collection/{collection_name}) |
GET_CONTENT_LIBRARY | Get content library (GET /site/{site_name}/content)Get specific location ( GET /site/{site_name}/content/location/{location_uuid}) |
GET_ECOMMERCE | Get account settings (GET /site/{site_name}/ecommerce)Get store ( GET /site/{site_name}/ecommerce/store) |
GET_MEMBER | Get 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_ORDERS | List 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_PAGES | List pages (GET /site/{site_name}/v2/pages) |
GET_PAYMENT_GATEWAY | List custom payment gateways (GET /site/{site_name}/ecommerce/payment-gateways)Get custom payment gateway ( GET /site/{site_name}/ecommerce/payment-gateways/{id}) |
GET_PAYMENT_SESSIONS | Get payment session (GET /site/{site_name}/ecommerce/payment-sessions/{id}) |
GET_PRODUCTS | List 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_PROVIDERS | List external shipping providers (GET /site/{site_name}/ecommerce/shipping-providers)Get external shipping provider ( GET /site/{site_name}/ecommerce/shipping-providers/{id}) |
PUBLISH_SITE | Publish site (POST /site/{site_name}/republish) |
REPORTING | Get form submissions (GET /site/{site_name}/get-forms) |
SITE_WIDE_HTML | Add 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_BLOG | Import 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_BOOKING | Create 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_COLLECTIONS | Add 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_LIBRARY | Update 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_ECOMMERCE | Update account settings (PATCH /site/{site_name}/ecommerce)Create store ( POST /site/{site_name}/ecommerce/store)Delete store ( DELETE /site/{site_name}/ecommerce/store) |
UPDATE_MEMBER | Update 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_ORDERS | Create 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_PAGES | Update page (PUT /site/{site_name}/v2/pages/{page_uuid}) |
UPDATE_PAYMENT_GATEWAY | Create 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_SESSIONS | Confirm payment session (POST /site/{site_name}/ecommerce/payment-sessions/{id}/confirm) |
UPDATE_PRODUCTS | Create 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_PROVIDERS | Create 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_RULES | Add Redirect rule (POST /site/{site_name}/urlrules) |
UPDATE_WEBSITE | Update 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) |