Skip to main content
A Fabrixa API request on screen — JSON order payload with auth headers, against woven textile
API documentation

One endpoint. Infinite products.

Every Fabrixa SKU, every fabric, every finish — addressable through one documented REST API. JSON in, JSON out. Webhooks for every state transition. Self-serve API keys — create a sales channel and start building.

REST · JSON · Webhooks · Studio embed · Swagger

What you get

Built around how production actually works.

A documented REST API that mirrors the platform — orders, fulfilment, Studio customization, and webhooks. JSON in, JSON out. Use it alongside the dashboard, or drive everything programmatically.

01
Orders
POST /v2/integration/orders

Submit an order with rows, source PDFs, customer details and shipping address. Returns the Fabrixa order ID. Optional shipping label and tracking fields.

02
Fulfilment
GET /orders/{id}/fulfillments

Pull production status per line item: every step (print, fix, wash, sew) with pending / in progress / done / rejected states. Or subscribe to webhooks for push.

03
Studio
iframe embed

Embed Fabrixa Studio in your storefront. Customers customize products in real time, with postMessage events for add-to-cart and back, plus a preview URL for cart thumbnails.

04
Webhooks
order.created / order.updated

Two topics, HMAC-SHA256 signed payloads, full order body, 10-retry delivery with back-off.

Quick start

Place an order in one POST.

Authenticated request, validated payload, slot reserved in the production queue. Confirmation back in milliseconds — your customer’s order is now in motion.

Full schema, all endpoints, error codes, rate limits, and integration examples are in the technical docs.

POST /v2/integration/orders
// POST https://api.fabrixa.com/v2/integration/orders
// Authorization: Bearer APPLICATION_ACCESS_TOKEN
// X-Application-Key: APPLICATION_KEY
{
  "number":       "ORD-2026-0142",
  "purchased_at": "2026-05-28 14:22:01",
  "rows": [
    {
      "sku":      "COF099191",
      "quantity": 1,
      "sources": [
        { "type": "file", "url": "https://cdn.you.com/art/9812.pdf" }
      ]
    }
  ],
  "customer": {
    "first_name": "Maria",
    "last_name":  "Silva",
    "email":      "maria@example.com",
    "phone":      "+351912345678"
  },
  "shipping_address": {
    "address":      "Rua do Carmo 42",
    "city":         "Lisboa",
    "postal_code":  "1200-094",
    "country_code": "PT",
    "country":      "Portugal"
  }
}
Integration flow

Live in two weeks. No proxy, no middleware.

Direct REST integration into your platform. No required SDK, no proxy server, no third-party connector. Standard HTTP from your stack to ours.

01
Credentials

Get an Application Access Token and Application Key by creating a sales channel in your dashboard. Both are required on every request: Bearer token in Authorization, Application Key in X-Application-Key.

02
Catalog

Browse the live Swagger reference to find variant SKUs for the products you want to sell, plus filter and pagination patterns.

03
Orders

On checkout, send a POST with rows, sources (PDF URLs), customer and shipping_address. Store the returned Fabrixa order ID against your own order reference.

04
Webhooks

Expose a public POST endpoint. We sign every payload with HMAC-SHA256 (x-webhook-signature) so you can verify authenticity before processing.

05
Studio

Optional: drop the Fabrixa Studio iframe into your product page. Customers personalize live; attach their customizations to the order on POST.

Developer resources

Everything your engineering team needs.

Full API reference

Complete endpoint documentation, request/response schemas, error codes, rate limits, authentication, Studio embedding and webhook contracts — with a live Swagger interface.

Open docs →

Build against a sales channel

Create a dedicated sales channel to build against — submit test orders, verify webhook delivery, validate edge cases — then point real traffic at your live channel. Your keys are ready the moment you create the channel — no request step.

Create your account →

Postman collection

Pre-configured request collection with example payloads and authentication. Import it into your testing workflow.

Get the collection →
Security

Two-header auth. Signed webhooks. Rate-limited.

Standard practices, no surprises. Every request is authenticated with both a Bearer token and an Application Key. Every webhook is HMAC-signed for verification, with predictable per-application rate limits.

Application Access Token

Bearer token in the Authorization header. Identifies the calling application.

Application Key

Sent in the X-Application-Key header. Both are required on every request — missing either returns 401.

TLS encryption

HTTPS-only on api.fabrixa.com. Plain-text requests are rejected at the edge.

Webhook signatures

Every webhook is signed with HMAC-SHA256, sent in the x-webhook-signature header. Verify before processing.

Rate limits

30 requests per application per minute. X-RateLimit-Limit and X-RateLimit-Remaining are returned on every response.

Webhook retries

Up to 10 delivery attempts on a non-2xx / non-3xx response. The webhook is deactivated after the 10th failure.

FAQ

The Integration API, answered

How do I authenticate with the Fabrixa API?

Every request needs two headers: an Application Access Token sent as a Bearer token in the Authorization header, and an Application Key in X-Application-Key. Both are generated the moment you create a sales channel in the Fabrixa dashboard, and a request is rejected with a 401 if either header is missing.

Can I test the Fabrixa API before sending real orders?

Yes — create a dedicated sales channel to build against, submit test orders, verify webhook delivery, and validate edge cases, then point real traffic at your live channel once it works. Registering and creating that channel makes your Application Access Token and Application Key available immediately, with no separate request step.

Is the Fabrixa integration API encrypted with HTTPS?

Yes — the API is HTTPS-only on api.fabrixa.com, and any plain-text request is rejected at the edge. Every request is also authenticated with both a Bearer token and an Application Key, and every webhook payload is signed with HMAC-SHA256 so it can be verified before processing.

What does a POST to /v2/integration/orders return?

An authenticated POST to /v2/integration/orders validates the payload, reserves a slot in the production queue, and returns confirmation with the Fabrixa order ID in milliseconds, along with optional shipping label and tracking fields. Fulfilment can then be tracked per line item or pushed to you via webhooks.

Do I need an SDK or proxy to integrate with the Fabrixa API?

No — fabrixa's integration is a direct REST connection over standard HTTP, with no required SDK, no proxy server, and no third-party connector needed. You call the API directly from your own stack using JSON requests and responses, with webhooks for state changes.

Start building

Create a sales channel and start building today.

Register, create a sales channel and your API credentials are ready immediately. Need a hand? Our solutions engineers respond within 24h — most teams are live in two weeks.

Knowledge base

Questions about Integrations & API?

All 8 answers on Integrations & API → Ask our support team →