RentalTideRentalTideDocs
Dashboard

Point of Sale API

Process retail and rental transactions at the register

Endpoints for managing the point-of-sale system including products, categories, transactions, and register operations.

Point of Sale

Get POS inventory items

GET /pos/inventory

Retrieves all POS inventory items for a location

Parameters

NameInTypeRequiredDescription
locationIdquerystringYesLocation ID to get inventory for

Responses

CodeDescription
200List of inventory items
400Missing locationId parameter
500Server error

Create inventory item

POST /pos/inventory

Creates a new POS inventory item

Request body

FieldTypeRequiredDescription
locationIdstringYes
namestringYes
categorystringNo
taxRatenumberNo
imagestringNo
variantsarrayNo
tagsarrayNo

Responses

CodeDescription
201Item created successfully
400Invalid request body
500Server error

Update inventory item

PUT /pos/inventory

Updates an existing POS inventory item

Request body

FieldTypeRequiredDescription
locationIdstringYes
itemIdstringYes
namestringNo
categorystringNo
taxRatenumberNo
variantsarrayNo

Responses

CodeDescription
200Item updated successfully
400Missing required fields
500Server error

Update variant quantity

PATCH /pos/inventory

Updates the quantity of a specific variant in an inventory item

Request body

FieldTypeRequiredDescription
locationIdstringYes
itemIdstringYes
variantIdstringYes
quantitynumberYesQuantity change (can be negative)

Responses

CodeDescription
200Variant quantity updated
400Missing required fields
404Item or variant not found
500Server error

Delete inventory item

DELETE /pos/inventory

Deletes a POS inventory item

Request body

FieldTypeRequiredDescription
locationIdstringYes
itemIdstringYes

Responses

CodeDescription
200Item deleted successfully
400Missing required fields
500Server error

Get current gas price

GET /pos/gas-price

Retrieves the current gas price for a location

Parameters

NameInTypeRequiredDescription
locationIdquerystringYesLocation ID to get gas price for

Responses

CodeDescription
200Gas price returned successfully
400Missing locationId parameter
404Gas item not found
500Server error

Update till-specific inventory

PATCH /pos/inventory/till

Updates inventory quantity for a specific till/register

Request body

FieldTypeRequiredDescription
locationIdstringYes
itemIdstringYes
tillIdstringYes
variantIdstringYes
quantitynumberYes

Responses

CodeDescription
200Till inventory updated
400Missing required fields
404Item not found
500Server error

Get folders

GET /pos/folders

Retrieves all product folders for a location

Parameters

NameInTypeRequiredDescription
locationIdquerystringYesLocation ID

Responses

CodeDescription
200List of folders
400Missing locationId parameter
500Server error

Create folder

POST /pos/folders

Creates a new product folder

Request body

FieldTypeRequiredDescription
locationIdstringYes
namestringYes
colorstringNo
tillIdstringNo

Responses

CodeDescription
201Folder created successfully
400Missing required fields
500Server error

Update folder

PUT /pos/folders

Updates an existing product folder

Request body

FieldTypeRequiredDescription
locationIdstringYes
folderIdstringYes
namestringNo
colorstringNo
favoritebooleanNo

Responses

CodeDescription
200Folder updated successfully
400Missing required fields
500Server error

Delete folder

DELETE /pos/folders

Deletes a product folder and removes folder association from all products in it

Request body

FieldTypeRequiredDescription
locationIdstringYes
folderIdstringYes

Responses

CodeDescription
200Folder deleted successfully
400Missing required fields
500Server error

Reorder folders

PUT /pos/folders/reorder

Updates the sort order of folders

Request body

FieldTypeRequiredDescription
locationIdstringYes
folderOrderarrayYes

Responses

CodeDescription
200Folders reordered successfully
400Missing required fields
500Server error

Duplicate folders

POST /pos/folders/duplicate

Duplicates folders from a source till to a target till

Request body

FieldTypeRequiredDescription
locationIdstringYes
sourceTillIdstringYes
targetTillIdstringYes

Responses

CodeDescription
200Folders duplicated successfully
400Missing required fields
404No folders found for source till
500Server error

List transactions

GET /pos/transaction

Retrieves all POS transactions for a location, optionally filtered by till

Parameters

NameInTypeRequiredDescription
locationIdquerystringYesLocation ID
tillIdquerystringNoFilter by specific till/register

Responses

CodeDescription
200List of transactions
400Missing locationId parameter
500Server error

Create transaction

POST /pos/transaction

