Developer
API Reference
Everything you need to integrate with NexusKit. Authentication, endpoints, error handling, and rate limits — all in one place.
Base URL
All API requests use the following base URL:
$https://api.nexus-kit.comAll endpoints are versioned under /v1/. Public endpoints use /v1/public/.
Authentication
NexusKit uses Bearer token authentication. Include your API key in the Authorization header:
Authorization: Bearer nk_live_abc123def456...API Key Formats
API keys are scoped per module. You can create read-only or read-write keys in the dashboard under Developers → API Keys.
Common Headers
Include these headers with every API request:
| Header | Required | Description |
|---|---|---|
| Authorization | Yes | Bearer token — your API key prefixed with Bearer |
| X-Tenant-Id | No | Override tenant context (advanced — defaults to the key's owning tenant) |
| Content-Type | For POST/PATCH | Set to application/json for JSON request bodies |
Error Responses
All API responses follow a consistent envelope format. Errors include a machine-readable code and a human-readable message:
{
"data": null,
"meta": {},
"error": {
"code": "VALIDATION_ERROR",
"message": "Email is required",
"details": {
"field": "email",
"reason": "missing_required"
}
}
}| HTTP Status | Error Code | Description |
|---|---|---|
| 400 | VALIDATION_ERROR | Request body failed validation |
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 403 | FORBIDDEN | API key lacks the required scope |
| 404 | NOT_FOUND | Resource does not exist |
| 429 | RATE_LIMITED | Too many requests — slow down |
| 500 | INTERNAL_ERROR | Something went wrong on our end |
Rate Limiting
To keep NexusKit fast and fair for everyone, all API requests are rate limited:
When you hit the limit, you'll receive a 429 Too Many Requests response. Wait a moment and retry. The response includes Retry-After headers with the number of seconds to wait.
Contact
Capture leads from website forms via API. Submissions land in your dashboard with email notifications.
| Method | Path | Auth | Scope | Description |
|---|---|---|---|---|
| GET | /v1/contact/forms | Bearer | contact:read | List all forms for your tenant |
| POST | /v1/contact/forms | Bearer | contact:write | Create a new contact form |
| GET | /v1/contact/forms/:id/submissions | Bearer | contact:read | List submissions for a form |
| PATCH | /v1/contact/submissions/:id | Bearer | contact:write | Update submission status or notes |
| GET | /v1/contact/export.csv | Bearer | contact:read | Export submissions as CSV |
| POST | /v1/public/contact/forms/:id/submissions | None | — | Public — submit a form from your site |
Booking
Calendar booking with services, availability slots, and appointment management.
| Method | Path | Auth | Scope | Description |
|---|---|---|---|---|
| GET | /v1/booking/services | Bearer | booking:read | List all booking services |
| POST | /v1/booking/services | Bearer | booking:write | Create a new booking service |
| POST | /v1/booking/availability | Bearer | booking:write | Query available time slots |
| GET | /v1/booking/bookings | Bearer | booking:read | List all bookings |
| GET | /v1/booking/export.csv | Bearer | booking:read | Export bookings as CSV |
| GET | /v1/public/booking/services | None | — | Public — list services for embedding |
| GET | /v1/public/booking/services/:id/slots | None | — | Public — get available slots for a service |
| POST | /v1/public/booking/bookings | None | — | Public — create a booking |
Links & QR
Short links and printable QR codes with privacy-safe aggregate analytics.
| Method | Path | Auth | Scope | Description |
|---|---|---|---|---|
| GET | /v1/qr/links | Bearer | qr:read | List all short links |
| POST | /v1/qr/links | Bearer | qr:write | Create a new short link or QR code |
| GET | /v1/qr/export.csv | Bearer | qr:read | Export links and analytics as CSV |
| GET | /v1/public/qr/r/:slug | None | — | Public — redirect short link and track scan |
| GET | /v1/public/qr/:id.svg | None | — | Public — serve QR code as SVG |
Onboarding
Multi-step onboarding flows with progress tracking and completion webhooks.
| Method | Path | Auth | Scope | Description |
|---|---|---|---|---|
| GET | /v1/onboarding/flows | Bearer | onboarding:read | List all onboarding flows |
| POST | /v1/onboarding/flows | Bearer | onboarding:write | Create a new onboarding flow |
| GET | /v1/onboarding/sessions | Bearer | onboarding:read | List onboarding sessions |
| GET | /v1/onboarding/export.csv | Bearer | onboarding:read | Export sessions as CSV |
| POST | /v1/public/onboarding/sessions | None | — | Public — start a new session |
| PATCH | /v1/public/onboarding/sessions/:id | None | — | Public — advance session to next step |
Invoices
Digital and printable invoices and receipts with email delivery.
| Method | Path | Auth | Scope | Description |
|---|---|---|---|---|
| GET | /v1/invoice/invoices | Bearer | invoice:read | List all invoices |
| POST | /v1/invoice/invoices | Bearer | invoice:write | Create a new invoice |
| GET | /v1/invoice/invoices/:id/print | Bearer | invoice:read | Render invoice as printable PDF |
| GET | /v1/invoice/export.csv | Bearer | invoice:read | Export invoices as CSV |
Need help?
Join our community or check the FAQ in the sidebar.
