RentalTideRentalTideRentalTideDocs
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

Every request sends its credential in the Authorization header as a Bearer token. This API does not read an x-api-key header. (The reseller channel API is a separate API with its own keys; see Resellers.)

The credential you send decides what you can reach.

Scoped API key (your own integrations)

For an integration you run on your own servers, create a scoped API key: open App Store > API Key, choose New key under Scoped keys, name it and tick the access it needs. Only the account owner can create or revoke keys. The full key is shown once, when you create it; RentalTide keeps only a fingerprint of it.

Call the API through the gateway at /api/v1:

GET https://v3.api.rentaltide.com/api/v1/schedule/by-location-status?location_id=YOUR_LOCATION_ID
Authorization: Bearer rtk_YOUR_KEY
  • A GET needs the read: scope for that resource, and any other method needs the write: scope. A key with read:bookings and read:inventory can read bookings and inventory and change nothing.
  • A path that no scope covers, such as account settings or staff management, is refused with 403 insufficient_scope.
  • A key works only under /api/v1. Sent straight to another path, it is refused with 401.
  • A key covers your whole account. Pass a location_id to read one location; the key itself is not limited to one.
  • Booking records include the renter's name and contact details. No scope removes them.
  • An account can have up to 10 keys. Revoking one stops it within seconds.

The interactive reference at v3.api.rentaltide.com/docs lists every endpoint you can call this way, with the scope each one needs.

Keep keys secret

A key acts for your whole account, within its scopes, until you revoke it. Keep it on your server: never in a web page, an app or a public repository. Create one key per integration so you can revoke them separately.

OAuth app token (apps other merchants install)

If you are building an app for other RentalTide merchants, use OAuth instead. The merchant approves your app's scopes when they install it, and your app calls the same /api/v1 paths with its access token in place of a key. Scopes and limits work as above. See Server-to-server API for getting a token and Scopes for the full list.

Legacy API keys

The older 64-character keys under Legacy keys in the API Key app are not tied to a user, so they have no role and no staff permissions, and permissions cannot be added to them. Endpoints that require a staff permission, including bookings and schedules, answer them with 403:

JSON

To read bookings, use a scoped key instead.

Dashboard session token

The dashboard signs its own requests with the signed-in user's token, which carries that user's role and permissions. These tokens expire after a short time and are not meant for integrations.


Request format

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

Bash

Response format

Every response returns JSON. Successful responses use this structure:

JSON

Error responses include a message and an error code:

JSON

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:

JSON

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 Settings > 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

JSON
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.