---
title: "Search transforms (POST)"
method: POST
path: "/transforms/search"
tags: ["Transforms"]
---

# Search transforms (POST)

`POST /transforms/search`

POST alternative for GET /transforms. Use when URL length limits are exceeded (e.g., 100+ tag IDs). Supports both query parameters and request body. Body parameters take precedence over query parameters.

## Query parameters

- `id` string, nullable
- `partial_name` string, nullable
- `page` integer
- `page_size` integer
- `sort` string, nullable — Sort field. Can be DB field (name, created_timestamp) or metric (status, latency, duration)
- `sort_dir` 'asc' | 'desc' — Sort direction: 'asc' or 'desc'
- `status` string, nullable — Filter by status. Comma-separated for multiple (e.g., 'RUNNING', 'RUNNING,STOPPED'). Valid statuses: RUNNING, INITIALIZING, DEPLOYING, CANCELLING, CANCELED, CREATED, RESTARTING, FAILING, FAILED, STOPPED, UNKNOWN
- `latency` string, nullable — Filter by latency in milliseconds. Format: 'operator:value' (e.g., 'gt:1000', 'lt:500'). Valid operators: gt (>), lt (<), gte (>=), lte (<=), eq (=), ne (!=)
- `duration` string, nullable — Filter by duration in milliseconds. Format: 'operator:value' (e.g., 'gt:5000', 'lt:1000'). Valid operators: gt (>), lt (<), gte (>=), lte (<=), eq (=), ne (!=)
- `unwind_topics` boolean — Unwind topics into separate rows (one per topic). Default is False (topics returned as array in each transform row). Note: Pagination with unwind_topics=true may not reflect accurate totals.
- `tag_ids` string, nullable — Filter by tag IDs. Comma-separated list (e.g., 'tag1,tag2'). Use with tag_filter_operation to control AND/OR logic.
- `tag_filter_operation` 'and' | 'or', nullable — Tag filter logic: 'or' (default) matches any tag, 'and' matches all tags.

## Request body

- TransformDetailsReqBody — Body model for POST /transforms/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.
  - `status` union — List of statuses (as array) or comma-separated string. Body takes precedence over query params.
    - string[]
    - string
  - `tag_ids` union — List of tag IDs (as array) or comma-separated string. Body takes precedence over query params.
    - string[]
    - string
  - `tag_filter_operation` 'and' | 'or', nullable — Tag filter logic: 'or' (default) matches any tag, 'and' matches all tags. Body takes precedence over query params.

## Response `200`

Successful Response

- FullTransformsRes

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/streamkap/apis/streamkap-rest-api.md) · [All operations](https://skmtc.net/streamkap/apis/streamkap-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/streamkap/streamkap-rest-api/versions/8aea6143d003/schema)
