Trying to use the open cloud API to publish an .rbxl
file. Used a curl
command to test the API after getting strange results with community tool rbxcloud
.
Command:
curl.exe --verbose --location POST 'https://apis.roblox.com/universes/v1/[game id]/places/[place id]/versions?versionType=Published' --header 'x-api-key: [api key]' --header 'Content-Type: application/octet-stream' --data-binary '@game.rbxl'
(For my privacy, game id, place id, and API key are redacted. However, I have checked each of them numerous times from numerous sources on the website and in studio, and can guarantee that they are correct.)
Output:
* Trying 128.116.101.4:443...
* Connected to apis.roblox.com (128.116.101.4) port 443 (#1)
* schannel: disabled automatic use of client certificate
* ALPN: offers http/1.1
* ALPN: server accepted http/1.1
* using HTTP/1.1
> POST /universes/v1/[universe id]/places/[place id]/versions?versionType=Published HTTP/1.1
> Host: apis.roblox.com
> User-Agent: curl/8.0.1
> Accept: */*
> x-api-key: [api key]
> Content-Type: application/octet-stream
> Content-Length: 848077
>
* schannel: remote party requests renegotiation
* schannel: renegotiating SSL/TLS connection
* schannel: SSL/TLS connection renegotiated
* schannel: remote party requests renegotiation
* schannel: renegotiating SSL/TLS connection
* schannel: SSL/TLS connection renegotiated
* We are completely uploaded and fine
< HTTP/1.1 409 Conflict
< content-length: 140
< content-type: application/json; charset=utf-8
< date: Mon, 16 Oct 2023 17:59:11 GMT
< server: envoy
< strict-transport-security: max-age=3600
< x-envoy-upstream-service-time: 261
< x-roblox-region: us-central
< x-roblox-edge: ord2
< report-to: {"group":"network-errors","max_age":604800,"endpoints":[{"url":"https://ncs.roblox.com/upload"}]}
< nel: {"report_to":"network-errors","max_age":604800,"success_fraction":0.001,"failure_fraction":1}
<
{"code":"Conflict","message":"Save failed. Server is busy and unable to process your upload request. Please try again in a couple minutes."}* Connection #1 to host apis.roblox.com left intact
According to the documentation, a 409 error means that the place is not part of the universe. I guarantee that the IDs are correct, the API key is correct, and that the API key has the correct permissions. Using rbxcloud
instead of a direct curl
command also results in a “place not part of universe” error.
Expected behavior
This should just work. The IDs are correct.