Skip to main content

API reference

This reference lists the endpoints of the RushHour API that your own systems can call on behalf of a Company Portal user. It is generated from the API itself and describes the version that is live today.

Before you start​

  • All paths are relative to https://api.rushhourapp.com/api/v1. For example, GET /Customers means GET https://api.rushhourapp.com/api/v1/Customers.
  • Send the token you receive when you sign in in the Authorization: Bearer header on every request except sign-in and the version check.
  • Most endpoints wrap their result in the standard response envelope. The Response line of each endpoint tells you what data contains — see API overview for the envelope, status codes and error codes.
  • Paged lists follow the rules in Pagination and filtering, and timestamps follow Dates and time zones.
  • This reference covers the v1 endpoints.

Areas​

AreaWhat it coversEndpoints
Account and companySign in, find out who the token belongs to, read the details of the company the user works in, and check which version of the API is running.6
Users and rolesList the people who use the Company Portal, enable, disable or re-invite them, and read the roles and permissions that control what each user can do.10
Quotes and ordersCreate and update quotes, approve them into orders, work with order stops, holds and invoices created from orders, and read order history.84
Dispatch and routesCreate and change routes, assign and unassign stops, work with transfers, and look up addresses on the map.31
CustomersManage customer accounts and their contacts and addresses, handle support tickets and customer messages, and give customers access to the Customer Portal.70
AccountingSearch, create and update invoices, record and apply payments, manage charge types, and send invoices and payments to QuickBooks.43
PricingManage the pricing models that price your quotes and orders, the zones they use, your shipment types, and the exchange rates used for other currencies.23
DriversAdd, update, invite, enable and disable drivers, manage license types, and read or change how the driver app behaves for your company.23
FleetManage your trucks and their costs, and read vehicles from a connected Samsara account.14
ExpensesRecord and approve expenses, organise them by category and vendor, schedule recurring expenses, turn receipts into expenses, and analyse costs.45
CarriersManage the outside carriers you work with, their contacts and finance profiles, and the truck types they run.30
DocumentsUpload and organise documents in the library, produce and email PDFs such as quotes, bills of lading and invoices, and work with attachments.44
Inbox and notificationsRead and send email from the company Inbox, manage the inbound email address, chat with drivers, and work with in-app notifications.48
DashboardRead the figures behind the dashboard and manage dashboard layouts.11
Company settingsManage your locations, dispatch zones, non-working days and terms and conditions.20
Reference dataLook up countries, states, cities and postal codes.6

Data shapes used by requests and responses are described under Models:

A–B · C · D–H · I–N · O · P–R · S · T–Z

Permissions​

Every request runs with the roles and permissions of the signed-in user, in the company that user is working in. Where an endpoint always needs a specific permission or role, its entry lists it under Required access, using the names shown on the Roles page of the Company Portal. Many endpoints also check permissions while they run — for example, whether the user may see other users' records — so a request can still be refused with 403 Forbidden when no required access is listed. See Roles and permissions.

Reading an entry​

PartMeaning
ParametersPath parameters are part of the URL. Query parameters go after ?; repeat a parameter to send several values.
Request bodyThe JSON object to send with Content-Type: application/json, or the form fields of a file upload.
ResponseFor envelope responses, the shape of data. Some endpoints return a file, or a JSON body without the envelope, and say so.
Enumerated valuesListed as the exact values to send and to expect back. When the type is integer, each number is followed by its name in brackets, and JSON carries the number. When the type is string, JSON carries one of the listed strings, spaces included.

Enumerated values in query and path parameters​

A query or path parameter that takes an enumerated value accepts the number or the name. The values listed for a parameter can differ from the values of the matching property in a response: a support ticket's status comes back as In Progress, while the status filter of GET /SupportTickets takes InProgress. Some parameters also accept a value that never appears on a record — for example, the OnHold order status finds orders that have a stop on hold.

Shared list parameters​

Many list and search endpoints accept one common set of query parameters. Their entries say Also accepts the shared list parameters. Each endpoint applies only the parameters that are relevant to the records it returns; the others have no effect. The paging, search and sorting parameters are explained in Pagination and filtering.

NameTypeValues
Citiesarray of string
CompanyTypesarray of stringOne of: Customer, Outsource.
Countriesarray of string
CountryIdsarray of integer (int32)
Customersarray of integer (int32)
CustomInvoiceboolean
Datestring (date-time)
DateRangearray of string (date-time)
DriverNamestring
DriverPayoutTypesarray of stringOne of: Hourly, FixedSalary, Distance, FixDistance, FixHourly, Percent, DistanceAndPercent, FixedCost, Pallets.
Driversarray of integer (int32)
DriverStatusarray of stringOne of: Active, Inactive, Deleted, Draft, New, Invited, Disabled.
DriverTypesarray of stringOne of: Default, Outsource, Mixed.
ExcludedInvoiceboolean
FilterTnxStatusarray of stringOne of: Draft, Approved, Open, Paid, Overdue, PartialPaid, Deleted.
FromAddressarray of string
HasInvoiceboolean
IncludedInvoiceboolean
InQbboolean
InspectionStatusarray of integer (int32)One of: 1 (Pending), 2 (Failed), 3 (Maintenance), 4 (Completed).
InvoiceStatusarray of stringOne of: Draft, Opened, Pending, Approved, Completed.
InvoiceTypesarray of string
IsDefaultboolean
IsEmailSentboolean
IsInvoicedboolean
IsOnlyCreatedByCurrentUserboolean
IsOrderboolean
ItemsPerPageinteger (int32)
Latitudenumber (double)
LocationTermstring
Longitudenumber (double)
MaxPriceinteger (int32)
MinPriceinteger (int32)
Offsetinteger (int32)
OrderNumberstring
OrderPaymentStatusarray of integer (int32)One of: 1 (NotPaidAndCompleted), 2 (NotPaidAndAssigned), 3 (NotPaidAndUnassigned), 4 (Paid), 5 (PartlyPaid).
OrderStatusarray of stringOne of: Dreft, Quote, Order, Deleted, Closed, OnHold.
OutsourceCompanyIdsarray of integer (int32)
OutsourceCompanyTypesOfWorkarray of integer (int32)One of: 1 (Fixed), 2 (Distance), 4 (Hourly), 8 (Pallets). Values can be combined by adding them together.
Pageinteger (int32)
PaymentStatusesarray of string
QbSyncStatesarray of string
Rolesarray of string
RoutePayoutStatusarray of stringOne of: Draft, Open, Paid, PartialPaid, OverPaid.
SearchByOrderarray of integer (int32)
SearchTermstring
ShipmentTypeIdsarray of integer (int32)
SortBystring
SortDirectioninteger (int32)One of: 0 (Ascending), 1 (Descending).
Statesarray of string
StopTypestringOne of: Pickup, Delivery, Transfer.
TnxStatusarray of stringOne of: Draft, Approved, Open, Paid, Overdue, PartialPaid, Deleted.
TnxTypesarray of string
ToAddressarray of string
TripStatusarray of stringOne of: Open, Assigned, InTransit, Delivered.
UseCombinedLocationSearchboolean
ViewedEntityTypestringOne of: Quote, Customer, CustomerMessage, Order.
Ziparray of string
Zonestring
ZoneIdsarray of integer (int32)