---
title: "Re-run connector post-install steps"
method: POST
path: "/connection/{id}/run-post-install"
tags: ["Connections"]
---

# Re-run connector post-install steps

`POST /connection/{id}/run-post-install`

## Request

- Base URL: `https://api.elaichi.ai`
- URL: `https://api.elaichi.ai/connection/{id}/run-post-install`
- Auth: HTTP bearer

Re-runs the connector's declared post-install steps (identity resolution, provider-side setup) against this connection. Use it to repair `post_install_error`, or to re-apply setup after a variable was corrected. No body. Same permission as reconnect; the detail read's `can_run_post_install` says whether to offer it. Answers `202 { "started": true }`, never `200`: the steps run in the background, so the real outcome lands on the row (`status` and `last_error`) and shows on a later read. Re-fetch on the user's own refresh rather than sleeping and treating the `202` as the result. `409` when the connector declares no steps (`no_post_install`), the connection is unbound (`not_bound`), it is already fully set up (`already_active`; this route repairs `post_install_error`, not a healthy connection), its sign-in needs to happen again (`needs_reauth`), or Elaichi no longer holds the account (`connection_disconnected`).

## Path parameters

- `id` string, required

## Headers

- `X-Organization-Id` string

## Response `202`

OK

- object
  - `started` boolean, required

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `429`: Rate limited

---

[API](https://skmtc.dev/elaichi/apis/elaichi-api.md) · [All operations](https://skmtc.dev/elaichi/apis/elaichi-api/llms.txt) · [OpenAPI document](https://skmtc.dev/elaichi/apis/elaichi-api/revisions/b22cfb7b6d15?raw)
