API docs for uploading worker module incorrect

According to the docs for uploading a worker module, bindings should be directly placed on the root metadata object:

{
  "main_module": "worker.js",
  "some_binding": "stuff"
}

However, from testing it appears that bindings need to be placed in a specific "bindings" format instead:

{
  "main_module": "worker.js",
  "bindings": [{
    "type": "plain_text",
    "name": "some_binding",
    "text": "stuff
  }]
}

Could the docs for this be updated? It also appears other fields e.g. compatibility_date, compatibility_flags, usage_model, etc. are not yet included in the docs.

Hi.

I am trying also to use the Cloudflare API to upload a worker module especially only the second-file.js
module but i allways get this error messages !

Can somebody tell me what are the right values for uploading just the second-file.js module
using the Cloudflare api and curl on the origin server.

This curl values here do not work !

curl -X PUT “https://api.cloudflare.com/client/v4/accounts/XXXX/workers/scripts/module-worker-01
-H “X-Auth-Email: [email protected]
-H “Authorization: Bearer XXXXXXX”
-H “Content-Type: multipart/form-data”
–form ‘“second-file.js”[email protected]/SecondModule.js;type=application/javascript+module’

{
“result”: null,
“success”: false,
“errors”: [
{
“code”: 10021,
“message”: “Uncaught TypeError: Main module name is not present in bundle.\n”
}
],
“messages”:
}

curl -X PUT “https://api.cloudflare.com/client/v4/accounts/XXXX/workers/scripts/module-worker-01
-H “X-Auth-Email: [email protected]
-H “Authorization: Bearer XXXXXXX”
-H “Content-Type: multipart/form-data”
–form ‘“main.js”=null’
–form ‘“second-file.js”[email protected]/SecondModule.js;type=application/javascript+module’

{
“result”: null,
“success”: false,
“errors”: [
{
“code”: 10021,
“message”: “could not read content for part metadata”
}
],
“messages”:
}

Have also tried to use the other api call just to upload a worker module without that
i need send a unchanged main module to be overwritten but it does not work too

curl -X PUT “https://api.cloudflare.com/client/v4/accounts/XXXX/workers/scripts/second-module-01
-H “X-Auth-Email: [email protected]
-H “Authorization: Bearer XXXXXXX”
-H “Content-Type: application/javascript+module”
–data “export let TestServiceWorker = ''TestSeviceWorker”

{
“result”: null,
“success”: false,
“errors”: [
{
“code”: 10001,
“message”: “workers.api.error.content_type”
}
],
“messages”:
}

I need a posibility to upload a second worker module without to send a unchanged main worker module.
Thanks in advance for the help solving this problem.

I know this is quite late, but just in case anyone else is reading: I don’t think that is possible at the moment, all files must be uploaded again for each deployment.