Clients

The Clients API is used to access, create, and modify the clients on your business' account. Since clients are mandatory for growing your business and generating revenue, it is crucial for you to familiarize yourself with how to get, create, and update the different client profiles on your account. The Appointments or Reports API can be used to access the appointments specific to a client.

Staff members with security status User are only allowed access to view those clients who have booked with them directly, staff members with security status Location Super User are allowed access to all clients who have booked at the locations they have been granted access to, and the account owners and Admins are allowed access to all clients.

If you are having any trouble passing all of the required properties on the fields object when making a POST /clients call, we recommend that you first make a call to the GET /schedulerFieldList/mode/CLIENT endpoint that is documented here, which will return an array of all the field objects with all properties defined. You can then take that array and set it equal to the fields property on the client object before making a POST call to the clients endpoint to create a client.

On this page




Clients API Endpoints

These are the endpoints that are available under the /clients path, which shows profiles of the clients on your business' account.

Endpoint

Description

GET /clients

Returns all client objects on an account in array format. 

GET /clients/{clientId}

Returns a JSON object for specified client.

GET /clients/countReturns the number of active clients on an account. Used in app to create pagination on client's list.
GET /clients/tags/{tagString}Returns strings of tags in array format that match the tag string passed.
GET /clients/canViewedBy/{clientAccountId}Returns an array of client objects that can access specified clientAccountId when they login to the public scheduler
GET /clients/canView/{clientId}Returns an array of client objects that the specified client can access when they login to the public scheduler
GET /clients/externalUserName/{externalUserName}Returns clientId for the client with the specified externalUserName.
GET /clientList/reportWithCountReturns an object that contains a list of clients along with a count of the total number of clients that match the parameters passed with the call. 
GET /clientList/reportReturns an object that contains a list of clients that match the parameters passed with the call.
GET /clientList/reportCountReturns a count object that provides the number of clients that match the parameters passed with the call.
GET /clientIdListReturns an object that contains list of the client IDs for the clients that match the parameters passed with the call.

POST /clients

Creates a new client object on an account.

Request body/payload: Pass a client object with all required fields defined.

For these calls, you need to pass a clients object with all required fields and any fields you want to set filled in the body of the payload. We have an example of a clients object in the responses section below and have indicated the required fields in the object values table at the bottom of this page.

POST /clients/filterTagReturns all client objects that have the tag passed in the request body assigned to them in array format.
POST /clients/filter

Returns all client objects matching the search parameters used in array format. Returns an object with clientId = -1 in the array for adding a new client.

Request body/payload: Pass search string in body of post.

POST /clients/dupecheck/email

Returns all client objects that have specified email address in array format. If none qualify, returns an empty array.

Request body/payload: Pass the email address in the body of the post.

POST /clients/merge/{clientId}

Merges a client's account with another account of specified client.

Request body/payload: Pass an array of clients getting merged.

PUT /clients/{clientId}

Updates an existing client object.

Request body/payload: Pass a client object with all required fields defined.

For these calls, you need to pass a clients object with all required fields and any fields you want to update filled in the body of the payload. We have an example of a clients object in the responses section below and have indicated the required fields in the object values table at the bottom of this page.

PATCH /clients/{clientIid}

Updates an existing client object with the items to be updated defined in the request body. Allows users to send partial data through API and uses that to update the object.

Request body/payload: Pass a client object with the field(s) you wish to update defined. For example,

{
    "firstName": "Bob"
}

DELETE /clients/{clientId}

Removes a client object from view by setting its active property to false.





Clients API Parameters

Data points passed on in the request URL portion of the API call that are used to filter the data that is being requested. To improve load times, when getting list of full clients can pass a pageNumber and pageSize parameter to reduce total returned number of values.

Parameter

TypeEndpoints to be used with

Description

