NAV
reference javascript csharp python

About

Welcome to the ServiceMonster Developer Page! Here you can find all API documentation for
our V1 environment. Code References and Snippets are in the right hand pane.

If you have any questions please feel free to contact us at developer@servicemonster.net.

Getting Started

Using the API

Part 1: Returning a collection

To begin using the ServiceMonster REST API you will first and foremost need an authentication token. If you do not have an authentication token, please see the page on Creating a Basic Token. The token not only gives you access to the REST API, but it is also what ties your requests to a ServiceMonster Company ID.

Once you have your token, it is highly recommended that you compose your first HTTP requests with a program such as Fiddler Web Debugger. This program will allow you to compose requests, and to view the data that is returned from a properly formatted request. It is not necessary to use this third-party application, but it does make it very clear as to what is required in the request, what is returned in the data-set and how it is formatted. The following examples in this getting started tutorial will use the Fiddler Web Debugger.

In Fiddler, select the “Composer” tab to begin creating your HTTP request. In the Request Header, add the following lines:

Content-Type: application/json
Authorization: Basic {Your Token Here}

Please be careful to put a space between “Basic” and your token. This is what your Request Header should look like for all future HTTP Requests:

headers

Now to compose the request itself. We will begin by doing a simple query of “Accounts” records. Directly above the Request Header section there is a drop-down list containing the available HTTP actions: GET, POST, PUT, etc…. Of these options, the REST API uses 4 which each relate to a CRUD operation. POST = create, GET = read, PUT = update, and DELETE = delete. For this example we will leave the drop-down list with “GET” selected.

Next to the drop-down list there is an address bar. This is where you will specify the resource you are trying to access. For our example, Accounts, the address will look like this:

composer

First, you must use the HTTPS secure protocol. Regular HTTP requests will not work, and will result in a 404 “Not Found” error. Second is the address “api.servicemonster.net”. This will always be the address you should use to access any resource through the REST API. Third, after the address is the version number. Currently we are on version 1. Requests made to /v1/ will still continue to work after /v2/ is made available, thereby ensuring that any updates we make will not break a piece of software utilizing our API. Finally, after the version comes the resource that we are trying to access, in this case “accounts.” The address is not case-sensitive.

Once your request is complete, hit the button in the top-right of the screen. In the left side of the screen is the list of HTTP requests that have been made by your system, with the most recent request at the bottom.

responses

The “Host” for our request should be “api.servicemonster.net” and the URL should be “/v1/accounts.” With your request selected, change the tab on the right side of the screen from “Composer” to “Inspectors.”

tabs

Beneath the Request Headers section is another row of tabs that allow you to view the data after it has been de-serialized in a variety of formats. The data returned by the API is serialized in JSON, fiddler should recognize this and automatically select the JSON tab, but if it does not, then select that tab now. (Alternatively, you can double-click the request in the Request List). The data returned should look something like this:

response_body

At the top of the JSON package is the count. This number tells you how many records there are in the database for the type of resource selected. By default, the API will only return the first 10 records, however you can increase the “Page Size” or return a different “Page Index.” (See “Part IV: Parameters)

Part 2: Returning a Single Record top

Returning a single record is very similar to returning a collection, however we must include the record identifier. The record identifier will be of the type “GUID” (Globally Unique Identifier)* and will be added to the end of the request address like so:

get_account

This request will return the information regarding a single account. If you have successfully received a collection of account records, you can use the “accountID” property from one of those records as your record identifier. The property that contains the record identifier will have the resource name (“account,” in this case) in lowercase plus the letters “ID” capitalized. Ie: accountID, orderID, siteID, etc…

Part 3: Returning Child Collections

You can also request collections of data that “belong” to a record. For example, you may want to return a collection of the Orders that have been created for a specific Account. To do this, construct your request like you were returning a single Account record, and then add the child-resource to the end of it like so:

get_account_orders

This request would return to us the orders for the account with accountID equal to “990d83de-0d9a-444f-bfd7-09101c756151.”

Part 4: Parameters

Please view the Parameters page Parameters

Part 5: Creating a New Record

A few of the resources made accessible by the API are set as read-only. For those, you will be unable to create new records. However, the majority of the ServiceMonster resources allow you to insert a new record via the API. In this example, we will add a new Account.

First, set the drop-down list in the Fiddler Request Composer to “POST.” Second, we will construct the address as if we were requesting a collection; like so:

post_account

The content for the resource we are trying to add goes in to the Request Body. For each type of resource, at least one property is required. If you were to hit “Execute” without typing anything into the Request Body, you will get the following error that basically just says it was expecting some data:

length_required

That is because a JSON data package must be encapsulated with the curly braces { and }. If we simply put the open and closed curly braces into the request body, and hit “Execute” with our empty data-set, we will get the following error message that contains more meaningful information:

required_fields

For Accounts, the only property that is required is accountName. If more of the properties were required, they would be listed here as well. This can be a good way to determine what fields will need to be supplied in order to create a record. To create a new Account with the absolute minimum of information, compose your Request Body so that it looks like the following:

{ "accountName":"New Account" }

If you have constructed your request properly, the record will be created, and the record identifier will be returned in a JSON package. Some properties are read-only, so if you try to insert a record and have supplied a property that is read-only, you will get an error message and the record will not be created.

Part 6: Updating a Record

Similar to requesting a single record, you must supply the record ID in order to do an Update. You must also change the action drop-down list to “PATCH.”

Then, form the Request Body like you did for a POST including the fields you want to update. None of the fields are required to do an update, however some of them are read-only. Also, you cannot update a required property with a blank or null value.

Part 7: Deleting a Record top
Just like fetching or updating a single record, we need to supply a record ID to delete a record through the API. This time we will set the HTTP Action drop-down list to “DELETE”

Creating a Basic Token

Create an API Key

  1. Login to ServiceMonster at app.servicemonster.net (You will need to use an administrator account)
  2. Navigate to the Company tab and click on “Api Keys” in the Navigator menu on the left side.
  3. Click “New” at the bottom of the list of existing API Keys.
  4. Select a role, usually Admin and supply a note (optional), click “Submit”
  5. A set of API Credentials will appear. Make sure you save the password, as it will not be retrievable if you lose it.

Create a Basic Token using base64encode

Open https://www.base64encode.org/
Make sure you are set to encode, then in the top box paste your username and password generated in step one. They should be seperated by a colon. Then press “Encode”
Ex: “username”:”password”
base64

The encoded string generated is your Basic Token. You can use it by supplying it in your request Headers.

Ajax Example:

See javascript code snippet to the right.

var settings = {
  "url": "https://api.servicemonster.net/v1/accounts",
  "method": "GET",
  "headers": {
    "authorization": "Basic S3NRcVU0MkNkOmZ3NGNGb1Vnb3NkODhZNXRZOA=="
  }
}

$.ajax(settings).done(function (response) {
  console.log(response);
});

GET Parameters

GET Parameters

Parameter Description Example
fields limits the return to the specified columns v1/accounts?fields=id,accountName
limit limits the number of records returned for paging v1/accounts?limit=25
pageIndex The page of results to be returned. (example returns records 101-125) v1/accounts?limit=25&pageIndex=4

GET Where Parameters

Field Description
wField The data field to check against
wValue The value to filter on. (Use “%20” for spaces)
wOperator - fixmeimugly (optional)The type of camparison to be made(no value suppled) equals(“gt”) greater than(“lt”) less than(“like”) LIKE, ‘%’s are added before and after value

GET Where Examples

Example Description
…/v1/account?wField=lastName&wValue=Smith Returns all Accounts where the Last Name equals “Smith”
…/v1/orders?wField=balanceDue&wValue=100&wOperator=gt Returns all Orders where the balance due is greater than $100.00
…/v1/leadSources?wField=name&wValue=magazine&wOperator=like Returns all Lead Sources that have the word “magazine” somewhere in the name.

Vendor Information

Overview

ServiceMonster is proud to offer data-integration to third party vendors who would like to offer their services to our customers.

