---
title: "API Update: Sheet Worker, Speed, and NodeJS v7.x"
description: On Monday we rolled out several exciting new changes to the API Server.
image: https://bloghub.roll20.net/hubfs/blog-featured-placeholder%20(28).jpg
---

[![](https://bloghub.roll20.net/hubfs/Roll20%20-%20Assets/Blog/Group%202.svg)](https://roll20.net/)

- [Blog](https://bloghub.roll20.net/roll20-blog)
- [Marketplace](https://marketplace.roll20.net/)
- [Community](https://app.roll20.net/forum/)

![](https://bloghub.roll20.net/hubfs/Roll20%20-%20Assets/Icon%20Copy.svg)

[Play Now](https://app.roll20.net/)

News

# API Update: Sheet Worker, Speed, and NodeJS v7.x

 March 22, 2017

![roll20](https://bloghub.roll20.net/hubfs/blog-featured-placeholder%20(28).jpg)

SHARE: [Share this blog post on Facebook](http://www.facebook.com/share.php?u=https://bloghub.roll20.net/posts/api-update-sheet-worker-speed-and-nodejs-v7x/) [Share this blog post on Twitter](https://twitter.com/intent/tweet?url=https://bloghub.roll20.net/posts/api-update-sheet-worker-speed-and-nodejs-v7x/&text=API%20Update:%20Sheet%20Worker,%20Speed,%20and%20NodeJS%20v7.x) [Share this blog post on Reddit](https://reddit.com/submit?url=https://bloghub.roll20.net/posts/api-update-sheet-worker-speed-and-nodejs-v7x/)

![The Roll20 Team](https://bloghub.roll20.net/hs-fs/hubfs/roll20team-hex.png?width=150&name=roll20team-hex.png)

#### The Roll20 Team

*Put on your coding caps...*

On Monday we rolled out several exciting new changes to the API Server. These changes include new features requested by sheet and script authors, speed upgrades, and general upgrades to the underlying NodeJS engine enabling new code features for script authors to use.

Sheet Worker Support for the API

The largest ‘new’ feature is the addition of Sheet Worker support for the API server. Several script authors requested that we add this feature to save time on their end so that they can re-use the same sheet worker code that already exists for character sheets on the API. That means that, for example, if your character sheet automatically calculates the Dex Modifier of your character based on the Dexterity, when the API sets the Dexterity the modifier will get calculated as well. Previously the API author would need to write API-specific code to make that happen which lead to many API scripts not interacting well with complicated character sheets.

We also worked with specific API script authors to make sure that this new piece of functionality works well in large games and those using very complicated sheets. (For some specific documentation, check out [this forum post](https://t.umblr.com/redirect?z=https%3A%2F%2Fapp.roll20.net%2Fforum%2Fpost%2F4507273%2Fnew-api-update-sheet-worker-support-in-api-scripts-speed-improvements%2F%3Fpageforid%3D4507273%23post-4507273&t=YTRhZWFmN2VkOTE0ZDFmNTZkYWJlYzM1NTJmMjMzMTEwMDE2M2IwZiwwWDJKWTBwcg%3D%3D&b=t%3AAWOiB2yTKRq7_ROi5nEu2g&p=https%3A%2F%2Fblog.roll20.net%2Fpost%2F158711048830%2Fapi-update-sheet-worker-speed-and-nodejs-v7x&m=1&ts=1610475080).)

Speed Improvements

We made several adjustments to the underlying API code so that findObjs() calls (among others) are as fast as possible. This should provide an overall speedup for all existing API scripts without any extra effort necessary on the part of the script authors. At this point the API is as fast as the average web client in performing most actions such as updating sheets, creating tokens, and more.

Upgrade to NodeJS v7.x

Finally, we upgraded the version of NodeJS that the API sandbox uses to the latest version. This is the core engine that powers API scripts, and by upgrading it we can provide the latest in Javascript coding techniques for script authors to use. There are no backward-incompatible changes produced by this upgrade for functionality that API scripts had access to, so existing scripts will continue to work fine. For more information on these specific features, you can check out [http://node.green](https://t.umblr.com/redirect?z=http%3A%2F%2Fnode.green%2F&t=MzhjYmZkZGQwZjlkNTE3ZDJlMDVjMjE0ZjcxMDgwMTgyNzA4YmY1NywwWDJKWTBwcg%3D%3D&b=t%3AAWOiB2yTKRq7_ROi5nEu2g&p=https%3A%2F%2Fblog.roll20.net%2Fpost%2F158711048830%2Fapi-update-sheet-worker-speed-and-nodejs-v7x&m=1&ts=1610475080) (we’re now on the 7.7x series).

Thanks to everyone who beta-tested [these new features](https://t.umblr.com/redirect?z=https%3A%2F%2Fapp.roll20.net%2Fforum%2Fpost%2F4796497%2Fapi-update-3-slash-20-new-nodejs-version-sheet-worker-support-in-api-speed-improvements%2F%3Fpageforid%3D4796497%23post-4796497&t=NWIzOTllMDFhZjVhY2Y1ZDZiODU1NDE3ZmZmZjNjNmExNzQ5ZGQ3MiwwWDJKWTBwcg%3D%3D&b=t%3AAWOiB2yTKRq7_ROi5nEu2g&p=https%3A%2F%2Fblog.roll20.net%2Fpost%2F158711048830%2Fapi-update-sheet-worker-speed-and-nodejs-v7x&m=1&ts=1610475080) on the Dev server over the past couple months!

![The Roll20 Team](https://bloghub.roll20.net/hubfs/roll20team-hex.png)

The Roll20 Team

ROLL20 Roll20 is the all-in-one solution for organizing and playing tabletop games online, allowing you to play your games anywhere and share them with anyone virtually. With the ability to choose from a number of popular titles built ready for your virtual tabletop, your adventures are limitless and you can get started playing with little to no prep. Dive into advanced features like Dynamic Lighting or explore macros and APIs to add some extra depth to your game. Roll20 lets you play your tabletop games, your way. [YouTube](http://www.youtube.com/roll20app) [Instagram](http://www.instagram.com/roll20app/)

[Twitter](http://www.twitter.com/roll20app)

![image description](https://bloghub.roll20.net/hubfs/Roll20%20-%20Assets/Blog/img-02.png)

![image description](https://bloghub.roll20.net/hubfs/Roll20%20-%20Assets/Blog/soldiers.png)

SIGN UP

### Play on Roll20 for Free

Play games anywhere. Share them with anyone. With Roll20 as your virtual tabletop, your adventures are limitless.

[Create Free Account](https://app.roll20.net/account/create)

[![Roll20](https://bloghub.roll20.net/hubfs/logo-white.png)](https://roll20.net/)

- [Blog](https://bloghub.roll20.net/roll20-blog)
- [Marketplace](https://marketplace.roll20.net/)
- [Community](https://app.roll20.net/forum/)

Subscribe to Our Newsletter

© Roll20, LLC

Roll20® is a Registered Trademark of Roll20, LLC. All rights reserved.

- <https://www.facebook.com/pages/Roll20/439774126041559>
- <https://twitter.com/roll20app>
- <https://instagram.com/roll20app>
- <https://www.youtube.com/channel/UCHC1kWACzA7G6D2fqkqsRDg>
- <http://twitch.tv/roll20app>
- <https://www.linkedin.com/company/roll20/>

- [Privacy Policy](https://help.roll20.net/hc/en-us/articles/360037770793-Terms-of-Service-and-Privacy-Policy)
- [Terms & Conditions](https://help.roll20.net/hc/en-us/articles/360037770793-Terms-of-Service-and-Privacy-Policy)