Customers
Manage customer accounts and their contacts and addresses, handle support tickets and customer messages, and give customers access to the Customer Portal.
Paths are relative to https://api.rushhourapp.com/api/v1. See the API reference overview for how to read each entry.
Customer accounts
| Method | Path | Summary |
|---|---|---|
GET | /Customers | Retrieves a paginated list of customers based on provided search criteria. |
POST | /Customers | Creates a new customer record with associated office contact information. |
DELETE | /Customers | Deletes one or more customers by marking them as inactive and hidden. |
PUT | /Customers/{customerId}/{pipeline} | Updates the pipeline stage of a specific customer. |
GET | /Customers/{customerId}/chargeTypes | Retrieves a customer's "Additional Charges" list (the customer-level copies of the Settings charge types). |
DELETE | /Customers/{customerId}/chargeTypes | Removes several customer Additional Charge copies in one call. |
PUT | /Customers/{customerId}/chargeTypes/{chargeTypeId} | Overrides a single customer Additional Charge copy. |
POST | /Customers/{customerId}/chargeTypes/sync | Sync customer charge types. |
GET | /Customers/{id} | Retrieves detailed information for a specific customer by ID. |
PUT | /Customers/{id} | Updates an existing customer record. |
GET | /Customers/{id}/contacts | Retrieves contact details for a specific customer. |
GET | /Customers/{id}/CustomerBalanceStats | Retrieves balance statistics for a specific customer. |
GET | /Customers/{id}/Locations | Retrieves customer location addresses. |
GET | /Customers/{id}/lookup_address | Retrieves a paginated list of customer addresses with optional search and enrichment. |
GET | /Customers/{id}/lookup_grouped_addresses | Retrieves grouped and normalized customer addresses with associated customers. |
GET | /Customers/{id}/MonthlyStatistic | Retrieves monthly balance statistics for a specific customer. |
PUT | /Customers/{id}/Restore | Restores a previously deleted customer. |
GET | /Customers/{id}/SentEmails | Retrieves all sent emails associated with a specific customer. |
POST | /Customers/{id}/SentEmails | Sends and records emails associated with a specific customer. |
GET | /Customers/CustomerStats | Retrieves statistical information for a specific customer. |
GET | /Customers/CustomExport | Exports customer records to an Excel file with customizable fields. |
DELETE | /Customers/DeleteDuplicates/Addresses | Deletes duplicate customer addresses. |
DELETE | /Customers/DeleteDuplicates/Contacts | Deletes duplicate customer contacts. |
GET | /Customers/EmailTypes | Returns the catalog of selectable email types and whether each is Static or Regular. |
GET | /Customers/export | Exports customer records to an Excel file. |
POST | /Customers/import | Import customers from an Excel or CSV file. |
PUT | /Customers/MergeCustomers | Merges multiple customer records into a single parent customer. |
POST | /Customers/ValidateCustomer | Validates customer details before creation or update. |
GET /Customers
Retrieves a paginated list of customers based on provided search criteria.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
activeCustomers | query | boolean | No | If true, restricts results to active customers only. Default: true. |
Entrepreneur | query | boolean | No | |
orderDateRangeEnd | query | string (date-time) | No | Optional end date for filtering customers by associated order date. |
orderDateRangeStart | query | string (date-time) | No | Optional start date for filtering customers by associated order date. |
PipelineTypes | query | array of integer (int32) | No | One of: 0 (Prospect), 1 (Customer), 2 (Lead). |
searchOnlyByCustomerName | query | boolean | No | If true, restricts search term matching to customer name fields only. Default: false. |
Sources | query | array of integer (int32) | No | One of: 0 (Default), 1 (Web), 2 (CustomerPortal). |
status | query | integer (int32) | No | Which customers to return. One of: 0 (Active), 1 (Deleted). |
Also accepts the shared list parameters.
Response: envelope; data is CustomerPagedList.
POST /Customers
Creates a new customer record with associated office contact information.
Required access: the Create customers permission.
Request body: Customer (JSON).
Response: envelope; data is Customer.
DELETE /Customers
Deletes one or more customers by marking them as inactive and hidden.
Required access: the Delete Customers permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
ids | query | array of integer (int32) | No | List of customer IDs to delete. |
Response: envelope; data has no documented shape.
PUT /Customers/{customerId}/{pipeline}
Updates the pipeline stage of a specific customer.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | integer (int32) | Yes | Unique identifier of the customer. |
pipeline | path | integer (int32) | Yes | New pipeline stage to assign to the customer. One of: 0 (Prospect), 1 (Customer), 2 (Lead). |
Response: envelope; data has no documented shape.
GET /Customers/{customerId}/chargeTypes
Retrieves a customer's "Additional Charges" list (the customer-level copies of the Settings charge types).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | integer (int32) | Yes | Unique identifier of the customer. |
seedIfEmpty | query | boolean | No | When true and the customer has no additional charges yet, the customer gets a copy of your company's charge types, if you may edit that customer. Send false to read the list without changing anything. Default: true. |
Response: envelope; data is array of ChargeType.
DELETE /Customers/{customerId}/chargeTypes
Removes several customer Additional Charge copies in one call.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | integer (int32) | Yes | Unique identifier of the customer. |
Request body: array of integer (int32) (JSON).
Response: envelope; data is array of ChargeType.
PUT /Customers/{customerId}/chargeTypes/{chargeTypeId}
Overrides a single customer Additional Charge copy.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
chargeTypeId | path | integer (int32) | Yes | Identifier of the customer's charge type copy to update. |
customerId | path | integer (int32) | Yes | Unique identifier of the customer. |
Request body: ChargeType (JSON).
Response: envelope; data is ChargeType.
POST /Customers/{customerId}/chargeTypes/sync
Sync customer charge types.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | integer (int32) | Yes | Unique identifier of the customer. |
Response: envelope; data is array of ChargeType.
GET /Customers/{id}
Retrieves detailed information for a specific customer by ID.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes | Unique identifier of the customer. |
status | query | integer (int32) | No | Optional filter to restrict results to customers with the specified status. One of: 0 (Active), 1 (Deleted). |
Response: envelope; data is Customer.
PUT /Customers/{id}
Updates an existing customer record.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes | Unique identifier of the customer to update. |
Request body: Customer (JSON).
Response: envelope; data has no documented shape.
GET /Customers/{id}/contacts
Retrieves contact details for a specific customer.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes | Unique identifier of the customer. |
Response: envelope; data is CustomerContactDetailsResponse.
GET /Customers/{id}/CustomerBalanceStats
Retrieves balance statistics for a specific customer.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes | Unique identifier of the customer whose balance statistics are being retrieved. |
Response: envelope; data is CustomerBalanceStats.
GET /Customers/{id}/Locations
Retrieves customer location addresses.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes | Unique identifier of the customer whose locations are being retrieved. |
customerName | query | string | No | Name of the customer. |
Response: envelope; data is array of Address.
GET /Customers/{id}/lookup_address
Retrieves a paginated list of customer addresses with optional search and enrichment.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes | Unique identifier of the customer. |
Also accepts the shared list parameters.
Response: envelope; data is FullAddressInfoPagedList.
GET /Customers/{id}/lookup_grouped_addresses
Retrieves grouped and normalized customer addresses with associated customers.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes | Unique identifier of the customer. |
Also accepts the shared list parameters.
Response: envelope; data is NormalizedAddressWithCustomersPagedList.
GET /Customers/{id}/MonthlyStatistic
Retrieves monthly balance statistics for a specific customer.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes | Unique identifier of the customer whose monthly balance statistics are being retrieved. |
Response: envelope; data is array of CustomerBalanceStats.
PUT /Customers/{id}/Restore
Restores a previously deleted customer.
Required access: the Delete Customers permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes | Unique identifier of the deleted customer to restore. |
Response: envelope; data has no documented shape.
GET /Customers/{id}/SentEmails
Retrieves all sent emails associated with a specific customer.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes | Unique identifier of the customer whose sent emails are being retrieved. |
Response: envelope; data is array of SentEmail.
POST /Customers/{id}/SentEmails
Sends and records emails associated with a specific customer.
Required access: the Create customers permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes | Unique identifier of the customer to whom the emails are associated. |
Request body: EmailSendRequest (JSON).
Response: envelope; data has no documented shape.
GET /Customers/CustomerStats
Retrieves statistical information for a specific customer.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | query | integer (int32) | No | Unique identifier of the customer whose statistics are being retrieved. |
Response: envelope; data is CustomerStats.
GET /Customers/CustomExport
Exports customer records to an Excel file with customizable fields.
Required access: the Export/Import permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
fields | query | string | No | Comma-separated list of field names to include in the export. |
ids | query | string | No | Optional comma-separated list of customer IDs to export. |
Response: a file download, not JSON.
DELETE /Customers/DeleteDuplicates/Addresses
Deletes duplicate customer addresses.
Required access: the Company Admin role.
Response: envelope; data has no documented shape.
DELETE /Customers/DeleteDuplicates/Contacts
Deletes duplicate customer contacts.
Required access: the Company Admin role.
Response: envelope; data has no documented shape.
GET /Customers/EmailTypes
Returns the catalog of selectable email types and whether each is Static or Regular.
Response: envelope; data is array of EmailTypeInfo.
GET /Customers/export
Exports customer records to an Excel file.
Required access: the Export/Import permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
ids | query | array of integer (int32) | No | List of customer IDs to export. |
sample | query | boolean | No | Flag indicating whether to generate a sample workbook instead of exporting actual data. |
Response: a file download, not JSON.
POST /Customers/import
Import customers from an Excel or CSV file.
Send the file as multipart/form-data with a single file part. Only the first file is read, and the name of the form field is not checked. The file part must have one of these content types: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet or application/vnd.ms-excel (Excel), application/octet-stream (read as Excel), or text/csv (CSV). Any other content type is refused as an unsupported file type.
Required access: the Export/Import permission.
Request body: form data (multipart/form-data).
| Field | Type |
|---|---|
file | file |
Response: envelope; data has no documented shape.
PUT /Customers/MergeCustomers
Merges multiple customer records into a single parent customer.
Required access: the Company Admin role.
Request body: MergeCustomers (JSON).
Response: envelope; data has no documented shape.
POST /Customers/ValidateCustomer
Validates customer details before creation or update.
Request body: Customer (JSON).
Response: envelope; data is ValidateCustomerDto.
Customer contacts
| Method | Path | Summary |
|---|---|---|
POST | /CustomerContacts | Create contact. |
PUT | /CustomerContacts/{id} | Update contact. |
DELETE | /CustomerContacts/{id} | Delete contact. |
PUT | /CustomerContacts/{id}/SetPrimary | Set primary contact. |
GET | /CustomerContacts/{id}/Usage | Get contact usage. |
POST | /CustomerContacts/Export | Export contact. |
POST | /CustomerContacts/Normalize | Normalize contacts. |
GET | /CustomerContacts/NormalizePreview | Get normalize preview. |
POST | /CustomerContacts/ValidateContact | Validate email or phone. |
POST /CustomerContacts
Create contact.
Request body: CustomerContact (JSON).
Response: envelope; data is CustomerContact.
PUT /CustomerContacts/{id}
Update contact.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Request body: CustomerContact (JSON).
Response: envelope; data is CustomerContact.
DELETE /CustomerContacts/{id}
Delete contact.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes | |
reassignToPrimary | query | boolean | No | Default: false. |
Response: envelope; data is DeleteContactResultDto.
PUT /CustomerContacts/{id}/SetPrimary
Set primary contact.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Response: envelope; data is CustomerContact.
GET /CustomerContacts/{id}/Usage
Get contact usage.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Response: envelope; data is ContactUsageDto.
POST /CustomerContacts/Export
Export contact.
Required access: the Export/Import permission.
Request body: ExportContactsRequestModel (JSON).
Response: a file download, not JSON.
POST /CustomerContacts/Normalize
Normalize contacts.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | query | integer (int32) | No |
Response: envelope; data is NormalizeContactsResultDto.
GET /CustomerContacts/NormalizePreview
Get normalize preview.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | query | integer (int32) | No |
Response: envelope; data is NormalizeContactsPreviewDto.
POST /CustomerContacts/ValidateContact
Validate email or phone.
Request body: ValidateEmailOrPhone (JSON).
Response: envelope; data is ValidateCustomerContactDto.
Addresses
| Method | Path | Summary |
|---|---|---|
POST | /Addresses | Create address. |
PUT | /Addresses/{id} | Update address. |
DELETE | /Addresses/{id} | Delete address. |
PUT | /Addresses/{id}/SetAsMainAddress | Set as main address. |
GET | /Addresses/LookupForTransfer | Lookup for transfer. |
GET | /Addresses/SearchByCompanyName | Search by company name. |
GET | /Addresses/SearchCompaniesByAddress | Search companies by address. |
POST /Addresses
Create address.
Request body: Address (JSON).
Response: envelope; data is Address.
PUT /Addresses/{id}
Update address.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Request body: Address (JSON).
Response: envelope; data is Address.
DELETE /Addresses/{id}
Delete address.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Response: envelope; data has no documented shape.
PUT /Addresses/{id}/SetAsMainAddress
Set as main address.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Response: envelope; data is Address.
GET /Addresses/LookupForTransfer
Lookup for transfer.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
searchTerm | query | string | No |
Response: envelope; data is array of Address.
GET /Addresses/SearchByCompanyName
Search by company name.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
companyName | query | string | No |
Response: envelope; data is array of Address.
GET /Addresses/SearchCompaniesByAddress
Search companies by address.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
address | query | string | No |
Response: envelope; data is array of Address.
Support tickets
| Method | Path | Summary |
|---|---|---|
GET | /SupportTickets | List the support tickets of a customer account. |
POST | /SupportTickets | Raise a ticket. |
GET | /SupportTickets/{id} | Get a support ticket with its conversation. |
PUT | /SupportTickets/{id}/Assign | Take ownership of a support ticket, or release it. |
POST | /SupportTickets/{id}/Messages | Reply on a ticket. |
PUT | /SupportTickets/{id}/Status | Move a ticket's status. |
GET /SupportTickets
List the support tickets of a customer account.
Required access: the View Customers from own account permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | query | integer (int32) | No | |
ItemsPerPage | query | integer (int32) | No | |
Page | query | integer (int32) | No | |
SearchTerm | query | string | No | |
SortBy | query | string | No | |
SortDirection | query | integer (int32) | No | One of: 0 (Ascending), 1 (Descending). |
status | query | string | No | One of: Open, InProgress, Resolved, Archived. |
Response: envelope; data is SupportTicketPagedList.
POST /SupportTickets
Raise a ticket.
Required access: the View Customers from own account permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | query | integer (int32) | No |
Request body: CreateSupportTicketRequest (JSON).
Response: envelope; data is SupportTicketDto.
GET /SupportTickets/{id}
Get a support ticket with its conversation.
Required access: the View Customers from own account permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Response: envelope; data is SupportTicketDto.
PUT /SupportTickets/{id}/Assign
Take ownership of a support ticket, or release it.
Required access: the Edit customers from own account permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes | |
userId | query | string | No |
Response: envelope; data is SupportTicketDto.
POST /SupportTickets/{id}/Messages
Reply on a ticket.
Required access: the View Customers from own account permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Request body: AddSupportTicketMessageRequest (JSON).
Response: envelope; data is SupportTicketMessageDto.
PUT /SupportTickets/{id}/Status
Move a ticket's status.
Required access: the View Customers from own account permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Request body: UpdateSupportTicketStatusRequest (JSON).
Response: envelope; data is SupportTicketDto.
Customer messages
| Method | Path | Summary |
|---|---|---|
GET | /CustomerMessages | List the messages exchanged with a customer. |
POST | /CustomerMessages | Send a message to a customer. |
DELETE | /CustomerMessages | Delete a customer message. |
POST | /CustomerMessages/{id}/PaymentRequest | Send payment request. |
POST | /CustomerMessages/{orderStopId}/AppointmentRequest | Send appointment request. |
POST | /CustomerMessages/{orderStopId}/NewAppointmentRequest | Sends a New Appointment request for a stop, proposing the From/Till Date & Time range that works for us after the customer's suggested slot did not. |
PUT | /CustomerMessages/AcceptOrRejectPriceOffer | Accept or reject price offer. |
POST | /CustomerMessages/PriceOffer | Send price offer. |
POST | /CustomerMessages/Reaction | Add message reaction. |
DELETE | /CustomerMessages/Reaction | Delete message reaction. |
GET | /CustomerMessages/Taggable | Get taggable entities. |
GET /CustomerMessages
List the messages exchanged with a customer.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | query | integer (int32) | No | |
orderId | query | integer (int32) | No |
Response: envelope; data is array of CustomerMessage.
POST /CustomerMessages
Send a message to a customer.
Request body: form data (multipart/form-data).
| Field | Type | Values |
|---|---|---|
CustomerId | integer (int32) | |
TenantId | string (uuid) | |
CompanyId | integer (int32) | |
ReplyToMessageId | integer (int32) | |
UserId | string | |
OrderId | integer (int32) | |
OrderNumber | string | |
OrderStopId | integer (int32) | |
IsAppointmentRequest | boolean | |
AppointmentStopLabel | string | |
AppointmentStopCompanyName | string | |
AppointmentAddress | string | |
AppointmentContactPhone | string | |
AppointmentFromDateTime | string (date-time) | |
AppointmentTillDateTime | string (date-time) | |
Email | string | |
Text | string | |
IsPriceOffer | boolean | |
IsAccepted | boolean | |
IsRejected | boolean | |
Type | string | One of: Incoming, Outcoming. |
Files | array of file | |
Tags | array of CustomerMessageTagDto |
Response: envelope; data is CustomerMessage.
DELETE /CustomerMessages
Delete a customer message.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerMessageId | query | integer (int32) | No |
Response: envelope; data has no documented shape.
POST /CustomerMessages/{id}/PaymentRequest
Send payment request.
Required access: the Company Admin role.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | integer (int32) | Yes |
Request body: EmailSendRequest (JSON).
Response: envelope; data has no documented shape.
POST /CustomerMessages/{orderStopId}/AppointmentRequest
Send appointment request.
Required access: the Company Admin role.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orderStopId | path | integer (int32) | Yes |
Response: envelope; data has no documented shape.
POST /CustomerMessages/{orderStopId}/NewAppointmentRequest
Sends a New Appointment request for a stop, proposing the From/Till Date & Time range that works for us after the customer's suggested slot did not.
Required access: the Company Admin role.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orderStopId | path | integer (int32) | Yes | Unique identifier of the stop the appointment belongs to. |
Request body: NewAppointmentRequestDto (JSON).
Response: envelope; data is CustomerMessage.
PUT /CustomerMessages/AcceptOrRejectPriceOffer
Accept or reject price offer.
Required access: the Company Admin role.
Request body: PriceOfferDto (JSON).
Response: envelope; data is CustomerMessage.
POST /CustomerMessages/PriceOffer
Send price offer.
Required access: the Company Admin role.
Request body: form data (multipart/form-data).
| Field | Type |
|---|---|
CustomerId | integer (int32) |
Price | number (double) |
IsPriceOffer | boolean |
IsAccepted | boolean |
IsRejected | boolean |
ReplyToMessageId | integer (int32) |
QuoteNumber | string |
CallbackUrl | string |
Response: envelope; data has no documented shape.
POST /CustomerMessages/Reaction
Add message reaction.
Request body: Reaction (JSON).
Response: envelope; data is Reaction.
DELETE /CustomerMessages/Reaction
Delete message reaction.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
reactionId | query | integer (int32) | No |
Response: envelope; data has no documented shape.
GET /CustomerMessages/Taggable
Get taggable entities.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | query | integer (int32) | No | |
query | query | string | No |
Response: envelope; data is array of TaggableEntityDto.
Customer Portal access
| Method | Path | Summary |
|---|---|---|
GET | /CustomerPortal/AccessRequests | Lists the customer portal signups still waiting on an admin decision. |
POST | /CustomerPortal/AccessRequests/{customerId}/Approve | Approves a customer portal signup and sends the customer their invitation. |
POST | /CustomerPortal/AccessRequests/{customerId}/Reject | Rejects a customer portal signup. |
POST | /CustomerPortal/Invite | Invites a customer to the portal by creating an account and sending an invitation email. |
POST | /CustomerPortal/ResendInvite/{userId} | Resends the invitation email to an existing customer portal user. |
GET | /CustomerPortal/Users/{customerId} | Gets all portal users associated with a specific customer. |
DELETE | /CustomerPortal/Users/{userId} | Delete a Customer Portal user and disable their account. |
PUT | /CustomerPortal/Users/{userId}/Disable | Disables a customer portal user account. |
PUT | /CustomerPortal/Users/{userId}/Enable | Enables a previously disabled customer portal user account. |
GET /CustomerPortal/AccessRequests
Lists the customer portal signups still waiting on an admin decision.
Required access: the Company Admin role.
Also accepts the shared list parameters.
Response: envelope; data is CustomerAccessRequestDtoPagedList.
POST /CustomerPortal/AccessRequests/{customerId}/Approve
Approves a customer portal signup and sends the customer their invitation.
Required access: the Company Admin role.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | integer (int32) | Yes | The customer the request belongs to. |
Request body: ApproveAccessRequestDto (JSON).
Response: envelope; data is CustomerPortalUserDto.
POST /CustomerPortal/AccessRequests/{customerId}/Reject
Rejects a customer portal signup.
Required access: the Company Admin role.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | integer (int32) | Yes | The customer the request belongs to. |
Request body: RejectAccessRequestDto (JSON).
Response: envelope; data has no documented shape.
POST /CustomerPortal/Invite
Invites a customer to the portal by creating an account and sending an invitation email.
Required access: the Company Admin role.
Request body: InviteCustomerRequest (JSON).
Response: envelope; data is CustomerPortalUserDto.
POST /CustomerPortal/ResendInvite/{userId}
Resends the invitation email to an existing customer portal user.
Required access: the Company Admin role.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
userId | path | string | Yes | The user ID to resend the invitation for. |
Response: envelope; data has no documented shape.
GET /CustomerPortal/Users/{customerId}
Gets all portal users associated with a specific customer.
Required access: the Company Admin role.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | integer (int32) | Yes | The Customer ID to list portal users for. |
Response: envelope; data is array of CustomerPortalUserDto.
DELETE /CustomerPortal/Users/{userId}
Delete a Customer Portal user and disable their account.
Required access: the Company Admin role.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
userId | path | string | Yes | The user ID to delete. |
Response: envelope; data has no documented shape.
PUT /CustomerPortal/Users/{userId}/Disable
Disables a customer portal user account.
Required access: the Company Admin role.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
userId | path | string | Yes | The user ID to disable. |
Response: envelope; data has no documented shape.
PUT /CustomerPortal/Users/{userId}/Enable
Enables a previously disabled customer portal user account.
Required access: the Company Admin role.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
userId | path | string | Yes | The user ID to enable. |
Response: envelope; data has no documented shape.