Skip to main content
@spree/admin-sdk is the official TypeScript SDK for the Admin API v3 — the back-office counterpart to @spree/sdk. Use it to build integrations, automations, internal tools, and custom admin UIs: manage products, orders, customers, stock, promotions, webhooks, and more.
The Admin SDK is in Developer Preview on the 0.x line and published under the next dist-tag. The API surface may change between minor versions — check the changelog when updating. It requires Spree 5.5 or newer.

Installation

npm install @spree/admin-sdk@next

Quick start

Create a client with a secret API key (server-to-server) and start calling resources:
import { createAdminClient } from '@spree/admin-sdk'

const client = createAdminClient({
  baseUrl: 'https://your-store.com',
  secretKey: process.env.SPREE_SECRET_KEY, // sk_xxx — server-side only
})

// List recent completed orders
const { data: orders, meta } = await client.orders.list({
  status_eq: 'complete',
  sort: '-completed_at',
  limit: 25,
})

// Create a purchasable product — pricing lives on variants
const product = await client.products.create({
  name: 'Aero Hoodie',
  status: 'active',
  tags: ['new-arrivals'],
  variants: [
    {
      sku: 'AERO-HOODIE',
      prices: [{ currency: 'USD', amount: '59.00' }],
    },
  ],
})
Every method is fully typed — responses use Admin-prefixed types generated from the API serializers:
import type { AdminOrder, PaginatedResponse } from '@spree/admin-sdk'

const page: PaginatedResponse<AdminOrder> = await client.orders.list()
Secret keys grant back-office access — never ship them in browser code. For browser-based admin apps, use JWT cookie authentication instead.

Learn more

Authentication

Secret keys with scopes for servers, JWT + httpOnly refresh cookie for browser apps.

Resources

The full resource map — products, orders, customers, stock, promotions, webhooks, and more.

Querying & Errors

Filtering, sorting, pagination, prefixed IDs, and structured error handling.

Admin API Reference

The underlying REST API the SDK wraps — every endpoint, parameter, and response shape.
Adding your own resources? The spree generate api_resource generator scaffolds Admin API endpoints (model, serializers, controllers, specs) in one command, and the extending guide shows how to call custom endpoints from the SDK.