Creates a new POS transaction with items, discounts, taxes, and payment information

Request body

FieldTypeRequiredDescription
itemsarrayYesArray of items in the transaction
locationIdstringYes
userIdstringYes
paymentTypestringNo
accountIdstringNo
discountPercentagenumberNo
discountAmountnumberNo
settleBookingbooleanNo

Responses

CodeDescription
201Transaction created successfully
400Invalid request body
500Server error

Get transaction by ID

GET /pos/transaction/{transactionId}

Retrieves a specific POS transaction by its ID

Parameters

NameInTypeRequiredDescription
transactionIdpathstringYesTransaction ID

Responses

CodeDescription
200Transaction details
400Missing transactionId parameter
404Transaction not found
500Server error

Get all POS transactions for a rental

GET /pos/transactions/rental/{rentalId}

Retrieves all POS transactions associated with a specific rental/booking ID

Parameters

NameInTypeRequiredDescription
rentalIdpathstringYesThe rental/booking ID

Responses

CodeDescription
200List of transactions for the rental
400Missing rental ID
500Server error

Refund transaction

POST /pos/transaction/refund

Processes a full or partial refund for a POS transaction

Request body

FieldTypeRequiredDescription
transactionIdstringYes
refundTypestringYes
amountnumberNoRequired for partial refunds

Responses

CodeDescription
200Refund processed successfully
400Invalid request or transaction already settled
404Transaction not found
500Server error

Settle single transaction

PUT /pos/transaction/settle

Marks a single transaction as settled

Parameters

NameInTypeRequiredDescription
transactionIdquerystringYesTransaction ID to settle

Responses

CodeDescription
200Transaction settled successfully
400Missing transactionId or already settled
404Transaction not found
500Server error

Settle transactions in date range

PUT /pos/transaction/settle-range

Settles all transactions within a date range, typically used for cash drawer closing

Request body

FieldTypeRequiredDescription
locationIdstringYes
startDatestringNo
endDatestringNo
drawerIdstringNo
countedCashnumberNo
expectedCashnumberNo
differencenumberNo
cashBreakdownobjectNo

Responses

CodeDescription
200Transactions settled successfully
400Missing locationId
500Server error

Create Stripe payment intent

POST /pos/create_payment

Creates a Stripe payment intent for card-present payments

Request body

FieldTypeRequiredDescription
amountintegerYesAmount in cents
currencystringNo

Responses

CodeDescription
200Payment intent created
400Error creating payment

POST /pos/account_link

Creates a Stripe Connect account onboarding link

Request body

FieldTypeRequiredDescription
accountstringYesConnected account ID
stripeRegionstringNoStripe region (US or CA)

Responses

CodeDescription
200Account link URL returned
500Server error

Charge saved customer

POST /pos/charge_customer

Charges a saved customer using their stored payment method

Request body

FieldTypeRequiredDescription
amountintegerYesAmount in cents
currencystringNo
stripe_customer_idstringYes
payment_methodstringYes
fee_amountnumberNo
connect_idstringNo

Responses

CodeDescription
200Payment successful
500Server error

Create Stripe Connect account

POST /pos/account

Creates a new Stripe Express connected account

Request body

FieldTypeRequiredDescription
countrystringNo
stripeRegionstringNo

Responses

CodeDescription
200Account created successfully
500Server error

Create Stripe account session

POST /pos/account_session

Creates a Stripe account session for embedded Connect components

Request body

FieldTypeRequiredDescription
accountstringYesConnected account ID
stripeRegionstringNo

Responses

CodeDescription
200Account session client secret returned
400Missing account parameter
500Server error

POST /pos/dashboard_link

Creates a login link for the connected account to access their full Stripe Dashboard with reports and analytics

Request body

FieldTypeRequiredDescription
accountstringYesConnected account ID
stripeRegionstringNo

Responses

CodeDescription
200Dashboard login URL returned
400Missing account parameter
500Server error

Create terminal connection token

POST /pos/connection_token

Creates a Stripe Terminal connection token for reader initialization

Responses

CodeDescription
200Connection token secret returned
500Server error

Create payment intent for reader

POST /pos/create_payment_intent

Creates a Stripe payment intent for terminal reader payments with support for connected accounts

Request body

FieldTypeRequiredDescription
amountintegerYesAmount in cents
currencystringNo
connected_account_idstringNo
fee_in_centsintegerNo
use_destination_chargesbooleanNo

Responses

CodeDescription
200Payment intent created
500Server error

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.