Skip to content

Install app

POST/marketplace/installs

Installs a published marketplace app into the current tenant workspace, executing the app's install lifecycle hook and provisioning any required webhooks or data stores. An active installation record is created and webhook delivery begins immediately.

Request

Request body

Content type application/json (required).

FieldTypeRequiredDescription
app_idintegerYes

ID of the published marketplace app to install.

configobjectNo

Key-value configuration required by the app's install manifest.

Example

{
  "app_id": 7,
  "config": {
    "slack_webhook_url": "https://hooks.slack.com/services/T00/B00/XXXX",
    "notify_on_events": [
      "deal_won",
      "ticket_created",
      "invoice_overdue"
    ]
  }
}

Responses

201 App installed and lifecycle hook executed

Content type application/json, object · MarketplaceInstallV1.

FieldTypeRequiredDescription
idintegerNo

Auto-incremented primary key.

app_idintegerNo

ID of the installed marketplace app.

app_namestringNo

Display name of the installed app.

statusstringNo

Current installation lifecycle status.

One of: "installing", "active", "failed", "uninstalled"

installed_atstring (date-time)No
last_webhook_atstring (date-time), nullableNo

Timestamp of the most recent webhook delivery from this app.

webhook_healthstring, nullableNo

Health status of the app's webhook delivery.

One of: "healthy", "degraded", "failed", "unknown"

configobjectNo

Tenant-supplied configuration for this installation.

409 App is already installed

422 Validation failed — check app_id or required config fields

Example request

curl -X POST "https://{tenant}.faciotech.net/api/v1/marketplace/installs" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"app_id": 7, "config": {"slack_webhook_url": "https://hooks.slack.com/services/T00/B00/XXXX", "notify_on_events": ["deal_won", "ticket_created", "invoice_overdue"]}}'
Loading