---
title: "Configure Metabase, LogReader, and UserDatabase components for one pipeline"
method: POST
path: "/v1/integration/projects/{projectId}/pipelines/{pipelineId}/configuration"
tags: ["Unified Project Lifecycle APIs"]
---

# Configure Metabase, LogReader, and UserDatabase components for one pipeline

`POST /v1/integration/projects/{projectId}/pipelines/{pipelineId}/configuration`

## Request

- Base URL: `https://integration-adapter.connect.cloud.precisely.com`
- URL: `https://integration-adapter.connect.cloud.precisely.com/v1/integration/projects/{projectId}/pipelines/{pipelineId}/configuration`
- Auth: HTTP bearer

Orchestrates Metabase, LogReader, and prepared-user-database configuration for one pipeline
in a single call using the same connectionId-keyed request shape for both `REPLICATION` and
`ADVANCED_REPLICATION` projects.

**Features:**
- Accepts three independent, optional arrays (`metabases`, `logReaders`, `userDatabases`); an
  omitted array leaves that component family untouched.
- Every entry is upserted (get-then-create-or-update) independently by its own `connectionId`
  and processed in parallel.
- Every submitted `connectionId` is pre-flight validated against the pipeline's actual
  connection membership; a non-member entry is marked FAILED before its processor is dispatched.
- For `REPLICATION`, each entry's `connectionId` is matched against the pipeline's actual
  source/target connection and routed through the exact same orchestration path as the
  dedicated Continuous composite endpoint — identical behavior, same request shape at this
  API boundary. Continuous supports at most one LogReader entry (bound to the source
  connection); additional entries are reported as FAILED (`DI-ADAPTER-LGR-0006`).
- For `ADVANCED_REPLICATION`, entries route through the DSL-specific processors with
  connection-type-aware parameter defaulting.
- A component failure is isolated and never blocks the others — the endpoint always returns
  201 with a per-entry result (`CREATED`/`UPDATED`/`FAILED` plus `errorCode` when failed).

**Use Cases:**
- Configure every component a pipeline needs in one call after Full Validation.
- Re-run configuration idempotently; existing components are updated, not duplicated.

**Authorization:** Requires `replication-pipeline::create` or `replication-pipeline::manage`.

## Path parameters

- `projectId` string, required
- `pipelineId` string, required

## Query parameters

- `projectType` 'REPLICATION' | 'MAINFRAME_REPLICATION' | 'ADVANCED_REPLICATION': Supported project types for unified project operations

## Request body

- PipelineComponentsConfigurationRequest: Composite Metabase/LogReader/UserDatabase configuration request for one pipeline
  - `metabases` MetabaseConfigurationEntry[]: Metabase entries to upsert; omit to leave Metabases untouched
    - `connectionId` string, required: Catalog connection id this Metabase applies to
    - `isTarget` boolean: Whether this connection is used as the pipeline's target; drives connection-type-specific parameter defaulting (for example TARGET_ONLY) for Advanced Replication projects
    - `name` string, required: Metabase name
    - `vaultConnectionId` string: Catalog id of the vault connection asset, when vault-backed
    - `parameters` object: Operational parameters (non-credential)
    - `version` string: Metabase version
    - `adminUserId` string: Admin user id
    - `adminUserPassword` string: Admin password or vault secret-path token; never returned
    - `replicationUser` string: Replication user id
    - `replicationPassword` string: Replication password or vault secret-path token; never returned
  - `logReaders` LogReaderConfigurationEntry[]: LogReader entries to upsert; omit to leave LogReaders untouched
    - `connectionId` string, required: Catalog connection id this LogReader applies to
    - `name` string, required: LogReader name
    - `journalName` string, required: CDC journal name
    - `logReaderId` integer: LogReader identifier
    - `parameters` object: Operational parameters
  - `userDatabases` UserDatabaseConfigurationEntry[]: UserDatabase entries to prepare; omit to leave user databases untouched
    - `connectionId` string, required: Catalog connection id this preparation applies to
    - `isTarget` boolean, required: Whether this connection is used as the pipeline's target
    - `vaultConnectionId` string: Catalog id of the vault connection asset, when vault-backed
    - `userDataBaseNames` string[], required: Database names to prepare
    - `adminUser` string, required: Admin user id
    - `adminUserPassword` string, required: Direct password or vault secret-path token; never returned
    - `replicationUser` string: Replication user id; required for SQL Server and PostgreSQL connections

## Response `201`

Per-entry configuration results (always returned, even when individual entries fail)

## Other responses

- `400`: Bad request — MAINFRAME_REPLICATION is not supported
- `401`: Unauthorized
- `403`: Forbidden

---

[API](https://skmtc.dev/precisely/apis/precisely-integration-adapter-service.md) · [All operations](https://skmtc.dev/precisely/apis/precisely-integration-adapter-service/llms.txt) · [OpenAPI document](https://skmtc.dev/precisely/apis/precisely-integration-adapter-service/revisions/2d2629f4987d?raw)
