curl --request POST \
--url https://api.tagada.io/api/public/v1/plugins/v2/deploy-from-url \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://example.com/plugin.zip",
"pluginId": "checkout-plugin",
"version": "1.0.0",
"name": "Checkout Plugin",
"description": "A checkout plugin",
"storeId": "store_abc123",
"mode": "direct-mode"
}
'{
"message": "<string>",
"code": "<string>",
"issues": [
{
"message": "<string>"
}
]
}plugins-v2
Deploy plugin from URL (V2)
Deploy plugin from URL (CRM feature - uses V2 schema).
⚠️ OVERWRITE MODE: Set ‘overwrite: true’ to replace assets for an existing deployment with the same version.
BEHAVIOR: Overwrite mode will:
- Keep the existing deployment record (same deploymentId, blobPrefix)
- Keep all instances and routes intact (zero downtime)
- Replace assets in blob storage (ZIP + extracted files)
- Update the zipUrl in the database
- All mounted instances will immediately serve the NEW assets
- Old assets are permanently overwritten (NOT REVERSIBLE)
Use overwrite mode when you want to hot-swap plugin assets without recreating instances/routes.
POST
/
api
/
public
/
v1
/
plugins
/
v2
/
deploy-from-url
curl --request POST \
--url https://api.tagada.io/api/public/v1/plugins/v2/deploy-from-url \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://example.com/plugin.zip",
"pluginId": "checkout-plugin",
"version": "1.0.0",
"name": "Checkout Plugin",
"description": "A checkout plugin",
"storeId": "store_abc123",
"mode": "direct-mode"
}
'{
"message": "<string>",
"code": "<string>",
"issues": [
{
"message": "<string>"
}
]
}Authorizations
Enter your API key as: Bearer your-api-key
Body
application/json
Minimum string length:
1Available options:
iframe-bridge, direct-mode Show child attributes
Show child attributes
Response
Successful response
