Open Cloud - Publishing Your Places with API Keys is Now Live!

First off, in my opinion, this is one of the best updates this year. This makes the horrible security of using a cookie that can do anything abolished.

That being said, here’s a list of APIs I would love for automating more stuff:

  • Other forms of asset creation - Decals, Audio, Meshes, ect. - This would allow for me to automate images and prevent me from having to manually input them all. Bonus points if you can get back if it was moderated or not.
  • Server shutdown & Migrate to latest update - To automate rolling out updates
  • Public endpoint to create places and universes - I’ve found the private ones but having a public one to securely use would be so much nicer, especially for when dynamically creating a testing enviroment
  • Places and universes configuration - Goes hand in hand with the above
  • All the other current endpoints - which is a huge task - would be awesome

It would also be great if each of the endpoints has granual permissions (read, write, full) but it looks like you’re already doing that.

Thanks for reading this, and thanks again for this great progression to a better platform.

4 Likes

Yes, and yes, my use case is to use a sentient, self-aware, extremely intelligent machine learning algorithm to develop my games for me and definitely not escape :sunglasses:
Jk

There are a few use cases for the specific example I mentioned, but, I sort of got distracted in the moment thinking about niche stuff like that. One that’s a little more general under that specific umbrealla would be saving the state of a game, for example, there is now an implementation of the rbxm format in lua under rbx-dom (See reply :flushed:) which would allow for content to be saved and then loaded with InsertService, but, also, like I mentioned a few games use this to load client-sided code into a LocalScript.

But, really, @Extuls is correct that I’m kind of just wondering if using API keys will eventually work on any (approved) Roblox API, and, might we eventually be able to utilize these API keys for doing these sorts of behaviours from within a Roblox game in the future? Previously, there was a security concern around Roblox servers being able to publish Roblox requests, but, with this API key system it could maybe make this sort of thing more plausible to implement, e.g. through a specific engine API which could first confirm that the given API is allowed for the key, and then securely submit a request (so no header control or anything crazy)

Having easier access to a wide variety of APIs from within Roblox, by proxy or not (which, by proxy is a lot more finicky than it may sound and sometimes still requires custom web hosting) would allow for an enormous amount of useful behaviour.

This would basically allow us to write our own web behaviours, for example, a very common use case would be automated group ranking, and, it opens the doors for a lot of niche feature requests to be implemented that have been previously dismissed.

2 Likes

I just wrote a bunch of python code to create our developer products (way too many to do in the Studio gui !!). I needed to hack in the roblox security cookies etc., so having a proper way to do that would have been great.

(/v1/universes/{universeId}/developerproducts)

1 Like

Please add APIs to access the following services for our games:

  • MessagingService
  • DataStoreService
  • MemoryStoreService

MessagingServices is one I am very interested in. Using this, we could publish messages to all of our game servers at the same time - a great alternative to having the game servers poll our web server on a regular basis.

7 Likes

MessagingService may be very difficult. I would however absolutely love all three of these APIs, they’d fit a very large variety of potential use cases I have for this system.

If the technology is compatible, perhaps this could be done through a websocket, or through HTTP “back-polling” where the request is held open until data is ready (I don’t really know what it’s called to be honest).

2 Likes

I agree that allowing web servers to subscribe to MessagingService messages may be very difficult- I suppose WebSockets may be the best solution.

However, I mostly only care about allowing external servers to publish messages to MessagingService. I imagine this would be quite a bit simpler.

4 Likes

Personally, I can do without the ability to receive messages from MessagingService, we can open up endpoints on our own external server for our game to communicate with our APIs. The one thing I care about is that vital ability to be able to send messages to our game externally via MessagingService, as it would save a lot of resources on our servers if we didn’t have to rely on HTTP long-polling as you mentioned, in order to transmit these messages to the servers (iirc, this method requires a lot of memory on the server because requests stay open for far longer).

Publishing messages is a must, but I don’t think receiving messages is a priority or should be considered since we already have the means to receive them without any API for MessagingService.

1 Like

Same thing happens to me. Just zoom out your browser.

1 Like

Roblox is Improving now and make the Developers work easily to do and secured. :eyes:

2 Likes

What do I do with my API key? Is there a service or endpoint for it?

1 Like

Awesome! Will this eventually support Cross-Universe DataStores?

1 Like

Does this have some sort of limit to how much data we can publish at once through this? I’m getting a 500 error when I try uploading.

It’s a rbxlx file that’s about 25MB.

ah yeah unfortunately our file size limit at this time is fairly small (4MB). we’re working on increasing the limit.

2 Likes

I hope that in the future there would be a possibility to have a API for Right to Erasure requests too! I know that I store player information in my own database to use with my own panels or external services. Therefor such an API would be extremly helpful. I suggest these endpoints:

  • A endpoint where pending Right to Erasure requests can be retrived, preferably letting you specify a game id. Each request has the user’s id.
  • Once I delete the data, I call a endpoint with the id I deleted data for and the Right to Erasure request get deleted from the endpoint above.

The gameowner should be able to toggle if the Right to Erasure api is enabled from the game settings.

1 Like

If a Roblox message api was created, you could do this.

heavy breathing intensifies

YESSSSSS

It’s finally here!

I’m so happy that Roblox is finally providing an Open Could for our API Keys.

1 Like

Damn! This is really exciting for third party development tools! Really looking forwards to see some tutorials come out as I am myself have my head spinning from API keys! Oh god I already feel the warning coming… Ay, when you make your screen small it does work for me though! Might be a patch!

I’m not completely sure what this means, but it looks really interesting! I might want to try messing with this some time!

What is an API and why would I use one?

IP is needed to secure the API requests. You don’t want someone else to call the API(yes, you could create an enter username and password place, but like this better)