mindbody-sdk-forked

    1.0.3 • Public • Published

    mindbody

    Node.js wrapper for the MINDBODY Public API, and the MINDBODY Webhooks API.

    Index

    1. Usage
    2. To Do
    3. Method Lists:
    4. Method Examples:

    Usage

    Standard Usage

    The following implementation applies for:

    • Appointment
    • Class
    • Client
    • Enrollment
    • Sale
    • Site
    • Staff
    • User Token
    var MBO = require('mindbody');
     
    var mbo = new 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 = require('mindbody');
     
    // WEBHOOKS API KEY IS DIFFERENT THAN PUBLIC API KEY
    var mbo = new 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 = require('mindbody');
     
    var mbo = new MBO({
        ApiKey: 'api-key',
        SiteId: 12345
    });
    mbo.settings.authorization = data.AccessToken;

    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 printResponse = (err,data) => {
        if (err) {
            console.log(err);
        } else {
            console.log(data);
        }
    }

    Appointment Examples

    // https://api.mindbodyonline.com/public/v6/appointment/activesessiontimes
    mbo.appointment.activeSessionTimes(printResponse);
     
    // https://api.mindbodyonline.com/public/v6/appointment/appointmentoptions
    mbo.appointment.appointmentOptions(printResponse);
     
    // https://api.mindbodyonline.com/public/v6/appointment/bookableitems
    mbo.appointment.bookableItems(printResponse);
     
    // https://api.mindbodyonline.com/public/v6/appointment/scheduleitems
    mbo.appointment.scheduleItems(printResponse);
     
    // https://api.mindbodyonline.com/public/v6/appointment/staffappointments  
    mbo.appointment.staffAppointments(printResponse);
     
    // https://api.mindbodyonline.com/public/v6/appointment/addappointment 
    mbo.appointment.addAppointment({
        'ApplyPayment': boolean,
        'ClientId': 'string',
        'Duration': number,
        'Execute': 'string',
        'EndDateTime': DateTime,
        'GenderPreference': 'string',
        'LocationId': number,
        'Notes': 'string',
        'ProviderId': 'string',
        'ResourceIds': 'list of numbers',
        'SendEmail': boolean,
        'SessionTypeId': number,
        'StaffId': number,
        'StaffRequested': boolean,
        'StartDateTime': DateTime
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/appointment/updateappointment 
    mbo.appointment.updateAppointment({
        'AppointmentId': number,
        'EndDateTime': DateTime,
        'Execute': 'string',
        'GenderPreference': 'string',
        'Notes': 'string',
        'ProviderId': 'string',
        'ResourceIds': 'list of numbers',
        'SendEmail': boolean,
        'SessionTypeId': number,
        'StaffId': number,
        'StartDateTime': DateTime,
        'Test': boolean
    },printResponse);

    Class Examples

    // https://api.mindbodyonline.com/public/v6/class/classes
    mbo.class.classes(printResponse);
    mbo.class.classes({
        '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': DateTime
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/class/classdescriptions
    mbo.class.classDescriptions(printResponse);
    mbo.class.classDescriptions({
        'ClassDescriptionId': Number,
        'ProgramIds': 'list of numbers',
        'StartClassDateTime': DateTime,
        'EndClassDateTime': DateTime,
        'StaffId': Number,
        'LocationId': Number
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/class/classschedules
    mbo.class.classSchedules(printResponse);
    mbo.class.classSchedules({
        'EndDate': DateTime,
        'LocationIds': 'list of numbers',
        'ProgramIds': 'list of numbers',
        'SessionTypeIds': 'list of numbers',
        'StaffIds': 'list of numbers',
        'StartDate': DateTime
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/class/classvisits
    mbo.class.classVisits(printResponse);
    mbo.class.classVisits({
        'LastModifiedDate': DateTime
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/class/waitlistentries
    mbo.class.waitListEntries(printResponse);
    mbo.class.waitListEntries({
        'ClassScheduleIds': 'list of numbers',
        'HidePastEntries': Boolean,
        'WaitlistEntryIds': 'list of numbers'
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/class/addclienttoclass  
    mbo.class.addClientToClass({
        'ClientId': 'string',
        'ClassId': Number,
        'Test': 'nullable boolean',
        'RequirePayment': 'nullable boolean',
        'Waitlist': 'nullable boolean',
        'SendEmail': 'nullable boolean',
        'WaitlistEntryId': Number,
        'ClientServiceId': Number,
        'CrossRegionalBooking': Boolean,
        'CrossRegionalBookingClientServiceSiteID': Number
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/class/removeclientfromclass 
    mbo.class.removeClientFromClass({
        'ClassId': Number,
        'Test': Boolean,
        'SendEmail': Boolean,
        'LateCancel': Boolean
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/class/removefromwaitlist 
    mbo.class.removeFromWaitlist({
        'WaitlistEntryIds': 'list of numbers'
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/class/substituteclassteacher 
    mbo.class.substitureClassTeacher({
        'ClassId': Number,
        'StaffId': Number,
        'OverrideConflicts': Boolean,
        'SendClientEmail': Boolean,
        'SendOriginalTeacherEmail': Boolean,
        'SendSubstituteTeacherEmail': Boolean
    },printResponse);

    Client Examples

    // https://api.mindbodyonline.com/public/v6/client/activeclientmemberships
    mbo.client.activeClientMemberships(printResponse);
    mbo.client.activeClientMemberships({
        'ClientId': 'string',
        'LocationId': Number
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/clientaccountbalances
    mbo.client.clientAccountBalances(printResponse);
    mbo.client.clientAccountBalances({
        'BalanceDate': DateTime,
        'ClassId': Number,
        'ClientIds': 'list of strings'
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/contactlogs
    mbo.client.contactLogs(printResponse);
    mbo.client.contactLogs({
        'ClientId': 'string',
        'StartDate': DateTime,
        'EndDate': DateTime,
        'StaffIds': 'list of numbers',
        'ShowSystemGenerated': Boolean,
        'TypeIds': 'list of numbers',
        'SubtypeIds': 'list of numbers'
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/clientcontracts
    mbo.client.clientContracts(printResponse);
    mbo.client.clientContracts({
        'ClientId':'string',
        'CrossRegionalLookup': Boolean,
        'ClientAssociatedSitesOffset': Number
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/clientformulanotes
    mbo.client.clientFormulaNotes(printResponse);
    mbo.client.clientFormulaNotes({
        'ClientId': 'string',
        'AppointmentId': Number
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/clientindexes
    mbo.client.clientIndexes(printResponse);
    mbo.client.clientIndexes({
        'RequiredOnly': Boolean
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/clientpurchases
    mbo.client.clientPurchases(printResponse);
    mbo.client.clientPurchases({
        'ClientId': 'string',
        'StartDate': DateTime,
        'EndDate': DateTime,
        'SaleId': Number
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/clientreferraltypes
    mbo.client.clientReferralTypes(printResponse);
    mbo.client.clientReferralTypes({
        'IncludeInactive': 'nullable boolean'
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/clients
    mbo.client.clients(printResponse);
    mbo.client.clients({
        'ClientIds': 'list of strings',
        'SearchText': 'string',
        'IsProspect': 'nullable boolean',
        'LastModifiedDate': DateTime
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/clientservices
    mbo.client.clientServices(printResponse);
    mbo.client.clientServices({
        'ClientId': 'string',
        'ClassId': Number,
        'ProgramIds': 'list of numbers',
        'SessionTypeId': Number,
        'Location Ids': 'list of numbers',
        'StartDate': DateTime,
        'EndDate': DateTime,
        'ShowActiveOnly': Boolean,
        'CrossRegionalLookup': Boolean,
        'ClientAssociatedSitesOffset': Number
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/clientvisits
    mbo.client.clientVisits(printResponse);
    mbo.client.clientVisits({
        'ClientId': 'string',
        'ClientAssociatedSitesOffset': Number,
        'CrossRegionalLookup': Boolean,
        'EndDate': DateTime,
        'StartDate': DateTime,
        'UnpaidsOnly': Boolean
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/crossregionalclientassociations
    mbo.client.crossRegionalClientAssociations(printResponse);
    mbo.client.crossRegionalClientAssociations({
        'ClientId': 'string',
        'Email': 'string'
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/customclientfields
    mbo.client.customClientFields(printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/requiredclientfields
    mbo.client.requiredClientFields(printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/addarrival
    mbo.client.addArrival({
        'ClientId': 'string',
        'LocationId': Number
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/addclient
    mbo.client.addClient({
        'AccountBalance': Number,
        'Action': 'string',
        'AddressLine1': 'string',
        'AddressLine2': 'string',
        'ApptGenderPrefMale': 'nullableboolean',
        'BirthDate': DateTime,
        'City': 'string',
        'ClientCreditCard':{
            'Address': 'string',
            'CardHolder': 'string',
            'CardNumber': 'string',
            'CardType': 'string',
            'City': 'string',
            'ExpMonth': 'string',
            'ExpYear': 'string',
            'LastFour': 'string',
            'PostalCode': 'string',
            'State': 'string'
        },
        'ClientIndexes':[
            {
                'Id': Number,
                'ValueId': Number
            }
        ],
        'ClientRelationships': [
            {
                'RelatedClient': {
                    'Id': 'string'
                },
                'Relationship': {
                    'Id': Number,
                    'RelationshipName1': 'string',
                }
            }
        ],
        'Country': 'string',
        'CreationDate': DateTime,
        'CustomClientFields': [
            {
                'Value': 'string',
                'Id': Number
            }
        ],
        'Email': 'string',
        'EmergencyContactInfoName': 'string',
        'EmergencyContactInfoName': 'string',
        'EmergencyContactInfoPhone': 'string',
        'EmergencyContactInfoRelationship': 'string',
        'FirstName': 'string',
        'Gender': 'string',
        'HomeStudioLocation': {
            'Id': number
        },
        'HomePhone': 'string',
        'IsProspect': Boolean,
        'LastName': 'string',
        'LiabilityRelease': Boolean,
        'MiddleName': 'string',
        'MobilePhone': 'string',
        'MobileProvider': Number,
        'PostalCode': 'string',
        'ProspectStage': {
            'Id': Number
        },
        'ReferredBy': 'string',
        'SalesReps': [
            {
                'Id': Number,
                'SalesRepNumber': Number
     
            }
        ],
        'State': 'string',
        'Test': Boolean,
        'WorkExtension': 'string',
        'WorkPhone': 'string',
        'SendScheduleEmails': Boolean,
        'SendAccountEmails': Boolean
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/addcontactlog
    mbo.client.addContactLog({
        'ClientId': 'string',
        'AssignedToStaffId': Number,
        'Text': 'string',
        'FollowupByDate': DateTime,
        'ContactMethod': 'string',
        'ContactName': 'string',
        'Comments': 'string',
        'Types':[
            {
                'Id': Number,
                'SubTypes': 'list of numbers'
            }
        ],
        'Test': Boolean
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/sendpasswordresetemail 
    mbo.client.sendPasswordResetEmail({
        'UserEmail': 'string',
        'UserFirstName': 'string',
        'UserLastName': 'string'
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/updateclient 
    mbo.client.updateClient({
     
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/updateclientservice
    mbo.client.updateClientService({
        'ServiceId': Number,
        'ActiveDate': DateTime,
        'ExpirationDate': DateTime,
        'Test': Boolean
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/updateclientvisit
    mbo.client.updateClientVisit({
        'VisitId': Number,
        'Makeup': 'nullable boolean',
        'SignedIn': 'nullable boolean',
        'Execute': 'string',
        'Test': Boolean,
        'SendEmail': Boolean
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/updatecontactlog
    mbo.client.updateContactLog({
        'Id': Number,
        'Test': Boolean,
        'AssignedToStaffId': Number,
        'Text': 'string',
        'ContactName': 'string',
        'FollowupByDate': DateTime,
        'ContactMethod': 'string',
        'Comments':[
            {
                'Id': Number,
                'Text': 'string'
            }
        ],
        'Types':[
            {
                'Id': Number,
                'SubTypes': 'list of numbers'
            }
        ]
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/uploadclientdocument
    mbo.client.uploadClientDocument({
        'ClientId': 'string',
        'File': HttpFile
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/client/uploadclientphoto 
    mbo.client.uploadClientPhoto({
     
    },printResponse);

    Enrollment Examples

    // https://api.mindbodyonline.com/public/v6/enrollment/enrollments
    mbo.enrollment.enrollments(printResponse);
    mbo.enrollment.enrollments({
        'ClassScheduleIds': 'list of numbers',
        'EndDate': DateTime,
        'LocationIds': 'list of numbers',
        'ProgramIds': 'list of numbers',
        'SessionTypeIds': 'list of numbers',
        'StaffIds': 'list of numbers',
        'StartDate': DateTime
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/enrollment/addclienttoenrollment  
    mbo.enrollment.addClientToEnrollment({
        'ClientId': 'string',
        'ClassScheduleId': Number,
        'EnrollDateForward': DateTime,
        'EnrollOpen': 'DateTime list',
        'Test': 'nullable boolean',
        'SendEmail': 'nullable boolean',
        'Waitlist': 'nullable boolean',
        'WaitlistEntryId': Number
    },printResponse);

    Sale Examples

    // https://api.mindbodyonline.com/public/v6/sale/acceptedcardtypes
    mbo.sale.acceptedCardTypes(printResponse);
     
    // https://api.mindbodyonline.com/public/v6/sale/contracts
    mbo.sale.contracts(printResponse);
    mbo.sale.contracts({
        'ContractIds': 'list of numbers',
        'SoldOnline': Boolean,
        'LocationId': Number,
        'ConsumerId': Number
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/sale/custompaymentmethods
    mbo.sale.customPaymentMethods(printResponse);
     
    // https://api.mindbodyonline.com/public/v6/sale/giftcards
    mbo.sale.giftCards(printResponse);
    mbo.sale.giftCards({
        'Ids': 'list of numbers',
        'LocationId': Number,
        'SoldOnline': Boolean
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/sale/packages
    mbo.sale.packages(printResponse);
    mbo.sale.packages({
        'PackageIds': 'list of numbers',
        'SellOnline': Boolean
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/sale/products
    mbo.sale.products(printResponse);
    mbo.sale.products({
        'ProductIds': 'list of strings',
        'SearchText': 'string',
        'CategoryIds': 'list of strings',
        'SubCategoryIds': 'list of strings',
        'SellOnline': Boolean,
        'LocationId': Number
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/sale/sales
    mbo.sale.sales(printResponse);
    mbo.sale.sales({
        'SaleId': Number,
        'StartSaleDateTime': DateTime,
        'EndSaleDateTime': DateTime,
        'PaymentMethodId': Number
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/sale/services
    mbo.sale.services(printResponse);
    mbo.sale.services({
        'ProgramIds': 'list of numbers',
        'SessionTypeIds': 'list of numbers',
        'ServiceIds': 'list of strings',
        'ClassId': Number,
        'ClassScheduleId': Number,
        'SellOnline': Boolean,
        'LocationId': Number,
        'HideRelatedPrograms': Boolean,
        'StaffId': Number
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/sale/checkoutshoppingcart 
    mbo.sale.checkoutShoppintCart({
        'CartId': 'string',
        'ClientId': 'string',
        'Test': Boolean,
        'Items': [
            {
                'Item': {
                    'Type': 'string',
                    'Metadata': {
                        'Id': Number,
                    }
                },
                'Quantity': Number,
            }
        ],
        'InStore': Boolean,
        'PromotionCode': 'string',
        'Payments': [
            {
                'Type': 'string',
                'MetaData': {
                    'Amount': Number,
                    'Notes': 'string'
                }
            }
        ],
        'SendEmail': 'nullable boolean',
        'LocationId': Number
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/sale/purchasecontract
    mbo.sale.purchaseContract({},printResponse);
     
    // https://api.mindbodyonline.com/public/v6/sale/purchasegiftcard 
    mbo.sale.purchaseGiftCard({},printResponse);

    Site Examples

    // https://api.mindbodyonline.com/public/v6/site/activationcode
    mbo.site.activationcode(printResponse);
     
    // https://api.mindbodyonline.com/public/v6/site/locations
    mbo.site.locations(printResponse);
     
    // https://api.mindbodyonline.com/public/v6/site/programs
    mbo.site.programs(printResponse);
    mbo.site.programs({
        'ScheduleType': 'string',
        'OnlineOnly': Boolean
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/site/resources
    mbo.site.resources(printResponse);
    mbo.site.resources({
        'SessionTypeIds': 'list of numbers',
        'LocationId': Number,
        'StartDateTime': DateTime
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/site/sessiontypes
    mbo.site.sessionTypes(printResponse);
    mbo.site.sessionTypes({
        'ProgramIds': 'list of numbers',
        'OnlineOnly': Boolean
    },printResponse);
     
    // https://api.mindbodyonline.com/public/v6/site/sites
    mbo.site.sites(printResponse);
    mbo.site.sites({
        'SiteIds': 'list of numbers'
    },printResponse);

    User Token Examples

    // https://api.mindbodyonline.com/public/v6/usertoken/issue
    mbo.usertoken.issue({
        'Username': '', 
        'Password': ''
    }, printClasses);

    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/subscriptions
    mbo.webhook.list(printResponse);
     
    // https://mb-api.mindbodyonline.com/push/api/v1/subscriptions
    mbo.webhook.create({
        'eventIds': [
            'clientSaleCreated'
        ],
        'eventSchemaVersion': 1,
        'referenceId': 'GUID',
        'webhookUrl': 'https://something.com/endpoint'
    },printResponse);
     
    // https://mb-api.mindbodyonline.com/push/api/v1/metrics
    mbo.webhook.metrics(printResponse);
     
    // https://mb-api.mindbodyonline.com/push/api/v1/subscriptions/SUBSCRIPTION
    mbo.webhook.withID('ID').self(printResponse);
     
    // https://mb-api.mindbodyonline.com/push/api/v1/subscriptions/SUBSCRIPTION
    mbo.webhook.withID('ID').update({
        'Status': 'Active',
        'WebhookUrl': 'https://something.com/endpoint'
    },printResponse);
     
    // https://mb-api.mindbodyonline.com/push/api/v1/subscriptions/SUBSCRIPTION
    mbo.webhook.withID('ID').delete(printResponse);

    Install

    npm i mindbody-sdk-forked

    DownloadsWeekly Downloads

    9

    Version

    1.0.3

    License

    MIT

    Unpacked Size

    79.9 kB

    Total Files

    21

    Last publish

    Collaborators

    • josharcher