Как реализовать свою JS библиотеку и предоставить API?
Вам нужно написать библиотеку таким образом, чтобы другие программисты могли удобно использовать ее в своих приложениях не вникая в то, как реализована ее функциональность.

API (программный интерфейс приложения, интерфейс прикладного программирования) (англ. application programming interface, API [эй-пи-ай][1]) — описание способов (набор классов, процедур, функций, структур или констант), которыми одна компьютерная программа может взаимодействовать с другой программой.

API определяет функциональность, которую предоставляет программа (модуль, библиотека), при этом API позволяет абстрагироваться от того, как именно эта функциональность реализована. 

Если программу (модуль, библиотеку) рассматривать как чёрный ящик, то API — это множество «ручек», которые доступны пользователю данного ящика и которые он может вертеть и дёргать. 

https://ru.wikipedia.org/wiki/API
это должна быть просто небольшая библиотека с набором методов для рисования линейных графиков?
Да!

И что значит здесь АPI - сам внешний интерфейс для работы с библиотекой или что-то более сложное
Просто интерфейс для работы.

Кто-то может сталкивался с таким?
Я писал библиотеку для создания popup окон. Необходимо было написать простой api и достаточно гибкий api для работы с ней. Сам api я описывал с помощью class'ов и на вход принимал объект. Так же реализовывал функциональное (функциональный подход) api