TagFlow

New here? Read the product guide for logins, roles, and fulfilment flow.

Interactive docs

Use Swagger UI to explore and try the API, or download the OpenAPI JSON schema.

Authentication

Send your API key on every request:

X-API-Key: tagflow_xxxxxxxxxxxxxxxx

Or as a bearer token:

Authorization: Bearer tagflow_xxxxxxxxxxxxxxxx

Base URL

https://www.tagflow.co.uk/api/v1/

Reseller integration pattern

One order = one manufacturer. Recommended flow:

  1. GET /api/v1/manufacturers/ — customer picks a manufacturer
  2. GET /api/v1/products/?manufacturer_id=… — show that supplier’s catalogue
  3. POST /api/v1/orders/ with offer_id (or sku + manufacturer_id)
  4. Open checkout_url when payment is required

See the reseller API section in the product guide for the full pattern.

Endpoints

GET /api/v1/health/

Public health check. No API key required.

GET /api/v1/manufacturers/

List manufacturers with active offers — use this for a manufacturer-first customer picker.

GET /api/v1/products/

List active products with manufacturer offers. Optional query: ?manufacturer_id= to scope to one supplier.

GET /api/v1/orders/

List orders for your authenticated company.

POST /api/v1/orders/

Create an order. Prefer offer_id when multiple manufacturers sell the same SKU. Paid totals return a Stripe checkout_url.

{
  "external_reference": "DOGHEALTHY-ORDER-42",
  "customer_email": "buyer@example.com",
  "notes": "Collar tags batch",
  "shipping": {
    "name": "DogHealthy Ops",
    "line1": "12 Example Street",
    "city": "London",
    "postal_code": "E1 6AN",
    "country": "GB"
  },
  "items": [
    { "offer_id": "6bf0efd0-9bc2-4cb9-8c08-87396f7049e4", "quantity": 100 }
  ]
}

GET /api/v1/orders/<id-or-order-number>/

Fetch a single order belonging to your company.

cURL example

curl -X POST https://www.tagflow.co.uk/api/v1/orders/ \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_KEY" \
  -d '{
    "external_reference": "doghealthy-test-001",
    "customer_email": "buyer@example.com",
    "items": [{"sku": "NTAG216-KEYFOB", "quantity": 10}],
    "shipping": {
      "name": "DogHealthy",
      "line1": "1 Test Road",
      "city": "London",
      "postal_code": "N1 1AA",
      "country": "GB"
    }
  }'

Sign up for an API key