---
title: "Put Transforms Implementation Details"
method: PUT
path: "/transforms/{transforms_id}/implementation_details"
tags: ["Transforms"]
---

# Put Transforms Implementation Details

`PUT /transforms/{transforms_id}/implementation_details`

## Path parameters

- `transforms_id` string, required

## Request body

- TransformsImplementationDetails
  - `transform_id` string, required
  - `version_id` string
  - `description` string, nullable
  - `config` union
    - TransformConfig
      - `transforms.name` string, required
      - `transforms.language` string, nullable
      - `transforms.input.topic.pattern` string, required
      - `transforms.output.topic.pattern` string, required
      - `transforms.input.serialization.format` 'Any' | 'Json' | 'Avro', required
      - `transforms.output.serialization.format` 'Any' | 'Json' | 'Avro', required
      - `transforms.input.job.parallelism` integer
      - `transforms.topic.ttl` string, nullable
      - `kc.cluster.id` string, nullable
    - TransformsEnrichAsyncConfig
      - `transforms.name` string, required
      - `transforms.language` string, nullable
      - `transforms.input.topic.pattern` string, required
      - `transforms.output.topic.pattern` string, required
      - `transforms.input.serialization.format` 'Any' | 'Json' | 'Avro', required
      - `transforms.output.serialization.format` 'Any' | 'Json' | 'Avro', required
      - `transforms.input.job.parallelism` integer
      - `transforms.topic.ttl` string, nullable
      - `kc.cluster.id` string, nullable
      - `transforms.async.timeout.ms` integer
      - `transforms.async.capacity` integer
  - `created_timestamp` string, date-time, nullable
  - `implementation` union
    - TransformsMapFilterImplementation
      - `language` 'PYTHON' | 'JAVASCRIPT' | 'SQL', required
      - `value_transform` string, required
      - `key_transform` string, nullable
      - `topic_transform` string, nullable
      - `common_transform` string, nullable
      - `value_schema_transform` string, nullable
      - `key_schema_transform` string, nullable
      - `unit_test` TransformsUnitTest
        - `test_name` string, required
        - `input__json` TransformsImplementationDetailsTestRecord[], required
          - `topic` string, required
          - `value` object, required
          - `key` object, nullable
          - `timestamp` string, date-time, nullable
        - `output__json` TransformsImplementationDetailsTestRecord[], required
          - `topic` string, required
          - `value` object, required
          - `key` object, nullable
          - `timestamp` string, date-time, nullable
        - `result__json` TransformsImplementationDetailsTestRecord[], nullable
          - `topic` string, required
          - `value` object, required
          - `key` object, nullable
          - `timestamp` string, date-time, nullable
        - `is_success` boolean, nullable
        - `html_diff` string, nullable
        - `text_diff` string, nullable
    - TransformsEnrichImplementation
      - `mainTable` TransformInputTable, required
        - `name` string, required
        - `topicMatcherRegex` string, required
        - `createTableSQL` string, nullable
      - `lookupTable` TransformInputTable, required
        - `name` string, required
        - `topicMatcherRegex` string, required
        - `createTableSQL` string, nullable
      - `enrichSQL` string, required
    - TransformsEnrichAsyncImplementation
      - `language` 'PYTHON' | 'JAVASCRIPT' | 'SQL', required
      - `value_transform` string, required
      - `key_transform` string, nullable
      - `topic_transform` string, nullable
      - `common_transform` string, nullable
      - `value_schema_transform` string, nullable
      - `key_schema_transform` string, nullable
      - `unit_test` TransformsUnitTest
        - `test_name` string, required
        - `input__json` TransformsImplementationDetailsTestRecord[], required
          - `topic` string, required
          - `value` object, required
          - `key` object, nullable
          - `timestamp` string, date-time, nullable
        - `output__json` TransformsImplementationDetailsTestRecord[], required
          - `topic` string, required
          - `value` object, required
          - `key` object, nullable
          - `timestamp` string, date-time, nullable
        - `result__json` TransformsImplementationDetailsTestRecord[], nullable
          - `topic` string, required
          - `value` object, required
          - `key` object, nullable
          - `timestamp` string, date-time, nullable
        - `is_success` boolean, nullable
        - `html_diff` string, nullable
        - `text_diff` string, nullable
      - `async_timeout_ms` integer
      - `async_capacity` integer
    - TransformsJoinImplementation
      - `inputTables` TransformInputTable[]
        - `name` string, required
        - `topicMatcherRegex` string, required
        - `createTableSQL` string, nullable
      - `joinSQL` string, required
      - `keyFields` string[]
      - `stateTtlMs` string, nullable
    - TransformsRollupImplementation
      - `inputTables` TransformInputTable[]
        - `name` string, required
        - `topicMatcherRegex` string, required
        - `createTableSQL` string, nullable
      - `rollupSQL` string, required
      - `keyFields` string[]
      - `sourceIdleTimeoutMs` integer
      - `stateTTLMs` integer
    - TransformsTopicRouterImplementation — Topic router transform - deployed as KC Kafka destination connector with byte passthrough. No Flink job. Uses ByteArrayConverter + RegexRouter SMT to rewrite topic names without deserializing message values. Input/output patterns come from transform.config (transforms.input.topic.pattern / transforms.output.topic.pattern).
      - `topic_prefix` string — Deprecated - kept for backwards compat with existing DB records
      - `kc_cluster_id` string, nullable — KC cluster to deploy the connector to

