API Documentation

    The Shopflow API.Built for Developers.

    REST and GraphQL APIs with predictable resource-oriented URLs, JSON responses, and standard HTTP status codes.

    99.99% Uptime
    Real-time Sync
    REST + GraphQL
    Base URL

    api.shopflow.io/v2

    Auth

    Bearer Token (JWT)

    Rate Limit

    1,000 req/min

    Versioning

    URL-based /v2/

    TLS

    TLS 1.3 required

    Two APIs. One Platform.

    Use REST for simplicity. GraphQL for precision. Mix both freely.

    REST

    REST API

    Resource-oriented endpoints. Predictable. Easy to debug. Perfect for server integrations and mobile apps.

    Endpoint: api.shopflow.io/v2
    Format: JSON
    Auth: Bearer JWT
    Idempotency: Supported
    Pagination: Cursor-based
    Stable — v2.4
    GraphQL

    GraphQL API

    Fetch exactly what you need. No over-fetching. Ideal for headless storefronts and complex queries.

    Endpoint: api.shopflow.io/graphql
    Introspection: Enabled
    Subscriptions: Real-time (WS)
    Depth limit: 10 levels
    Schema: v3.2 — Latest
    Stable — v3.2

    First API Call in 3 Minutes

    No account needed to explore. Use sk_test_ keys in sandbox.

    Step 01

    Get Your API Key

    # Dashboard → Settings → API Keys
    SHOPFLOW_SECRET=sk_test_...

    sk_test_ = sandbox. sk_live_ = production.

    Step 02

    Install SDK

    npm install @shopflow/node

    Also available: pip, composer, gem

    Step 03

    Make Your First Call

    import Shopflow from '@shopflow/node';
    const sf = new Shopflow({
    secretKey: process.env.SHOPFLOW_SECRET,
    });
    const products = await sf.products.list({const products = await sf.products.list({
    limit: 10,
    status: 'active',
    });
    console.log(products.data);

    Get a list of your products in seconds.

    Works in Every Stack

    Official SDKs for Node, Python, PHP, Ruby. Raw REST and GraphQL for everything else.

    create-order.ts
    import Shopflow from '@shopflow/node';
    
    const sf = new Shopflow({
      secretKey: process.env.SHOPFLOW_SECRET,
      environment: 'production',
    });
    
    const order = await sf.orders.create({
      customer: {
        email: 'john@example.com',
        firstName: 'John',
        lastName: 'Doe',
      },
      lineItems: [
        {
          productId: 'prod_01HXYZ',
          variantId: 'var_01HABC',
          quantity: 2,
        },
      ],
      payment: {
        method: 'net_30',
        currency: 'CAD',
      },
    });
    
    // → { id: 'ord_01HXYZ', status: 'confirmed', total: 'CA$52.35' }

    API Reference Overview

    All endpoints. All methods. One platform.

    METHODENDPOINTDESCRIPTIONAUTHRATE LIMIT
    GET/v2/productsList productsRequired1000/min
    GET/v2/products/:idGet productRequired1000/min
    POST/v2/ordersCreate orderRequired500/min
    GET/v2/orders/:idGet orderRequired1000/min
    PATCH/v2/orders/:idUpdate orderRequired500/min
    POST/v2/customersCreate customerRequired500/min
    GET/v2/inventoryCheck stockRequired2000/min
    POST/v2/webhooksRegister webhookRequired100/min
    DELETE/v2/webhooks/:idRemove webhookRequired100/min

    Start Building Today

    Free sandbox. Full API access. No credit card required.

    Free sandbox forever
    REST + GraphQL
    99.99% uptime SLA
    6 official SDKs