`POST /api/marketplace/installs/{id}/update` — update an existing install to the latest version. Returns the updated install row.
POST
/api/marketplace/installs/{id}/update
const url = 'https://example.com/api/marketplace/installs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/update';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"resource_mappings":{"mappings":[{"requirement_kind":"example","resource_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}]}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/marketplace/installs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/update \ --header 'Content-Type: application/json' \ --data '{ "resource_mappings": { "mappings": [ { "requirement_kind": "example", "resource_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" } ] } }'Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”id
required
string format: uuid
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
Examplegenerated
{ "resource_mappings": { "mappings": [ { "requirement_kind": "example", "resource_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" } ] }}Responses
Section titled “Responses”Media typeapplication/json
A marketplace item installed into a workspace. Tracks the installed version, the local resources created (app, scripts, workflows), and the manifest hash for drift detection.
object
id
required
string format: uuid
install_manifest_sha256
required
string
installed_app_id
string | null format: uuid
installed_at
required
string format: date-time
installed_by
string | null format: uuid
installed_node_type_ids
required
Array<string>
installed_script_ids
required
Array<string>
installed_workflow_ids
required
Array<string>
item_id
required
string format: uuid
latest_version
string | null
resource_mappings
update_available
Issue #351 — whether a newer NON-withdrawn version than the installed one
exists (the “update available” signal), and that latest version string.
Populated only by list_installs_by_workspace via correlated subqueries;
absent in other projections that select INSTALL_COLUMNS, where
#[sqlx(default)] supplies false / None.
boolean
updated_at
required
string format: date-time
version_id
required
string format: uuid
workspace_id
required
string format: uuid
Examplegenerated
{ "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "install_manifest_sha256": "example", "installed_app_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "installed_at": "2026-04-15T12:00:00Z", "installed_by": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "installed_node_type_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "installed_script_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "installed_workflow_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "item_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "latest_version": "example", "resource_mappings": "example", "update_available": true, "updated_at": "2026-04-15T12:00:00Z", "version_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "workspace_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}