clientIdListinteger arrayGET /clientList/reportWithCount, GET /clientList/report, GET /clientList/reportCount, GET /clientIdListShould be set as a list of the IDs for clients to return following the API call. 
endDatestringGET /clientList/reportWithCount, GET /clientList/report, GET /clientList/reportCount, GET /clientIdListShould be set as the created date of the clients to return following the API call.
locationGroupIdListinteger arrayGET /clientList/reportWithCount, GET /clientList/report, GET /clientList/reportCount, GET /clientIdListShould be set as a list of the IDs of location groups that contain locations where clients to return following the API call had appointments scheduled.
locationIdListinteger arrayGET /clientList/reportWithCount, GET /clientList/report, GET /clientList/reportCount, GET /clientIdListShould be set as a list of the IDs of locations where clients to return following the API call had appointments scheduled.
order_fieldobjectGET /clients, POST /clients/filter, GET /clientList/reportWithCount, GET /clientList/reportDisplays the field name used to order the data that gets returned following a GET call. Available options are fullName and emailAddress.
order_modeobjectGET /clients, POST /clients/filter, GET /clientList/reportWithCount, GET /clientList/reportDisplays the order type that is used to order the data that gets returned following a GET call. Available options are "asc" for ascending and "desc" for descending.
pageNumberintegerGET /clients, GET /clientList/reportWithCount, GET /clientList/reportWorks with the pageSize parameter to determine how data gets returned following a GET call. The pageNumber value represents the number of pages on which the clients that get returned appear.
pageSizeintegerGET /clients, GET /clientList/reportWithCount, GET /clientList/reportWorks with the pageNumber parameter to determine how data gets returned following a GET call. The pageSize value represents the number of clients appearing on each page of clients that gets returned.
reasonIdListinteger arrayGET /clientList/reportWithCount, GET /clientList/report, GET /clientList/reportCount, GET /clientIdListShould be set as a list of the IDs of reasons that clients to return following the API call had appointments scheduled for.
searchTermstringGET /clientList/reportWithCount, GET /clientList/report, GET /clientList/reportCount, GET /clientIdListSearches values of custom fields or of any notes added to client's profile. 
showClientFormsbooleanGET /clientList/reportWithCount, GET /clientList/report, GET /clientList/reportCount, GET /clientIdListIf set to true, will add an extra query to add the clients' disclaimer forms to the client object to return following the API call.
staffIdListinteger arrayGET /clientList/reportWithCount, GET /clientList/report, GET /clientList/reportCount, GET /clientIdListShould be set as a list of the IDs of staff that clients to return following the API call had appointments scheduled with.
startDatestringGET /clientList/reportWithCount, GET /clientList/report, GET /clientList/reportCount, GET /clientIdListShould be set as the created date of the client to return following the API call.
statusListstringGET /clientList/reportWithCount, GET /clientList/report, GET /clientList/reportCount, GET /clientIdListShould be set as any of the values stored on the status property of clients to return following the API call.
tagsListstringGET /clientList/reportWithCount, GET /clientList/report, GET /clientList/reportCount, GET /clientIdListShould be set as any of the client tags of clients to return following the API call.




Clients API Request Body/Payloads

POST /clients
{
    "allowWaitListText": true,
    "clientIdsClientCanView": [],
    "fields": [{Fields object for scheduler fields of client - see Scheduler Fields API page}],
    "locale": "en-US",
    "tags": [],
    "timeZone": {Timezone object for timezone of client - see Timezones API page}
}
POST /clients/filter
Jane Doe
POST /clients/dupecheck/email
{
    "joel@timetap.com"
}

[This will be whatever email address you entered to check for duplicates.]
PUT /clients{clientId}
{
    "allowWaitListText": false,
    "cellPhone": null,
    "clientAccountId": 1151042,
    "clientId": 4922146,
    "clientIdsClientCanView": [],
    "companyName": null,
    "createdDate": 1530215432220,
    "createdUser": "JoeSchmo",
    "dateOfBirth": null,
    "deleted": false,
    "emailAddress": "john@email.com",
    "excludeEmailCategoryIdList": null,
    "externalUserName": null,
    "fields": [{Fields object for scheduler fields of client - see Scheduler Fields API page}],
    "firstName": "John",
    "fullName": "John Doe",
    "imageUrl": null,
    "infusionsoftContactId": null,
    "jobRequisitionNumbersAccepted": null,
    "jobRequisitionNumbersDeclined": null,
    "jobRequisitionNumbersSent": null,
    "lastName": "Doe",
    "locale": "en-US",
    "modifiedDate": 1530215765388,
    "modifiedUser": "MORGANKEARNEY",
    "notes": null,
    "password": null,
    "requisitionIdsAccepted": null,
    "requisitionIdsDeclined": null,
    "requisitionIdsSent": null,
    "salesforceContactId": null,
    "sex": null,
    "squareCustomerId": null,
    "status": "Active",
    "stripeCustomerId": null,
    "tags": [],
    "timeZone": {Timezone object for timezone oof client - see Timezones API page},
    "timeZoneCode": {timeZoneId: null, timeZoneCode: null, timeZoneDesc: null, visible: null, sortOrder: null},
    "viewClientAccountIds": [1151044]
}




Clients API Responses