## Response `200`

Successful Response

- TransformsImplementationDetails
  - `transform_id` string, required
  - `version_id` string
  - `description` string, nullable
  - `config` union
    - TransformConfig
      - `transforms.name` string, required
      - `transforms.language` string, nullable
      - `transforms.input.topic.pattern` string, required
      - `transforms.output.topic.pattern` string, required
      - `transforms.input.serialization.format` 'Any' | 'Json' | 'Avro', required
      - `transforms.output.serialization.format` 'Any' | 'Json' | 'Avro', required
      - `transforms.input.job.parallelism` integer
      - `transforms.topic.ttl` string, nullable
      - `kc.cluster.id` string, nullable
    - TransformsEnrichAsyncConfig
      - `transforms.name` string, required
      - `transforms.language` string, nullable
      - `transforms.input.topic.pattern` string, required
      - `transforms.output.topic.pattern` string, required
      - `transforms.input.serialization.format` 'Any' | 'Json' | 'Avro', required
      - `transforms.output.serialization.format` 'Any' | 'Json' | 'Avro', required
      - `transforms.input.job.parallelism` integer
      - `transforms.topic.ttl` string, nullable
      - `kc.cluster.id` string, nullable
      - `transforms.async.timeout.ms` integer
      - `transforms.async.capacity` integer
  - `created_timestamp` string, date-time, nullable
  - `implementation` union
    - TransformsMapFilterImplementation
      - `language` 'PYTHON' | 'JAVASCRIPT' | 'SQL', required
      - `value_transform` string, required
      - `key_transform` string, nullable
      - `topic_transform` string, nullable
      - `common_transform` string, nullable
      - `value_schema_transform` string, nullable
      - `key_schema_transform` string, nullable
      - `unit_test` TransformsUnitTest
        - `test_name` string, required
        - `input__json` TransformsImplementationDetailsTestRecord[], required
          - `topic` string, required
          - `value` object, required
          - `key` object, nullable
          - `timestamp` string, date-time, nullable
        - `output__json` TransformsImplementationDetailsTestRecord[], required
          - `topic` string, required
          - `value` object, required
          - `key` object, nullable
          - `timestamp` string, date-time, nullable
        - `result__json` TransformsImplementationDetailsTestRecord[], nullable
          - `topic` string, required
          - `value` object, required
          - `key` object, nullable
          - `timestamp` string, date-time, nullable
        - `is_success` boolean, nullable
        - `html_diff` string, nullable
        - `text_diff` string, nullable
    - TransformsEnrichImplementation
      - `mainTable` TransformInputTable, required
        - `name` string, required
        - `topicMatcherRegex` string, required
        - `createTableSQL` string, nullable
      - `lookupTable` TransformInputTable, required
        - `name` string, required
        - `topicMatcherRegex` string, required
        - `createTableSQL` string, nullable
      - `enrichSQL` string, required
    - TransformsEnrichAsyncImplementation
      - `language` 'PYTHON' | 'JAVASCRIPT' | 'SQL', required
      - `value_transform` string, required
      - `key_transform` string, nullable
      - `topic_transform` string, nullable
      - `common_transform` string, nullable
      - `value_schema_transform` string, nullable
      - `key_schema_transform` string, nullable
      - `unit_test` TransformsUnitTest
        - `test_name` string, required
        - `input__json` TransformsImplementationDetailsTestRecord[], required
          - `topic` string, required
          - `value` object, required
          - `key` object, nullable
          - `timestamp` string, date-time, nullable
        - `output__json` TransformsImplementationDetailsTestRecord[], required
          - `topic` string, required
          - `value` object, required
          - `key` object, nullable
          - `timestamp` string, date-time, nullable
        - `result__json` TransformsImplementationDetailsTestRecord[], nullable
          - `topic` string, required
          - `value` object, required
          - `key` object, nullable
          - `timestamp` string, date-time, nullable
        - `is_success` boolean, nullable
        - `html_diff` string, nullable
        - `text_diff` string, nullable
      - `async_timeout_ms` integer
      - `async_capacity` integer
    - TransformsJoinImplementation
      - `inputTables` TransformInputTable[]
        - `name` string, required
        - `topicMatcherRegex` string, required
        - `createTableSQL` string, nullable
      - `joinSQL` string, required
      - `keyFields` string[]
      - `stateTtlMs` string, nullable
    - TransformsRollupImplementation
      - `inputTables` TransformInputTable[]
        - `name` string, required
        - `topicMatcherRegex` string, required
        - `createTableSQL` string, nullable
      - `rollupSQL` string, required
      - `keyFields` string[]
      - `sourceIdleTimeoutMs` integer
      - `stateTTLMs` integer
    - TransformsTopicRouterImplementation — Topic router transform - deployed as KC Kafka destination connector with byte passthrough. No Flink job. Uses ByteArrayConverter + RegexRouter SMT to rewrite topic names without deserializing message values. Input/output patterns come from transform.config (transforms.input.topic.pattern / transforms.output.topic.pattern).
      - `topic_prefix` string — Deprecated - kept for backwards compat with existing DB records
      - `kc_cluster_id` string, nullable — KC cluster to deploy the connector to

## 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)
