---
title: "Run pipeline setup hooks"
method: POST
path: "/pipelines/{id}/setup"
tags: ["Pipelines"]
---

# Run pipeline setup hooks

`POST /pipelines/{id}/setup`

Runs the `setup()` method on source and/or destination connectors (e.g. creating destination tables). Streams NDJSON messages (control, log, trace). Pass ?only=source or ?only=destination to run a single side.

## Path parameters

- `id` string, required — Unique pipeline identifier (e.g. pipe_abc123).

## Query parameters

- `only` 'source' | 'destination' — Run only the source or destination side

## Response `200`

Streaming NDJSON setup output

## Other responses

- `404` — Pipeline not found

## Changes

- **2026-04-22** `d27c818295f0` — 1 warning
  - changed the pattern of the `path` request parameter `id` from `^[a-z][a-z0-9_-]*$` to `^[a-zA-Z][a-zA-Z0-9_-]*$`
- **2026-04-21** `f10e963a1889` — 1 info
  - endpoint added
- **2026-04-02** `131345353e38` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/stripe/apis/stripe-sync-service/changes/pipelines/:id/setup/post.md)

---

[API](https://skmtc.dev/stripe/apis/stripe-sync-service.md) · [All operations](https://skmtc.dev/stripe/apis/stripe-sync-service/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/stripe/stripe-sync-service/revisions/0fb02347c6cc/schema)