GET /clients
[{
    "allowWaitListText": null,
    "cellPhone": null,
    "clientAccountId": 1151035,
    "clientId": 4658091,
    "companyName": null,
    "createdDate": 15239802546289,
    "createdUser": "JoeSchmo",
    "dateOfBirth": null,
    "deleted": false,
    "emailAddress": "noreply@email.com",
    "excludeEmailCategoryIdList": null,
    "externalUserName": null,
    "fields": {Scheduler fields object for client - see Scheduler Fields API page},
    "firstName": "Johnny",
    "fullName": "Johnny Begood",
    "homePhone": null,
    "imageUrl": null,
    "infusionsoftContactId": null,
    "jobRequisitionNumbersAccepted": null,
    "jobRequisitionNumbersDeclined": null,
    "jobRequisitionNumbersSent": null,
    "lastName": "Begood",
    "locale": null,
    "modifiedDate": null,
    "modifiedUser": null,
    "password": null,
    "requisitionIdsAccepted": null,
    "requisitionIdsDeclined": null,
    "requisitionIdsSent": null,
    "salesforceContactId": null,
    "sex": null,
    "squareCustomerId": null,
    "status": "Active",
    "stripeCustomerId": null,
    "tags": [],
    "timeZone": {Timezone object for timezone of client - see Timezones API page},
    "viewClientAccountIds": null
}]
GET /clients/{clientId}
{
    "allowWaitListText": null,
    "cellPhone": null,
    "clientAccountId": 1151042,
    "clientId": 4922146,
    "companyName": null,
    "createdDate": 1530215432220,
    "createdUser": "JoeSchmo",
    "dateOfBirth": null,
    "deleted": false,
    "emailAddress": "john@email.com",
    "excludeEmailCategoryIdList": null,
    "externalUserName": null,
    "fields": {Scheduler fields object for client - see Scheduler Fields API page},
    "firstName": "John",
    "fullName": "John Doe",
    "homePhone": null,
    "imageUrl": null,
    "infusionsoftContactId": null,
    "jobRequisitionNumbersAccepted": null,
    "jobRequisitionNumbersDeclined": null,
    "jobRequisitionNumbersSent": null,
    "lastName": "Doe",
    "locale": "en-us",
    "modifiedDate": 1530215765388,
    "modifiedUser": "JoeSchmo",
    "password": null,
    "requisitionIdsAccepted": null,
    "requisitionIdsDeclined": null,
    "requisitionIdsSent": null,
    "salesforceContactId": null,
    "sex": null,
    "squareCustomerId": null,
    "status": "Active",
    "stripeCustomerId": null,
    "tags": [],
    "timeZone": {Timezone object for timezone of client - see Timezones API page},
    "viewClientAccountIds": [1151044]
}
GET /clients/filterTag/{tagString}
[{
    "allowWaitListText": null,
    "cellPhone": null,
    "clientAccountId": 1151044,
    "clientId": 4761823,
    "companyName": null,
    "createdDate": 1526388401719,
    "createdUser": "JoeSchmo",
    "dateOfBirth": null,
    "deleted": false,
    "emailAddress": "janedeer@email.com",
    "excludeEmailCategoryIdList": null,
    "externalUserName": null,
    "fields": {Scheduler fields object for client - see Scheduler Fields API page},
    "firstName": "Jane",
    "fullName": "Jane Deer",
    "homePhone": null,
    "imageUrl": null,
    "infusionsoftContactId": null,
    "jobRequisitionNumbersAccepted": null,
    "jobRequisitionNumbersDeclined": null,
    "jobRequisitionNumbersSent": null,
    "lastName": "Deer",
    "locale": "en-us",
    "modifiedDate": 1530215760466,
    "modifiedUser": "JoeSchmo",
    "password": null,
    "requisitionIdsAccepted": null,
    "requisitionIdsDeclined": null,
    "requisitionIdsSent": null,
    "salesforceContactId": null,
    "sex": null,
    "squareCustomerId": null,
    "status": "Active",
    "stripeCustomerId": null,
    "tags": ["Excellent"],
    "timeZone": {Timezone object for timezone of client - see Timezones API page},
    "viewClientAccountIds": [1155923]
}]
GET /clients/canViewedBy/{clientId}
[{
    "activeAppointmentCount": null,
    "allowWaitListText": null,
    "authnetCustomerId": null,
    "authnetPaymentProfileIdList": null,
    "businessId": 43111,
    "businessPhone": null,
    "cellPhone": null,
    "clientAccountId": 1151035,
    "clientId": 4658091,
    "companyName": null,
    "createdDate": 1523982546289,
    "createdUser": "JoeSchmo",
    "dateOfBirth": null,
    "deleted": false,
    "emailAddress": "janedeer@email.com",
    "emergencyContact": null,
    "emergencyContactPhone": null,
    "enrollee": null,
    "enterpriseClientId": null,
    "excludeEmailCategoryIdList": null,
    "externalUserName": null,
    "fieldDataList": [{
        "schedulerPreferenceFieldDefnId": 322516,
        "value": "Johnny"
    },{
        "schedulerPreferenceFieldDefnId": 322517,
        "value": "Begood"
    },{
        "schedulerPreferenceFieldDefnId": 322518,
        "value": "Johnny Begood"
    },{
        "schedulerPreferenceFieldDefnId": 322520,
        "value": "noreply@email.com"
    }],
    "fieldDataListJson": [{"schedulerPreferenceFieldDefnId": 322516,"value":"Johnny"},{"schedulerPreferenceFieldDefnId":322517,"value": "Begood"},{"schedulerPreferenceFieldDefnId":322518,"value":"Johnny Begood"},{"schedulerPreferenceFieldDefnId": 322520,"value": "noreply@email.com"}],
    "fieldDataMap": {322516: "Johnny", 322517: "Begood", 322518: "Johnny Begood", 322520: "noreply@email.com"},
    "fieldDataMapJson": "{"322516":"Johnny","322517":"Begood","322518":"Johnny Begood","322520":"noreply@email.com"}",
    "fields": null,
    "firstName": "Johnny",
    "fullName": "Johnny Begood",
    "homePhone": null,
    "imageUrl": null,
    "infusionsoftContactId": null,
    "insuranceCo": null,
    "insuranceGroup": null,
    "insuranceNo": null,
    "insurancePlan": null,
    "jobRequisitionNumbersAccepted": null,
    "jobRequisitionNumbersDeclined": null,
    "jobRequisitionNumbersSent": null,
    "lastName": "Begood",
    "latitude": null,
    "locale": null,
    "longitude": null,
    "modifiedDate": 1530215760466,
    "modifiedUser": "JoeSchmo",
    "parentBusinessId": null,
    "password": null,
    "requisitionIdsAccepted": null,
    "requisitionIdsDeclined": null,
    "requisitionIdsSent": null,
    "safeDateOfBirth": null,
    "salesforceAccountId": null,
    "salesforceContactId": null,
    "sex": null,
    "spouseName": null,
    "squareCustomerId": null,
    "status": "Active",
    "stripeCustomerId": null,
    "tags": [],
    "textSearchable": "Johnny Begood noreply@email.com Johnny Begood Johnny Begood noreply@email.com",
    "viewClientAccountIds": [1151044]
}]
GET /clients/canView/{clientId}
[{
    "activeAppointmentCount": null,
    "allowWaitListText": null,
    "authnetCustomerId": null,
    "authnetPaymentProfileIdList": null,
    "businessId": 43111,
    "businessPhone": null,
    "cellPhone": null,
    "clientAccountId": 1151044,
    "clientId": 4761823,
    "companyName": null,
    "createdDate": 1526388401719,
    "createdUser": "JoeSchmo",
    "dateOfBirth": null,
    "deleted": false,
    "emailAddress": "janedeer@email.com",
    "emergencyContact": null,
    "emergencyContactPhone": null,
    "enrollee": null,
    "enterpriseClientId": null,
    "excludeEmailCategoryIdList": null,
    "externalUserName": null,
    "fieldDataList": [{
        "schedulerPreferenceFieldDefnId": 322516,
        "value": "Jane"
    },{
        "schedulerPreferenceFieldDefnId": 322517,
        "value": "Deer"
    },{
        "schedulerPreferenceFieldDefnId": 322518,
        "value": "Jane Deer"
    },{
        "schedulerPreferenceFieldDefnId": 322520,
        "value": "janedeer@email.com"
    }],
    "fieldDataListJson": [{"schedulerPreferenceFieldDefnId": 322516,"value":"Jane"},{"schedulerPreferenceFieldDefnId":322517,"value":"Deer"},{"schedulerPreferenceFieldDefnId":322518,"value":"Jane Deer"},{"schedulerPreferenceFieldDefnId":322520,"value":"janedeer@email.com"}],
    "fieldDataMap": {322516: "Jane", 322517: "Deer", 322518: "Jane Deer", 322520: "janedeer@email.com"},
    "fieldDataMapJson": "{"322516":"Jane","322517":"Deer","322518":"Jane Deer","322520":"janedeer@email.com"}",
    "fields": null,
    "firstName": "Jane",
    "fullName": "Jane Deer",
    "homePhone": null,
    "imageUrl": null,
    "infusionsoftContactId": null,
    "insuranceCo": null,
    "insuranceGroup": null,
    "insuranceNo": null,
    "insurancePlan": null,
    "jobRequisitionNumbersAccepted": null,
    "jobRequisitionNumbersDeclined": null,
    "jobRequisitionNumbersSent": null,
    "lastName": "Deer",
    "latitude": null,
    "locale": null,
    "longitude": null,
    "modifiedDate": 1530215760466,
    "modifiedUser": "JoeSchmo",
    "parentBusinessId": null,
    "password": null,
    "requisitionIdsAccepted": null,
    "requisitionIdsDeclined": null,
    "requisitionIdsSent": null,
    "safeDateOfBirth": null,
    "salesforceAccountId": null,
    "salesforceContactId": null,
    "sex": null,
    "spouseName": null,
    "squareCustomerId": null,
    "status": "Active",
    "stripeCustomerId": null,
    "tags": [],
    "textSearchable": "Jane Deer janedeer@email.com Jane Deer Jane Deer janedeer@email.com",
    "viewClientAccountIds": []
}]

