Cases are the core of FuseDesk. And there’s a lot you can do with cases.

API Documentation on Postman

Our API Documentation is now available on Postman which includes code samples, interactive documentation, and so much more.

View FuseDesk API Documentation on Postman...

See the documentation below on how to leverage our API to:

Use the cases method to add, find and update cases.

Request URL: https://YOURAPPNAME.fusedesk.com/api/v1/cases/

Supported Methods: POST, GET

Authorization: See Authorization

Return Codes: See Return Codes

Create a New Case

Request URL: https://YOURAPPNAME.fusedesk.com/api/v1/cases/

Request Method: POST

ParamaterRequiredTypeDefaultDefined
date_openednodatetimenowWhen the case was opened. By default we’ll assume it’s being opened right now. You can also set this to any other valid date, helpful if you’re importing cases.
date_assignednodatetime When the case was assigned, i.e. given to a support rep to handle.
date_updatednodatetime date_openedWhen a case was last opened. By default, we’ll assume it was last updated when it was opened. You can also set this to any other valid date, helpful if you’re importing cases.
statusnostring newCase status. Defaults to new. Can be new, open, or closed.
depidyesint Department ID of the where this case should be assigned.
repidnointrandom rep in departmentFuseDesk User ID of the support rep who the case is assigned to. If no rep is specified, the User ID is invalid, or the User isn’t in the department, a random rep in the department will be selected.
summaryyestext A short description of the case. This is typically the subject line of the email that opened the case or what a rep would enter when logging a a phone call as the title.
detailsyestext Info on the case. This is typically the body of the original email that opened the case or the details of what the case is all about.
openedbyyestext Text version of who opened the case. This can be a name, email address, phone number, or whatever would make sense to describe who opened the case.
contactidnoint The Infusionsoft Contact ID of the contact (i.e. customer) who opened the case.
emailnostring The email address of the contact (i.e. customer) who opened the case. If you pass in the email param and not a contactid, we’ll search Infusionsoft and link it to the right contact automatically.
companyidnoint The Infusionsoft Company ID of the company who opened the case.
typenostringnotecall or note to indicate if the note on the case should be logged as a call or a note. If you specify import, no note will be added to the case history.
historynostring A JSON encoded string of any case history to add, i.e. emails, notes, and calls.
skipinfusionsoftnobooleanfalseSet to True to skip importing the case history to Infusionsoft. Useful for large imports.
casetagsnostring A CSV list of FuseDesk case tag IDs that you want to apply to the new case

Search for a Case

Request URL: https://YOURAPPNAME.fusedesk.com/api/v1/cases

Request Method: GET

ParamaterRequiredTypeDefaultDefined
emailnotext Search Infusionsoft for the supplied email address, and then return all cases linked to the returned contact IDs.
Caution: this takes an extra step and requires us connecting to Infusionsoft’s API servers, so this can take a moment longer than other searches.
contactidnoint Search for cases assigned to a certain Infusionsoft Contact ID
companyidnoint Search for cases assigned to a certain Infusionsoft Company ID
repidnoint Search for cases assigned to a FuseDesk Rep. Use the Rep’s FuseDesk User ID
depidnoint Search for cases assigned to a certain FuseDesk Department. Use the FuseDesk DepartmentID
statusnoalpha allSearch for cases with a certain status. Status can be all, active, new, open, or closed. All is all. Active is new and open cases. New cases are waiting on the support team. Open cases are waiting on the customer. Closed cases are resolved.
casetagnoint Search for cases with the specific FuseDesk Case Tag ID.
date_openednodate* Search for cases opened on, before, after, or between a specified date or dates
date_assignednodate* Search for cases assigned on, before, after, or between a specified date or dates
date_firstresponsenodate* Search for cases first responded to on, before, after, or between a specified date or dates
date_updatednodate* Search for cases updated on, before, after, or between a specified date or dates
date_closednodate* Search for cases closed on, before, after, or between a specified date or dates
limitnoint150How many case to return (max of 500)
offsetnoint0What result to start with, i.e. offset 500 to get “page 2” of 500 cases, offset with 1,000 to get “page 3” of 500 cases.
orderbynoalphadate_updatedHow to sort the results. By default, we return the cases sorted by the date they were last updated. You can also sort by caseid, contactid, date_opened, date_assigned, date_updated, date_resolved

*Searching with Date Fields

When searching for cases using date fields, you can filter in four different ways. All dates need to be valid parseable dates, for example in YYYY-MM-DD format, like 2015-12-04

  • On a date: 2015-04-01
  • Before a date: {"before":"2014-02-14"}
  • After a date: {"after:"2014-05-02"}
  • Between two dates: {"after":"2014-04-14",before:"2015-05-15"}

Get info on a case:

Request URL: https://YOURAPPNAME.fusedesk.com/api/v1/cases/CASEID

Request Method: GET

Add a note to an existing case:

Request URL: https://YOURAPPNAME.fusedesk.com/api/v1/cases/CASEID/addnote

Request Method: POST

Parameters:

ParamaterRequiredTypeDefaultDefined
titleyesstring The short summary title of the note
typeyesstring The type of note either “call” or “note”
noteyesstring The body/content of the note
date_addednostringnowThe date the note was added. Typically, you’d leave this blank, unless you were importing historical data

Apply a Case Tag to an existing case:

Request URL: https://YOURAPPNAME.fusedesk.com/api/v1/cases/CASEID/tag/TAGID

Request Method: POST

Parameters: none

Remove a Case Tag from an existing case:

Request URL: https://YOURAPPNAME.fusedesk.com/api/v1/cases/CASEID/untag/TAGID

Request Method: POST

Parameters: none

Transfer a Case to another Department and/or Rep:

Request URL: https://YOURAPPNAME.fusedesk.com/api/v1/cases/CASEID

Request Method: POST

Parameters:

ParamaterRequiredTypeDefaultDefined
repidnointThe current repThe UserID of the rep to transfer the case to
depidnointThe current departmentThe Department ID of the department to transfer the case to

Link a Case to a Contact

Request URL: https://YOURAPPNAME.fusedesk.com/api/v1/cases/CASEID

Request Method: POST

Parameters:

ParamaterRequiredTypeDefaultDefined
contactidnoint The ID of the Contact in your CRM
contactUuidnoUUID The UUID of the contact in FuseDesk

Import Case history to an existing case:

Request URL: https://YOURAPPNAME.fusedesk.com/api/v1/cases/CASEID/history

Request Method: POST

Parameters:

ParamaterRequiredTypeDefaultDefined
historyyesstring A JSON encoded string of all history to import
skipinfusionsoftnobooleanfalseSet to True to skip importing the case history to Infusionsoft. Useful for large imports.


The history JSON should be an encoded array with each element being either a note (call or note) or an email. This type should be specified for each item with a type parameter of call, note, or email.

History Notes should be objects as outlined under addnote above.

History Emails should be objects as follows:

ParamaterRequiredTypeDefaultDefined
toyesstring The email address that the email was sent to
fromyesstring The email address that the email came from
ccnostring The email addresses that the email was CCed to
bccnostring The email addresses that the email was CCed to
subjectyesstring The subject line of the email
bodyyesstring The plain text version of the email
date_sentnodatetime nowThe date and time that the email was sent
date_recvdnodatetime nowThe date and time that the email was received
repidnoint The User ID of the rep that sent the email