API Documentation - Lawn and Landscape Business Management Software
TurfHop

API Documentation

Account Sign In

Retrieve user account via email / password

You will use this endpoint to authenticate with your TurfHop account to retrieve your company ID. This ID will be used to retrieve jobs, customers, and much more in the API access calls below.

Please note: You will also need to check the "Enable API Access" checkbox in your company settings for everything to work properly.

Endpoint:

/api/account/signin

Example Request:

https://turfhop.com/api/account/signin?email=demo@turfhop.com&password=password

Required Params:

email, password

Method:

GET

Response:

{
   "Success":true,
   "Message":"Sucess",
   "Result":{
      "Id":"206437027606fc87c2b3fa4162ac43",
      "CompanyId":"5940991380dda460c1b3b6492bb759",
      "DomainId":"9870231330c395a608cfea48ee8b5f",
      "DateCreated":"2018-05-29T16:13:26-05:00",
      "CreatedBy":"26049911289f1cbb5f88454893b464",
      "DateModified":"2018-05-29T16:13:26-05:00",
      "ModifiedBy":"26049911289f1cbb5f88454893b464",
      "FirstName":"Demo",
      "LastName":"User",
      "Email":"demo@turfhop.com",
      "Password":"password",
      "Phone":"(334) 203-2400",
      "BillingAddress":"12 N 8th St, Opelika AL 36801",
      "PhysicalAddress":"12 N 8th St, Opelika AL 36801",
      ...
   }
}

Error:

{
  "Success": false,
  "Message": "The specified email and password do not exist in our system",
  "Result": null
}

Account Details

Retrieve user account by user ID

You will use this endpoint to retrieve more information about a user account

Endpoint:

/api/account/get

Example Request:

https://turfhop.com/api/account/get?id=206437027606fc87c2b3fa4162ac43

Required Params:

id

Method:

GET

Company Details

Retrieve company details by ID

You will use this endpoint to retrieve your company settings

Endpoint:

/api/companies/get

Example Request:

https://turfhop.com/api/companies/get?id=5940991380dda460c1b3b6492bb759

Required Params:

id

Method:

GET

Jobs List

Retrieve list of jobs by company ID

You will use this endpoint to retrieve a listing of jobs for given company. Optionally you can pull jobs by status, date, and much more

Endpoint:

/api/jobs/getall

Example Request:

https://turfhop.com/api/jobs/getall?companyId=5940991380dda460c1b3b6492bb759

Required Params:

companyId

Optional Params:

date, locationId, search, type, status, salespersonUserId, crewId

Method:

GET

Job Details

Retrieve everything about a job

You will use this endpoint to retrieve job details including assigned customer, events, invoices, and much more

Endpoint:

/api/jobs/get

Example Request:

https://turfhop.com/api/jobs/get?id=49992697792b29c083a546475c8478

Required Params:

id

Method:

GET

Job Line Items

Retrieve just the line items for a job

You will use this endpoint to retrieve line items for a job

Endpoint:

/api/jobs/getlineitems

Example Request:

https://turfhop.com/api/jobs/getlineitems?jobId=0160366349ff2c5b8967a54178a716

Required Params:

jobId

Method:

GET

Customer List

Retrieve list of customers by company ID

You will use this endpoint to retrieve a listing of customers for given company

Endpoint:

/api/customers/getall

Example Request:

https://turfhop.com/api/customers/getall?companyId=5940991380dda460c1b3b6492bb759

Required Params:

companyId

Optional Params:

locationId, search, type, status, salespersonUserId, status, archived

Method:

GET

Customer Details

Retrieve everything about a customer

You will use this endpoint to retrieve customer details including all attachments, notes, jobs, invoices, payments, and more

Endpoint:

/api/customers/get

Example Request:

https://turfhop.com/api/customers/get?id=1070512792a5aae241185a4ce190fb

Required Params:

id

Method:

GET

Event List

Retrieve list of events by job ID

You will use this endpoint to retrieve a listing of events for a given job

Endpoint:

/api/events/getall

Example Request:

https://turfhop.com/api/events/getall?jobId=49992697792b29c083a546475c8478

Required Params:

jobId

Optional Params:

date (returns events after the specified date)

Method:

GET

Event Details

Retrieve everything about an event on the calendar

You will use this endpoint to retrieve event details

Endpoint:

/api/events/get

Example Request:

https://turfhop.com/api/events/get?id=573624457709a2fccc2d8343169882

Required Params:

id

Method:

GET

Product List

Retrieve list of products by company ID

You will use this endpoint to retrieve a listing of products for your company

