mindbody
Node.js wrapper for the MINDBODY Public API, and the MINDBODY Webhooks API.
Index
Usage
Standard Usage
The following implementation applies for:
- Appointment
- Class
- Client
- Enrollment
- Sale
- Site
- Staff
- User Token
var MBO = ; var mbo = ApiKey: 'api-key' SiteId: 12345;
Webhook Usage
Please note, Webhooks API Key is different than Public API Key.
MindBody Webhooks API documentation can be found here.
All mbo.webhook.*
uses should be implemented with:
var MBO = ; // WEBHOOKS API KEY IS DIFFERENT THAN PUBLIC API KEYvar mbo = ApiKey: 'api-key';
Authenticated
A number of methods require authorization. If you would like to send requests to MINDBODY in 'BusinessMode' or using Staff credentials mbo.usertoken.issue({'Username': 'USERNAME','Password': 'PASSWORD'}, callbackFunction);
. Apply this into the header of the request with mbo.settings.authorization = data.AccessToken;
.
var MBO = ; var mbo = ApiKey: 'api-key' SiteId: 12345;mbosettingsauthorization = dataAccessToken;
You will need to generate your own API access tokens using the settings panel within MINDBODY.
To Do
- Enhance documentation with extra details
- Add tests
- Supported Methods documentation
- Add support for the following categories:
- Appointment
- Class
- Client
- Enrollment
- Sale
- Site
- Staff
- User Token
- Webhook
Methods List
Appointment List
- mbo.appointment.activeSessionTimes({details}, callback);
- mbo.appointment.appointmentOptions({details}, callback);
- mbo.appointment.bookableOptions({details}, callback);
- mbo.appointment.scheduleItems({details}, callback);
- mbo.appointment.staffAppointments({details}, callback);
- mbo.appointment.addAppointment({details}, callback);
- mbo.appointment.updateAppointment({details}, callback);
Class List
- mbo.class.classes({details}, callback);
- mbo.class.classDescriptions({details}, callback);
- mbo.class.classSchedules({details}, callback);
- mbo.class.classVisits({details}, callback);
- mbo.class.waitListEntries({details}, callback);
- mbo.class.addClientToClass({details}, callback);
- mbo.class.removeClientFromClass({details}, callback);
- mbo.class.removeFromWaitlist({details}, callback);
- mbo.class.substituteClassTeacher({details}, callback);
Client List
- mbo.client.activeClientMemberships({details}, callback);
- mbo.client.clientAccountBalances({details}, callback);
- mbo.client.contactLogs({details}, callback);
- mbo.client.clientContracts({details}, callback);
- mbo.client.clientFormulaNotes({details}, callback);
- mbo.client.clientIndexes({details}, callback);
- mbo.client.clientPurchases({details}, callback);
- mbo.client.clientReferralTypes({details}, callback);
- mbo.client.clients({details}, callback);
- mbo.client.clientServices({details}, callback);
- mbo.client.clientVisits({details}, callback);
- mbo.client.crossRegionalClientAssociations({details}, callback);
- mbo.client.customClientFields({details}, callback);
- mbo.client.requiredClientFields({details}, callback);
- mbo.client.addArrival({details}, callback);
- mbo.client.addClient({details}, callback);
- mbo.client.addContactLog({details}, callback);
- mbo.client.sendPasswordResetEmail({details}, callback);
- mbo.client.updateClient({details}, callback);
- mbo.client.updateClientService({details}, callback);
- mbo.client.updateClientVisit({details}, callback);
- mbo.client.updateContactLog({details}, callback);
- mbo.client.uploadClientDocument({details}, callback);
- mbo.client.uploadClientPhoto({details}, callback);
Enrollment List
- mbo.enrollment.enrollments({details}, callback);
- mbo.enrollment.addClientToEnrollment({details}, callback);
Sale List
- mbo.sale.acceptedCardTypes({details}, callback);
- mbo.sale.contracts({details}, callback);
- mbo.sale.customPaymentMethods({details}, callback);
- mbo.sale.giftCards({details}, callback);
- mbo.sale.packages({details}, callback);
- mbo.sale.products({details}, callback);
- mbo.sale.sales({details}, callback);
- mbo.sale.services({details}, callback);
- mbo.sale.checkoutShoppingCart({details}, callback);
- mbo.sale.purchaseContract({details}, callback);
- mbo.sale.purchaseGiftCard({details}, callback);
Site List
- mbo.site.activationCode({details}, callback);
- mbo.site.locations({details}, callback);
- mbo.site.programs({details}, callback);
- mbo.site.resources({details}, callback);
- mbo.site.sessionTypes({details}, callback);
- mbo.site.sites({details}, callback);
Staff List
- mbo.staff.staff({details}, callback);
- mbo.staff.staffPermissions({details}, callback);
UserToken List
- mbo.usertoken.Issue({details}, callback);
Webhook List
- mbo.webhook.list(callback);
- mbo.webhook.create({details},callback);
- mbo.webhook.metrics(callback);
- mbo.webhook.withID(#ID).self(callback);
- mbo.webhook.withID(#ID).update({details},callback);
- mbo.webhook.withID(#ID).delete(callback);
Method Examples
For all of these examples, I will be using a callback function printResponse
as defined below:
let { if err console; else console; }
Appointment Examples
// https://api.mindbodyonline.com/public/v6/appointment/activesessiontimesmboappointment; // https://api.mindbodyonline.com/public/v6/appointment/appointmentoptionsmboappointment; // https://api.mindbodyonline.com/public/v6/appointment/bookableitemsmboappointment; // https://api.mindbodyonline.com/public/v6/appointment/scheduleitemsmboappointment; // https://api.mindbodyonline.com/public/v6/appointment/staffappointments mboappointment; // https://api.mindbodyonline.com/public/v6/appointment/addappointment mboappointment; // https://api.mindbodyonline.com/public/v6/appointment/updateappointment mboappointment;
Class Examples
// https://api.mindbodyonline.com/public/v6/class/classesmboclassclassesprintResponse;mboclassclasses 'ClassDescriptionIds': 'list of numbers' 'ClassIds': 'list of numbers' 'StaffIds': 'list of numbers' 'StartDateTime': DateTime 'EndDateTime': DateTime 'ClientId': 'string' 'ProgramIds': 'list of numbers' 'SessionTypeIds': 'list of numbers' 'LocationIds': 'list of numbers' 'SemesterIds': 'list of numbers' 'HideCancelledClasses': 'nullable boolean' 'SchedulingWindow': 'nullable boolean' 'LastModifiedDate': DateTimeprintResponse; // https://api.mindbodyonline.com/public/v6/class/classdescriptionsmboclass;mboclass; // https://api.mindbodyonline.com/public/v6/class/classschedulesmboclass;mboclass; // https://api.mindbodyonline.com/public/v6/class/classvisitsmboclass;mboclass; // https://api.mindbodyonline.com/public/v6/class/waitlistentriesmboclass;mboclass; // https://api.mindbodyonline.com/public/v6/class/addclienttoclass mboclass; // https://api.mindbodyonline.com/public/v6/class/removeclientfromclass mboclass; // https://api.mindbodyonline.com/public/v6/class/removefromwaitlist mboclass; // https://api.mindbodyonline.com/public/v6/class/substituteclassteacher mboclass;
Client Examples
// https://api.mindbodyonline.com/public/v6/client/activeclientmembershipsmboclient;mboclient; // https://api.mindbodyonline.com/public/v6/client/clientaccountbalancesmboclient;mboclient; // https://api.mindbodyonline.com/public/v6/client/contactlogsmboclient;mboclient; // https://api.mindbodyonline.com/public/v6/client/clientcontractsmboclient;mboclient; // https://api.mindbodyonline.com/public/v6/client/clientformulanotesmboclient;mboclient; // https://api.mindbodyonline.com/public/v6/client/clientindexesmboclient;mboclient; // https://api.mindbodyonline.com/public/v6/client/clientpurchasesmboclient;mboclient; // https://api.mindbodyonline.com/public/v6/client/clientreferraltypesmboclient;mboclient; // https://api.mindbodyonline.com/public/v6/client/clientsmboclient;mboclient; // https://api.mindbodyonline.com/public/v6/client/clientservicesmboclient;mboclient; // https://api.mindbodyonline.com/public/v6/client/clientvisitsmboclient;mboclient; // https://api.mindbodyonline.com/public/v6/client/crossregionalclientassociationsmboclient;mboclient; // https://api.mindbodyonline.com/public/v6/client/customclientfieldsmboclient; // https://api.mindbodyonline.com/public/v6/client/requiredclientfieldsmboclient; // https://api.mindbodyonline.com/public/v6/client/addarrivalmboclient; // https://api.mindbodyonline.com/public/v6/client/addclientmboclient; // https://api.mindbodyonline.com/public/v6/client/addcontactlogmboclient; // https://api.mindbodyonline.com/public/v6/client/sendpasswordresetemail mboclient; // https://api.mindbodyonline.com/public/v6/client/updateclient mboclient; // https://api.mindbodyonline.com/public/v6/client/updateclientservicemboclient; // https://api.mindbodyonline.com/public/v6/client/updateclientvisitmboclient; // https://api.mindbodyonline.com/public/v6/client/updatecontactlogmboclient; // https://api.mindbodyonline.com/public/v6/client/uploadclientdocumentmboclient; // https://api.mindbodyonline.com/public/v6/client/uploadclientphoto mboclient;
Enrollment Examples
// https://api.mindbodyonline.com/public/v6/enrollment/enrollmentsmboenrollment;mboenrollment; // https://api.mindbodyonline.com/public/v6/enrollment/addclienttoenrollment mboenrollment;
Sale Examples
// https://api.mindbodyonline.com/public/v6/sale/acceptedcardtypesmbosale; // https://api.mindbodyonline.com/public/v6/sale/contractsmbosale;mbosale; // https://api.mindbodyonline.com/public/v6/sale/custompaymentmethodsmbosale; // https://api.mindbodyonline.com/public/v6/sale/giftcardsmbosale;mbosale; // https://api.mindbodyonline.com/public/v6/sale/packagesmbosale;mbosale; // https://api.mindbodyonline.com/public/v6/sale/productsmbosale;mbosale; // https://api.mindbodyonline.com/public/v6/sale/salesmbosale;mbosale; // https://api.mindbodyonline.com/public/v6/sale/servicesmbosale;mbosale; // https://api.mindbodyonline.com/public/v6/sale/checkoutshoppingcart mbosale; // https://api.mindbodyonline.com/public/v6/sale/purchasecontractmbosale; // https://api.mindbodyonline.com/public/v6/sale/purchasegiftcard mbosale;
Site Examples
// https://api.mindbodyonline.com/public/v6/site/activationcodembosite; // https://api.mindbodyonline.com/public/v6/site/locationsmbosite; // https://api.mindbodyonline.com/public/v6/site/programsmbosite;mbosite; // https://api.mindbodyonline.com/public/v6/site/resourcesmbosite;mbosite; // https://api.mindbodyonline.com/public/v6/site/sessiontypesmbosite;mbosite; // https://api.mindbodyonline.com/public/v6/site/sitesmbosite;mbosite;
User Token Examples
// https://api.mindbodyonline.com/public/v6/usertoken/issuembousertoken;
Webhook Examples
Please note, Webhooks API Key is different than Public API Key. MindBody Webhooks API documentation can be found here.
// https://mb-api.mindbodyonline.com/push/api/v1/subscriptionsmbowebhook; // https://mb-api.mindbodyonline.com/push/api/v1/subscriptionsmbowebhook; // https://mb-api.mindbodyonline.com/push/api/v1/metricsmbowebhook; // https://mb-api.mindbodyonline.com/push/api/v1/subscriptions/SUBSCRIPTIONmbowebhookselfprintResponse; // https://mb-api.mindbodyonline.com/push/api/v1/subscriptions/SUBSCRIPTIONmbowebhook; // https://mb-api.mindbodyonline.com/push/api/v1/subscriptions/SUBSCRIPTIONmbowebhook;