Pipelines

For endpoints that require a pipeline_id, you can retrieve it in our app directly from the Pipeline URL.

Our Pipeline URLs follow the format below:

https://app.kondado.com.br/pipelines/:pipeline_id

Run a Pipeline

This endpoint is not available for customers on plans with frequency limitations (Essentials).

Description

Sends a Pipeline to the execution queue — it performs the same action as a user clicking "RUN" in our app.

Method

POST

Endpoint

/pipelines/:pipeline_id/run

URL Parameters

None

Example Response

{
    "success": true
}

Response Description

The response only returns a success value (true or false), indicating the operation status. If success = false, an error key will be included in the JSON explaining what happened.

Get Pipeline Status

Description

Returns the status of a given Pipeline using its pipeline_id.

Method

GET

Endpoint

/pipelines/:pipeline_id/status

URL Parameters

None

Example Response

{
    "2040": {
        "status": "active",
        "is_running": false,
        "is_active": true,
        "is_blocked": false,
        "raw_msg": null
    }
}

Response Description

The response will be a JSON object where the Pipeline ID is used as the key of a nested JSON object containing the fields described below.

status

Status description. Possible values are:

  • running: The Pipeline is currently running.
  • scheduled: The Pipeline is queued for execution.
  • active: The Pipeline is not running and not queued, but is active.
  • not_active: The Pipeline is not running, not queued, and is disabled.
  • building_tables: The Pipeline is (re)creating tables after creation or advanced editing.
  • error_building_tables: An error occurred while (re)creating the Pipeline tables (see raw_msg).
  • too_many_consecutive_failed_builds: The Pipeline has a high error rate in its most recent executions (see raw_msg).
  • too_many_consecutive_failed_builds__blocked: The Pipeline was automatically disabled.

raw_msg

If the Pipeline encounters any issues, this field will contain the error description (for example, if we are unable to connect to your source or destination).

is_running

Boolean indicating whether the Pipeline is currently running (status = running).

is_active

Boolean indicating whether the Pipeline is active (status = active) or disabled (status = not_active).

is_blocked

Boolean indicating whether the Pipeline is blocked for any reason. Reasons that may cause a Pipeline to be blocked include:

  • Building tables: Initial status (lasting only a few seconds) indicating that Kondado is creating tables in the destination.
  • Multiple consecutive failures: Indicates that the Pipeline was disabled after multiple consecutive failures.

Duplicate a Pipeline

Description

Allows the creation of a new Pipeline based on an existing one.

  • The newly created Pipeline will inherit the same savepoint and execution frequency as the original Pipeline.
  • Pipelines created this way will not include free record days.

Method

POST

Endpoint

/pipelines

URL Parameters

None

Request Body (payload)

The request body must be a JSON object with the following attributes:

pipeline_id

  • Description: ID of the Pipeline used as the base for duplication.
  • Required: Yes
  • Format: integer number

dest_collection_id

  • Description: ID of the new destination. It must be of the same type used in the base Pipeline and must be active.
  • Required: Yes
  • Format: integer number

src_collection_id

  • Description: ID of the new source. It must be of the same type used in the base Pipeline and must be active.
  • Required: Yes
  • Format: integer number

client_id

  • Description: ID of the account where the new Pipeline will be created. If not provided, the Pipeline will be created in the same account as the base Pipeline. You can obtain your account ID at app.kondado.com.br/account — it is the ID of one of your associated teams in the format YYYYY-X, where YYYYY is the ID you are looking for.
  • Required: No
  • Format: integer number

full_tables

  • Description: JSON object where table paths are used as keys and new table names as values. The paths for each table can be obtained when performing an advanced edit on the Pipeline, at the moment you name the tables (see image below). The main table must be informed with an empty string path (""). All paths present in the Pipeline must be provided. The created Pipeline will not validate or warn if tables with the provided names already exist in the destination — they will simply be recreated with the new configuration.
  • Required: Yes
  • Format: JSON

Example of how to locate table paths

Example of how to locate table paths. In this case, the main tab has the path "", and the second table has the path "statuses".

deltas_tables

  • Description: JSON object where table paths are used as keys and new delta table names as values. The paths for each table can be obtained when performing an advanced edit on the Pipeline, at the moment you name the tables. The main table must be informed with an empty string path (""). If provided, all paths present in the Pipeline must be included. The created Pipeline will not validate or warn if tables with the provided names already exist in the destination — they will simply be recreated with the new configuration.
  • Required: No
  • Format: JSON

