Developers
Start building
Apps/Permissions and topics

Permissions and topics

Every permission an app can request, every webhook topic it can subscribe to, every UI target it can render into and every API error code. Generated from the platform contracts.

On this page

These tables are built from the platform contracts on every docs build, so they always match what the manifest validator accepts.

Permissions

An app lists permission ids in permissions.required and permissions.optional of poltura.app.json, each with a purpose. These are the same permissions merchants give their team members, so a merchant reads the same label at install time as in their team settings. Write permissions change only the fields named in the App API reference. Installation storage and the app.* lifecycle webhooks need no permission.

The full catalogue, with labels and descriptions in English and Hungarian, is served at GET https://api.poltura.com/v1/access/catalog?locale=en (or locale=hu).

PermissionAccessWhat merchants see
orders.readReadSee orders See orders, their items, payments and fulfilments
orders.writeWriteChange orders Edit orders, create fulfilments and returns
orders.refundWriteRefund orders Refund payments
products.readReadSee products See products, variants, prices, stock and collections
products.writeWriteEdit products Create and edit products, variants, prices, stock and collections
products.publishWritePublish products Put products on the storefront and take them down
customers.readReadSee customers See customers, their contact details, addresses and order history
customers.writeWriteChange customers Create and edit customers, their addresses and groups
promotions.readReadSee discounts See discounts, promotions and their rules
promotions.writeWriteChange discounts Create and change discounts and promotions
content.readReadSee content See pages, blog posts and guides
content.writeWriteChange content Write and edit pages, blog posts and guides
media.readReadSee media See the store’s images, videos and files
media.writeWriteUpload and edit media Upload, replace and edit images, videos and files
media.deleteWriteDelete media Delete images, videos and files nothing uses any more
settings.readReadSee store settings See the store’s name, languages, currencies, regions and shipping
settings.writeWriteChange store settings Change the store’s name, languages, currencies, regions and shipping
imports.readReadSee imports and their reports See imports from other platforms and files, and their reports
imports.writeWriteConnect shops and run imports Connect another shop and import its products, customers and orders
integrations.readReadSee apps See connected apps and their settings
integrations.writeWriteConnect and set up apps Connect apps and change their settings
apps.installWriteInstall apps Install and remove apps, and choose the stores and permissions each one gets
feeds.readReadSee feeds See product feeds for comparison sites and marketplaces, and which products they list
feeds.writeWriteSet up and change feeds Set up product feeds and change their rules
team.readReadSee the team See the organization’s members and their roles
organization.settings.writeWriteChange organization settings Change the organization’s name and settings
projects.manageWriteCreate and delete stores Create new stores in the organization and delete existing ones
domains.readReadSee domains See the organization’s domains and their DNS status
domains.manageWriteAdd and change domains Add, connect and change domains, and point them at stores
billing.readReadSee invoices and plans See invoices, plans, add-ons and usage
billing.accounts.manageWriteManage billing accounts Create billing accounts and change their billing details
theme.readReadSee the theme See the storefront theme and its settings
theme.writeWriteChange the theme Change the storefront theme, its sections and settings
theme.code.writeWriteEdit theme code Change theme code files, styles and assets in a theme draft
theme.publishWritePublish the theme Make a theme draft live for shoppers, or roll the live theme back
storefront.status.readReadSee the store status and password See whether the store is open, closed or behind a password, and the password
storefront.status.manageWriteOpen, close and set the store password Open and close the store, and set or remove its password
inbox.readReadRead messages Read customer messages and conversations
inbox.replyWriteReply to messages Reply to customer messages and assign conversations
inbox.manageWriteChange inbox settings Change the inbox’s channels, rules and settings
inbox.ai.useWriteDraft replies with AI Draft replies to customers with AI
mail.readReadSee sent emails See the emails the store sent and whether they arrived
mail.content.readReadOpen sent email content Open what a sent email said
mail.resendWriteResend sent emails Send an email the store sent once more
ai.assistant.useWriteUse the AI assistant Ask the AI assistant for help in the admin
ai.coder.useWriteChange the store’s code with AI Have AI change the storefront’s code
translation.useWriteTranslate the store Translate the store into other languages

Webhook topics

Subscribe in webhooks[] with a topic and an HTTPS destination. Deliveries are signed with Ed25519; see Webhooks.

ResourceTopics
productproduct.createdproduct.updatedproduct.deleted
orderorder.createdorder.updatedorder.paidorder.fulfilledorder.cancelled
customercustomer.createdcustomer.updated
inventoryinventory.updated
appapp.installedapp.updatedapp.suspendedapp.uninstalled
installationinstallation.permissions_changedinstallation.stores_changed

UI targets

Native UI workers render into these targets. See Admin and Storefront.

SurfaceTargets
adminadmin.page, admin.home, admin.product, admin.collection, admin.order, admin.customer
storefrontstorefront.home, storefront.products, storefront.product, storefront.cart, storefront.checkout, storefront.login, storefront.register, storefront.account, storefront.contact, storefront.page, storefront.layout.header, storefront.layout.footer, storefront.app-page

Error codes

Every App API error carries one of these codes.

CodeStatus
invalid_input400
unauthorized401
forbidden403
insufficient_scope403
not_found404
conflict409
stale_version412
quota_exceeded409
rate_limited429
payload_too_large413
unsupported_api_version400
unavailable503
Last updated