GET /clientList/reportWithCount
{
    "clients": [
{
        "allowWaitListText": null,
        "cellPhone": null,
        "clientAccountId": 1151042,
        "clientId": 4922146,
        "companyName": null,
        "createdDate": 1530215432220,
        "createdUser": "JoeSchmo",
        "dateOfBirth": null,
        "deleted": false,
        "emailAddress": "john@email.com",
        "excludeEmailCategoryIdList": null,
        "externalUserName": null,
        "fields": {Scheduler fields object for client - see Scheduler Fields API page},
        "firstName": "John",
        "fullName": "John Doe",
        "homePhone": null,
        "imageUrl": null,
        "infusionsoftContactId": null,
        "jobRequisitionNumbersAccepted": null,
        "jobRequisitionNumbersDeclined": null,
        "jobRequisitionNumbersSent": null,
        "lastName": "Doe",
        "locale": "en-us",
        "modifiedDate": 1530215765388,
        "modifiedUser": "JoeSchmo",
        "password": null,
        "requisitionIdsAccepted": null,
        "requisitionIdsDeclined": null,
        "requisitionIdsSent": null,
        "salesforceContactId": null,
        "sex": null,
        "squareCustomerId": null,
        "status": "Active",
        "stripeCustomerId": null,
        "tags": [],
        "timeZone": {Timezone object for timezone of client - see Timezones API page},
        "viewClientAccountIds": [1151044]
}],
    "ccount": 47}