execute_immediately

  • Description: Indicates whether the Pipeline should be executed immediately after creation. Accepted values: Y for yes and N for no.
  • Required: Yes
  • Format: String ("Y" or "N")

name

  • Description: Name of the new Pipeline.
  • Required: No — if not provided, the original Pipeline name will be used.
  • Format: String

overwrite_parameters

  • Description: JSON object containing parameters to be overridden in the new Pipeline. The parameter must exist in the base Pipeline. Each Pipeline has a distinct set of parameters, so please contact our support team for more information about valid parameter names and formats. The parameter must be filled in the base Pipeline in order to be used in the new Pipeline (even if with a different value).
  • Required: No
  • Format: JSON

Example Request Body

{
    "pipeline_id": 12345821,
    "dest_collection_id": 678910,
    "src_collection_id": 877291,
    "client_id": 732829,
    "full_tables": {
        "": "new_bling_products_stock",
        "stock_deposits": "new_products_stock_deposits"
    },
    "deltas_tables": {
        "": "new_bling_products_stock",
        "stock_deposits": "new_products_stock_deposits"
    },
    "execute_immediately": "Y",
    "name": "New Pipeline",
    "overwrite_parameters": {
        "__kdd_ad_account": ["act_yyyyyyyyyy", "act_xxxxxxxxxxxxxx"]
    }
}

Response Description

The response will be a JSON object containing the ID of the newly created Pipeline.

Example Response

{
    "success": true,
    "data": {
        "success": true,
        "data": {
            "new_pipeline_id": 123456789
        }
    }
}

Manage Pipelines via the Kondado API

Use the Kondado API to run, monitor status, and duplicate Pipelines programmatically.

1
Retrieve your pipeline_id

Open the Pipeline in the Kondado app and copy the ID from the URL, which follows the format https://app.kondado.com.br/pipelines/:pipeline_id. You will need this ID for all subsequent API operations.

2
Run a Pipeline on demand

Send a POST request to /pipelines/:pipeline_id/run to queue the Pipeline for execution. Note that this endpoint is unavailable for customers on Essentials plans with frequency limitations. The response returns a success boolean indicating whether the operation succeeded.

3
Monitor Pipeline execution status

Send a GET request to /pipelines/:pipeline_id/status to check whether the Pipeline is running, scheduled, active, or blocked. Review the raw_msg field for error details if issues occur, and use is_running, is_active, and is_blocked booleans for quick state checks.

4
Prepare duplication parameters

Before duplicating, identify the new source and destination collection IDs (same types as the original, both active), and map all table paths from an advanced edit of the base Pipeline. Define full_tables with new table names and optionally deltas_tables, using empty string "" for the main table path.

5
Duplicate the Pipeline via POST

Send a POST to /pipelines with pipeline_id, dest_collection_id, src_collection_id, full_tables, and execute_immediately ("Y" or "N"). Optionally include name, client_id, deltas_tables, or overwrite_parameters. The response returns the new_pipeline_id.

Frequently asked questions

How do I find the pipeline_id for API requests?
You can retrieve the pipeline_id directly from the Pipeline URL in the Kondado app. The URL format is https://app.kondado.com.br/pipelines/:pipeline_id — the numeric ID at the end is what you need for all endpoints that require it.
Why does the run endpoint return success = false?
If success is false, the response includes an error key with a description of what happened. Common causes include plan restrictions — the run endpoint is not available for customers on Essentials plans with frequency limitations — or issues with the Pipeline's source or destination connectivity.
What does it mean when a Pipeline status is 'blocked'?
A blocked Pipeline (is_blocked: true) cannot execute. This occurs during brief table creation periods or when the Pipeline was automatically disabled after too_many_consecutive_failed_builds. Check raw_msg for the specific reason and resolve the underlying connection or configuration issue before reactivating.
Can I duplicate a Pipeline to a different destination type?
No. The dest_collection_id must be of the same type as the original Pipeline's destination, and both the new source and destination must be active. You can explore available destination types and integrations to understand what is supported.
What happens to table names when I duplicate a Pipeline?
You must provide a full_tables JSON object mapping every table path (including "" for the main table) to new table names. The duplicated Pipeline will not warn if tables already exist — it will recreate them with the new configuration. Optionally provide deltas_tables using the same path structure.
How can I override parameters in a duplicated Pipeline?
Use the overwrite_parameters field in your duplication request body. The parameter must already exist in the base Pipeline and be filled there (even with a different value). Because valid parameter names and formats vary by Pipeline, contact Kondado support for guidance on your specific use case.

Written by·Published 2026-01-12·Updated 2026-04-25