Preppino REST API

Manage your Amazon FBA products and FNSKU labels programmatically.

Get API Access
Base URL: https://preppino.comJSON APIRate Limit: 100 req/min

Quick Start

1. Sign up at preppino.com/pricing and subscribe to the Ultra plan.

2. Go to your Dashboard → API Docs and create an API key.

3. Use the API key in the Authorization header:

Authorization: Bearer pk_live_your_api_key_here

Authentication

All API requests require a valid API key sent as a Bearer token. API keys are available on the Ultra plan (49€/month).

curl -H "Authorization: Bearer pk_live_abc123..." \
  https://preppino.com/api/v1/products

Endpoints

GET/api/v1/products

Returns a paginated list of your products.

Query Parameters

ParameterTypeDefaultDescription
pagenumber1Page number
limitnumber20Items per page (max 100)
searchstring-Search by SKU, FNSKU, ASIN or product name

Example

curl -H "Authorization: Bearer pk_live_abc123..." \
  "https://preppino.com/api/v1/products?page=1&limit=20&search=poster"

Response

{
  "products": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "sku": "ART-10001",
      "fnsku": "X00ABC1001",
      "asin": "B09XYZABC1",
      "productName": "Premium Poster A3",
      "condition": "NewItem",
      "price": "14.99",
      "marketplace": "DE",
      "available": 250,
      "createdAt": "2026-01-15T10:30:00.000Z",
      "updatedAt": "2026-02-10T14:20:00.000Z"
    }
  ],
  "total": 1,
  "page": 1,
  "limit": 20
}
POST/api/v1/products

Create or update products in batch. Uses upsert: existing products (matched by SKU + Marketplace) are updated, new ones are created. Maximum 100 products per request.

Request Body

{
  "products": [
    {
      "sku": "ART-10001",                          // required
      "productName": "Premium Poster A3",           // required
      "fnsku": "X00ABC1001",                        // optional
      "asin": "B09XYZABC1",                         // optional
      "ean": "4012345678901",                        // optional
      "upc": "",                                     // optional
      "mpn": "HP-BL-A3-001",                        // optional
      "brand": "Druckhaus Mayer",                    // optional
      "condition": "NewItem",                        // optional
      "price": "14.99",                              // optional (string)
      "marketplace": "DE",                           // optional, default "DE"
      "available": 250,                              // optional (integer)
      "color": "",                                   // optional
      "size": "",                                    // optional
      "weight": "0.35",                              // optional
      "category": "Poster",                          // optional
      "notes": "",                                   // optional
      "manufacturers": ["Druckhaus Mayer"],          // optional
      "suppliers": ["Papiergroßhandel Schmidt"]      // optional
    }
  ]
}

Example

curl -X POST https://preppino.com/api/v1/products \
  -H "Authorization: Bearer pk_live_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "products": [
      {
        "sku": "ART-10001",
        "productName": "Premium Poster A3",
        "fnsku": "X00ABC1001",
        "asin": "B09XYZABC1",
        "price": "14.99",
        "marketplace": "DE",
        "available": 250,
        "manufacturers": ["Druckhaus Mayer"]
      }
    ]
  }'

Response

{
  "success": true,
  "created": 1,
  "updated": 0,
  "errors": [],
  "products": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "sku": "ART-10001",
      "action": "created"
    }
  ]
}
GET/api/v1/labels

Returns label settings for your products. Optionally filter by product ID.

Query Parameters

ParameterTypeDefaultDescription
productIduuid-Filter by product ID (optional)

Example

curl -H "Authorization: Bearer pk_live_abc123..." \
  "https://preppino.com/api/v1/labels?productId=550e8400-e29b-41d4-a716-446655440000"
GET/api/v1/partners

Returns your partners (manufacturers and suppliers) with product counts.

Query Parameters

ParameterTypeDefaultDescription
typestring-Filter: "manufacturer" or "supplier" (optional)

Example

curl -H "Authorization: Bearer pk_live_abc123..." \
  "https://preppino.com/api/v1/partners?type=supplier"

