Spree Admin SDK
import { createAdminClient } from '@spree/admin-sdk'
const client = createAdminClient({
baseUrl: 'https://your-store.com',
secretKey: 'sk_xxx',
})
const me = await client.me.get()
if (
me.permissions.some(
(r) => r.allow && r.actions.includes('manage') && r.subjects.includes('Spree::Product'),
)
) {
// show "Create product" button
}spree api get /me{
"user": {
"id": "adm_UkLWZg9DAJ",
"email": "annabelle@brekke.info",
"first_name": "Zenobia",
"last_name": "Sanford",
"full_name": "Zenobia Sanford",
"selected_locale": null,
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z",
"avatar_url": null,
"roles": [
{
"id": "role_UkLWZg9DAJ",
"name": "admin"
}
],
"stores": [
{
"id": "store_UkLWZg9DAJ",
"name": "Spree Test Store",
"code": "spree_1"
}
]
},
"permissions": [
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"all"
],
"has_conditions": false
}
],
"permission_keys": [
"read_dashboard",
"read_reports",
"write_reports",
"read_orders",
"write_orders",
"read_payments",
"write_payments",
"read_fulfillments",
"write_fulfillments",
"read_refunds",
"write_refunds",
"read_products",
"write_products",
"read_product_types",
"write_product_types",
"read_publishing",
"write_publishing",
"read_media",
"write_media",
"read_categories",
"write_categories",
"read_collections",
"write_collections",
"read_stock",
"write_stock",
"read_purchasing",
"write_purchasing",
"read_customers",
"write_customers",
"read_sellers",
"write_sellers",
"read_commissions",
"write_commissions",
"read_payouts",
"write_payouts",
"read_gift_cards",
"write_gift_cards",
"read_store_credits",
"write_store_credits",
"read_promotions",
"write_promotions",
"read_settings",
"write_settings",
"read_delivery_methods",
"write_delivery_methods",
"read_package_types",
"write_package_types",
"read_webhooks",
"write_webhooks",
"read_integrations",
"write_integrations",
"read_api_keys",
"write_api_keys",
"read_staff",
"write_staff"
]
}{
"error": {
"code": "authentication_required",
"message": "Authentication required"
}
}Get current admin user and permissions
Returns the current admin user profile and a serialized list of permissions (CanCanCan rules). The SPA uses these to drive UI permission checks.
GET
/
api
/
v3
/
admin
/
me
Spree Admin SDK
import { createAdminClient } from '@spree/admin-sdk'
const client = createAdminClient({
baseUrl: 'https://your-store.com',
secretKey: 'sk_xxx',
})
const me = await client.me.get()
if (
me.permissions.some(
(r) => r.allow && r.actions.includes('manage') && r.subjects.includes('Spree::Product'),
)
) {
// show "Create product" button
}spree api get /me{
"user": {
"id": "adm_UkLWZg9DAJ",
"email": "annabelle@brekke.info",
"first_name": "Zenobia",
"last_name": "Sanford",
"full_name": "Zenobia Sanford",
"selected_locale": null,
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z",
"avatar_url": null,
"roles": [
{
"id": "role_UkLWZg9DAJ",
"name": "admin"
}
],
"stores": [
{
"id": "store_UkLWZg9DAJ",
"name": "Spree Test Store",
"code": "spree_1"
}
]
},
"permissions": [
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"all"
],
"has_conditions": false
}
],
"permission_keys": [
"read_dashboard",
"read_reports",
"write_reports",
"read_orders",
"write_orders",
"read_payments",
"write_payments",
"read_fulfillments",
"write_fulfillments",
"read_refunds",
"write_refunds",
"read_products",
"write_products",
"read_product_types",
"write_product_types",
"read_publishing",
"write_publishing",
"read_media",
"write_media",
"read_categories",
"write_categories",
"read_collections",
"write_collections",
"read_stock",
"write_stock",
"read_purchasing",
"write_purchasing",
"read_customers",
"write_customers",
"read_sellers",
"write_sellers",
"read_commissions",
"write_commissions",
"read_payouts",
"write_payouts",
"read_gift_cards",
"write_gift_cards",
"read_store_credits",
"write_store_credits",
"read_promotions",
"write_promotions",
"read_settings",
"write_settings",
"read_delivery_methods",
"write_delivery_methods",
"read_package_types",
"write_package_types",
"read_webhooks",
"write_webhooks",
"read_integrations",
"write_integrations",
"read_api_keys",
"write_api_keys",
"read_staff",
"write_staff"
]
}{
"error": {
"code": "authentication_required",
"message": "Authentication required"
}
}Authorizations
Secret API key for admin access
JWT token for admin user authentication
Headers
Bearer token for admin authentication
Was this page helpful?
⌘I