Endpoint:

/api/products/getall

Example Request:

https://turfhop.com/api/products/getall?companyId=5940991380dda460c1b3b6492bb759

Required Params:

companyId

Method:

GET

Product Details

Retrieve everything about an event on the calendar

You will use this endpoint to retrieve product details, pricing, inventory, notes, and attachments

Endpoint:

/api/products/get

Example Request:

https://turfhop.com/api/products/get?id=22687493715a57b6e57f0c47a4af9e

Required Params:

id

Method:

GET

Products For Job

Retrieve all products assigned to line items in a job

You will use this endpoint to retrieve all products assigned to line items in a job

Endpoint:

/api/products/getforjob

Example Request:

https://turfhop.com/api/products/getforjob?jobId=0160366349ff2c5b8967a54178a716

Required Params:

jobId

Method:

GET

Chemical Applications List

Retrieve list of chemical applications by job ID

You will use this endpoint to retrieve a listing of chemical applications for given job

Endpoint:

/api/chemicalapplicationlocations/getall

Example Request:

https://turfhop.com/api/chemicalapplicationlocations/getall?jobId=49992697792b29c083a546475c8478

Required Params:

jobId

Optional Params:

eventId, jobItemId, productId

Method:

GET

Chemical Application Details

Retrieve everything about a specific chemical application

You will use this endpoint to retrieve chemical application details

Endpoint:

/api/chemicalapplicationlocations/get

Example Request:

https://turfhop.com/api/chemicalapplicationlocations/get?id=85542697792b29c083a546475c3250

Required Params:

id

Method:

GET

Response:

{
  "Success": true,
  "Message": "Success",
  "Result": {
    "Id": "85542697792b29c083a546475c3250",
    "EventCompletionId": null,
    "EventId": "5739034294cb31984da90d447dae11",
    "JobId": "49992697792b29c083a546475c8478",
    "JobItemId": null,
    "ProductId": "90021035746fe7ccedad1e4355ae11",
    "DateCreated": "2019-05-02T10:16:42-05:00",
    "CreatedBy": "26049911289f1cbb5f88454893b464",
    "Latitude": "33.5116331",
    "Longitude": "-86.8965344",
    "MeterSerialNumber": "AF23265",
    "MeterRawCount": 2,
    "MeterCurrentRate": 4,
    "MeterCalculatedFlowTotal": 5,
    "MeterRawCountsToZero": 0,
    "TemperatureOfFluid": 76.8,
    "AmbientTemperature": 71.55,
    "BatteryStatusInPercent": 86,
    "BatteryStatusInEstimatedRunTime": 1350
  }
}

Chemical Application Create

Create a chemical application and tie to a job

You will use this endpoint to create chemical application

Endpoint:

/api/chemicalapplicationlocations/create

Required Params:

EventId, JobId, Latitude, Longitude, MeterSerialNumber, MeterRawCount, MeterCurrentRate, MeterCalculatedFlowTotal, MeterRawCountsToZero, TemperatureOfFluid, AmbientTemperature, BatteryStatusInPercent, BatteryStatusInEstimatedRunTime, DeviceName, CalibrationFactor

Optional Params:

JobItemId, ProductId, DateCreated, CreatedBy

Method:

POST

Chemical Application Create Batch

Create a batch of chemical applications in one request

You will use this endpoint to create multiple chemical applications in one request by passing an array of the following params

Endpoint:

/api/chemicalapplicationlocations/createbatch

Required Params:

EventId, JobId, Latitude, Longitude, MeterSerialNumber, MeterRawCount, MeterCurrentRate, MeterCalculatedFlowTotal, MeterRawCountsToZero, TemperatureOfFluid, AmbientTemperature, BatteryStatusInPercent, BatteryStatusInEstimatedRunTime, DeviceName, CalibrationFactor

Optional Params:

JobItemId, ProductId, DateCreated, CreatedBy

Method:

POST

Chemical Application Edit

Edit chemical application details

You will use this endpoint to edit chemical application details if needed

Endpoint:

/api/chemicalapplicationlocations/create

Required Params:

Id, EventId, JobId, Latitude, Longitude, MeterSerialNumber, MeterRawCount, MeterCurrentRate, MeterCalculatedFlowTotal, MeterRawCountsToZero, TemperatureOfFluid, AmbientTemperature, BatteryStatusInPercent, BatteryStatusInEstimatedRunTime

Optional Params:

JobItemId, ProductId, DateCreated, CreatedBy

Method:

PUT

Chemical Application Delete

Delete a chemical application entry

