FieldRoutes API docs logoFieldRoutes API

Customers & Sales

customer

7 endpoints. Start at search to collect IDs, then resolve them through get.

Read operations

get/customer/getTry it

get customer

Get Bulk data for customer. Accepts an array of customerIDs. Returns a max of 1000 records.

Parameters

customerIDsarray

No description in the upstream reference.

includeCancellationReasoninteger

Send as 1 to retrieve an array of cancellationNotes associated with each customer.

includeSubscriptionsinteger

Send as 1 to retrieve an array of subscriptions associated with each customer.

includeCustomerFlaginteger

Send as 1 to retrieve an array of flags associated with each customer.

includeAdditionalContactsinteger

Send as 1 to retrieve an array of additional contacts associated with each customer.

includePortalLogininteger

Send as 1 to retrieve additional properties portalLogin (full URL for customer login) and portalLoginExpires (datetime in PST). Portal token guarenteed valid for 3 days or longer.

Returns

customerIDinteger

Unique Identifier

billToAccountIDinteger

Billing Account which this subscription belongs to

officeIDinteger

The ID of the office this customer belongs to.

fnamestring

The first name of the customer

lnamestring

The last name of the customer.

companyNamestring

The company name of the customer.

spousestring

Spouse or alternate contact.

commercialAccountinteger

0: Not Commercial, 1: Commercial

Request

/customer/get
curl -X POST 'https://{subdomain}.pestroutes.com/api/customer/get' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Accept: application/json' \
  --data-urlencode 'customerIDs=value' \
  --data-urlencode 'includeCancellationReason=1' \
  --data-urlencode 'authenticationKey=<your-key>' \
  --data-urlencode 'authenticationToken=<your-token>'

Response

success:true
]
count:2
}
by id/customer/{id}Try it

Fetch by id customer

Get customer data for single ID -- please provide a specific record ID in the URL structure.

Parameters

includeCancellationReasoninteger

Send as 1 to retrieve an array of cancellationNotes associated with each customer.

includeSubscriptionsinteger

Send as 1 to retrieve an array of subscriptions associated with each customer.

includeCustomerFlaginteger

Send as 1 to retrieve an array of flags associated with each customer.

includeAdditionalContactsinteger

Send as 1 to retrieve an array of additional contacts associated with each customer.

includePortalLogininteger

Send as 1 to retrieve additional properties portalLogin (full URL for customer login) and portalLoginExpires (datetime in PST). Portal token guarenteed valid for 3 days or longer.

Returns

customerIDinteger

Unique Identifier

billToAccountIDinteger

Billing Account which this subscription belongs to

officeIDinteger

The ID of the office this customer belongs to.

fnamestring

The first name of the customer

lnamestring

The last name of the customer.

companyNamestring

The company name of the customer.

spousestring

Spouse or alternate contact.

commercialAccountinteger

0: Not Commercial, 1: Commercial

Request

/customer/{id}
curl -X POST 'https://{subdomain}.pestroutes.com/api/customer/{id}' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Accept: application/json' \
  --data-urlencode 'includeCancellationReason=1' \
  --data-urlencode 'includeSubscriptions=1' \
  --data-urlencode 'authenticationKey=<your-key>' \
  --data-urlencode 'authenticationToken=<your-token>'

Response

success:true
customerID:2124
billToAccountID:7833
officeID:2602
fname:"Dana"
lname:"Reyes"
companyName:"Quarterly Perimeter"
spouse:"sample-spouse"
commercialAccount:2
status:2
statusText:"Active"
email:"dana.reyes@example.com"
phone1:"5558675309"
ext1:"sample-ext1"
phone2:"5558675309"
ext2:"sample-ext2"
address:"418 Cypress Ridge Rd"
city:"Round Rock"
state:"TX"
zip:"78664"
billingCompanyName:"Quarterly Perimeter"
billingFName:"Quarterly Perimeter"
billingLName:"Quarterly Perimeter"
billingCountryID:"sample-billingCountryID"
billingAddress:"418 Cypress Ridge Rd"
billingCity:"sample-billingCity"
billingState:"sample-billingState"
billingZip:"sample-billingZip"
billingPhone:"5558675309"
billingEmail:"dana.reyes@example.com"
lat:132.5
lng:122.5
squareFeet:2
addedByID:5157
dateAdded:"2026-08-10 00:00:00"
dateCancelled:"2026-05-27 00:00:00"
dateUpdated:"2026-04-07 00:00:00"
sourceID:1129
source:"sample-source"
aPay:"sample-aPay"
preferredTechID:1829
paidInFull:0
subscriptionIDs:1
balance:81.5
balanceAge:0
responsibleBalance:19.5
responsibleBalanceAge:1
customerLink:"sample-customerLink"
masterAccount:"sample-masterAccount"
preferredBillingDate:2
paymentHoldDate:"2026-04-21 00:00:00"
mostRecentCreditCardLastFour:"sample-mostRecentCreditCardLastFour"
mostRecentCreditCardExpirationDate:"2026-09-21 00:00:00"
appointmentIDs:2
ticketIDs:1
paymentIDs:1
unitIDs:2
regionID:4546
mapCode:"sample-mapCode"
mapPage:"sample-mapPage"
specialScheduling:"sample-specialScheduling"
taxRate:160.5
smsReminders:1
phoneReminders:2
emailReminders:1
customerSource:"sample-customerSource"
customerSourceID:"sample-customerSourceID"
maxMonthlyCharge:50.5
county:"sample-county"
useStructures:0
isMultiUnit:2
autoPayPaymentProfileID:8106
divisionID:7931
}
}

