Endpoints for managing business locations, operating hours, and location-specific settings.
Locations
Get locations
GET /location
If inventoryId is provided, returns the location for that boat. Otherwise, returns all locations for the authenticated user's customer.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
inventoryId | query | string | No | Inventory ID to find the associated location |
Responses
| Code | Description |
|---|---|
200 | Location(s) retrieved successfully |
401 | Unauthorized |
404 | User, boat, or location not found |
500 | Internal server error |
Create a new location
POST /location
Creates a new location and sends a Slack notification. Automatically geocodes the address.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
address | string | Yes | |
phoneNumber | string | Yes | |
name | string | Yes | |
connectId | string | No | Stripe Connect account ID |
details | object | No | Additional location details |
Responses
| Code | Description |
|---|---|
200 | Location created successfully |
400 | Missing required fields |
401 | Unauthorized |
404 | User not found or customer ID not found |
500 | Internal server error |
Update a location
PATCH /location
Updates an existing location. If address is updated, automatically geocodes for new coordinates.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
locationId | string | Yes | ID of the location to update |
address | string | No | |
name | string | No | |
phoneNumber | string | No | |
details | object | No |
Responses
| Code | Description |
|---|---|
200 | Location updated successfully |
400 | locationId is required or no valid attributes to update |
500 | Internal server error |
Schedule a location for deletion
DELETE /location
Soft-deletes a location by scheduling it for permanent deletion after 60 days. The location can be restored before the grace period expires.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
locationId | string | Yes | ID of the location to delete |
customerId | string | No | Customer ID (optional, for notification purposes) |
Responses
| Code | Description |
|---|---|
200 | Location scheduled for deletion |
400 | locationId is required |
500 | Internal server error |
Update location IVR configuration
PATCH /location/ivr
Updates the IVR (Interactive Voice Response) configuration for a location
Request body
| Field | Type | Required | Description |
|---|---|---|---|
locationId | string | Yes | ID of the location to update |
ivrConfig | object | Yes | IVR configuration object |
Responses
| Code | Description |
|---|---|
200 | IVR configuration updated successfully |
400 | locationId and ivrConfig are required |
500 | Internal server error |
Restore a location scheduled for deletion
PATCH /location/restore
Cancels a pending scheduled deletion, restoring the location to active status.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
locationId | string | Yes | ID of the location to restore |
Responses
| Code | Description |
|---|---|
200 | Location restored successfully |
400 | locationId is required or location is not scheduled for deletion |
404 | Location not found |
500 | Internal server error |

