RentalTideRentalTideDocs
Dashboard

API Reference

Integrate with RentalTide using the REST API

API reference

The RentalTide API lets you programmatically manage bookings, inventory, customers, transactions, and more. Every action available in the dashboard is available through the API.


Base URL

All API requests are made to:

https://v3.api.rentaltide.com

Authentication

The API supports two authentication methods.

Bearer token (JWT)

Include your JWT in the Authorization header. Tokens are issued through Auth0 when a user logs in to the dashboard.

Authorization: Bearer eyJhbGciOiJSUzI1NiIs...

API key

For server-to-server integrations, use a static API key. Generate one from Admin > API Keys in the dashboard.

x-api-key: rtk_live_abc123def456
Keep keys secret

API keys carry the same permissions as the user who created them. Never expose them in client-side code or public repositories.


Request format

All request bodies must be JSON with the Content-Type: application/json header.

curl -X POST https://v3.api.rentaltide.com/bookings \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{"inventoryId": "inv_123", "startDate": "2026-06-15T09:00:00Z"}'

Response format

Every response returns JSON. Successful responses use this structure:

{ "success": true, "data": { ... } }

Error responses include a message and an error code:

{ "success": false, "error": "BOOKING_CONFLICT", "message": "The requested time slot is no longer available." }

HTTP status codes

CodeMeaning
200Success
201Created
400Bad request — check the request body
401Unauthorized — missing or invalid credentials
403Forbidden — valid credentials but insufficient permissions
404Not found
409Conflict — resource state prevents the action
429Rate limited — slow down
500Internal server error

Rate limits

API requests are rate-limited per authentication credential:

PlanLimit
Standard100 requests per minute
Enterprise500 requests per minute

When you exceed the limit, the API returns a 429 status with a Retry-After header indicating how many seconds to wait.

Note

Webhook deliveries and dashboard usage do not count against your API rate limit.


Pagination

List endpoints return paginated results. Use the limit and offset query parameters to navigate pages.

GET /bookings?limit=25&offset=50

The response includes a total count:

{ "success": true, "data": [ ... ], "total": 142, "limit": 25, "offset": 50 }

API sections

Bookings
Inventory
Customers
Point of Sale
Availability
Payments
Locations
Staff
Waivers
Slips
Memberships
Marina
Marketing
Public
Analytics
Integrations

Webhooks

RentalTide can send real-time event notifications to your server. Configure webhook endpoints from Admin > Webhooks in the dashboard.

Supported events

EventFired when
booking.createdA new booking is placed
booking.updatedA booking is modified
booking.cancelledA booking is cancelled
booking.checked_inA customer checks in
booking.checked_outA rental is returned
payment.completedA payment is captured
payment.refundedA refund is issued
customer.createdA new customer record is created

Webhook payload

{ "event": "booking.created", "timestamp": "2026-06-15T14:30:00Z", "data": { "id": "bk_abc123", "inventoryId": "inv_456", "customerId": "cust_789", "startDate": "2026-06-15T09:00:00Z", "endDate": "2026-06-15T11:00:00Z", "status": "confirmed" } }
Verifying webhooks

Each webhook request includes an X-RentalTide-Signature header. Verify this HMAC-SHA256 signature against your webhook secret to confirm the request came from RentalTide.

Was this page helpful?
Need help? Contact Support.See what’s new. Check out changelog.Questions? Book a video chat.
Ask AI
Responses are generated using AI and may contain mistakes.
Ask questions about RentalTide and get help with your integration.