Skip to main content
POST
/
transformations
/
filter
Python SDK
transformations_list = client.transformations.list()
List<Transformation> listTransformationResults = new ArrayList<>(); 
client.transformations()
          .list(Request.create().withFilterParameter("isPublic", true))
          .forEachRemaining(listTransformationResults::addAll); 

curl --request POST \
  --url https://{cluster}.cognitedata.com/api/v1/projects/{project}/transformations/filter \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "filter": {
    "isPublic": true,
    "nameRegex": "<string>",
    "queryRegex": "<string>",
    "hasBlockedError": true,
    "cdfProjectName": "<string>",
    "createdTime": {
      "min": 123,
      "max": 123
    },
    "lastUpdatedTime": {
      "min": 123,
      "max": 123
    },
    "dataSetIds": [
      {
        "externalId": "<string>"
      }
    ],
    "tags": {
      "containsAny": [
        "<string>"
      ]
    }
  },
  "limit": 123,
  "cursor": "<string>"
}
'
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    filter: {
      isPublic: true,
      nameRegex: '<string>',
      queryRegex: '<string>',
      hasBlockedError: true,
      cdfProjectName: '<string>',
      createdTime: {min: 123, max: 123},
      lastUpdatedTime: {min: 123, max: 123},
      dataSetIds: [{externalId: '<string>'}],
      tags: {containsAny: ['<string>']}
    },
    limit: 123,
    cursor: '<string>'
  })
};

fetch('https://{cluster}.cognitedata.com/api/v1/projects/{project}/transformations/filter', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://{cluster}.cognitedata.com/api/v1/projects/{project}/transformations/filter",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'filter' => [
        'isPublic' => true,
        'nameRegex' => '<string>',
        'queryRegex' => '<string>',
        'hasBlockedError' => true,
        'cdfProjectName' => '<string>',
        'createdTime' => [
                'min' => 123,
                'max' => 123
        ],
        'lastUpdatedTime' => [
                'min' => 123,
                'max' => 123
        ],
        'dataSetIds' => [
                [
                                'externalId' => '<string>'
                ]
        ],
        'tags' => [
                'containsAny' => [
                                '<string>'
                ]
        ]
    ],
    'limit' => 123,
    'cursor' => '<string>'
  ]),
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>",
    "Content-Type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://{cluster}.cognitedata.com/api/v1/projects/{project}/transformations/filter"

	payload := strings.NewReader("{\n  \"filter\": {\n    \"isPublic\": true,\n    \"nameRegex\": \"<string>\",\n    \"queryRegex\": \"<string>\",\n    \"hasBlockedError\": true,\n    \"cdfProjectName\": \"<string>\",\n    \"createdTime\": {\n      \"min\": 123,\n      \"max\": 123\n    },\n    \"lastUpdatedTime\": {\n      \"min\": 123,\n      \"max\": 123\n    },\n    \"dataSetIds\": [\n      {\n        \"externalId\": \"<string>\"\n      }\n    ],\n    \"tags\": {\n      \"containsAny\": [\n        \"<string>\"\n      ]\n    }\n  },\n  \"limit\": 123,\n  \"cursor\": \"<string>\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://{cluster}.cognitedata.com/api/v1/projects/{project}/transformations/filter")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"filter\": {\n    \"isPublic\": true,\n    \"nameRegex\": \"<string>\",\n    \"queryRegex\": \"<string>\",\n    \"hasBlockedError\": true,\n    \"cdfProjectName\": \"<string>\",\n    \"createdTime\": {\n      \"min\": 123,\n      \"max\": 123\n    },\n    \"lastUpdatedTime\": {\n      \"min\": 123,\n      \"max\": 123\n    },\n    \"dataSetIds\": [\n      {\n        \"externalId\": \"<string>\"\n      }\n    ],\n    \"tags\": {\n      \"containsAny\": [\n        \"<string>\"\n      ]\n    }\n  },\n  \"limit\": 123,\n  \"cursor\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "items": [
    {
      "id": 123,
      "name": "<string>",
      "query": "<string>",
      "destination": {},
      "isPublic": true,
      "createdTime": 123,
      "lastUpdatedTime": 123,
      "owner": "<string>",
      "ownerIsCurrentUser": true,
      "hasSourceOidcCredentials": true,
      "hasDestinationOidcCredentials": true,
      "externalId": "my.known.id",
      "ignoreNullFields": true,
      "blocked": {
        "reason": "<string>",
        "createdTime": 123
      },
      "sourceSession": {
        "clientId": "<string>",
        "sessionId": 123,
        "projectName": "<string>"
      },
      "destinationSession": {
        "clientId": "<string>",
        "sessionId": 123,
        "projectName": "<string>"
      },
      "lastFinishedJob": {
        "id": 123,
        "uuid": "<string>",
        "transformationId": 123,
        "transformationExternalId": "<string>",
        "sourceProject": "<string>",
        "destinationProject": "<string>",
        "destination": {},
        "query": "<string>",
        "createdTime": 123,
        "ignoreNullFields": true,
        "startedTime": 123,
        "finishedTime": 123,
        "lastSeenTime": 123,
        "error": "<string>"
      },
      "runningJob": {
        "id": 123,
        "uuid": "<string>",
        "transformationId": 123,
        "transformationExternalId": "<string>",
        "sourceProject": "<string>",
        "destinationProject": "<string>",
        "destination": {},
        "query": "<string>",
        "createdTime": 123,
        "ignoreNullFields": true,
        "startedTime": 123,
        "finishedTime": 123,
        "lastSeenTime": 123,
        "error": "<string>"
      },
      "schedule": {
        "id": 123,
        "externalId": "<string>",
        "createdTime": 123,
        "lastUpdatedTime": 123,
        "interval": "0 0 * * *",
        "isPaused": true
      },
      "dataSetId": 123,
      "tags": [
        "<string>"
      ]
    }
  ],
  "nextCursor": "<string>"
}
{
  "error": {
    "code": 123,
    "message": "<string>",
    "missing": [
      {
        "externalId": "my.known.id"
      }
    ],
    "duplicated": [
      {
        "externalId": "my.known.id"
      }
    ]
  }
}
{
  "error": {
    "code": 123,
    "message": "<string>",
    "missing": [
      {
        "externalId": "my.known.id"
      }
    ],
    "duplicated": [
      {
        "externalId": "my.known.id"
      }
    ]
  }
}

Authorizations

Authorization
string
header
required

Access token issued by the CDF project's configured identity provider. Access token must be an OpenID Connect token, and the project must be configured to accept OpenID Connect tokens. Use a header key of 'Authorization' with a value of 'Bearer $accesstoken'. The token can be obtained through any flow supported by the identity provider.

Body

application/json
filter
object
required
limit
integer<int32>
cursor
string

Response

Paged response with list of transformations.

Array of objects (Transformation).

items
object[]
nextCursor
string

Cursor to get the next page of results (if available).

Last modified on July 10, 2026