const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('http://{defaultHost}/api/v3/seller/me', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request GET \
--url http://{defaultHost}/api/v3/seller/me \
--header 'Authorization: Bearer <token>'{
"user": {
"id": "adm_UkLWZg9DAJ",
"email": "johnny_feest@hodkiewicz.ca",
"first_name": "Nadia",
"last_name": "Effertz",
"full_name": "Nadia Effertz",
"created_at": "2026-01-15T12:00:00.000Z",
"avatar_url": null
},
"sellers": [
{
"id": "sel_UkLWZg9DAJ",
"name": "Seller 53",
"slug": "seller-53",
"status": "approved"
}
],
"permissions": [
{
"allow": true,
"actions": [
"read"
],
"subjects": [
"Spree::Country"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read"
],
"subjects": [
"Spree::State"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read"
],
"subjects": [
"Spree::Store"
],
"has_conditions": true
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::Product"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::Variant"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::OptionType"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::OptionValue"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::Price"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::PriceList"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::PriceRule"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::Catalog"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::CatalogProduct"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::CatalogAssignment"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::CustomField"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::DigitalAsset"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::Import"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::ImportRow"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::Product"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::Variant"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::OptionType"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::OptionValue"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::Price"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::PriceList"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::PriceRule"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::Catalog"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::CatalogProduct"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::CatalogAssignment"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::CustomField"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::DigitalAsset"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::Import"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::ImportRow"
],
"has_conditions": false
}
],
"permission_keys": [
"read_products",
"write_products"
]
}{
"error": {
"code": "authentication_required",
"message": "Authentication required"
}
}The signed-in user, the sellers they may act for, and what they may do on the selected one.
This is the one authenticated endpoint that answers without
X-Spree-Seller-Id — it is what tells the panel which seller to name.
Sending the header narrows permission_keys and permissions to that
seller; without it both are empty, because capability is per seller and
there is no answer spanning all of them.
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('http://{defaultHost}/api/v3/seller/me', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request GET \
--url http://{defaultHost}/api/v3/seller/me \
--header 'Authorization: Bearer <token>'{
"user": {
"id": "adm_UkLWZg9DAJ",
"email": "johnny_feest@hodkiewicz.ca",
"first_name": "Nadia",
"last_name": "Effertz",
"full_name": "Nadia Effertz",
"created_at": "2026-01-15T12:00:00.000Z",
"avatar_url": null
},
"sellers": [
{
"id": "sel_UkLWZg9DAJ",
"name": "Seller 53",
"slug": "seller-53",
"status": "approved"
}
],
"permissions": [
{
"allow": true,
"actions": [
"read"
],
"subjects": [
"Spree::Country"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read"
],
"subjects": [
"Spree::State"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read"
],
"subjects": [
"Spree::Store"
],
"has_conditions": true
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::Product"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::Variant"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::OptionType"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::OptionValue"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::Price"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::PriceList"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::PriceRule"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::Catalog"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::CatalogProduct"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::CatalogAssignment"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::CustomField"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::DigitalAsset"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::Import"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"read",
"admin"
],
"subjects": [
"Spree::ImportRow"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::Product"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::Variant"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::OptionType"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::OptionValue"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::Price"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::PriceList"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::PriceRule"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::Catalog"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::CatalogProduct"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::CatalogAssignment"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::CustomField"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::DigitalAsset"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::Import"
],
"has_conditions": false
},
{
"allow": true,
"actions": [
"manage"
],
"subjects": [
"Spree::ImportRow"
],
"has_conditions": false
}
],
"permission_keys": [
"read_products",
"write_products"
]
}{
"error": {
"code": "authentication_required",
"message": "Authentication required"
}
}Authorizations
JWT token for an authenticated seller session (seller_api audience)
Headers
The seller to report capability for. Omit to list sellers without narrowing permissions.
Response
current user returned
The signed-in user, the sellers they may act for, and what they may do on the selected one
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Permission keys on the selected seller. Empty until X-Spree-Seller-Id names one — capability is per seller.
["read_products", "write_products"]
Was this page helpful?

