List

Records are returned 30 at a time.

curl -u TOKEN:TOKEN https://myapp.kickserv.com/customers.xml

Additional records can fetched by passing a page parameter.

curl -u TOKEN:TOKEN https://myapp.kickserv.com/customers.xml?page=2

Records can filtered by passing one or more filters:

  • customer_number
  • name
  • phone_number
  • fax
  • email_address
  • service_address
  • service_city
  • service_zip_code
  • service_state
  • service_country
  • billing_address
  • billing_city
  • billing_zip_code
  • billing_state
  • billing_country
curl -u TOKEN:TOKEN https://myapp.kickserv.com/customers.xml?service_zip_code=55555

The following relational data can be included:

  • contacts
  • jobs
  • tasks
  • notes
  • tax_entity
curl -u TOKEN:TOKEN https://myapp.kickserv.com/jobs.xml?include=jobs

The return XML can be made much smaller by specifying the attributes needed.

IMPORTANT: This is highly recommended as it will speed up the data request and post-processing.

curl -u TOKEN:TOKEN https://myapp.kickserv.com/jobs.xml?only=customer_number,name

Show

curl -u TOKEN:TOKEN https://myapp.kickserv.com/customers/[CUSTOMER NUMBER].xml

Create

Records are added via HTTP POST. The Content-Type header must be set to ‘application/xml’.

curl -u TOKEN:TOKEN -H 'Content-Type: application/xml' -d "<customer><name>ABC Corp.</name></customer>" https://myapp.kickserv.com/customers.xml

Note: If the customer_number field is passed in, it will be ignored. Customer numbers are automatically assigned by Kickserv. Future releases will support user-assignable customer numbers.

Update

Records are updated via HTTP PUT. The Content-Type header must be set to ‘application/xml’.

curl -u TOKEN:TOKEN -X PUT -H 'Content-Type: application/xml' -d "<customer><name>New name</name></customer>" https://myapp.kickserv.com/customers/[CUSTOMER NUMBER].xml

Delete

Records are deleted via HTTP DELETE.

curl -u TOKEN:TOKEN -X DELETE https://myapp.kickserv.com/customers/[CUSTOMER NUMBER].xml