API reference
Sellub exposes two GraphQL APIs from the Vendure server.
Shop API
Public, used by storefronts. Customer-facing operations: browsing products, cart, checkout, account.
- Endpoint:
https://api.sellub.com/shop-api - Auth:
vendure-token: <channelToken>header to scope to a channel; session cookie for the customer. - Playground (dev):
http://localhost:3000/shop-api - Spec: introspectable via GraphQL; full reference in
sellub-server/dist/schema-shop.graphql.
Common operations
query GetActiveOrder {
activeOrder {
id
code
state
totalWithTax
lines { productVariant { name } quantity linePriceWithTax }
}
}
mutation AddItemToOrder($variantId: ID!, $quantity: Int!) {
addItemToOrder(productVariantId: $variantId, quantity: $quantity) {
... on Order { id totalQuantity }
... on ErrorResult { errorCode message }
}
}Admin API
Internal, used by the dashboard and trusted integrations.
- Endpoint:
https://api.sellub.com/admin-api - Auth: Session cookie (admin sign-in) or
Authorization: Bearer <api-key>. - Playground (dev):
http://localhost:3000/admin-api - Spec:
sellub-server/dist/schema-admin.graphql.
Common operations
query Orders($options: OrderListOptions) {
orders(options: $options) {
items { id code state totalWithTax customer { emailAddress } }
totalItems
}
}
mutation TransitionOrderToState($id: ID!, $state: String!) {
transitionOrderToState(id: $id, state: $state) {
... on Order { id state }
... on OrderStateTransitionError { errorCode transitionError }
}
}Custom Sellub APIs
Beyond stock Vendure, Sellub plugins expose:
| API | Purpose | Plugin |
|---|---|---|
submitSellerApplication, reviewSellerApplication | Application workflow | SellerApplication |
requestWalletWithdrawal, adjustSellerWallet | Wallet ops | SellerWallet |
verifyDomain, getDomainStatus | Custom domain lifecycle | DomainVerification |
easyMode* queries/mutations | Easy Mode UI | EasyMode |
All are documented in their respective plugin READMEs.
Rate limits
| Surface | Limit |
|---|---|
| Shop API (anonymous) | 60 req/min/IP |
| Shop API (authenticated session) | 300 req/min/session |
| Admin API (session) | 1000 req/min/admin |
| Admin API (API key) | configured per key, default 300 req/min |
| Webhook outbound | unrelated; receivers should accept ≥1 req/sec from us |
Need higher limits for an integration? Issue a dedicated API key with a custom limit at Settings → API Keys → Create.