Report Builder

The Report Builder API is used to access, create, and modify the different reports that a user has built on your business' account. Since reports allow you to view critical information about your business in a clear way, and since these reports were created by a user to collect specific data, it is crucial that you familiarize yourself with how to get, create, and update the different user-built reports on your account.

On this page




Report Builder API Endpoints

These are the endpoints that are available under the /reportBuilder path, which lists all the different reports you have available on your business' reports page.

Endpoint

Description

GET /reportBuilderReturns a list of ReportBuilderReport objects on an account.
GET /reportBuilder/{reportBuilderId}Returns the specified report which will return the ReportBuilderReports object for that report.
POST /reportBuilder

Creates a new user-built report.

Request body/payload: Must pass a ReportBuilderReports object in the request body/payload.

POST /reportBuilder/{reportBuilderId}

Runs a user-built report.

Request body/payload: Must pass locationIdList, reasonIdList, and staffIdList parameters in the request body/payload.

DELETE /reportBuilder/{reportBuilderId}Deletes a reportBuilder object to remove the specified user-built report from your report builder list.




Report Builder API Parameters


Data points passed on in the request URL portion of the API call that are used to filter the data being requested. 

Parameter

TypeEndpoints to be used with

Description

endDateintegerPOST /reportBuilder/{reportBuilderId}Should be set as the end date of the report to be returned.
startDateintegerPOST /reportBuilder/{reportBuilderId}Should be set as the start date of the report to be returned.




Report Builder API Request Body/Payloads

POST /reportBuilder
{
    "baseObject": "APPT",
    "businessId": 43111,
    "fields": ["%APPT_START_DATE%", "%APPT_END_DATE%"],
    "orderCriteria": "startDate",
    "reportName": "TEST",
    "statusList": ["OPEN"]
}


POST /reportBuilder/{reportBuilderId}
{
    "locationIdList": [282639],
    "reasonIdList": [240127, 240094, 159330],
    "staffIdList": [302120]
}




Report Builder API Responses

GET /reportBuilder
[{    "active": true,
    "baseObject": "APPT",
    "'businessId": 43111,
    "createdDate": 1637174159452,
    "createdUser": "JoeSchmo",
    "fields": ["%APPT_START_DATE%", "%APPT_START_TIME%", "%LOCATION_NAME%", "%PROFESSIONAL_FULLNAME%", "%REASON%",…],
    "filterCriteria": null,
    "groupSelectable": null,
    "locationSelectable": null,
    "modifiedDate": null,
    "modifiedUser": null,
    "orderCriteria": "startDate",
    "reportBuilderId": 29652,
    "reportName": "Test Report",
    "securityFunctions": null,
    "serviceSelectable": null,
    "staffSelectable": null,
    "statusList": ["OPEN", "COMPLETED"],
    "useCreatedDate": true,
    "useModifiedDate": null
}]
GET /reportBuilder/{reportBuilderId}
{
    "active": true,
    "baseObject": "APPT",
    "businessId": 43111,
    "createdDate": 1637174159452,
    "createdUser": "JoeSchmo",
    "fields": ["%APPT_START_DATE%", "%APPT_START_TIME%", "%LOCATION_NAME%", "%PROFESSIONAL_FULLNAME%", "%REASON%",…],
    "filterCriteria": null,
    "groupSelectable": null,
    "locationSelectable": null,
    "modifiedDate": null,
    "modifiedUser": null,
    "orderCriteria": "startDate",
    "reportBuilderId": 29652,
    "reportName": "Test Report",
    "securityFunctions": null,
    "serviceSelectable": null,
    "staffSelectable": null,
    "statusList": ["OPEN", "COMPLETED"],
    "useCreatedDate": true,
    "useModifiedDate": null
}
POST /reportBuilder
{
    "active": true,
    "baseObject": "APPT",
    "businessId": 43111,
    "createdDate": 1637174159452,
    "createdUser": "JoeSchmo",
    "fields": ["%APPT_START_DATE%", "%APPT_START_TIME%", "%LOCATION_NAME%", "%PROFESSIONAL_FULLNAME%", "%REASON%",…],
    "filterCriteria": null,
    "groupSelectable": null,
    "locationSelectable": null,
    "modifiedDate": null,
    "modifiedUser": null,
    "orderCriteria": "startDate",
    "reportBuilderId": 29652,
    "reportName": "Test Report",
    "securityFunctions": null,
    "serviceSelectable": null,
    "staffSelectable": null,
    "statusList": ["OPEN", "COMPLETED"],
    "useCreatedDate": null,
    "useModifiedDate": null
}




Report Builder Object Values

Property nameTypeDescription
activebooleanIndicates whether or not the specified reportBuilder object is active.
baseObjectstringDisplays as the object that the specified user-built report gathers information about. Possible entries include APPT.
businessIdintegerProvides the unique numeric ID for the business that the specified reportBuilder object belongs to.
createdDateintegerDisplays as the date the specified reportBuilder object was created, in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.
createdUserstringDisplays the username of the user who created the specified reportBuilder object.
fieldsarrayDisplays an array of all the different fields assigned to the specified user-built report. 
filterCriteriastringCan be set as a SQL where clause.
modifiedDateintegerDisplays as the date the specified report was last modified, in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.
modifiedUserstringDisplays the username of the user who last modified the specified report.
orderCriteriastringDisplays as the field that the user-built report is ordered by.
reportBuilderIdintegerProvides the unique numeric ID for the specified reportBuilder object.
reportNamestringDisplays as the name given to the specified reportBuilder object.
securityFunctionsstringDisplays the names of the security role functions required for a staff to be able to access the specified report.
statusListarrayDisplays as an array of appointment statuses to be included in the specified user-built report. Possible entries include OPEN, COMPLETED, CANCELLED, and NO_SHOW.
useCreatedDatebooleanIndicates whether you want the date range defined when running the report to calculate based on the date the appointment was created or the date it's scheduled for.
useModifiedDatebooleanIndicates whether you want the date range defined when running the report to calculate based on the date the appointment was last modified or the date it's scheduled for.