id is NOT client-chosen — it is derived server-side from webpack_module (kebab-case of the camelCase scope name), which must be unique platform-wide and is immutable. version here is the INITIAL display version (default 1.0.0); after this, only POST …/deploy advances it. Never send integrity_hash — the platform computes it from bytes it fetched, and a caller-supplied value is ignored. Returns 202; the row lands via SBUS. The app will not load anywhere until a version is submitted via …/deploy and approved.Authorization: Bearer ********************{code, message}, plus warnings when the write raised any. No identifier is returned: writes are keyed on what the caller named.curl --location 'https://awqacore01.crexendocloud.com/ns-api/v2/ui-extensions/registry' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "My Extension",
"reseller": "*",
"remote_entry_url": "https://cdn.example.com/my-extension/remoteEntry.js",
"webpack_module": "myExtensionScope",
"enabled": "yes",
"description": "string",
"author": "string",
"allowed_hostnames": "string",
"remote_auth_enabled": "yes",
"remote_callback_secret": "string",
"remote_timeout_seconds": 30
}'{
"code": 0,
"message": "string"
}