Skip to main content
POST
/
v1
/
extensions
/
upload
Upload Extension
curl --request POST \
  --url https://api.bctrl.ai/v1/extensions/upload \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "file": {},
  "url": "<string>"
}
'
{
  "id": "<string>",
  "name": "<string>",
  "version": "<string>"
}
file
binary
Extension file (.crx or .zip) via multipart upload.
url
string
Chrome Web Store URL to import from.
Provide either file (multipart) or url (JSON body), not both.

Examples

// From Chrome Web Store
const ext = await client.extensions.upload({
  url: 'https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm',
});

// From local file
const ext2 = await client.extensions.upload({
  file: fs.readFileSync('extension.crx'),
  filename: 'extension.crx',
});

Response

id
string
required
Extension ID.
name
string
required
Extension display name.
version
string
Extension version.
Response Example
{
  "id": "ext_abc123",
  "name": "uBlock Origin",
  "version": "1.57.0"
}