GET /clientList/report
[{
    "allowWaitListText": null,
    "cellPhone": null,
    "clientAccountId": 1151042,
    "clientId": 4922146,
    "companyName": null,
    "createdDate": 1530215432220,
    "createdUser": "JoeSchmo",
    "dateOfBirth": null,
    "deleted": false,
    "emailAddress": "john@email.com",
    "excludeEmailCategoryIdList": null,
    "externalUserName": null,
    "fields": {Scheduler fields object for client - see Scheduler Fields API page},
    "firstName": "John",
    "fullName": "John Doe",
    "homePhone": null,
    "imageUrl": null,
    "infusionsoftContactId": null,
    "jobRequisitionNumbersAccepted": null,
    "jobRequisitionNumbersDeclined": null,
    "jobRequisitionNumbersSent": null,
    "lastName": "Doe",
    "locale": "en-us",
    "modifiedDate": 1530215765388,
    "modifiedUser": "JoeSchmo",
    "password": null,
    "requisitionIdsAccepted": null,
    "requisitionIdsDeclined": null,
    "requisitionIdsSent": null,
    "salesforceContactId": null,
    "sex": null,
    "squareCustomerId": null,
    "status": "Active",
    "stripeCustomerId": null,
    "tags": [],
    "timeZone": {Timezone object for timezone of client - see Timezones API page},
    "viewClientAccountIds": [1151044]
}]
GET /clientList/reportCount
{
    "count": 47
}
GET /clientIdList
[

    4658091,
    14062590,
    6110946,
    6865306,
    7949146,
    5901342,
    13908832,
    13864841,
    7878140,
    4761823,
    13855267,
    13855135,
    5143212,
    5147394,
    5147404,
    5147353,
    6110900,
    10915321,
    10575898,
    5146945,
    5147093,
    7594980,
    7585627,
    7579433,
    7563061,
    7475995,
    7316309,
    7134353,
    6973283,
    6865315,
    6607828,
    6601818,
    6595850,
    6581640,
    6514061,
    6450041,
    6444669,
    6334145,
    5895933,
    5360110,
    5147422,
    5147390,
    5147382,
    5147375,
    5147362,
    5146927,
    4932331
]
POST /clients
{
    "allowWaitListText": true,
    "cellPhone": null,
    "clientAccountId": null,
    "clientId": 5966842,
    "companyName": null,
    "createdDate": null,
    "createdUser": null,
    "dateOfBirth": null,
    "deleted": null,
    "emailAddress": null,
    "excludeEmailCategoryIdList": null,
    "externalUserName": null,
    "fields": [{Fields object for scheduler fields of client - see Scheduler Fields API page}],
    "firstName": null,
    "fullName": null,
    "imageUrl": null,
    "jobRequisitionNumbersAccepted": null,
    "jobRequisitionNumbersDeclined": null,
    "jobRequisitionNumbersSent": null,
    "lastName": null,
    "locale": "en-US",
    "modifiedDate": null,
    "modifiedUser": null,
    "notes": null,
    "password": null,
    "requisitionIdsAccepted": null,
    "requisitionIdsDeclined": null,
    "requisitionIdsSent": null,
    "salesforceContactId": null,
    "sex": null,
    "squareCustomerId": null,
    "status": null,
    "stripeCustomerId": null,
    "tags": [],
    "timeZone": {Timezone object for time zone of client - see Timezone API page},
    "timeZoneCode": {timeZoneId: null, timeZoneCode: null, timeZoneDesc: null, visible: null, sortOrder: null},
    "viewClientAccountIds": null
}
POST /clients/filterTag
IF tagString entered matches a tag on your business account, response is that tag, or

