Skip to content

Reference

Shopify (Dev Dashboard app)

Connect a Shopify Dev Dashboard app to Alter Vault using its client credentials

Use the Client ID and Client secret of a Shopify app created in the Dev Dashboard to make authenticated Admin API calls through Alter Vault. The client secret stays in the vault: Alter exchanges it for a short-lived Admin API access token through Shopify’s client-credentials grant and only that token is sent on the wire and returned to the SDK.

PropertyValue
Provider IDshopify-client-credentials
CategoryE-commerce
Credential TypeOAuth client credentials

Create the app in the Dev Dashboard

Open the Shopify Dev Dashboard, select the organization that owns the store, and on Apps click Create app > Start from Dev Dashboard. Name the app and click Create. Shopify’s Dev Dashboard guide covers the full flow.

Release a version with the scopes

On the app’s Versions tab, create a new version, enter the Admin API scopes the integration needs, then click Release.

Install the app on the store

Back on the app’s Home page click Install app, pick the store, and confirm. The store must belong to the same Dev Dashboard organization as the app.

Copy the credentials

Go to the app’s Settings and copy the Client ID and the Client secret under Credentials.

Open the Developer Portal

Go to portal.alterauth.com and navigate to the application.

Add Shopify (Dev Dashboard app)

Go to Managed Secrets > Add Provider > Shopify (Dev Dashboard app).

Enter credentials

Enter your store subdomain (e.g. your-store from your-store.myshopify.com) and the Client ID in their fields, and paste the Client secret into the credential field.

Save

Click Save. Alter performs a real token exchange to verify the credentials before storing them. You’ll receive a grant_id to use with the SDK.

response = await alter_app.request(
HttpMethod.GET,
"https://your-store.myshopify.com/admin/api/YOUR_API_VERSION/products.json",
grant_id="YOUR_GRANT_ID",
)

Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.

Operation IDFamiliesMethodProvider path
orders/canceladmin, delete, paymentPOST/admin/api/{api_version}/orders/{order_id}/cancel.json
orders/createadmin, paymentPOST/admin/api/{api_version}/orders.json
customers/createadmin, writePOST/admin/api/{api_version}/customers.json
graphqladmin, delete, payment, read, send, writePOST/admin/api/{api_version}/graphql.json
products/createadmin, writePOST/admin/api/{api_version}/products.json
webhooks/createadmin, writePOST/admin/api/{api_version}/webhooks.json
customers/listreadGET/admin/api/{api_version}/customers.json
customers/searchreadGET/admin/api/{api_version}/customers/search.json
inventory_levels/listreadGET/admin/api/{api_version}/inventory_levels.json
orders/listreadGET/admin/api/{api_version}/orders.json
products/countreadGET/admin/api/{api_version}/products/count.json
products/listreadGET/admin/api/{api_version}/products.json
shop/getreadGET/admin/api/{api_version}/shop.json
variants/listreadGET/admin/api/{api_version}/products/{product_id}/variants.json
webhooks/listreadGET/admin/api/{api_version}/webhooks.json

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.