POST
POS sales
/api/public/v1/pos/sales
Send completed POS sales. Core should send sales as a nightly batch sync; Growth and Enterprise can send nightly batches or real-time webhook sales.
Developer docs
Use business-owned API keys from Settings - Automation. Keys are scoped, rate-limited, logged, and should be stored only inside the trusted POS, server, or integration backend.
POST
/api/public/v1/pos/sales
Send completed POS sales. Core should send sales as a nightly batch sync; Growth and Enterprise can send nightly batches or real-time webhook sales.
POST
/api/public/v1/referral-events
Send link opens, QR scans, channel taps, website leads, or external journey events before a purchase is verified.
POST
/api/public/v1/order-drafts
Create a staff-approved draft from connected ordering channels. Drafts should never approve payment or referral commission by themselves.
Send the API key as a bearer token. Rotate keys when a POS operator leaves, when a vendor changes, or when a key may have been exposed.
curl -X POST https://www.swiftbizness.com/api/public/v1/pos/sales \
-H "Authorization: Bearer sb_live_your_key" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: POS-100245" \
-d '{
"externalSaleId": "POS-100245",
"source": "pos",
"customer": {
"name": "Daniel Okafor",
"phone": "+2348012345678"
},
"sale": {
"amount": 6800,
"paymentMethod": "transfer",
"receiptNumber": "RCP-100245",
"paidAt": "2026-07-03T12:45:00+01:00",
"status": "completed"
},
"dryRun": true,
"referralCode": "SM001",
"items": [
{ "name": "POS sale", "quantity": 1, "unitPrice": 6800 }
]
}'externalSaleId
sale.amount
customer.phone or customer.name
200
The test sale was understood, but no customer, order, referral commission, or loyalty record was created.
201
The event, sale, or draft was accepted and queued for the correct SwiftBizness workflow.
400 or 422
A required field is missing or the submitted field format needs correction.
401, 403, or 429
The key is missing, invalid, lacks the required scope, or has hit a rate limit.
Core supports POS sales through nightly batch syncs and CSV imports. Growth supports nightly batch or real-time webhook POS ingestion plus referral events and connected-channel automation. Enterprise supports the full API, real-time webhooks, custom integrations, and advanced scale limits.
sale.paymentMethod
sale.receiptNumber
sale.paidAt when available
referralCode, notes, tags, memo, or metadata containing the code
Send dryRun: true first to confirm the key, sync method, payload shape, and referral-code detection without creating records.
Use an Idempotency-Key so retries do not create duplicate sale records.
Treat 429 responses as a rate-limit signal and retry later with backoff.
Never send card PINs, raw bank credentials, or private customer secrets.
Use referral-only mode when SwiftBizness should not update CRM or loyalty.
Use referral + CRM mode when SwiftBizness should update customers, loyalty, store credit, and analytics.