Write operations

create/customer/createTry it

create customer

create a customer

Parameters

billToAccountIDinteger

No description in the upstream reference.

fnamestring

First name

lnamestring

Last name

spousestring

No description in the upstream reference.

addressstring

Address string

citystring

City string

statestring

2 letter state code

zipstring

Zip code

Returns

Returns a success acknowledgement.

Request

/customer/create
curl -X POST 'https://{subdomain}.pestroutes.com/api/customer/create' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Accept: application/json' \
  --data-urlencode 'billToAccountID=1' \
  --data-urlencode 'fname=value' \
  --data-urlencode 'authenticationKey=<your-key>' \
  --data-urlencode 'authenticationToken=<your-token>'

Response

success:true
customerID:4821
}
update/customer/updateTry it

update customer

Update customer details

Parameters

billToAccountIDinteger

No description in the upstream reference.

fnamestring

First name

lnamestring

Last name

spousestring

No description in the upstream reference.

addressstring

Address string

citystring

City string

statestring

2 letter state code

zipstring

Zip code

Returns

Returns a success acknowledgement.

Request

/customer/update
curl -X POST 'https://{subdomain}.pestroutes.com/api/customer/update' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Accept: application/json' \
  --data-urlencode 'billToAccountID=1' \
  --data-urlencode 'fname=value' \
  --data-urlencode 'authenticationKey=<your-key>' \
  --data-urlencode 'authenticationToken=<your-token>'

Response

success:true
customerID:4821
}
createPaymentProfile/customer/createPaymentProfileTry it

createPaymentProfile customer

Create a payment profile using a CreditCardToken and CreditCardTokenID from braintree/element

Parameters

CreditCardTokenstring

Required for braintree and element. Not required for nmi

CreditCardTokenIDstring

Required for braintree and nmi. Not required for element

Returns

idinteger

Primary Key for paymentProfiles

customerIDinteger

Customer associated with the payment profile

profileIDstring

Credit card token associated with the payment processor

paymentProfileIDstring

Credit card token id associated with the payment processor

createdByinteger

EmployeeID who added the payment profile

dateCreatedstring

Date created

billingNamestring

Billing name

billingAddress1string

Billing Address

Request

/customer/createPaymentProfile
curl -X POST 'https://{subdomain}.pestroutes.com/api/customer/createPaymentProfile' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Accept: application/json' \
  --data-urlencode 'CreditCardToken=value' \
  --data-urlencode 'CreditCardTokenID=value' \
  --data-urlencode 'authenticationKey=<your-key>' \
  --data-urlencode 'authenticationToken=<your-token>'

Response

success:true
id:4360
customerID:2118
profileID:"sample-profileID"
paymentProfileID:"sample-paymentProfileID"
createdBy:0
dateCreated:"2026-02-25 00:00:00"
billingName:"Quarterly Perimeter"
billingAddress1:"418 Cypress Ridge Rd"
billingCity:"sample-billingCity"
billingState:"sample-billingState"
billingZip:2
billingCountryID:"sample-billingCountryID"
lastFour:"sample-lastFour"
expMonth:"sample-expMonth"
expYear:"sample-expYear"
}
updatePaymentProfile/customer/updatePaymentProfileTry it

updatePaymentProfile customer

Update billing information of existing payment profile for a customer

Parameters

billingNamestring

Billing name associated with payment profile

billingAddress1string

Billing address associated with payment profile

billingCitystring

Billing city associated with payment profile

billingStatestring

Billing state associated with payment profile

billingZipinteger

Billing zip code associated with payment profile

billingCountryIDstring

Billing country code associated with payment profile

Returns

idinteger

Primary Key for paymentProfiles

customerIDinteger

Customer associated with the payment profile

profileIDstring

Credit card token associated with the payment processor

paymentProfileIDstring

Credit card token id associated with the payment processor

createdByinteger

EmployeeID who added the payment profile

dateCreatedstring

Date created

billingNamestring

Billing name

billingAddress1string

Billing Address

Request

/customer/updatePaymentProfile
curl -X POST 'https://{subdomain}.pestroutes.com/api/customer/updatePaymentProfile' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Accept: application/json' \
  --data-urlencode 'billingName=value' \
  --data-urlencode 'billingAddress1=value' \
  --data-urlencode 'authenticationKey=<your-key>' \
  --data-urlencode 'authenticationToken=<your-token>'

Response

success:true
id:4360
customerID:2118
profileID:"sample-profileID"
paymentProfileID:"sample-paymentProfileID"
createdBy:0
dateCreated:"2026-02-25 00:00:00"
billingName:"Quarterly Perimeter"
billingAddress1:"418 Cypress Ridge Rd"
billingCity:"sample-billingCity"
billingState:"sample-billingState"
billingZip:2
billingCountryID:"sample-billingCountryID"
lastFour:"sample-lastFour"
expMonth:"sample-expMonth"
expYear:"sample-expYear"
}