kickserv_list_customers
List customers
List or search customers, 30 per page. Every filter is an exact match on that field. Use `only` to keep the response small. Kickserv: GET /{account}/customers.xml.
Parametersnameonlypageincludebilling_cityphone_numberservice_citybilling_stateemail_addressservice_statecustomer_numberservice_zip_code
kickserv_get_customer
Get a customer
Fetch one customer by customer number, optionally with related contacts, jobs, tasks and notes. The result's `id` is what job/task create calls need as `customer_id`. Kickserv: GET /{account}/customers/{customer_number}.xml.
Parametersincludecustomer_numberrequired
kickserv_list_customer_jobs
List a customer's jobs
List the jobs for one customer, 30 per page. Kickserv: GET /{account}/customers/{customer_number}/jobs.xml.
Parametersonlypageincludecustomer_numberrequired
kickserv_list_jobs
List jobs
List jobs (work orders, estimates, invoices), 30 per page, filterable by schedule window, status, assigned employee, category (job type) or job status. Kickserv: GET /{account}/jobs.xml.
Parametersonlypagestatusincludescheduledjob_type_idjob_status_idemployee_number
kickserv_get_job
Get a job
Fetch one job by job number, optionally with its customer, assigned employees, job charges (line items), time entries and notes. Kickserv: GET /{account}/jobs/{job_number}.xml.
Parametersincludejob_numberrequired
kickserv_list_customer_notes
List a customer's notes
List the notes on one customer. Kickserv: GET /{account}/customers/{customer_number}/notes.xml.
Parameterscustomer_numberrequired
kickserv_list_job_notes
List a job's notes
List the notes on one job. Kickserv: GET /{account}/jobs/{job_number}/notes.xml.
Parametersjob_numberrequired
kickserv_list_job_time_entries
List a job's time entries
List the time entries (hours logged by technicians) on one job. Kickserv: GET /{account}/jobs/{job_number}/time_entries.xml.
Parametersjob_numberrequired
kickserv_get_task
Get a task
Fetch one task (appointment / to-do attached to a job) by id. Kickserv: GET /{account}/tasks/{task_id}.xml.
Parameterstask_idrequired
kickserv_list_employees
List employees
List all employees (technicians and office staff), active and inactive. Use their `id` for job/task assignment and time entries, and `employee_number` to filter jobs. Kickserv: GET /{account}/employees.xml.
Takes no parameters.
kickserv_list_items
List items
List products/services (the price list used for job charges), 30 per page. Active items only by default. Kickserv: GET /{account}/items.xml.
Parametersnamepagewhich
kickserv_create_customer
Create a customer
WRITE: create a new customer. Kickserv assigns the customer number. Kickserv: POST /{account}/customers.xml.
Parametersfaxnamerequiredmobilecompanycontactis_activelast_namefirst_namealt_contactbilling_citycompany_namephone_number+19 more
kickserv_update_customer
Update a customer
WRITE: update fields on an existing customer. Only the fields you pass change. Balances, credit limit and custom fields are not settable here. Kickserv: PATCH /{account}/customers/{customer_number}.xml.
Parametersfaxnamemobilecompanycontactis_activelast_namefirst_namealt_contactbilling_citycompany_namephone_number+20 more
kickserv_add_customer_note
Add a note to a customer
WRITE: add a note to a customer. Set `public` to true to make it visible to the customer. Kickserv: POST /{account}/customers/{customer_number}/notes.xml.
Parametersnoterequiredpubliccustomer_numberrequired
kickserv_create_job
Create a job
WRITE: create a job (work order) for a customer. `customer_id` is the customer's internal `id` (from kickserv_get_customer), not the customer number; `job_type_id` is the job category. Set `estimate` to create it as an estimate. Kickserv: POST /{account}/jobs.xml.
Parametersnameends_atdurationestimatepo_numbercustomer_idrequireddescriptionjob_type_idrequiredemployee_idsscheduled_on
kickserv_update_job
Update a job
WRITE: update an existing job — reschedule it, rename it, change its description, category or custom job status, or reassign employees (employee_ids replaces the assignment). Totals, tax and payment fields are not settable here. Kickserv: PATCH /{account}/jobs/{job_number}.xml.
Parametersnameends_atdurationpo_numberjob_numberrequireddescriptionjob_type_idemployee_idsscheduled_onjob_status_id
kickserv_add_job_note
Add a note to a job
WRITE: add a note to a job. Set `public` to true to make it visible to the customer. Kickserv: POST /{account}/jobs/{job_number}/notes.xml.
Parametersnoterequiredpublicjob_numberrequired
kickserv_create_task
Create a task
WRITE: create a task (appointment / to-do) on a job and optionally assign employees. `job_id` is the job's internal `id` (from kickserv_get_job), not the job number. Kickserv: POST /{account}/tasks.xml.
Parametersnamerequiredjob_idrequiredends_atdurationcustomer_iddescriptionemployee_idsscheduled_attask_type_idrequired
kickserv_log_time_entry
Log time on a job
WRITE: log hours worked by an employee on a job. `employee_id` is the employee's `id` from kickserv_list_employees. Kickserv: POST /{account}/jobs/{job_number}/time_entries.xml.
Parametersnotemileagebillableended_onjob_numberrequiredstarted_onrequiredemployee_idrequirednumber_of_hoursrequiredtime_entry_type_id
kickserv_add_job_charge
Add a charge to a job
WRITE: add a charge (line item — a product, service or part) to a job. This changes the job's estimate/invoice total; it does NOT charge the customer's card. Pick `item_id` from kickserv_list_items. Kickserv: POST /{account}/jobs/{job_number}/job_charges.xml.
Parametersdetailsitem_iddiscountquantityjob_numberrequireddescriptionprice_per_unitjob_charge_type_idrequired