Skip to main content
POST
/
pipelines
/
search
Search pipelines (POST)
curl --request POST \
  --url https://api.streamkap.com/pipelines/search \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "tag_ids": [
    "<string>"
  ],
  "source_id": [
    "<string>"
  ],
  "destination_id": [
    "<string>"
  ],
  "status": [
    "<string>"
  ]
}
'
{
  "result": [
    {
      "name": "<string>",
      "sub_id": "<string>",
      "tenant_id": "<string>",
      "id": "<string>",
      "snapshot_new_tables": true,
      "topic_ids": [
        "<string>"
      ],
      "topics": [
        "<string>"
      ],
      "source": {
        "name": "<string>",
        "connector": "<string>",
        "id": "<string>",
        "connector_display_name": "<string>",
        "created_timestamp": "<string>",
        "sub_id": "<string>",
        "tenant_id": "<string>",
        "service_id": "<string>",
        "config": {
          "database.hostname.user.defined": "<string>",
          "database.port.user.defined": "5432",
          "database.user": "<string>",
          "database.password": "<string>",
          "database.dbname": "<string>",
          "signal.data.collection.schema.or.database": "<string>",
          "slot.name": "streamkap_pgoutput_slot",
          "publication.name": "streamkap_pub",
          "schema.include.list": "<string>",
          "table.include.list.user.defined": "<string>",
          "ssh.host": "<string>",
          "ssh.port": "22",
          "ssh.user": "streamkap",
          "ssh.public.key.user.displayed": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJVbRrHqNN3SyIYnNF46SMd+ArZz+QheAtjnQzKiBWrc",
          "transforms.ValueToKey.fields.include.list": "<string>",
          "transforms.ValueToKey.replace.null.with.default": true,
          "preserve.null.values": false,
          "transforms.OversizedRecords.fields.include.list": "<string>",
          "transforms.OversizedRecords.fields.exclude.list": "<string>",
          "transforms.OversizedRecords.max.field.size.bytes": 1048576,
          "transforms.OversizedRecords.oversized.field.behavior": "TRUNCATE",
          "transforms.OversizedRecords.truncation.suffix": "",
          "transforms.OversizedRecords.max.record.size.bytes": -1,
          "transforms.OversizedRecords.semantic.types.exclude": "io.debezium.data.Json,io.debezium.data.Xml",
          "transforms.OversizedRecords.replace.null.with.default": true,
          "InsertTopicName.enabled": false,
          "snapshot.read.only.user.defined": "Yes",
          "column.include.list.toggled": true,
          "column.include.list.user.defined": "<string>",
          "column.exclude.list.user.defined": "<string>",
          "heartbeat.enabled": true,
          "heartbeat.data.collection.schema.or.database": "<string>",
          "post.processors": "reselector",
          "database.sslmode": "require",
          "include.source.db.name.in.table.name.user.defined": false,
          "binary.handling.mode": "bytes",
          "transforms.InsertStaticKey1.static.field": "<string>",
          "transforms.InsertStaticKey1.static.value": "<string>",
          "transforms.InsertStaticValue1.static.field": "<string>",
          "transforms.InsertStaticValue1.static.value": "<string>",
          "transforms.InsertStaticKey2.static.field": "<string>",
          "transforms.InsertStaticKey2.static.value": "<string>",
          "transforms.InsertStaticValue2.static.field": "<string>",
          "transforms.InsertStaticValue2.static.value": "<string>",
          "predicates.IsTopicToEnrich.pattern": "$^",
          "ssh.enabled": false
        },
        "topic_ids": [
          "<string>"
        ],
        "topic_map": {},
        "topics": [
          "<string>"
        ],
        "tasks": [
          123
        ],
        "connector_status": "<string>",
        "desired_state": "<string>",
        "kc_cluster_id": "<string>",
        "task_statuses": {},
        "tags": [
          "<string>"
        ]
      },
      "destination": {
        "name": "<string>",
        "connector": "<string>",
        "id": "<string>",
        "connector_display_name": "<string>",
        "created_timestamp": "<string>",
        "sub_id": "<string>",
        "tenant_id": "<string>",
        "config": {
          "bigquery.json": {},
          "table.name.prefix": "<string>",
          "consumer.override.max.poll.records": 10000,
          "tasks.max": 5,
          "preserve.null.values": false,
          "quote.identifiers": true,
          "transforms.ToIntJ.fields.include.list": "<string>",
          "transforms.ToFloatJ.fields.include.list": "<string>",
          "transforms.ToDecimalJ.fields.include.list": "<string>",
          "transforms.ToDecimalJ.truncate.to.max.precision": false,
          "transforms.ToStringJ.fields.include.list": "<string>",
          "transforms.ToJsonJ.fields.include.list": "<string>",
          "transforms.ToJsonJ.convert.all.complex.types.user.defined": false,
          "transforms.ToJsonbJ.fields.include.list": "<string>",
          "transforms.ToJsonbJ.convert.all.complex.types.user.defined": false,
          "transforms.ToJsonbJ.convert.all.json": false,
          "transforms.StringReplace.fields.include.list": "<string>",
          "transforms.StringReplace.regex.patterns": "<string>",
          "transforms.StringReplace.replacement.values": "<string>",
          "transforms.OversizedRecords.fields.include.list": "<string>",
          "transforms.OversizedRecords.fields.exclude.list": "<string>",
          "transforms.OversizedRecords.max.field.size.bytes": 1048576,
          "transforms.OversizedRecords.oversized.field.behavior": "TRUNCATE",
          "transforms.OversizedRecords.truncation.suffix": "",
          "transforms.OversizedRecords.max.record.size.bytes": -1,
          "transforms.OversizedRecords.semantic.types.exclude": "io.debezium.data.Json,io.debezium.data.Xml",
          "transforms.OversizedRecords.replace.null.with.default": true,
          "transforms.AddStringSuffix.fields.include.list": "<string>",
          "transforms.changeTopicName.match.regex.user.defined": "<string>",
          "transforms.RenameFields.renames.user.defined": "<string>",
          "transforms.DropFields.fields.include.list": "<string>",
          "transforms.MarkColumnsAsRequired.fields.include.all": false,
          "transforms.MarkColumnsAsRequired.null.sentinel.mode": "NONE",
          "transforms.MarkColumnsAsOptional.fields.include.list": "<string>",
          "transforms.CopyField.copy.field.mapping": "<string>",
          "transforms.HeaderToFieldCustom.header.mappings": "<string>",
          "bigquery.region": "us-central1",
          "custom.bigquery.cluster.field": "<string>",
          "custom.bigquery.partition.field": "<string>",
          "bigquery.time.based.partition": false
        },
        "topic_ids": [
          "<string>"
        ],
        "topic_map": {},
        "topics": [
          "<string>"
        ],
        "tasks": [
          123
        ],
        "connector_status": "<string>",
        "desired_state": "<string>",
        "kc_cluster_id": "<string>",
        "task_statuses": {},
        "tags": [
          "<string>"
        ]
      },
      "transforms": [
        "<unknown>"
      ],
      "tags": [],
      "periodic_audit": {
        "topics": [
          "<string>"
        ],
        "timestamp_column": "<string>",
        "interval_minutes": 123,
        "fix_deletes_only": false
      },
      "topic_auto_discovery_transforms": []
    }
  ],
  "page": 1,
  "page_size": 10,
  "total": 123,
  "has_next": true
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

id
string | null
partial_name
string | null
tag_ids
string | null
tag_filter_operation
enum<string> | null
default:or

Tag filter logic: 'or' (default) matches any tag, 'and' matches all tags.

Available options:
and,
or
page
integer
default:1
page_size
integer
default:10
sort
string | null

Sort field. Can be a DB field (name, created_at) or a metric field (latency, status, recordsLag)

sort_dir
string
default:asc

Sort direction: 'asc' (ascending) or 'desc' (descending)

source_id
string | null
destination_id
string | null
status
string | null

Filter by pipeline status. Comma-separated for multiple statuses (e.g., 'Active', 'Active,Paused'). Valid statuses: Active, Broken, Paused, Stopped, Starting, Unassigned, Unknown

latency
string | null

Filter by pipeline latency in milliseconds. Format: 'operator:value' (e.g., 'gt:1000', 'lt:500'). Valid operators: gt (>), lt (<), gte (>=), lte (<=), eq (=), ne (!=)

lag
string | null

Filter by pipeline lag (records behind). Format: 'operator:value' (e.g., 'gt:100', 'lt:50'). Valid operators: gt (>), lt (<), gte (>=), lte (<=), eq (=), ne (!=)

secret_returned
enum<string>
default:false
Available options:
true,
false

Body

application/json

Body model for POST /pipelines/search requests.

Supports large lists of filter values that would exceed URL length limits when using GET. Body parameters take precedence over query parameters when both are provided.

tag_ids

List of tag IDs (as array) or comma-separated string. Body takes precedence over query params.

tag_filter_operation
enum<string> | null

Tag filter logic: 'or' (default) matches any tag, 'and' matches all tags. Body takes precedence over query params.

Available options:
and,
or
source_id

List of source IDs (as array) or comma-separated string. Body takes precedence over query params.

destination_id

List of destination IDs (as array) or comma-separated string. Body takes precedence over query params.

status

List of statuses (as array) or comma-separated string. Body takes precedence over query params.

Response

Successful Response

Get paginated Pipelines response.

result
PipelineBasic · object[]
required
page
integer
default:1

Current page number

page_size
integer
default:10

Results per page

total
integer | null

Total number of results

has_next
boolean | null

Whether more pages exist