Once you are approved as a vendor we will create a test company for you within the ServiceMonster test site (http://west-test.servicemonster.net/servicemonster). You will then be able to log in to ServiceMonster and create your own API credentials. Once you have created a set of API credentials you can start creating, reading, and modifying data through the API test site (http://west-test.servicemonster.net/smapi) and start building out your integration with ServiceMonster company data.

One key component to completing integration with ServiceMonster customer data, is the process through which the end-user will grant access to your application. This process is outlined in detail in this document and in this diagram.

Vendor Access Request

Creating Company-Specific API Credentials through the ServiceMonster API

When you are first approved as a vendor, you will be given a set of credentials as well as an Application ID for each app that you have in the marketplace that integrates with ServiceMonster data. You will use this AppID both when validating the API access request, and when completing the request to retrieve credentials.

Check if API Request is valid:

GET https://api.servicemonster.net/v1/apiRequests/{AppID}/{RequestID}
Authorization:  Basic {your token here}
Content-Type:   application/json

This validation check must occur within 30 minutes from when the API request was created. After that it expires and the user will need to generate a new link (by refreshing the marketplace page).

{
  "companyKey": "5001",
  "companyName": "Principal Focus",
  "address1": "4204 Meridian St",
  "address2": "Suite 105",
  "city": "Bellingham",
  "state": "WA",
  "zip": "98226",
  "phone": "(888) 901-3300"
}

If the Request is still valid, the API will return information specific to the company that has generated the API Access request. e.g.

You can use this data to pre-fill your purchase form. Once the customer has completed the purchasing process, you can then use your AppID and the RequestID again to “complete” the request, and have the API return a set of credentials that will allow you to access that company’s data.

Completing the API Request:

POST    https://api.servicemonster.net/v1/apiRequests   
Authorization:  Basic {your token here}
Content-Type:   application/json

Request Body:
{
  "requestID": "{RequestID}",
  "appID": "{AppID}"
}

The API Request must be completed within 1 hour from when the API request was created. After that it expires and the user will need to generate a new link (by refreshing the marketplace page).

{
  "password": "**********",
  "username": "**********"
}

Upon a successful post of the API Request object, the new credentials will be returned:

Once you have the credentials, you can Base64 them into a token to use when authenticating your requests: Creating a Basic Token

Vendor Request Flow

vendor_request_flow

V1 API

accounts

Methods

Action Result
POST Creates new Account
GET Retrieves a list of accounts
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
accountID Guid - Yes - The guid identifer for the account.
accountName String Yes - - The account’s name.
accountReferralID Guid - - - If the Lead Source is set to “Account Referral”, then this ID is used to define the referring account.
accountSubType String - - - The user-defined sub-category for the account.
accountType String - - Customer The type of account. ie Customer, Prospect, etc..
acquisitionDate DateTime - - - The date that this account was created.
active Boolean - - True Whether this account is currently active.
address1 String - - - Line 1 of the account’s street address
address2 String - - - Line 2 of the account’s street address
alert Boolean - - False Calls attention to the account.
city String - - - The city where the account-holder is located
comment String - - - Comment about the account.
commercial Boolean - - False Whether or not this account is for a residential or commercial location.
companyID Guid - Yes - The ID of the company to which this account belongs.
companyKey Guid - Yes - The ID of the company to which this account belongs.
companyName String - - - The country where the account-holder is located
country String - - - The country where the account-holder is located
county String - - - The county where the account-holder is located
courierRoute String - - - The courier route for this account.
createdBy String - Yes - The username of the person who created this account.
createdOn DateTime - Yes - The date and time that this acocunt was created.
doNotCall Boolean - - False Whether or not this person would like to receive phone calls.
doNotEmail Boolean - - False Whether or not this person would like to receive emails.
doNotMail Boolean - - False Whether or not this person would like to receive mail.
email String - - - The email address for this account.
externalRefID String - - - This can be the ID of this account in a different system. ie Quickbooks.
fax String - - - The fax number for this account
firstName String - - - The first name of the account-holder
flagForReview Boolean - - False Whether or not this account needs to be reviewed.
lastName String - - - The last name of the account-holder
lastStatementDate DateTime - - - The date of the most recent statement.
lastJobDate DateTime - Yes - The date of the most recent Job.
leadSourceID Guid - - - The ID of the Lead Source for this account.
nextJobDate DateTime - Yes - The date of the soonest upcoming Job.
note String - - - A note about this account
paymentTerm String - - - Used to determine when a customer’s invoice is past due. (Due Upon Receipt, Net 15, Net 30, Net 60)
phone1 String - - - The first phone number for this account.
phone1Label String - - Phone 1 The label for the first phone number.
phone2 String - - - The second phone number for this account.
phone2Label String - - Phone 2 The label for the second phone number
phone3 String - - - The third phone number for this account
phone3Label String - - Phone 3 The label for the third phone number
reference String - - - A custom field.
salutation String - - - The title for the account-holder
securityGroup String - - - The security group for this account
siteReference String - - - -
state String - - - The county where the account-holder is located
taxExempt Boolean - - False Whether this account is subject to taxes.
taxID Guid - - - The identifier of the tax-rate for this account
zip String - - - The zip-code where the account-holder is located
timeStamp DateTime - Yes - The date and time that this account was last modified.
userName String - Yes - The username of the person who last edited this account.

accounts/{id}

Methods

Action Result
POST Not allowed
GET Retrieves specificed account
PATCH Updates specified account
DELETE Deletes specified account

Properties

Field Name Data Type Required Read Only Default Value Description
accountID Guid - Yes - The guid identifer for the account.
accountName String Yes - - The account’s name.
accountReferralID Guid - - - If the Lead Source is set to “Account Referral”, then this ID is used to define the referring account.
accountSubType String - - - The user-defined sub-category for the account.
accountType String - - Customer The type of account. ie Customer, Prospect, etc..
acquisitionDate DateTime - - - The date that this account was created.
active Boolean - - True Whether this account is currently active.
address1 String - - - Line 1 of the account’s street address
address2 String - - - Line 2 of the account’s street address
alert Boolean - - False Calls attention to the account.
city String - - - The city where the account-holder is located
comment String - - - Comment about the account.
commercial Boolean - - False Whether or not this account is for a residential or commercial location.
companyID Guid - Yes - The ID of the company to which this account belongs.
companyKey Guid - Yes - The ID of the company to which this account belongs.
companyName String - - - The country where the account-holder is located
country String - - - The country where the account-holder is located
county String - - - The county where the account-holder is located
courierRoute String - - - The courier route for this account.
createdBy String - Yes - The username of the person who created this account.
createdOn DateTime - Yes - The date and time that this acocunt was created.
doNotCall Boolean - - False Whether or not this person would like to receive phone calls.
doNotEmail Boolean - - False Whether or not this person would like to receive emails.
doNotMail Boolean - - False Whether or not this person would like to receive mail.
email String - - - The email address for this account.
externalRefID String - - - This can be the ID of this account in a different system. ie Quickbooks.
fax String - - - The fax number for this account
firstName String - - - The first name of the account-holder
flagForReview Boolean - - False Whether or not this account needs to be reviewed.
lastName String - - - The last name of the account-holder
lastStatementDate DateTime - - - The date of the most recent statement.
lastJobDate DateTime - Yes - The date of the most recent Job.
leadSourceID Guid - - - The ID of the Lead Source for this account.
nextJobDate DateTime - Yes - The date of the soonest upcoming Job.
note String - - - A note about this account
paymentTerm String - - - Used to determine when a customer’s invoice is past due. (Due Upon Receipt, Net 15, Net 30, Net 60)
phone1 String - - - The first phone number for this account.
phone1Label String - - Phone 1 The label for the first phone number.
phone2 String - - - The second phone number for this account.
phone2Label String - - Phone 2 The label for the second phone number
phone3 String - - - The third phone number for this account
phone3Label String - - Phone 3 The label for the third phone number
reference String - - - A custom field.
salutation String - - - The title for the account-holder
securityGroup String - - - The security group for this account
siteReference String - - - -
state String - - - The county where the account-holder is located
taxExempt Boolean - - False Whether this account is subject to taxes.
taxID Guid - - - The identifier of the tax-rate for this account
zip String - - - The zip-code where the account-holder is located
timeStamp DateTime - Yes - The date and time that this account was last modified.
userName String - Yes - The username of the person who last edited this account.

accounts/{id}/callactivites

Methods

Action Result
POST Not allowed
GET Retrieves Call Activities for the specified account
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid - Yes - The guid identifer for the activity.
accountID Guid Yes - - The ID of the account to which this activity applies.
activityCategory String - - - The category for this activity.
activityDateTime DateTime - - - The date and time that this activity begins.
activitySubType String - - - The Sub-Type of the activity.
companyID Guid - Yes - The ID of the company to which this activity belongs.
completionDate DateTime - - - The date and time that this activity was completed.
dueDate DateTime - - - The date and time that this activity must be completed by.
note String - - - A note for this activity.
priority String - - - The priority level of this activity.
isPrivate Boolean - - False Whether or not this activity is private.
startDateTime DateTime - - - The date and time that this activity begins.
status String - - Pending The status for this activity.
subject String Yes - - The title of this activity.
timeStamp DateTime - Yes - The Date and Time that this activity was last modified.
userName String - Yes - The username of the person who last edited this activity.

accounts/{id}/credits

Methods

Action Result
POST Not allowed
GET Retrieves Credits for the specified account
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
creditID Guid - Yes - The guid identifer for the credit.
accountID Guid Yes - - The ID of the account to which this credit applies.
amount Decimal Yes - - The amount of this credit.
companyID Guid - Yes - The ID of the company to which this credit belongs.
createdBy String - Yes - The username of the person who created this credit.
createdOn DateTime - Yes - The date and time that this credit was created.
creditDate DateTime - - - The date on which the credit will be applied.
creditMethod String - - - The payment method for this credit.
datePosted DateTime - Yes - The date that this credit was posted to the account.
memo String - - - Memo for this credit.
refNo String - - - A reference number.
timeStamp DateTime - Yes - The date and time that this credit was last modified.
userName String - Yes - The username of the person who last edited this credit.

accounts/{id}/mailactivites

Methods

Action Result
POST Not allowed
GET Retrieves Mail Activities for the specified account
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid - Yes - The GUID for this activity.
accountID Guid Yes - - The ID of the account for which this activity was created.
activityCategory String - - - The category of this activity.
activityDateTime DateTime - - - The date and time that this activity will take place.
activitySubType String - - - -
companyID Guid - Yes - The ID of the company for which this activity was created.
completionDate DateTime - - - The date that this activity was completed.
dueDate DateTime - - - The date by which this activity is due to be completed.
note String - - - A note for this activity.
priority String - - - The priority for this activity.
status String - - Pending This activity’s status.
subject String Yes - - The subject of this activity.
timeStamp DateTime - Yes - The date and time that this activity was last modified.
userName String - Yes - The username of the person who last edited this activity.

accounts/{id}/noteactivites

Methods

Action Result
POST Not allowed
GET Retrieves Note Activities for the specified account
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid - Yes - The guid identifer for the task
accountID Guid Yes - - The GUID for the account to which this activity belongs.
activityCategory String - - - The category for this activity.
activityDateTime DateTime - - - The date and time of this activity.
activitySubType String - - - The sub-type of the activity.
companyID Guid - Yes - The ID of the company to which this activity belongs.
note String - - - -
subject String Yes - - -
timeStamp DateTime - Yes - -
userName String - Yes - -

accounts/{id}/orders

Methods

Action Result
POST Not allowed
GET Retrieves Orders for the specified account
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
orderID Guid - Yes - The order record identifier.
accountID Guid Yes - - The ID of the account to which this order belongs.
actionItem String - - - User-defined field for work order actions. ie Moving Furniture.
companyID Guid - - - The ID of the company to which this order belongs.
correction Decimal - - - A value used to adjust the order’s total.
createdBy String - Yes - The username of the person who created this order.
createdOn DateTime - Yes - The date and time that this order was created.
dateCompleted DateTime - - - The date that this order was completed, populated automatically.
dateCreated DateTime - - - The date and time that this order was created. Can be changed by user.
dateOfLoss DateTime - - - Date that damage or property-loss occurred.
datePosted DateTime - - - The date that this order was posted.
discountPercent Decimal - - - What percent to discount this order, if any. (0-100)
dueDate DateTime - Yes - The date by which this order is due.
externalRefID String - - - Hidden field can be used to store the ID that this order uses in a different system. ie Quickbooks.
flagForReview Boolean - - False Whether or not this order needs to be reviewed.
group String - - - Commonly used to categorize the orders for accounting or marketing purposes.
note String - - - A user-defined note field for this order.
orderNumber Integer - - - The order number that is visible to the user.
orderType String - - Work Order What type of order this is. (Work Order, Invoice, Estimate, Voided)
originalType String - Yes - What type of order this was when it was created.
postToAccounting Boolean - - False Whether or not this order will be posted to accounting.
printJobStartDateTime DateTime - - - An optional date field that will override the order print out’s job-date.
printStyleID Guid - - - The ID of the print-style to be used for this order.
RefNumber String - - - Used to tie this order to another record.
salesRepID Guid - - - The ID of the sales rep who placed this order.
siteID Guid Yes - - The ID of the site for this order.
subGroup String - - - -
taxID Guid - - - The ID of the tax-rate that this order uses.
taxRate Decimal - - - The decimal tax-rate that this order uses if a taxID is not supplied.
timeStamp DateTime - Yes - The date and time that this order was last modified.
userName String - Yes - The username of the person who last modified this order.

accounts/{id}/sites

Methods

Action Result
POST Not allowed
GET Retrieves Sites for the specified account
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
siteID Guid - Yes - The guid identifer for the site
accountID Guid Yes - - The ID of the account to which this site belongs.
active Boolean - - True Whether or not this site is currently active.
address1 String - - - The first line of the street address for this site.
address2 String - - - The second line of the street address for this site.
city String - - - The city for this site.
companyID Guid - - - The Company ID to which this site belongs.
country String - - - The country for this site.
county String - - - The county for this site.
courierRoute String - - - The courier-route for this site.
externalRefID String - - - A user-defined field that can be used to store an ID from another system. ie Quickbooks.
latitude Decimal - - - The latitude of this site’s location.
longitude Decimal - - - The longitude of this site’s location.
name String Yes - - This site’s name.
note String - - - A note for this site.
primaryContactID Guid - - - The user ID of the person who is the primary contact.
reference String - - - A user-defined field that can store any additional information about the site location.
state String - - - The state of this site.
taxExempt Boolean - - False Whether or not this site is exempt from taxation.
taxID Guid - - - The ID of the tax-rate to be used at this site.
timeStamp DateTime - Yes - The date and time that this site was last edited.
userName String - Yes - The username of the person who last modified this site.
zip String - - - The zip-code for this site.

accounts/{id}/tasks

Methods

Action Result
POST Not allowed
GET Retrieves Tasks for the specified account
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid - Yes - The guid identifer for the task
accountID Guid - - - The ID of the account to which this task belongs.
activityCategory String - - - The category that this task is under.
activityDateTime DateTime - - - The date and time that this task will take place.
activitySubType String - - - One of a user-defined set of values.
activityType String - - - The type of activity, ‘Task’ in this case.
companyID Guid - Yes - The ID of the company to which this task belongs.
completionDate DateTime - - - The date by which this task should be completed.
dueDate DateTime - - - The date on which this task is due.
endDateTime DateTime - - - The date and time on which this task ended.
note String - - - A note field for this task.
ownerName String - - - The username of this task’s owner.
priority String - - - The priority of this task.
resourceID String - - - The ID of the resource to be used in this task.
showOnSchedule Boolean - - False Whether or not this task appears on the schedule.
startDateTime DateTime - - - The time and date that this task will begin.
status String - - - The current status of this task.
subject String Yes - - The subject of this task.
timeStamp DateTime - Yes - The time and date that this task was last modified.
userName String - Yes - The username of the person who last edited this task.

sites

Methods

Action Result
POST Creates new Site
GET Retrieves a list of Sites
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
siteID Guid - Yes - The guid identifer for the site
accountID Guid Yes - - The ID of the account to which this site belongs.
active Boolean - - True Whether or not this site is currently active.
address1 String - - - The first line of the street address for this site.
address2 String - - - The second line of the street address for this site.
city String - - - The city for this site.
companyID Guid - - - The Company ID to which this site belongs.
country String - - - The country for this site.
county String - - - The county for this site.
courierRoute String - - - The courier-route for this site.
externalRefID String - - - A user-defined field that can be used to store an ID from another system. ie Quickbooks.
latitude Decimal - - - The latitude of this site’s location.
longitude Decimal - - - The longitude of this site’s location.
name String Yes - - This site’s name.
note String - - - A note for this site.
primaryContactID Guid - - - The user ID of the person who is the primary contact.
reference String - - - A user-defined field that can store any additional information about the site location.
state String - - - The state of this site.
taxExempt Boolean - - False Whether or not this site is exempt from taxation.
taxID Guid - - - The ID of the tax-rate to be used at this site.
timeStamp DateTime - Yes - The date and time that this site was last edited.
userName String - Yes - The username of the person who last modified this site.
zip String - - - The zip-code for this site.

sites/{id}

Methods

Action Result
POST Not allowed
GET Retrieves the specified Site record
PATCH Updates the specified Site record
DELETE Deletes the specified Site record

Properties

Field Name Data Type Required Read Only Default Value Description
siteID Guid - Yes - The guid identifer for the site
accountID Guid Yes - - The ID of the account to which this site belongs.
active Boolean - - True Whether or not this site is currently active.
address1 String - - - The first line of the street address for this site.
address2 String - - - The second line of the street address for this site.
city String - - - The city for this site.
companyID Guid - - - The Company ID to which this site belongs.
country String - - - The country for this site.
county String - - - The county for this site.
courierRoute String - - - The courier-route for this site.
externalRefID String - - - A user-defined field that can be used to store an ID from another system. ie Quickbooks.
latitude Decimal - - - The latitude of this site’s location.
longitude Decimal - - - The longitude of this site’s location.
name String Yes - - This site’s name.
note String - - - A note for this site.
phone1 string - - - -
phone1Label string - - - -
phone2 string - - - -
phone2Label string - - - -
phone3 string - - - -
phone3Label string - - - -
primaryContactID Guid - - - The user ID of the person who is the primary contact.
reference String - - - A user-defined field that can store any additional information about the site location.
state String - - - The state of this site.
taxExempt Boolean - - False Whether or not this site is exempt from taxation.
taxID Guid - - - The ID of the tax-rate to be used at this site.
timeStamp DateTime - Yes - The date and time that this site was last edited.
userName String - Yes - The username of the person who last modified this site.
zip String - - - The zip-code for this site.

sites/{id}/noteactivites

Methods

Action Result
POST Not allowed
GET Retrieves a list of Note Activities for the specified site
PATCH Not allowed
DELETE Not allowed
- -

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid - Yes - The guid identifer for the task
accountID Guid Yes - - The GUID for the account to which this activity belongs.
activityCategory String - - - The category for this activity.
activityDateTime DateTime - - - The date and time of this activity.
activitySubType String - - - The sub-type of the activity.
companyID Guid - Yes - The ID of the company to which this activity belongs.
note String - - - -
subject String Yes - - -
timeStamp DateTime - Yes - -
userName String - Yes - -

sites/{id}/serviceitems

Methods

Action Result
POST Not allowed
GET Retrieves a list of Service Items for the specified Site
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
serviceItemID Guid - Yes - The guid identifier for a service item.
accountID Guid - - - ID of the account for this service item
companyID Guid - - - ID of the company for this service item
description String - - - Description for this service item
dimension String - - - Dimension for this service item
quantity Decimal - - - Name for this service item
name String Yes - - Name for this service item
siteID Guid Yes - - ID of the site for this service item

serviceitems

Properties

Field Name Data Type Required Read Only Default Value Description
serviceItemID Guid None Yes None The guid identifier for a service item.
accountID Guid None None None ID of the account for this service item
companyID Guid None None None ID of the company for this service item
description String None None None Description for this service item
dimension String None None None Dimension for this service item
quantity Decimal None None None Name for this service item
name String Yes None None Name for this service item
siteID Guid Yes None None ID of the site for this service item

serviceitems/{id}

Properties

Field Name Data Type Required Read Only Default Value Description
serviceItemID Guid None Yes None The guid identifier for a service item.
accountID Guid None None None ID of the account for this service item
companyID Guid None None None ID of the company for this service item
description String None None None Description for this service item
dimension String None None None Dimension for this service item
quantity Decimal None None None Name for this service item
name String Yes None None Name for this service item
siteID Guid Yes None None ID of the site for this service item

orders

Methods

Action Result
POST Creates new Order
GET Retrieves a list of Orders
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
orderID Guid - Yes - The order record identifier.
accountID Guid Yes - - The ID of the account to which this order belongs.
actionItem String - - - User-defined field for work order actions. ie Moving Furniture.
companyID Guid - - - The ID of the company to which this order belongs.
correction Decimal - - - A value used to adjust the order’s total.
createdBy String - Yes - The username of the person who created this order.
createdOn DateTime - Yes - The date and time that this order was created.
dateCompleted DateTime - - - The date that this order was completed, populated automatically.
dateCreated DateTime - - - The date and time that this order was created. Can be changed by user.
dateOfLoss DateTime - - - Date that damage or property-loss occurred.
datePosted DateTime - - - The date that this order was posted.
discountPercent Decimal - - - What percent to discount this order, if any. (0-100)
dueDate DateTime - Yes - The date by which this order is due.
externalRefID String - - - Hidden field can be used to store the ID that this order uses in a different system. ie Quickbooks.
flagForReview Boolean - - False Whether or not this order needs to be reviewed.
group String - - - Commonly used to categorize the orders for accounting or marketing purposes.
note String - - - A user-defined note field for this order.
orderNumber Integer - - - The order number that is visible to the user.
orderType String - - Work Order What type of order this is. (Work Order, Invoice, Estimate, Voided)
originalType String - Yes - What type of order this was when it was created.
postToAccounting Boolean - - False Whether or not this order will be posted to accounting.
printJobStartDateTime DateTime - - - An optional date field that will override the order print out’s job-date.
printStyleID Guid - - - The ID of the print-style to be used for this order.
RefNumber String - - - Used to tie this order to another record.
salesRepID Guid - - - The ID of the sales rep who placed this order.
siteID Guid Yes - - The ID of the site for this order.
subGroup String - - - -
taxID Guid - - - The ID of the tax-rate that this order uses.
taxRate Decimal - - - The decimal tax-rate that this order uses if a taxID is not supplied.
timeStamp DateTime - Yes - The date and time that this order was last modified.
userName String - Yes - The username of the person who last modified this order.

orders/{id}

Methods

Action Result
POST Not allowed
GET Retrieves the specified Order
PATCH Updates the specified Order
DELETE Deletes the specified Order

Properties

Field Name Data Type Required Read Only Default Value Description
orderID Guid - Yes - The order record identifier.
accountID Guid Yes - - The ID of the account to which this order belongs.
actionItem String - - - User-defined field for work order actions. ie Moving Furniture.
companyID Guid - - - The ID of the company to which this order belongs.
correction Decimal - - - A value used to adjust the order’s total.
createdBy String - Yes - The username of the person who created this order.
createdOn DateTime - Yes - The date and time that this order was created.
dateCompleted DateTime - - - The date that this order was completed, populated automatically.
dateCreated DateTime - - - The date and time that this order was created. Can be changed by user.
dateOfLoss DateTime - - - Date that damage or property-loss occurred.
datePosted DateTime - - - The date that this order was posted.
discountPercent Decimal - - - What percent to discount this order, if any. (0-100)
dueDate DateTime - Yes - The date by which this order is due.
externalRefID String - - - Hidden field can be used to store the ID that this order uses in a different system. ie Quickbooks.
flagForReview Boolean - - False Whether or not this order needs to be reviewed.
group String - - - Commonly used to categorize the orders for accounting or marketing purposes.
note String - - - A user-defined note field for this order.
orderNumber Integer - - - The order number that is visible to the user.
orderType String - - Work Order What type of order this is. (Work Order, Invoice, Estimate, Voided)
originalType String - Yes - What type of order this was when it was created.
postToAccounting Boolean - - False Whether or not this order will be posted to accounting. NOTE: This is the OPPOSITE of the “posted” field in ServiceMonster.
printJobStartDateTime DateTime - - - An optional date field that will override the order print out’s job-date.
printStyleID Guid - - - The ID of the print-style to be used for this order.
RefNumber String - - - Used to tie this order to another record.
salesRepID Guid - - - The ID of the sales rep who placed this order.
siteID Guid Yes - - The ID of the site for this order.
subGroup String - - - -
taxID Guid - - - The ID of the tax-rate that this order uses.
taxRate Decimal - - - The decimal tax-rate that this order uses if a taxID is not supplied.
timeStamp DateTime - Yes - The date and time that this order was last modified.
userName String - Yes - The username of the person who last modified this order.

orders/{id}/callactivities

Methods

Action Result
POST Not allowed
GET Gets Call Activities for the specified Order
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid - Yes - The guid identifer for the task
accountID Guid Yes - - The GUID for the account to which this activity belongs.
activityCategory String - - - The category for this activity.
activityDateTime DateTime - - - The date and time of this activity.
activitySubType String - - - The sub-type of the activity.
companyID Guid - Yes - The ID of the company to which this activity belongs.
note String - - - -
subject String Yes - - -
timeStamp DateTime - Yes - -
userName String - Yes - -

orders/{id}/credits

Methods

Action Result
POST Not allowed
GET Gets Credits for the specified Order
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
creditID Guid - Yes - The guid identifer for the credit.
accountID Guid Yes - - The ID of the account to which this credit applies.
amount Decimal Yes - - The amount of this credit.
companyID Guid - Yes - The ID of the company to which this credit belongs.
createdBy String - Yes - The username of the person who created this credit.
createdOn DateTime - Yes - The date and time that this credit was created.
creditDate DateTime - - - The date on which the credit will be applied.
creditMethod String - - - The payment method for this credit.
datePosted DateTime - Yes - The date that this credit was posted to the account.
memo String - - - Memo for this credit.
refNo String - - - A reference number.
timeStamp DateTime - Yes - The date and time that this credit was last modified.
userName String - Yes - The username of the person who last edited this credit.

orders/{id}/images

Methods

Action Result
POST Not allowed
GET Gets a list of Image URLs for the specified Order
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
ImageID Guid - Yes - ID of the Image Record
FullSizeFileURL string - Yes - URL to the Full-Size copy of the image
ThumbnailFileUrl string - Yes - URL to the Thumbnail-Size copy of the image

orders/{id}/jobs

Methods

Action Result
POST Not allowed
GET Gets Jobs for the specified Order
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
jobID Guid - Yes - The GUID identifier for this job.
accountID Guid Yes - - The GUID of the account that this job is for.
actualDateTimeEnd DateTime - - - When this job actually ended.
actualDateTimeStart DateTime - - - When this job actually began.
colorOverride String - - - The color that this job will appear as if not using default.
companyID Guid - Yes - The ID of the company to which this job belongs.
createdBy String - Yes - The username of the person who created this job.
createdOn DateTime - Yes - The date and time that this job was created.
resourceID Guid Yes - - The ID of the resource that will be used on this job.
estDateTimeEnd DateTime Yes - - The date and time at which this job is estimated to end.
estDateTimeStart DateTime Yes - - The date and time at which this job is estimated to begin.
jobStatus String - - Scheduled The status of this job.
jobType String - - Work What type of job this is.
note String - - - A user-defined note for this job.
orderID Guid Yes - - The ID of the Order for this job.
timeStamp DateTime - Yes - The date and time that this job was last modified.
userName String - Yes - -

orders/{id}/lineitems

Methods

Action Result
POST Not allowed
GET Gets Line Items for the specified Order
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
lineItemID Guid - Yes - The GUID for this line item.
companyID Guid - Yes - The ID of the company to which this line-item belongs.
itemID Guid Yes - - The GUID for the item on this line-item.
orderID Guid Yes - - The GUID of the order to which this line-item belongs.
price Decimal - - - The price for this line-item.
quantity Decimal - - - The quantity of items on this line-item.
rowIndex Integer - - - The index of the row for this line-item.
serviceDate String - - - The date that the service described on the line-item was performed.
taxed Boolean - - False Whether or not tax is applicable to this line-item.
total Decimal - - - The total cost for this line-item.
upsale Boolean - - False Whether or not this line-item is an upsell.

orders/{id}/mailactivites

Methods

Action Result
POST Not allowed
GET Gets Mail Activities for the specified Order
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid - Yes - The guid identifer for the task
accountID Guid Yes - - The GUID for the account to which this activity belongs.
activityCategory String - - - The category for this activity.
activityDateTime DateTime - - - The date and time of this activity.
activitySubType String - - - The sub-type of the activity.
companyID Guid - Yes - The ID of the company to which this activity belongs.
note String - - - -
subject String Yes - - -
timeStamp DateTime - Yes - -
userName String - Yes - -

orders/{id}/notes

Methods

Action Result
POST Not allowed
GET Gets Note Activities for the specified Order
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid - Yes - The guid identifer for the task
accountID Guid Yes - - The GUID for the account to which this activity belongs.
activityCategory String - - - The category for this activity.
activityDateTime DateTime - - - The date and time of this activity.
activitySubType String - - - The sub-type of the activity.
companyID Guid - Yes - The ID of the company to which this activity belongs.
note String - - - -
subject String Yes - - -
timeStamp DateTime - Yes - -
userName String - Yes - -

orders/{id}/pdf

Methods

Action Result
POST Not allowed
GET Gets a PDF representation of the specified Order
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
PdfUrl Guid - Yes - URL to the PDF.

orders/{id}/tasks

Methods

Action Result
POST Not allowed
GET Gets Tasks for the specified Order
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid - Yes - The guid identifer for the task
accountID Guid Yes - - The GUID for the account to which this activity belongs.
activityCategory String - - - The category for this activity.
activityDateTime DateTime - - - The date and time of this activity.
activitySubType String - - - The sub-type of the activity.
companyID Guid - Yes - The ID of the company to which this activity belongs.
note String - - - -
subject String Yes - - -
timeStamp DateTime - Yes - -
userName String - Yes - -

lineitems

Methods

Action Result
POST Creates a Line Item
GET Not Allowed
PATCH Not Allowed
DELETE Not Allowed

Properties

Field Name Data Type Required Read Only Default Value Description
lineItemID Guid - Yes - The GUID for this line item.
companyID Guid - Yes - The ID of the company to which this line-item belongs.
itemID Guid Yes - - The GUID for the item on this line-item.
orderID Guid Yes - - The GUID of the order to which this line-item belongs.
price Decimal - - - The price for this line-item.
quantity Decimal - - - The quantity of items on this line-item.
rowIndex Integer - - - The index of the row for this line-item.
serviceDate String - - - The date that the service described on the line-item was performed.
taxed Boolean - - False Whether or not tax is applicable to this line-item.
total Decimal - - - The total cost for this line-item.
upsale Boolean - - False Whether or not this line-item is an upsell.

lineitems/{id}

Methods

Action Result
POST Not allowed
GET Retrieves the specified Line Item
PATCH Updates the specified Line Item
DELETE Deletes the specified Line Item

Properties

Field Name Data Type Required Read Only Default Value Description
lineItemID Guid - Yes - The GUID for this line item.
companyID Guid - Yes - The ID of the company to which this line-item belongs.
itemID Guid Yes - - The GUID for the item on this line-item.
orderID Guid Yes - - The GUID of the order to which this line-item belongs.
price Decimal - - - The price for this line-item.
quantity Decimal - - - The quantity of items on this line-item.
rowIndex Integer - - - The index of the row for this line-item.
serviceDate String - - - The date that the service described on the line-item was performed.
taxed Boolean - - False Whether or not tax is applicable to this line-item.
total Decimal - - - The total cost for this line-item.
upsale Boolean - - False Whether or not this line-item is an upsell.

orderitems

Methods

Action Result
POST Creates a new Order Item
GET Retrieves a list of Order Items
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
itemID Guid - Yes - The ID of the Order Item.
active Boolean - - True Whether or not this Order Item is able to be put on orders.
avgTime Decimal - - - The amount of time (in hours) that this Order Item takes to complete. Only applies to Services.
commissionable Boolean - - False Whether or not the Sales Rep will receive a commission for this Order Item.
companyID Guid - Yes - The ID of the company to which this Order Item belongs.
description String - - - A summary of this product or service
itemType String - - - -
itemGroup String - - - -
name String - - - -
price Decimal - - - -
quantity Decimal - - - -
taxed Boolean - - - -
unitOfMeasure String - - - -
userName String - - - -
priceLocked Boolean - - - -
addToFavorites Boolean - - - -
upsaleItem Boolean - - - -
subGroup String - - - -
taxGroup String - - - -
tags String - - - -
priceList String - - - -
quickCode String - - - -

orderitems/{id}

Methods

Action Result
POST Not Allowed
GET Retrieves the specified Order Item
PATCH Updates the specified Order Item
DELETE Deletes the specified Order Item

Properties

Field Name Data Type Required Read Only Default Value Description
itemID Guid - Yes - The ID of the Order Item.
active Boolean - - True Whether or not this Order Item is able to be put on orders.
avgTime Decimal - - - The amount of time (in hours) that this Order Item takes to complete. Only applies to Services.
commissionable Boolean - - False Whether or not the Sales Rep will receive a commission for this Order Item.
companyID Guid - Yes - The ID of the company to which this Order Item belongs.
description String - - - A summary of this product or service
itemType String - - - -
itemGroup String - - - -
name String - - - -
price Decimal - - - -
quantity Decimal - - - -
taxed Boolean - - - -
unitOfMeasure String - - - -
userName String - - - -
priceLocked Boolean - - - -
addToFavorites Boolean - - - -
upsaleItem Boolean - - - -
subGroup String - - - -
taxGroup String - - - -
tags String - - - -
priceList String - - - -
quickCode String - - - -

routes

Methods

Action Result
POST Not allowed
GET Retrieves a list of Routes
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
routeID Guid - Yes - The guid identifer for the route
active Boolean - - True Whether or not this route is active
companyID Guid - Yes - The guid identifer for the route’s company
defaultJobDuration Decimal - Yes - The default length of time for a job
imageName String - Yes - Name of the image used for this route
name String Yes - - Name of this route
phone String - - - Phone number for this route
resourceTypes String - - - The types of resources used on this route
timeStamp DateTime - Yes - Time and date that the route was created or last modified
userName String - Yes - Name of the user who last modified this route

routes/{id}

Methods

Action Result
POST Not allowed
GET Retrieves the specified Route
PATCH Updates the specified Route
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
routeID Guid - Yes - The guid identifer for the route
active Boolean - - True Whether or not this route is active
companyID Guid - Yes - The guid identifer for the route’s company
defaultJobDuration Decimal - Yes - The default length of time for a job
employeeIDs Array - Yes - A list of the IDs for the employees assigned to this Route
imageName String - Yes - Name of the image used for this route
name String Yes - - Name of this route
phone String - - - Phone number for this route
resourceTypes String - - - The types of resources used on this route
timeStamp DateTime - Yes - Time and date that the route was created or last modified
userName String - Yes - Name of the user who last modified this route

scheduling

Methods

Action Result
POST Not allowed
GET Retrieves a list of Schedule Items for the date range specified
PATCH Not allowed
DELETE Not allowed

Properties

Name Data Type Default Value Description - -
startDate DateTime Current Day The beginning of the date-range to query - -
endDate DateTime Current Day plus 7 days The end of the date-range to query - -
routeID Guid - If supplied, will limit the response to items scheduled for this route - -
getJobColor Boolean True If set to false, the Item Color will not be calculated. This can speed up the response time significantly. - -
* The “limit”, “pageIndex”, “fields”, “wField”, “wValue”, and “wOperator” parameters are not supported on this endpoint, - - - - -
- - - - - -
Field Name Data Type Required Read Only Default Value Description
itemID String - Yes - The GUID identifier for this schedule item.
itemType String - Yes - The type of schedule item.
routeID String - Yes - The ID of the route on which this item is scheduled.
startDateTime DateTime - Yes - The date and time that this schedule item begins.
endDateTime DateTime - Yes - The date and time that this schedule item ends.
timeStamp DateTime - Yes - The date and time that this schedule item was last modified.
userName String - Yes - User Name of the person who last modified this record.
accountID Guid - Yes - -
siteID Guid - Yes - -
orderID Guid - Yes - -
subject String - Yes - -
note String - Yes - -
status String - Yes - -
priority String - Yes - -
itemColor String - Yes - -
jobType String - Yes - -
address1 String - Yes - -
address2 String - Yes - -
city String - Yes - -
state String - Yes - -
zip String - Yes - -
country String - Yes - -
latitude Decimal - Yes - -
longitude Decimal - Yes - -

scheduleitems

Methods

Action Result
POST Not allowed
GET Retrieves a list of Schedule Items for the date range specified
PATCH Not allowed
DELETE Not allowed

Parameters

Name Data Type Default Value Description
startDate DateTime Current Day The beginning of the date-range to query
endDate DateTime Current Day plus 7 days The end of the date-range to query

Properties

Field Name Data Type Required Read Only Default Value Description
ItemID String None Yes None The GUID identifier for this schedule item.
ItemType String None Yes None The type of schedule item.
routeID String None Yes None The ID of the route on which this item is scheduled.
StartDateTime DateTime None Yes None The date and time that this schedule item begins.
EndDateTime DateTime None Yes None The date and time that this schedule item ends.
TimeStamp DateTime None Yes None The date and time that this schedule item ends.
Item Object None Yes None Fields specific to the Schedule Item. Properties vary based on ItemType, see below.

Job Item Properties

Field Name Data Type Required Read Only Default Value Description
jobType None None Yes None None
employeeIDs None None Yes None None
note None None Yes None None
jobStatus None None Yes None None
actualDateTimeStart None None Yes None None
actualDateTimeEnd None None Yes None None
accountID None None Yes None None
phone None None Yes None None
address1 None None Yes None None
address2 None None Yes None None
city None None Yes None None
state None None Yes None None
zip None None Yes None None
country None None Yes None None
accountName None None Yes None None
orderID None None Yes None None
orderGroup None None Yes None None
orderTotal None None Yes None None
orderRefNumber None None Yes None None
orderNumber None None Yes None None
orderType None None Yes None None
siteID None None Yes None None
fullName None None Yes None None
email None None Yes None None
jobColor None None Yes None None

Reminder Item Properties

Field Name Data Type Required Read Only Default Value Description
name None None Yes None None
accountID None None Yes None None

Task Item Properties

Field Name Data Type Required Read Only Default Value Description
subject None None Yes None None
note None None Yes None None
accountID None None Yes None None
employeeNames None None Yes None None
accountName None None Yes None None
priority None None Yes None None
employeeIDs None None Yes None None
status None None Yes None None
completionDate None None Yes None None

Example Request URL: https://api.servicemonster.net/v1/scheduleItems?startDate=07-19-2016&endDate=07-26-2016

jobs

Methods

Action Result
POST Create a new Job
GET Retrieves a list of Jobs
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
jobID Guid - Yes - The GUID identifier for this job.
accountID Guid Yes - - The GUID of the account that this job is for.
actualDateTimeEnd DateTime - - - When this job actually ended.
actualDateTimeStart DateTime - - - When this job actually began.
colorOverride String - - - The color that this job will appear as if not using default.
companyID Guid - Yes - The ID of the company to which this job belongs.
createdBy String - Yes - The username of the person who created this job.
createdOn DateTime - Yes - The date and time that this job was created.
routeID Guid Yes - - The ID of the route that will be used on this job.
estDateTimeEnd DateTime Yes - - The date and time at which this job is estimated to end.
estDateTimeStart DateTime Yes - - The date and time at which this job is estimated to begin.
jobStatus String - - Scheduled The status of this job.
jobType String - - Work What type of job this is.
note String - - - A user-defined note for this job.
orderID Guid Yes - - The ID of the Order for this job.
timeStamp DateTime - Yes - The date and time that this job was last modified.
userName String - Yes - -

jobs/{id}

Methods

Action Result
POST Not Allowed
GET Retrieves the specified Job
PATCH Updates the specified Job
DELETE Deletes the specified Job

Properties

Field Name Data Type Required Read Only Default Value Description
jobID Guid - Yes - The GUID identifier for this job.
accountID Guid Yes - - The GUID of the account that this job is for.
actualDateTimeEnd DateTime - - - When this job actually ended.
actualDateTimeStart DateTime - - - When this job actually began.
colorOverride String - - - The color that this job will appear as if not using default.
companyID Guid - Yes - The ID of the company to which this job belongs.
createdBy String - Yes - The username of the person who created this job.
createdOn DateTime - Yes - The date and time that this job was created.
routeID Guid Yes - - The ID of the route that will be used on this job.
estDateTimeEnd DateTime Yes - - The date and time at which this job is estimated to end.
estDateTimeStart DateTime Yes - - The date and time at which this job is estimated to begin.
jobStatus String - - Scheduled The status of this job.
jobType String - - Work What type of job this is.
note String - - - A user-defined note for this job.
orderID Guid Yes - - The ID of the Order for this job.
timeStamp DateTime - Yes - The date and time that this job was last modified.
userName String - Yes - -

jobs/{id}/timelogs

Methods

Action Result
POST Not allowed
GET Retrieves a list of Time Logs for the specified Job
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
timeLogID Guid - Yes - The guid identifer for the Time Log.
companyID Guid - Yes - -
jobID Guid - Yes - -
employeeID Guid - Yes - -
checkInTime DateTime - Yes - -
checkOutTime DateTime - Yes - -

reminders

Methods

Action Result
POST Not allowed
GET Retrieves a list of Reminders
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
reminderID Guid - Yes - The guid identifer for the credit.
accountID Guid - - - -
companyID Guid - - - -
routeID Guid - - - -
endDateTime DateTime - - - -
name String - - - -
reminderTemplateID Guid - - - -
showOnSchedule Boolean - - - -
siteID Guid - - - -
startDateTime DateTime - - - -
timeStamp DateTime - - - -
transactionDateTime DateTime - - - -
userName String - - - -

reminders/{id}

Methods

Action Result
POST Not allowed
GET Retrieves the specified Reminder
PATCH Updates the specified Reminder
DELETE Deletes the specified Reminder

Properties

Field Name Data Type Required Read Only Default Value Description
reminderID Guid - Yes - The guid identifer for the reminder
accountID Guid - - - The ID of the account to which this reminder belongs.
companyID Guid - - - The ID of the company to which this reminder belongs.
resourceID Guid - - - The ID of the resource to be used in this reminder.
endDateTime DateTime - - - The date and time at which this reminder ends.
name String - - - A name for this reminder.
reminderTemplateID Guid - - - The ID of the template that this reminder will use
showOnSchedule Boolean - - - Whether or not this reminder will appear on the schedule.
siteID Guid - - - The ID of the site to which this reminder is related.
startDateTime DateTime - - - The date and time at which this reminder starts.
timeStamp DateTime - - - The date and time that this reminder was last modified.
transactionDateTime DateTime - - - Used to track when this reminder was dismissed or committed..
userName String - - - The username of the person who last modified this reminder.

tasks

Methods

Action Result
POST Creates a new Task
GET Retrieves a list of Task
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid - Yes - The guid identifer for the task
accountID Guid - - - The ID of the account to which this task belongs.
activityCategory String - - - The category that this task is under.
activityDateTime DateTime - - - The date and time that this task will take place.
activitySubType String - - - One of a user-defined set of values.
activityType String - - - The type of activity, ‘Task’ in this case.
companyID Guid - Yes - The ID of the company to which this task belongs.
completionDate DateTime - - - The date by which this task should be completed.
dueDate DateTime - - - The date on which this task is due.
endDateTime DateTime - - - The date and time on which this task ended.
note String - - - A note field for this task.
ownerName String - - - The username of this task’s owner.
priority String - - - The priority of this task.
resourceID String - - - The ID of the resource to be used in this task.
showOnSchedule Boolean - - False Whether or not this task appears on the schedule.
startDateTime DateTime - - - The time and date that this task will begin.
status String - - - The current status of this task.
subject String Yes - - The subject of this task.
timeStamp DateTime - Yes - The time and date that this task was last modified.
userName String - Yes - The username of the person who last edited this task.

tasks/{id}

Methods

Action Result
POST Not allowed
GET Retrieves the specified Task
PATCH Updates the specified Task
DELETE Deletes the specified Task

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid - Yes - The guid identifer for the task
accountID Guid - - - The ID of the account to which this task belongs.
activityCategory String - - - The category that this task is under.
activityDateTime DateTime - - - The date and time that this task will take place.
activitySubType String - - - One of a user-defined set of values.
activityType String - - - The type of activity, ‘Task’ in this case.
companyID Guid - Yes - The ID of the company to which this task belongs.
completionDate DateTime - - - The date by which this task should be completed.
dueDate DateTime - - - The date on which this task is due.
endDateTime DateTime - - - The date and time on which this task ended.
note String - - - A note field for this task.
ownerName String - - - The username of this task’s owner.
priority String - - - The priority of this task.
resourceID String - - - The ID of the resource to be used in this task.
showOnSchedule Boolean - - False Whether or not this task appears on the schedule.
startDateTime DateTime - - - The time and date that this task will begin.
status String - - - The current status of this task.
subject String Yes - - The subject of this task.
timeStamp DateTime - Yes - The time and date that this task was last modified.
userName String - Yes - The username of the person who last edited this task.

callactivities

Methods

Action Result
POST Creates new Call Activity
GET Gets a list of Call Activities
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid - Yes - The guid identifer for the activity.
accountID Guid Yes - - The ID of the account to which this activity applies.
activityCategory String - - - The category for this activity.
activityDateTime DateTime - - - The date and time that this activity begins.
activitySubType String - - - The Sub-Type of the activity.
companyID Guid - Yes - The ID of the company to which this activity belongs.
completionDate DateTime - - - The date and time that this activity was completed.
dueDate DateTime - - - The date and time that this activity must be completed by.
note String - - - A note for this activity.
priority String - - - The priority level of this activity.
isPrivate Boolean - - False Whether or not this activity is private.
startDateTime DateTime - - - The date and time that this activity begins.
status String - - Pending The status for this activity.
subject String Yes - - The title of this activity.
timeStamp DateTime - Yes - The Date and Time that this activity was last modified.
userName String - Yes - The username of the person who last edited this activity.

callactivities/{id}

Methods

Action Result
POST Not allowed
GET Gets the specified Call Activity
PATCH Updates the specified Call Activity
DELETE Deletes the specified Call Activity

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid - Yes - The guid identifer for the activity.
accountID Guid Yes - - The ID of the account to which this activity applies.
activityCategory String - - - The category for this activity.
activityDateTime DateTime - - - The date and time that this activity begins.
activitySubType String - - - The Sub-Type of the activity.
companyID Guid - Yes - The ID of the company to which this activity belongs.
completionDate DateTime - - - The date and time that this activity was completed.
dueDate DateTime - - - The date and time that this activity must be completed by.
note String - - - A note for this activity.
priority String - - - The priority level of this activity.
isPrivate Boolean - - False Whether or not this activity is private.
startDateTime DateTime - - - The date and time that this activity begins.
status String - - Pending The status for this activity.
subject String Yes - - The title of this activity.
timeStamp DateTime - Yes - The Date and Time that this activity was last modified.
userName String - Yes - The username of the person who last edited this activity.

credits

Methods

Action Result
POST Creates new Credit
GET Retrieves a list of Credits
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
creditID Guid - Yes - The guid identifer for the credit.
accountID Guid Yes - - The ID of the account to which this credit applies.
amount Decimal Yes - - The amount of this credit.
companyID Guid - Yes - The ID of the company to which this credit belongs.
createdBy String - Yes - The username of the person who created this credit.
createdOn DateTime - Yes - The date and time that this credit was created.
creditDate DateTime - - - The date on which the credit will be applied.
creditMethod String - - - The payment method for this credit.
datePosted DateTime - Yes - The date that this credit was posted to the account.
memo String - - - Memo for this credit.
refNo String - - - A reference number.
splits Array - - - An array of objects used to apply this payment to one or more orders. Each split object has an amount and an orderID.
timeStamp DateTime - Yes - The date and time that this credit was last modified.
userName String - Yes - The username of the person who last edited this credit.

credits/{id}/splits

Methods

Action Result
POST Not allowed
GET Gets the payment-splits for the specified Credit record
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
splitID Guid - Yes - The guid identifer for the split.
creditID Guid - Yes - The ID of the credit to which this split is applied.
accountID Guid - Yes - The ID of the account to which this split is applied.
orderID Guid - Yes - The ID of the account to which this split is applied.
chargeID Guid - Yes - The ID of the payment record.
amount Decimal - Yes - The amount applied to this split.

leadsources

Methods

ction Result
POST Creates a new Lead Source
GET Retrieves a list of Lead Source
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
campaignID Guid - Yes - The GUID ID for this lead-source.
active Boolean - - True Whether or not this lead-source is active.
category String - Yes - The category for this lead-source.
companyID Guid - Yes - The ID of the company to which this lead-source belongs.
description String - - - A description for this lead-source
fmsCampaignID Integer - - - The ID of the FillMySchedule campaign that is related to this lead-source.
name String Yes - - A name for this lead-source.
runOptionsXml String - - - An XML file that defines the run option for this lead-source.
timeStamp DateTime - - - The time and date that this lead-source was last modified.
userName String - - - The username of the person who last modified this lead-source.

leadsources/{id}

Methods

Action Result
POST Not allowed
GET Retrieves the specified Lead Source
PATCH Updates the specified Lead Source
DELETE Deletes the specified Lead Source

Properties

Field Name Data Type Required Read Only Default Value Description
campaignID Guid - Yes - The GUID ID for this lead-source.
active Boolean - - True Whether or not this lead-source is active.
category String - Yes LeadSource The category for this lead-source.
companyID Guid - Yes - The ID of the company to which this lead-source belongs.
description String - - - A description for this lead-source
fmsCampaignID Integer - - - The ID of the FillMySchedule campaign that is related to this lead-source.
name String Yes - - A name for this lead-source.
runOptionsXml String - - - An XML file that defines the run option for this lead-source.
timeStamp DateTime - - - The time and date that this lead-source was last modified.
userName String - - - The username of the person who last modified this lead-source.

taxrates

Methods

Action Result
POST Not allowed
GET Gets a list of Tax Rates
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
taxID Guid - Yes - The guid identifer for this tax rate
active Boolean - - True Whether or not this tax rate is currently active.
city String - - - The city to which this tax rate applies.
companyID Guid - Yes - The company to which this tax rate belongs.
county String - - - The county to which this tax rate applies.
description String - - - A description of this tax rate.
name String Yes - - The name of this tax rate.
rate Decimal - - - The decimal percentage of tax to be applied.
state String - - - The state to which this tax rate applies.
zip String - - - The zip code to which this tax rate applies.

taxrates/{id}

Methods

Action Result
POST Not allowed
GET Retrieves the specified Tax Rate item
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
taxID Guid - Yes - The guid identifer for this tax rate
active Boolean - - True Whether or not this tax rate is currently active.
city String - - - The city to which this tax rate applies.
companyID Guid - Yes - The company to which this tax rate belongs.
county String - - - The county to which this tax rate applies.
description String - - - A description of this tax rate.
name String Yes - - The name of this tax rate.
rate Decimal - - - The decimal percentage of tax to be applied.
state String - - - The state to which this tax rate applies.
zip String - - - The zip code to which this tax rate applies.

timelogs

Methods

Action Result
POST Create a new Time Log
GET Not Allowed. See�v1/jobs/{id}/timelogs
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
timeLogID Guid - Yes - The guid identifer for the Time Log.
companyID Guid - - - -
jobID Guid Yes - - -
employeeID Guid Yes - - -
checkInTime DateTime Yes - - -
checkOutTime DateTime Yes - - -

webleads

Methods

Action Result
POST Creates new Web Lead
GET Not allowed
PATCH Not allowed
DELETE Not allowed

Properties

ld Name Data Type Required Description
customerFirstName String Yes Customer’s First Name.
customerLastName String Yes Customer’s Last Name.
phone String Yes -
email String Yes -
address1 String Yes -
city String Yes -
state String Yes -
zip String Yes -
country String - -
note String - -
source String - This can be whatever you want. If you have multiple web-forms, you may want to give each one a unique “source”.
leadSourceID Guid - The ID of the�marketing campaign�that brought the user to the Web Form.
services String - -
preferredTime String - Use this if the customer types in the time they would like to have the job done.
selectedTime String - Use this if you present the customer with a list of available times that they are able to select from.
duration String - Estimated time it will take to complete the job. Use this if you present services to the customer they can choose from, and you are able to estimate the job-length based on those selections.
routeID Guid - If you present the customer with a list of available times, you will want to submit the routeID for the route that corresponds to the available time-block.

lists/listname

Methods

Action Result
POST Not allowed
GET Retrieves the List Items for the specified List
PATCH Not allowed
DELETE Not allowed

Properties

Field Name Data Type Required Read Only Default Value Description
listItemID Guid - Yes - The GUID ID for this List Item.
value String - Yes - The value for this List Item

List Names

List Name
account types
account subTypes
activity CallStatus
activity CallTypes
activity EmailStatus
activity MailStatus
activity MailTypes
Order Groups
Order SubGroups
OrderItem UnitOfMeasure

mailactivites

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid None Yes None The GUID for this activity.
accountID Guid Yes None None The ID of the account for which this activity was created.
activityCategory String None None None The category of this activity.
activityDateTime DateTime None None None The date and time that this activity will take place.
activitySubType String None None None None
companyID Guid None Yes None The ID of the company for which this activity was created.
completionDate DateTime None None None The date that this activity was completed.
dueDate DateTime None None None The date by which this activity is due to be completed.
note String None None None A note for this activity.
priority String None None None The priority for this activity.
status String None None Pending This activity’s status.
subject String Yes None None The subject of this activity.
timeStamp DateTime None Yes None The date and time that this activity was last modified.
userName String None Yes None The username of the person who last edited this activity.

mailactivities/{id}

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid None Yes None The GUID for this activity.
accountID Guid Yes None None The ID of the account for which this activity was created.
activityCategory String None None None The category of this activity.
activityDateTime DateTime None None None The date and time that this activity will take place.
activitySubType String None None None None
companyID Guid None Yes None The ID of the company for which this activity was created.
completionDate DateTime None None None The date that this activity was completed.
dueDate DateTime None None None The date by which this activity is due to be completed.
note String None None None A note for this activity.
priority String None None None The priority for this activity.
status String None None Pending This activity’s status.
subject String Yes None None The subject of this activity.
timeStamp DateTime None Yes None The date and time that this activity was last modified.
userName String None Yes None The username of the person who last edited this activity.

notes

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid None Yes None The guid identifer for the task
accountID Guid Yes None None The GUID for the account to which this activity belongs.
activityCategory String None None None The category for this activity.
activityDateTime DateTime None None None The date and time of this activity.
activitySubType String None None None The sub-type of the activity.
companyID Guid None Yes None The ID of the company to which this activity belongs.
note String None None None None
subject String Yes None None None
timeStamp DateTime None Yes None None
userName String None Yes None None

notes/{id}

Properties

Field Name Data Type Required Read Only Default Value Description
activityID Guid None Yes None The guid identifer for the task
accountID Guid Yes None None The GUID for the account to which this activity belongs.
activityCategory String None None None The category for this activity.
activityDateTime DateTime None None None The date and time of this activity.
activitySubType String None None None The sub-type of the activity.
companyID Guid None Yes None The ID of the company to which this activity belongs.
note String None None None None
subject String Yes None None None
timeStamp DateTime None Yes None None
userName String None Yes None None