API
Programmatic access to SchedulingKit via the REST API with Sanctum tokens.
Updated 2 min read
title: API category: Integrations order: 12 description: Programmatic access to SchedulingKit via the REST API with Sanctum tokens.
API
The SchedulingKit REST API lets you programmatically manage event types, events, clients, locations, workflows, invoices, transactions, and taxes.
Authentication
All API requests require a Bearer token in the Authorization header.
Creating an API token
- Go to Settings → API Tokens.
- Click Create Token.
- Enter a name (e.g. "CRM Integration", "Mobile App").
- Optionally select permission scopes.
- Click Create. The token is shown once — copy it immediately.
Using the token
Include the token in every request:
Authorization: Bearer your-api-token-hereBase URL
https://yourdomain.com/api/v1Replace yourdomain.com with your app's domain or subdomain.
Endpoints
Team
| Method | Endpoint | Description |
|---|---|---|
| GET | /team | Get current team info |
| PUT | /team | Update team info |
Event Types
| Method | Endpoint | Description |
|---|---|---|
| GET | /event-types | List all event types |
| POST | /event-types | Create an event type |
| GET | /event-types/{id} | Get a specific event type |
| PUT | /event-types/{id} | Update an event type |
| DELETE | /event-types/{id} | Delete an event type |
Events
| Method | Endpoint | Description |
|---|---|---|
| GET | /events | List events (supports filters) |
| POST | /events | Create an event |
| GET | /events/{id} | Get event details |
| PUT | /events/{id} | Update an event |
| DELETE | /events/{id} | Cancel an event |
| GET | /events/{id}/occurrences | List recurring event occurrences |
Clients
| Method | Endpoint | Description |
|---|---|---|
| GET | /clients | List clients |
| POST | /clients | Create a client |
| GET | /clients/{id} | Get client details |
| PUT | /clients/{id} | Update a client |
| DELETE | /clients/{id} | Delete a client |
Locations
| Method | Endpoint | Description |
|---|---|---|
| GET | /locations | List locations |
| POST | /locations | Create a location |
| GET | /locations/{id} | Get location details |
| PUT | /locations/{id} | Update a location |
| DELETE | /locations/{id} | Delete a location |
Workflows
| Method | Endpoint | Description |
|---|---|---|
| GET | /workflows | List workflows |
| POST | /workflows | Create a workflow |
| GET | /workflows/{id} | Get workflow details |
| PUT | /workflows/{id} | Update a workflow |
| DELETE | /workflows/{id} | Delete a workflow |
Invoices
| Method | Endpoint | Description |
|---|---|---|
| GET | /invoices | List invoices |
| POST | /invoices | Create an invoice |
| GET | /invoices/{id} | Get invoice details |
| PUT | /invoices/{id} | Update an invoice |
Transactions
| Method | Endpoint | Description |
|---|---|---|
| GET | /transactions | List transactions |
| GET | /transactions/{id} | Get transaction details |
Taxes
| Method | Endpoint | Description |
|---|---|---|
| GET | /taxes | List tax rules |
| POST | /taxes | Create a tax rule |
| GET | /taxes/{id} | Get tax rule details |
| PUT | /taxes/{id} | Update a tax rule |
| DELETE | /taxes/{id} | Delete a tax rule |
Pagination
List endpoints return paginated results. Use query parameters:
page— Page number (default: 1).per_page— Items per page (default: 15, max: 100).
Response includes pagination metadata: current_page, last_page, per_page, total.
Filtering
List endpoints support query filters. Common filters:
search— Text search across relevant fields.status— Filter by status.from/to— Date range filters.
Refer to specific endpoint documentation for available filters.
Rate limits
API requests are rate-limited. If you exceed the limit, you'll receive a 429 Too Many Requests response with a Retry-After header.
Errors
| Status | Meaning |
|---|---|
200 | Success |
201 | Created |
400 | Bad request (invalid parameters) |
401 | Unauthorized (invalid or missing token) |
403 | Forbidden (insufficient permissions) |
404 | Not found |
422 | Validation error (details in response body) |
429 | Rate limited |
500 | Server error |
Error responses include a JSON body with message and optionally errors (for validation).
Managing tokens
- View tokens — Settings → API Tokens lists all active tokens.
- Revoke — Click Delete to revoke a token. It stops working immediately.
- Tokens do not expire unless revoked.
Was this article helpful?
More in Integrations
- ZoomConnect Zoom to automatically create meeting links when customers book video calls.
- StripeAccept payments for bookings and invoices with Stripe Connect.
- SlackGet booking notifications in Slack, manage your schedule with slash commands, and book from Slack.
- Apple CalendarSync with Apple iCloud Calendar using CalDAV for conflict checking.
Questions about this? Bella answers from these articles.