Request API access
LaundryOS API

Run your own storefront on LaundryOS rails.

Bring your own website or app. Use the LaundryOS API for the hard parts: a service catalogue and pricing, customer accounts, orders tracked to delivery, hosted checkout that settles straight to your bank, and webhooks. Your staff still run everything from the Business Portal.

How it fits

A capability of your plan, not a separate product.

The API is a way to consume LaundryOS, not a different product. You are a normal LaundryOS tenant on a normal plan, paying the same monthly fee and the same commission. The only difference is where your customers book: your own front end instead of our hosted storefront. API access is included on the higher plans. Talk to us to turn it on.

You bring

Your website or app, and your developer (or ours). You design the customer experience and own your brand.

LaundryOS brings

Catalogue and pricing, customer accounts, the order lifecycle, payments with the split to your bank, receipts and webhooks.

Same economics

No separate API fee. You pay your plan's monthly fee and commission; online payments still settle to your bank with the platform fee split automatically.

Quickstart

Authenticate, then build the flow.

Create an API key in your Business Portal under Developers (the secret is shown once). Send it on every request. Keys are scoped and come in test and live modes.

# 1. Create-or-link a customer (idempotent on your own id)
curl https://api.laundryosapp.com/api/v1/public/customers \
  -H "X-API-Key: los_test_..." \
  -d '{ "externalId":"user-123", "fullName":"Ada Obi", "email":"[email protected]" }'

# 2. Create an order, 3. open checkout, 4. confirm
POST /api/v1/public/orders
POST /api/v1/public/orders/:id/checkout   // returns a Paystack URL
GET  /api/v1/public/orders/:id/payment    // paid?
  • Auth: X-API-Key or Authorization: Bearer
  • Scopes: least-privilege per key (catalog, customers, orders, payments)
  • Test mode: a los_test_ key simulates payments, moves no money, and stays out of your reports
  • Rate limits: per key, with a 429 + retryAfter when exceeded
  • Webhooks: signed events for order and payment changes
Versioning & deprecation

Stable by default, with notice before anything breaks.

We version the API in the path (/api/v1) and aim to add, not break. Build tolerantly and your integration keeps working.

Non-breaking, anytime: new endpoints or optional fields, new response fields, new enum values, error codes or webhook event types. Ignore fields you don't recognise and don't hard-code enum sets.
Breaking changes ship under a new version (e.g. /api/v2): removing or renaming a field or endpoint, changing a type or units, or tightening validation. We never make breaking changes in place within a live version.
Deprecation window: a deprecated version keeps working for at least 6 months after we announce it. Responses carry Deprecation and, once a date is set, Sunset headers; after sunset the old version returns 410 Gone pointing at the replacement.
Staying informed: the OpenAPI spec at /api/v1/public/openapi.json always reflects the live contract, and we email the technical contact on affected tenants before a sunset. Questions: [email protected].
The public API is available on higher plans and is enabled per tenant by LaundryOS. To get a key, upgrade your plan or request API access.