SellubDevelopersAPI reference

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:

APIPurposePlugin
submitSellerApplication, reviewSellerApplicationApplication workflowSellerApplication
requestWalletWithdrawal, adjustSellerWalletWallet opsSellerWallet
verifyDomain, getDomainStatusCustom domain lifecycleDomainVerification
easyMode* queries/mutationsEasy Mode UIEasyMode

All are documented in their respective plugin READMEs.

Rate limits

SurfaceLimit
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 outboundunrelated; 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.