["Excellent"]
    0: "Excellent"

IF tagString does not match any tags on your business account, response is an empty array.

POST /clients/filter
[{
    "allowWaitListText": null,
    "cellPhone": null,
    "clientAccountId": 1151035,
    "clientId": 4658091,
    "companyName": null,
    "createdDate": 15239802546289,
    "createdUser": "JoeSchmo",
    "dateOfBirth": null,
    "deleted": false,
    "emailAddress": "noreply@email.com",
    "excludeEmailCategoryIdList": null,
    "externalUserName": null,
    "fields": {Scheduler fields object for client - see Scheduler Fields API page},
    "firstName": "Johnny",
    "fullName": "Johnny Begood",
    "homePhone": null,
    "imageUrl": null,
    "infusionsoftContactId": null,
    "jobRequisitionNumbersAccepted": null,
    "jobRequisitionNumbersDeclined": null,
    "jobRequisitionNumbersSent": null,
    "lastName": "Begood",
    "locale": null,
    "modifiedDate": null,
    "modifiedUser": null,
    "password": null,
    "requisitionIdsAccepted": null,
    "requisitionIdsDeclined": null,
    "requisitionIdsSent": null,
    "salesforceContactId": null,
    "sex": null,
    "squareCustomerId": null,
    "status": "Active",
    "stripeCustomerId": null,
    "tags": [],
    "timeZone": {Timezone object for timezone of client - see Timezones API page},
    "viewClientAccountIds": null
},{
    "allowWaitListText": null,
    "cellPhone": null,
    "clientAccountId": null,
    "clientId": -1,
    "companyName": null,
    "createdDate": null,
    "createdUser": null,
    "dateOfBirth": null,
    "deleted": null,
    "emailAddress": null,
    "excludeEmailCategoryIdList": null,
    "externalUserName": null,
    "fields": null,
    "firstName": null,
    "fullName": "Add new client: noreply@email.com",
    "homePhone": null,
    "imageUrl": null,
    "infusionsoftContactId": null,
    "jobRequisitionNumbersAccepted": null,
    "jobRequisitionNumbersDeclined": null,
    "jobRequisitionNumbersSent": null,
    "lastName": null,
    "locale": null,
    "modifiedDate": null,
    "modifiedUser": null,
    "password": null,
    "requisitionIdsAccepted": null,
    "requisitionIdsDeclined": null,
    "requisitionIdsSent": null,
    "salesforceContactId": null,
    "sex": null,
    "squareCustomerId": null,
    "status": "Active",
    "stripeCustomerId": null,
    "tags": null,
    "timeZone": null,
    "viewClientAccountIds": null
}]
POST /clients/dupecheck/email
[{
    "allowWaitListText": null,
    "cellPhone": null,
    "clientAccountId": 1659456,
    "clientId": 7475995,
    "companyName": "",
    "createdDate": 1578418789490,
    "createdUser": "WebClient",
    "dateOfBirth": null,
    "deleted": false,
    "emailAddress": "joel@jmorgankearney.com",
    "excludeEmailCategoryIdList": null,
    "externalUserName": null,
    "fields": null,
    "firstName": "Joel",
    "fullName": "Joel Test",
    "homePhone": null,
    "imageUrl": null,
    "infusionsoftContactId": null,
    "jobRequisitionNumbersAccepted": null,
    "jobRequisitionNumbersDeclined": null,
    "jobRequisitionNumbersSent": null,
    "lastName": "Test",
    "locale": "en-US",
    "modifiedDate": 1580307871243,
    "modifiedUser": "WebClient",
    "password": null,
    "requisitionIdsAccepted": null,
    "requisitionIdsDeclined": null,
    "requisitionIdsSent": null,
    "salesforceContactId": null,
    "sex": null,
    "squareCustomerId": null,
    "status": "Active",
    "stripeCustomerId": null,
    "tags": null,
    "timeZone:: {Timezone object for timezone of client - see Timezones API page},
    "viewClientAccountIds": null,
}]
POST /clients/merge/{clientId}
[{
    "allowWaitListText": null,
    "cellPhone": null,
    "clientAccountId": null,
    "clientId": 4935512,
    "companyName": null,
    "createdDate": 1538638448443,
    "createdUser": "JoeSchmo",
    "dateOfBirth": "1984-05-09",
    "deleted": false,
    "emailAddress": "hollyhoopz@email.com",
    "excludeEmailCategoryIdList": null,
    "externalUserName": null,
    "fields": {Scheduler fields object for client - see Scheduler Fields API page},
    "firstName": "Holly",
    "fullName": "Holly Hooper",
    "homePhone": null,
    "imageUrl": null,
    "infusionsoftContactId": null,
    "jobRequisitionNumbersAccepted": null,
    "jobRequisitionNumbersDeclined": null,
    "jobRequisitionNumbersSent": null,
    "lastName": "Hooper",
    "locale": "en-us",
    "modifiedDate": 1530215760466,
    "modifiedUser": "JoeSchmo",
    "password": null,
    "requisitionIdsAccepted": null,
    "requisitionIdsDeclined": null,
    "requisitionIdsSent": null,
    "salesforceContactId": null,
    "sex": null,
    "squareCustomerId": null,
    "status": "Active",
    "stripeCustomerId": null,
    "tags": null,
    "timeZone": {Timezone object for timezone of client - see Timezones API page},
    "viewClientAccountIds": null
},{
    "allowWaitListText": null,
    "cellPhone": "555-1234",
    "clientAccountId": 1155923,
    "clientId": 4932331,
    "companyName": null,
    "createdDate": 1530557261097,
    "createdUser": "JoeSchmo",
    "dateOfBirth": "1993-02-02",
    "deleted": false,
    "emailAddress": "jimmy@email.com",
    "excludeEmailCategoryIdList": null,
    "externalUserName": null,
    "fields": {Scheduler fields object for client - see Scheduler Fields API page},
    "firstName": "Jimmy",
    "fullName": "Jimmy Begood",
    "homePhone": "555-5555",
    "imageUrl": null,
    "infusionsoftContactId": null,
    "jobRequisitionNumbersAccepted": null,
    "jobRequisitionNumbersDeclined": null,
    "jobRequisitionNumbersSent": null,
    "lastName": "Begood",
    "locale": null,
    "modifiedDate": null,
    "modifiedUser": null,
    "password": null,
    "requisitionIdsAccepted": null,
    "requisitionIdsDeclined": null,
    "requisitionIdsSent": null,
    "salesforceContactId": null,
    "sex": null,
    "squareCustomerId": null,
    "status": "Active",
    "stripeCustomerId": null,
    "tags": null,
    "timeZone": {Timezone object for timezone of client - see Timezones API page},
    "viewClientAccountIds": null
}]
PUT /clients/{clientId}
{
    "allowWaitListText": null,
    "cellPhone": "555-555-1234",
    "clientAccountId": null,
    "clientId": 5143212,
    "clientIdsClientCanView": [4658091],
    "companyName": null,
    "createdDate": 1530557261097,
    "createdUser": "JoeSchmo",
    "dateOfBirth": "1993-02-02",
    "deleted": false,
    "emailAddress": "jimmy@email.com",
    "excludeEmailCategoryIdList": null,
    "externalUserName": null,
    "fields": {Scheduler fields object for client - see Scheduler Fields API page},
    "firstName": "Jimmy",
    "fullName": "Jimmy Begood",
    "homePhone": "555-5555",
    "imageUrl": null,
    "infusionsoftContactId": null,
    "jobRequisitionNumbersAccepted": null,
    "jobRequisitionNumbersDeclined": null,
    "jobRequisitionNumbersSent": null,
    "lastName": "Begood",
    "locale": "en-us",
    "modifiedDate": 1530215760466,
    "modifiedUser": "JoeSchmo",
    "password": null,
    "requisitionIdsAccepted": null,
    "requisitionIdsDeclined": null,
    "requisitionIdsSent": null,
    "salesforceContactId": null,
    "sex": null,
    "squareCustomerId": null,
    "status": "Active",
    "stripeCustomerId": null,
    "tags": ["Excellent"],
    "timeZone": {Timezone object for timezone of client - see Timezones API page},
    "viewClientAccountIds": []
}