Response

{
  "partners": [
    {
      "id": "...",
      "name": "Druckhaus Mayer",
      "type": "manufacturer",
      "notes": null,
      "productCount": 12,
      "createdAt": "2026-02-15T10:00:00.000Z"
    }
  ]
}
GET/api/v1/prep-centers

Returns your connected prep centers (Dienstleister). Only active connections are returned.

Example

curl -H "Authorization: Bearer pk_live_abc123..." \
  "https://preppino.com/api/v1/prep-centers"

Response

{
  "prepCenters": [
    {
      "id": "...",
      "prepCenterId": "550e...",
      "displayName": "FBA Prep Berlin",
      "prepCenterName": "Berlin Prep GmbH",
      "prepCenterEmail": "info@berlinprep.de",
      "canGenerateSkuLabels": true,
      "canGeneratePackageLabels": true,
      "invitedAt": "2026-01-10T08:00:00.000Z"
    }
  ]
}
GET/api/v1/orders

Returns your prep orders with items. Supports status and prep center filters.

Query Parameters

ParameterTypeDefaultDescription
statusstring-"open", "in_progress", or "done" (optional)
prepCenterIduuid-Filter by prep center (optional)

Example

curl -H "Authorization: Bearer pk_live_abc123..." \
  "https://preppino.com/api/v1/orders?status=open"
POST/api/v1/orders

Create a new prep order. Items can reference products by productId or sku.

Request Body

{
  "prepCenterId": "550e8400-...",       // required (from GET /api/v1/prep-centers)
  "items": [
    {
      "sku": "ART-10001",               // either sku or productId required
      "quantity": 50,                    // required
      "needsProductLabel": true,         // optional
      "needsShippingLabel": false,       // optional
      "notes": "Handle with care"        // optional
    }
  ],
  "orderNumber": "ORD-2026-042",        // optional
  "notes": "Rush order",                // optional
  "shippingAddress": "Lager 3, Berlin", // optional
  "warehouseNumber": "WH-003",          // optional
  "dueDate": "2026-03-01"               // optional
}

Example

curl -X POST https://preppino.com/api/v1/orders \
  -H "Authorization: Bearer pk_live_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "prepCenterId": "550e8400-e29b-41d4-a716-446655440000",
    "items": [
      { "sku": "ART-10001", "quantity": 50, "needsProductLabel": true },
      { "sku": "ART-10002", "quantity": 100 }
    ],
    "notes": "Priority shipment"
  }'

Response

{
  "success": true,
  "errors": [],
  "order": {
    "id": "...",
    "orderNumber": "ORD-2026-042",
    "status": "open",
    "prepCenterId": "550e...",
    "items": [
      { "id": "...", "productId": "...", "quantity": 50, "needsProductLabel": true, "needsShippingLabel": false }
    ]
  }
}

Rate Limits

All API endpoints share a rate limit of 100 requests per minute per API key.

When the limit is exceeded, the API responds with 429 Too Many Requests. Check the response headers:

  • X-RateLimit-Remaining – remaining requests in current window
  • Retry-After – seconds until the limit resets

Error Codes

StatusMeaning
200Success
400Invalid request body or parameters
401Missing or invalid API key
429Rate limit exceeded
500Internal server error

AI Assistant Integration

This API is designed to work seamlessly with AI assistants like Claude, ChatGPT, and others. Common use cases:

  • Import product lists from spreadsheets or other systems
  • Batch-create products from natural language descriptions
  • Create prep orders: "Send 50x ART-10001 to my prep center"
  • Check order status: "Show me all open orders"
  • Manage partners and suppliers programmatically
  • Sync inventory data from external sources

Simply provide your API key to your AI assistant and describe what you want to do. The assistant can look up your products, partners, and prep centers, then create orders or import products automatically.

Ready to get started?

API access is included in the Ultra plan. Create your API key in the dashboard.

View PricingDashboard → API Keys
© 2026 Preppino. Alle Rechte vorbehalten.
DatenschutzerklärungImpressumBarrierefreiheit