You will use this endpoint to delete a chemical application entry if needed

Endpoint:

/api/chemicalapplicationlocations/delete

Required Params:

id

Method:

GET

Chemical Application Image

Upload job photos associated with an event on the dashboard calendar

You will use this endpoint to upload images of chemical applications

Endpoint:

/api/chemicalapplicationlocations/uploadimage

Example Request:

https://turfhop.com/api/chemicalapplicationlocations/uploadimage?eventId=8076482548429038c9b4b34fa296a4&url=https%3A%2F%2Fturfhop.com%2FAssets%2Fimages%2Fauth-logo.png&caption=Your+Caption+Here&latitude=&longitude=

Required Params:

eventId, url

Optional Params:

caption, latitude, longitude

Method:

GET

Crew List

Retrieve list of crews by company ID

You will use this endpoint to retrieve a listing of crews for given company

Endpoint:

/api/crews/getall

Example Request:

https://turfhop.com/api/crews/getall?companyId=5940991380dda460c1b3b6492bb759

Required Params:

companyId

Method:

GET

Crew Details

Retrieve everything about a crew

You will use this endpoint to retrieve crew details

Endpoint:

/api/crews/get

Example Request:

https://turfhop.com/api/crews/get?id=60055314669ef59a09098a4abfa900

Required Params:

id

Method:

GET

Employee List

Retrieve list of employees by company ID

You will use this endpoint to retrieve a listing of employees for given company

Endpoint:

/api/employees/getall

Example Request:

https://turfhop.com/api/employees/getall?companyId=5940991380dda460c1b3b6492bb759

Required Params:

companyId

Method:

GET

Employee Details

Retrieve everything about a crew

You will use this endpoint to retrieve employee details

Endpoint:

/api/employees/get

Example Request:

https://turfhop.com/api/employees/get?id=41032867281240642d5b104e7ab054

Required Params:

id

Method:

GET

Invoice List

Retrieve list of invoices by company ID. Optionally you can filter by status, date range, and any other search criteria

You will use this endpoint to retrieve a listing of invoices for given company

Endpoint:

/api/invoices/getall

Example Request:

https://turfhop.com/api/invoices/getall?companyId=5940991380dda460c1b3b6492bb759

Required Params:

companyId

Optional Params:

locationId, search, status, type, salespersonUserId, start, end, subStatus

Method:

GET

Invoice Details

Retrieve everything about an invoice

You will use this endpoint to retrieve employee details

Endpoint:

/api/invoices/get

Example Request:

https://turfhop.com/api/invoices/get?id=629472177351dc7c38c09d49579457

Required Params:

id

Method:

GET

Location List

Retrieve list of locations by company ID

You will use this endpoint to retrieve a listing of locations / branches for given company

Endpoint:

/api/locations/getall

Example Request:

https://turfhop.com/api/locations/getall?companyId=5940991380dda460c1b3b6492bb759

Required Params:

companyId

Method:

GET

Location Details

Retrieve everything about a crew

You will use this endpoint to retrieve location details

Endpoint:

/api/locations/get

Example Request:

https://turfhop.com/api/locations/get?id=265906948691bd1beaa36342b68465

Required Params:

id

Method:

GET

Trackable Asset List

Retrieve list of trackable assets by company ID

You will use this endpoint to retrieve a listing of trackable assets for given company

Endpoint:

/api/trackableassets/getall

Example Request:

https://turfhop.com/api/trackableassets/getall?companyId=5940991380dda460c1b3b6492bb759

Required Params:

companyId

Optional Params:

locationId, search, status, type

Method:

GET

Trackable Asset Details

Retrieve everything about a trackable asset

You will use this endpoint to retrieve trackable asset details

Endpoint:

/api/trackableassets/get

Example Request:

https://turfhop.com/api/trackableassets/get?id=90553651986654a706be8f4ccdb506

Required Params:

id

Method:

GET

Vendor List

Retrieve list of vendors by company ID

You will use this endpoint to retrieve a listing of vendors for given company

Endpoint:

/api/vendors/getall

Example Request:

https://turfhop.com/api/vendors/getall?companyId=5940991380dda460c1b3b6492bb759

Required Params:

companyId

Optional Params:

search, status, type

Method:

GET

Vendor Details

Retrieve everything about a vendor

You will use this endpoint to retrieve trackable asset details

Endpoint:

/api/vendors/get

Example Request:

https://turfhop.com/api/vendors/get?id=9923413671c42feb908ef142acaecf

Required Params:

id

Method:

GET

TurfHop Helps lawn and landscape professionals
scale and grow their business.