Clients Object Values

Property nameTypeRequiredWritableDescription
allowWaitListTextboolean

Indicates whether or not the specified client's account is set to allow waitlist text messages.
cellPhonestring
YesDisplays the cell phone number of the specified client.
clientAccountIdintegerYes
If the client has registered on the scheduler or you have provided the client with a password to the scheduler, this would provide their unique numeric ID for the scheduler login. 

clientId

integer

Yes, on PUT calls

Provides a unique numeric ID of the specified client's account as stored on TimeTap's back office.

companyNamestring
YesDisplays the name of the company the specified client associates with - is mapped from field in fields array where the property code on the field is equal to companyName.
createdDateinteger

Displays as the date the specified client's account was created, in milliseconds elapsed since January 1, 1970 00:00:00 UTC form. 
createdUserstring

Displays the username of user who created the specified client's account.
dateOfBirthstring
YesProvides the date of birth of the specified client - is mapped from field in fields array where the property code on the field is equal to dateOfBirth
deletedboolean

Indicates whether or not the specified client's account has been deleted.
emailAddressstringYesYesDisplays the email address of the specified client - is mapped from field in fields array where the property code on the field is equal to emailAddress.
excludeEmailCategoryIdListarray

Provides a list of email category IDs to exclude. If email category IDs are included in this array, the client will not receive emails that are assigned to that category ID.
externalUserNamestring
YesDisplays any external user names specified client might have. Is mapped from field in fields array where the property code on the field is equal to externalUserName.
fieldsarrayYesYesDisplays the scheduler fields associated with specified client's account. 
firstNamestringYesYesDisplays as first name of specified client. Is mapped from field in fields array where the property code on the field is equal to firstName. 

