Fantastic! We can always use more people writing scripts! Here's a great introductory video by Nick Olivo: <a href="https://www.youtube.com/watch?v=jam2yx8btaQ" rel="nofollow">https://www.youtube.com/watch?v=jam2yx8btaQ</a> Here are three threads I think give a good starting discussion: <a href="https://app.roll20.net/forum/post/6605115/namespaces-novice-seeks-help-exploring-the-revealing-module-pattern" rel="nofollow">https://app.roll20.net/forum/post/6605115/namespaces-novice-seeks-help-exploring-the-revealing-module-pattern</a> <a href="https://app.roll20.net/forum/post/6584105/creating-an-object-that-holds-specific-character-dot-id-and-character-name/?pagenum=1" rel="nofollow">https://app.roll20.net/forum/post/6584105/creating-an-object-that-holds-specific-character-dot-id-and-character-name/?pagenum=1</a> <a href="https://app.roll20.net/forum/post/6237754/slug%7D" rel="nofollow">https://app.roll20.net/forum/post/6237754/slug%7D</a> The API is pretty well documented on the Wiki: <a href="https://wiki.roll20.net/API:Introduction" rel="nofollow">https://wiki.roll20.net/API:Introduction</a> While working on API scripts, keep in mind the mental model that the API is like a player off on the internet that reacts to what's going on in the game. It doesn't run in anyone's browser, and doesn't have access to the UI, has no keyboard and mouse. Structurally, API scripts are pretty similar to a Node module, in that they do not have a DOM, and are very event based. Also of note, all API scripts installed in a campaign are running in the same global scope. Ask lots of questions, we love to talk about API scripting here!