Droplets
Change a droplet installation
Changes the role or scopes of one of your company’s installations. Only the keys you send change. Sending active: false then uninstalls it, as DELETE does: the droplet’s credentials are revoked and its uninstall webhook is sent.
Needs the droplets.update permission, and roles.update to send role_id, as assigning a role to a member does. Replaces PUT /api/droplet_installations/{uuid}, where active was required on every call and role_id needed only droplets.update.
PATCH
/
api
/
company
/
v2026-10
/
droplet-installations
/
{uuid}
curl --request PATCH \
--url https://api.fluid.app/api/company/v2026-10/droplet-installations/{uuid} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"installation": {
"scopes": [
"orders"
]
}
}
'{
"droplet_installation": {
"uuid": "dri_7Hc2kWq9mNz4pLx8",
"droplet_uuid": "drp_4tq8nxw2kfl9mrv3bpz6cyh1jds7age5",
"droplet": {
"uuid": "drp_4tq8nxw2kfl9mrv3bpz6cyh1jds7age5",
"title": "Order Sync",
"logo_url": "https://ik.imagekit.io/fluid/droplets/order-sync/logo.png"
},
"status": "active",
"role": {
"id": 4182,
"name": "Order Sync"
},
"scopes": [
"orders"
],
"effective_scopes": [
"orders"
],
"created_at": "2026-10-18T15:32:08Z",
"updated_at": "2026-10-20T15:32:08Z"
},
"status": 200,
"meta": {
"request_id": "7e2c9b41-3f8a-4d15-b6e0-9a4c21d7f583",
"timestamp": "2026-10-20T15:32:08Z"
}
}{
"message": "Invalid credentials."
}{
"message": "Not authorized."
}{
"error": {
"message": "Droplet installation not found",
"details": {}
},
"status": 404,
"meta": {
"request_id": "7e2c9b41-3f8a-4d15-b6e0-9a4c21d7f583",
"timestamp": "2026-10-20T15:32:08Z"
}
}{
"error": {
"message": "Role not found",
"details": {
"role_id": [
"not found"
]
}
},
"status": 422,
"meta": {
"request_id": "7e2c9b41-3f8a-4d15-b6e0-9a4c21d7f583",
"timestamp": "2026-10-20T15:32:08Z"
}
}Authorizations
A company admin credential for your company. Droplet installation tokens are refused.
Path Parameters
The installation's uuid, from uuid on an installation.
Body
application/json
Only the keys sent change.
Show child attributes
Show child attributes
Response
Updated, or uninstalling when active was false.
⌘I
curl --request PATCH \
--url https://api.fluid.app/api/company/v2026-10/droplet-installations/{uuid} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"installation": {
"scopes": [
"orders"
]
}
}
'{
"droplet_installation": {
"uuid": "dri_7Hc2kWq9mNz4pLx8",
"droplet_uuid": "drp_4tq8nxw2kfl9mrv3bpz6cyh1jds7age5",
"droplet": {
"uuid": "drp_4tq8nxw2kfl9mrv3bpz6cyh1jds7age5",
"title": "Order Sync",
"logo_url": "https://ik.imagekit.io/fluid/droplets/order-sync/logo.png"
},
"status": "active",
"role": {
"id": 4182,
"name": "Order Sync"
},
"scopes": [
"orders"
],
"effective_scopes": [
"orders"
],
"created_at": "2026-10-18T15:32:08Z",
"updated_at": "2026-10-20T15:32:08Z"
},
"status": 200,
"meta": {
"request_id": "7e2c9b41-3f8a-4d15-b6e0-9a4c21d7f583",
"timestamp": "2026-10-20T15:32:08Z"
}
}{
"message": "Invalid credentials."
}{
"message": "Not authorized."
}{
"error": {
"message": "Droplet installation not found",
"details": {}
},
"status": 404,
"meta": {
"request_id": "7e2c9b41-3f8a-4d15-b6e0-9a4c21d7f583",
"timestamp": "2026-10-20T15:32:08Z"
}
}{
"error": {
"message": "Role not found",
"details": {
"role_id": [
"not found"
]
}
},
"status": 422,
"meta": {
"request_id": "7e2c9b41-3f8a-4d15-b6e0-9a4c21d7f583",
"timestamp": "2026-10-20T15:32:08Z"
}
}