fullName

string

YesYes

Displays as full name of specified client. Is mapped from field in fields array where the property code on the field is equal to fullName. 

homePhonestring
YesDisplays the home phone number of specified client. Is mapped from field in fields array where the property code on the field is equal to homePhone.
imageUrlstring
YesProvides the URL of profile image attached to specified client's account.
jobRequisitionNumbersAcceptedstring

Displays a list of job requisition numbers that have been added to the specified clients profile.
jobRequisitionNumbersDeletedstring

Displays a list of job requisition numbers that have been declined by specified client.
jobRequisitionNumbersSentstring

Displays a list of job requisition numbers that have been sent to specified client.

lastName

string

YesYes

Displays as last name of specified client. Is mapped from field in fields array where the property code on the field is equal to lastName. 

localestring

Provides the locale of specified client. If using language-specific email templates, this is used to determine which template to send to the client.
modifiedDateinteger

Displays as date specified client's account was last updated in milliseconds elapsed since January 1, 1970 00:00:00 UTC form.
modifiedUserstring

Displays the username of user who last updated specified client's account.
passwordstring
YesIn updating or adding a client, you can set the password for the client to login to the scheduler by passing it in this field. Once set, this field will always return as null so passwords are not getting transmitted through GET calls on the API. You will know if the client has been registered on the scheduler by whether the clientAccountId property is filled in.
requisitionIdsAcceptedstring

Displays a list of job requisition ids that have been added to the specified clients profile. These are the unique numeric ids of the requisition numbers that are stored in the jobRequisitonNumbersAccepted array.
requisitionIdsDeletedstring

Provides a list of requisition IDs declined by specified client's account. These are the unique numeric ids of the requisition numbers that are stored in the jobRequisitonNumbersDeclined array.
requisitionIdsSentstring

Provides a list of requisition IDs sent to specified client's account. These are the unique numeric ids of the requisition numbers that are stored in the jobRequisitonNumbersSent array.
salesforceContactIdinteger

If account is using the salesforce integration and this client has been passed to or from salesforce, this property will fill in with the ID of the client/lead record in salesforce.
sexstring
YesDisplays as sex of specified client. Is mapped from field in fields array where the property code on the field is equal to sex.
squareCustomerIdinteger
YesIf account is using the square integration as payment portal and this client has been passed to square to put in his/her credit card information, this property will fill in with the id of the client record in square.

status

string

Yes

Displays the status of specified client's account. Possible values include Active and Blacklisted.

tagsarray

Provides any tags that may be associated with specified client's account. Set as an array of strings.
timezoneobject

Displays the timezone specified client's account is set to - for more info, see Timezones API page.
viewClientAccountIdsarray
YesProvides a list of clientAccountIds who could login to the scheduler and view this client's appointments as well as make appointments on this clients behalf.