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 /CustomersmeansGET https://api.rushhourapp.com/api/v1/Customers. - Send the token you receive when you sign in in the
Authorization: Bearerheader 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
datacontains — 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
v1endpoints.
Areas
| Area | What it covers | Endpoints |
|---|---|---|
| Account and company | Sign 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 roles | List 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 orders | Create and update quotes, approve them into orders, work with order stops, holds and invoices created from orders, and read order history. | 84 |
| Dispatch and routes | Create and change routes, assign and unassign stops, work with transfers, and look up addresses on the map. | 31 |
| Customers | Manage customer accounts and their contacts and addresses, handle support tickets and customer messages, and give customers access to the Customer Portal. | 70 |
| Accounting | Search, create and update invoices, record and apply payments, manage charge types, and send invoices and payments to QuickBooks. | 43 |
| Pricing | Manage 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 |
| Drivers | Add, update, invite, enable and disable drivers, manage license types, and read or change how the driver app behaves for your company. | 23 |
| Fleet | Manage your trucks and their costs, and read vehicles from a connected Samsara account. | 14 |
| Expenses | Record and approve expenses, organise them by category and vendor, schedule recurring expenses, turn receipts into expenses, and analyse costs. | 45 |
| Carriers | Manage the outside carriers you work with, their contacts and finance profiles, and the truck types they run. | 30 |
| Documents | Upload 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 notifications | Read and send email from the company Inbox, manage the inbound email address, chat with drivers, and work with in-app notifications. | 48 |
| Dashboard | Read the figures behind the dashboard and manage dashboard layouts. | 11 |
| Company settings | Manage your locations, dispatch zones, non-working days and terms and conditions. | 20 |
| Reference data | Look 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
| Part | Meaning |
|---|---|
| Parameters | Path parameters are part of the URL. Query parameters go after ?; repeat a parameter to send several values. |
| Request body | The JSON object to send with Content-Type: application/json, or the form fields of a file upload. |
| Response | For envelope responses, the shape of data. Some endpoints return a file, or a JSON body without the envelope, and say so. |
| Enumerated values | Listed 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.
| Name | Type | Values |
|---|---|---|
Cities | array of string | |
CompanyTypes | array of string | One of: Customer, Outsource. |
Countries | array of string | |
CountryIds | array of integer (int32) | |
Customers | array of integer (int32) | |
CustomInvoice | boolean | |
Date | string (date-time) | |
DateRange | array of string (date-time) | |
DriverName | string | |
DriverPayoutTypes | array of string | One of: Hourly, FixedSalary, Distance, FixDistance, FixHourly, Percent, DistanceAndPercent, FixedCost, Pallets. |
Drivers | array of integer (int32) | |
DriverStatus | array of string | One of: Active, Inactive, Deleted, Draft, New, Invited, Disabled. |
DriverTypes | array of string | One of: Default, Outsource, Mixed. |
ExcludedInvoice | boolean | |
FilterTnxStatus | array of string | One of: Draft, Approved, Open, Paid, Overdue, PartialPaid, Deleted. |
FromAddress | array of string | |
HasInvoice | boolean | |
IncludedInvoice | boolean | |
InQb | boolean | |
InspectionStatus | array of integer (int32) | One of: 1 (Pending), 2 (Failed), 3 (Maintenance), 4 (Completed). |
InvoiceStatus | array of string | One of: Draft, Opened, Pending, Approved, Completed. |
InvoiceTypes | array of string | |
IsDefault | boolean | |
IsEmailSent | boolean | |
IsInvoiced | boolean | |
IsOnlyCreatedByCurrentUser | boolean | |
IsOrder | boolean | |
ItemsPerPage | integer (int32) | |
Latitude | number (double) | |
LocationTerm | string | |
Longitude | number (double) | |
MaxPrice | integer (int32) | |
MinPrice | integer (int32) | |
Offset | integer (int32) | |
OrderNumber | string | |
OrderPaymentStatus | array of integer (int32) | One of: 1 (NotPaidAndCompleted), 2 (NotPaidAndAssigned), 3 (NotPaidAndUnassigned), 4 (Paid), 5 (PartlyPaid). |
OrderStatus | array of string | One of: Dreft, Quote, Order, Deleted, Closed, OnHold. |
OutsourceCompanyIds | array of integer (int32) | |
OutsourceCompanyTypesOfWork | array of integer (int32) | One of: 1 (Fixed), 2 (Distance), 4 (Hourly), 8 (Pallets). Values can be combined by adding them together. |
Page | integer (int32) | |
PaymentStatuses | array of string | |
QbSyncStates | array of string | |
Roles | array of string | |
RoutePayoutStatus | array of string | One of: Draft, Open, Paid, PartialPaid, OverPaid. |
SearchByOrder | array of integer (int32) | |
SearchTerm | string | |
ShipmentTypeIds | array of integer (int32) | |
SortBy | string | |
SortDirection | integer (int32) | One of: 0 (Ascending), 1 (Descending). |
States | array of string | |
StopType | string | One of: Pickup, Delivery, Transfer. |
TnxStatus | array of string | One of: Draft, Approved, Open, Paid, Overdue, PartialPaid, Deleted. |
TnxTypes | array of string | |
ToAddress | array of string | |
TripStatus | array of string | One of: Open, Assigned, InTransit, Delivered. |
UseCombinedLocationSearch | boolean | |
ViewedEntityType | string | One of: Quote, Customer, CustomerMessage, Order. |
Zip | array of string | |
Zone | string | |
ZoneIds | array of integer (int32) |