npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

fullslate

v0.1.0

Published

NodeJS wrapper for the FullSlate API

Readme

FullSlate API wrapper

A simple FullSlate API wrapper written in JavaScript (ES6).

Install

$ npm install fullslate

Usage

To use this library, you will need a valid FullSlate API token and key. Based off of the FAQ, to obtain an API token you have to contact their support and the key is usually your FullSlate subdomain (e.g. mycompany.fullslate.com, mycompany would be your key).

All API requests return a Promise, Promise rejections will occur from API failures, missing tokens, and/or bad API calls. Not all API calls require an API token though, see the documentation below.

import FullSlate from 'fullslate';

// Initialize the FullSlate wrapper
const fsapi = new FullSlate({
  key: 'Your_FullSlate_key'
  token: 'Your_FullSlate_API_token'
});

// Get a list of your employees
fsapi.employees()
  .then(employees => {
    console.log(employees);
  })
  .catch(err => {
    console.error(err);
  })

Implemented APIs

  • [X] Employees
  • [X] Services
  • [X] Openings
  • [ ] Cross-realm Openings
  • [X] Bookings
  • [X] Clients
  • [X] Events
  • [X] Products
  • [X] Vouchers
  • [ ] Company Configuration

API

employees([id])

  • id (Number) optional - If id provided, will limit returned employees detail to a single employee, if no id provided an array of employees will be returned.

services([id])

  • id (Number) optional - If id provided, will limit returned services to a single service, if no id provided an array of services will be returned.

openings(id[, options])

  • id (Number|Array) required - The service id or an array of services are required to get the openings
  • options (Object) optional - See FullSlate API documentation for full options and, example options are employees, before, after, window, range

bookings(id)

  • id (Number) required - The booking id, which will return details of the booking

book(options)

  • options (Object) required - See FullSlate API documentation for full options and descriptions. The booking object at minimum must include at, service, first_name, and last_name and any additional requirements specified by the provider.

Private Company Resource APIs

The FullSlate API token must be defined for the following calls.

clients([id][, options])

  • id (Number) optional - If a number is specified, the library will assume it is a client id which will limit the response to the specific client id. If no id is specified, a full list of clients will be returned. This first parameter can also be an object which will return the full list of clients with the object acting as the options.
  • options (Object) optional - See FullSlate API documentation for full options
  • options.include (Array) optional - Additional fields to include in the response API, valid values include emails, phone_numbers, addresses, and links.

events([id][, options])

  • id (Number) optional - If a number is specified, the library will assume it is an event id which will limit the response to the specific event id. If no id is specified, a list of events will be returned. The first parameter can also be an object which will return the full list of events with the object acting as the options.
  • options (Object) optional - See FullSlate API documentation for full options, date parameters must be in the format of YYYY-MM-DD.

products([id])

  • id (Number) optional - If id provided, will limit returned products to a single product, if no id provided an array of products will be returned.

vouchers([id])

  • id (Number) optional - If id provided, will limit returned vouchers to a single voucher, if no id provided an array of vouchers will be returned.

Contributing

Running tests

To run the test suite, you'll have to define your API key and token as an export:

OSX

$ export FULLSLATE_TOKEN=MY_TOKEN_123456
$ export FULLSLATE_KEY=MY_KEY
$ npm test

TODO

  • [ ] Clean up the code, it's not very DRY
  • [ ] Implement Cross-realm Openings and Company Configuration
  • [ ] Make more robust tests

License

MIT