Trifacta Wrangler API (v8.6.0)

Download OpenAPI specification:Download

Overview

To enable programmatic control over its objects, the Trifacta Wrangler Platform supports a range of REST API endpoints across its objects. This section provides an overview of the API design, methods, and supported use cases.

Most of the endpoints accept JSON as input and return JSON responses. This means that you must usually add the following headers to your request:

Content-type: application/json
Accept: application/json

Version: 8.6.0+47.20210806164855.b656442

Resources

The term resource refers to a single type of object in the Trifacta Wrangler Platform metadata. An API is broken up by its endpoint's corresponding resource. The name of a resource is typically plural, and expressed in camelCase. Example: jobGroups.

Resource names are used as part of endpoint URLs, as well as in API parameters and responses.

CRUD Operations

The platform supports Create, Read, Update, and Delete operations on most resources. You can review the standards for these operations and their standard parameters below.

Some endpoints have special behavior as exceptions.

Create

To create a resource, you typically submit an HTTP POST request with the resource's required metadata in the request body. The response returns a 201 Created response code upon success with the resource's metadata, including its internal id, in the response body.

Read

An HTTP GET request can be used to read a resource or to list a number of resources.

A resource's id can be submitted in the request parameters to read a specific resource. The response usually returns a 200 OK response code upon success, with the resource's metadata in the response body.

If a GET request does not include a specific resource id, it is treated as a list request. The response usually returns a 200 OK response code upon success, with an object containing a list of resources' metadata in the response body.

When reading resources, some common query parameters are usually available. e.g.:

/v4/jobGroups?limit=100&includeDeleted=true&embed=jobs
Query Parameter Type Description
embed string Comma-separated list of objects to include part of the response. See Embedding resources.
includeDeleted string If set to true, response includes deleted objects.
limit integer Maximum number of objects to fetch. Usually 25 by default
offset integer Offset after which to start returning objects. For use with limit query parameter.

Update

Updating a resource requires the resource id, and is typically done using an HTTP PUT or PATCH request, with the fields to modify in the request body. The response usually returns a 200 OK response code upon success, with minimal information about the modified resource in the response body.

Delete

Deleting a resource requires the resource id and is typically executing via an HTTP DELETE request. The response usually returns a 204 No Content response code upon success.

Conventions

  • Resource names are plural and expressed in camelCase.

  • Resource names are consistent between main URL and URL parameter.

  • Parameter lists are consistently enveloped in the following manner:

    { "data": [{ ... }] }
  • Field names are in camelCase and are consistent with the resource name in the URL or with the embed URL parameter.

    "creator": { "id": 1 },
    "updater": { "id": 2 },

Embedding Resources

When reading a resource, the platform supports an embed query parameter for most resources, which allows the caller to ask for associated resources in the response. Use of this parameter requires knowledge of how different resources are related to each other and is suggested for advanced users only.

In the following example, the sub-jobs of a jobGroup are embedded in the response for jobGroup=1:

https://yourworkspace.cloud.trifacta.com/v4/jobGroups/1?embed=jobs

If you provide an invalid embedding, you will get an error message. The response will contain the list of possible resources that can be embedded. e.g.

https://yourworkspace.cloud.trifacta.com/v4/jobGroups/1?embed=*

Example error:

{
  "exception": {
    "name": "ValidationFailed",
    "message": "Input validation failed",
    "details": "No association * in flows! Valid associations are creator, updater, snapshots..."
  }
}

Fields

It is possible to let the application know that you need fewer data to improve the performance of the endpoints using the fields query parameter. e.g.

https://yourworkspace.cloud.trifacta.com/v4/flows?fields=id;name

The list of fields need to be separated by semi-colons ;. Note that the application might sometimes return more fields than requested.

You can also use it while embedding resources.

https://yourworkspace.cloud.trifacta.com/v4/flows?fields=id;name&embed=flownodes(fields=id)

Limit and sorting

You can limit and sort the number of embedded resources for some associations. e.g.

https://yourworkspace.cloud.trifacta.com/v4/flows?fields=id&embed=flownodes(limit=1,fields=id,sort=-id)

Note that not all association support this. An error is returned when it is not possible to limit the number of embedded results.

Errors

The Trifacta Wrangler Platform uses HTTP response codes to indicate the success or failure of an API request.

  • Codes in the 2xx range indicate success.
  • Codes in the 4xx range indicate that the information provided is invalid (invalid parameters, missing permissions, etc.)
  • Codes in the 5xx range indicate an error on the servers. These are rare and should usually go away when retrying. If you experience a lot of 5xx errors, contact support.
HTTP Status Code (client errors) Notes
400 Bad Request Potential reasons:
  • Resource doesn't exist
  • Request is incorrectly formatted
  • Request contains invalid values
403 Forbidden Incorrect permissions to access the Resource.
404 Not Found Resource cannot be found.
410 Gone Resource has been previously deleted.
415 Unsupported Media Type Incorrect Accept or Content-type header

Request Ids

Each request has a request identifier, which can be found in the response headers, in the following form:

x-trifacta-request-id: <myRequestId>

ℹ️ NOTE: If you have an issue with a specific request, please include the x-trifacta-request-id value when you contact support

Versioning and Endpoint Lifecycle

  • API versioning is not synchronized to specific releases of the platform.
  • APIs are designed to be backward compatible.
  • Any changes to the API will first go through a deprecation phase.

Trying the API

You can use a third party client, such as curl, HTTPie, Postman or the Insomnia rest client to test the Trifacta Wrangler API.

⚠️ When testing the API, bear in mind that you are working with your live production data, not sample data or test data.

Note that you will need to pass an API token with each request.

For e.g., here is how to run a job with curl:

curl -X POST 'https://yourworkspace.cloud.trifacta.com/v4/jobGroups' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <token>' \
-d '{ "wrangledDataset": { "id": "<recipe-id>" } }'

Using a graphical tool such as Postman or Insomnia, it is possible to import the API specifications directly:

  1. Download the API specification by clicking the Download button at top of this document
  2. Import the JSON specification in the graphical tool of your choice.
    • In Postman, you can click the import button at the top
    • With Insomnia, you can just drag-and-drop the file on the UI

Note that with Postman, you can also generate code snippets by selecting a request and clicking on the Code button.

Authentication

BearerAuth

ℹ️ NOTE: Each request to the Trifacta Wrangler Platform must include authentication credentials.

API access tokens can be acquired and applied to your requests to obscure sensitive Personally Identifiable Information (PII) and are compliant with common privacy and security standards. These tokens last for a preconfigured time period and can be renewed as needed.

You can create and delete access tokens through the Settings area of the application. With each request, you submit the token as part of the Authorization header.

Authorization: Bearer <tokenValue>

As needed, you can create and use additional tokens. There is no limit to the number of tokens you can create. See Manage API Access Tokens for more information.

Security Scheme Type HTTP
HTTP Authorization Scheme bearer

ApiAccessToken

An object used to provide a simpler and more secure way of accessing the REST API endpoints of the Trifacta Wrangler Platform. Access tokens limit exposure of clear-text authentication values and provide an easy method of managing authentication outside of the browser. See the Authentication section for more information.

Create api access token

Create an API Access Token. See the Authentication section for more information about API Access Token.

⚠️ API tokens inherit the API access of the user who creates them. Treat tokens as passwords and keep them in a secure place.

This request requires you to be authenticated.

  • If you do not have a valid access token to use at this time, you must first create one using the UI.

  • If you have a valid access token, you can submit that token in your Authentication header with this request.

ref: createApiAccessToken

Authorizations:
Request Body schema: application/json
lifetimeSeconds
required
integer

Lifetime in seconds for the access token. Set this value to -1 to create a non-expiring token.

description
string

User-friendly description for the access token

Responses

Request samples

Content type
application/json
{
  • "lifetimeSeconds": -1,
  • "description": "API access token description"
}

Response samples

Content type
application/json
{
  • "tokenValue": "eyJ0b2tlbklkIjoiYmFiOTA4ZjctZGNjMi00OTYyLTg1YmQtYzFlOTZkMGNhY2JkIiwic2VjcmV0IjoiOWIyNjQ5MWJiODM4ZWY0OWE1NzdhYzYxOWEwYTFkNjc4ZmE4NmE5MzBhZWFiZDk3OGRlOTY0ZWI0MDUyODhiOCJ9",
  • "tokenInfo": {
    }
}

List api access tokens

List API Access Tokens of the current user

ref: listApiAccessTokens

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get api access token

Get an existing api access token

ref: getApiAccessToken

Authorizations:
path Parameters
tokenId
required
string
Example: 0bc1d49f-5475-4c62-a0ba-6ad269389ada

Responses

Response samples

Content type
application/json
{
  • "tokenId": "0bc1d49f-5475-4c62-a0ba-6ad269389ada",
  • "description": "API access token description",
  • "expiredAt": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "lastUsed": null
}

Delete api access token

Delete the specified access token.

⚠️ If you delete an active access token, you may prevent the user from accessing the platform outside of the Trifacta application.

ref: deleteApiAccessToken

Authorizations:
path Parameters
tokenId
required
string
Example: 0bc1d49f-5475-4c62-a0ba-6ad269389ada

Responses

AwsConfig

An object containing information for accessing AWS S3 storage, including details like defaultBucket, credentials, etc.

Create AWS Config

Create a new AWS config

ref: createAwsConfig

Authorizations:
Request Body schema: application/json
credentialProvider
required
string
Enum: "default" "temporary"
  • default - Using AWS key/secret to authenticate to S3
  • temporary - Using AWS IAM Role to authenticate to S3
defaultBucket
string

Default S3 bucket where user can upload and write results

extraBuckets
Array of strings
role
string

AWS IAM Role, required when credential provider is set to temporary

externalId
string

This identifier is used to manage cross-account access in AWS. This value should not be modified.

key
string

AWS key string, required when credential provider is set to default

secret
string

AWS secret string, required when credential provider is set to default

personId
integer

When creating an AWS configuration, an administrator can insert the personId parameter to assign the configuration to the internal identifier for the user. If this parameter is not included, the AWS configuration is assigned to the user who created it.

Responses

Request samples

Content type
application/json
{
  • "defaultBucket": "bucketName",
  • "extraBuckets": [
    ],
  • "credentialProvider": "default",
  • "role": "arn:aws:iam::xxxxxxxxxxxxx:role/sample-role",
  • "externalId": "trifacta_****",
  • "key": "string",
  • "secret": "string",
  • "personId": 1
}

Response samples

Content type
application/json
{
  • "defaultBucket": "bucketName",
  • "extraBuckets": [
    ],
  • "credentialProvider": "default",
  • "role": "arn:aws:iam::xxxxxxxxxxxxx:role/sample-role",
  • "externalId": "trifacta_****",
  • "credential": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "activeRoleId": 1
}

List AWS configs

List existing aws configs

ℹ️ NOTE: Admin role is required to use this endpoint.

ref: listAwsConfigs

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Update AWS Config

The request body contains the parameters of the awsConfigs object that you wish to modify. You do not have to include parameters that are not being modified.

Request Body - bucket assignment:

The following changes the default bucket for the AWS configuration object.

{ "defaultBucket": "testing2" }

ref: updateAwsConfig

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
id
integer

unique identifier for this object.

defaultBucket
string

Default S3 bucket where user can upload and write results

extraBuckets
Array of strings
credentialProvider
string
Enum: "default" "temporary"
  • default - Using AWS key/secret to authenticate to S3
  • temporary - Using AWS IAM Role to authenticate to S3
role
string

AWS IAM Role, required when credential provider is set to temporary

key
string

AWS key string, required when credential provider is set to default

secret
string

AWS secret string, required when credential provider is set to default

personId
integer

When creating an AWS configuration, an administrator can insert the personId parameter to assign the configuration to the internal identifier for the user. If this parameter is not included, the AWS configuration is assigned to the user who created it.

externalId
string

This identifier is used to manage cross-account access in AWS. This value should not be modified.

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "defaultBucket": "bucketName",
  • "extraBuckets": [
    ],
  • "credentialProvider": "default",
  • "role": "arn:aws:iam::xxxxxxxxxxxxx:role/sample-role",
  • "key": "string",
  • "secret": "string",
  • "personId": 1,
  • "externalId": "trifacta_****"
}

Response samples

Content type
application/json
{
  • "defaultBucket": "bucketName",
  • "extraBuckets": [
    ],
  • "credentialProvider": "default",
  • "role": "arn:aws:iam::xxxxxxxxxxxxx:role/sample-role",
  • "externalId": "trifacta_****",
  • "credential": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "activeRoleId": 1
}

AwsRole

An object containing the AWS IAM Role ARN for authenticating aws resources when using role-base authentication, this object belongs to an awsConfig.

Create AWS role

Create an aws role.

ℹ️ NOTE: Admin role is required to use this endpoint.

ref: createAwsRole

Authorizations:
Request Body schema: application/json
role
required
string
personId
integer

Responses

Request samples

Content type
application/json
{
  • "role": "string",
  • "personId": 1
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "awsConfigId": 1,
  • "role": "string",
  • "createdFrom": "api",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z"
}

List AWS roles

List AWS roles for a user .

ref: listAwsRoles

Authorizations:
query Parameters
personId
integer

person id

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update AWS role

Update an existing aws role

ℹ️ NOTE: Admin role is required to use this endpoint.

ref: updateAwsRole

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
personId
integer
role
string
createdFrom
string
Enum: "api" "idp"

shows which means created the role

createdAt
string <date-time>

The time this object was first created.

updatedAt
string <date-time>

The time this object was last updated.

deletedAt
string <date-time>

The time this object was deleted.

Responses

Request samples

Content type
application/json
{
  • "personId": 1,
  • "role": "string",
  • "createdFrom": "api",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "awsConfigId": 1,
  • "role": "string",
  • "createdFrom": "api",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deletedAt": "2019-08-24T14:15:22Z"
}

Delete AWS role

Delete an existing aws role

ref: deleteAwsRole

Authorizations:
path Parameters
id
required
integer

Responses

Connection

An object representing Trifacta Wrangler's connection to an external data source. connections can be used for import, publishing, or both, depending on type.

Create connection

Create a new connection

ref: createConnection

Authorizations:
Request Body schema: application/json
vendor
required
string

String identifying the connection`s vendor

vendorName
required
string

Name of the vendor of the connection

type
required
string
Enum: "jdbc" "rest" "remotefile"

Type of connection

credentialType
required
string
Enum: "basic" "securityToken" "iamRoleArn" "iamDbUser" "oauth2" "keySecret" "apiKey" "awsKeySecret" "basicWithAppToken" "basicApp" "transactionKey" "password" "apiKeyWithToken"
  • basic - Simple username/password to be provided in the credentials property
  • securityToken - Connection uses username, password and security token to authenticate.
  • iamRoleArn - Connection uses username, password and optiona IAM Role ARN to authenticate.
  • iamDbUser - Connection uses IAM and DbUser to connect to the database.
  • oauth2 - Connection uses OAuth 2.0 to authenticate.
  • keySecret - connection uses key and secret to authenticate.
  • apiKey - Connection uses API Key for authentication.
  • awsKeySecret - Connection uses AWS Access Key and Secret Key for authentication.
  • basicWithAppToken - Connection uses Username, Password and Application Token for authentication.
  • basicApp - Connection uses App Id and Password for authentication.
  • transactionKey - Connection uses Login ID and Transaction key for authentication.
  • password - Connection uses Password for authentication.
  • apiKeyWithToken - Connection uses API Key and Token for authentication.
name
required
string

Display name of the connection.

params
required
object

This setting is populated with any parameters that are passed to the source duringconnection and operations. For relational sources, this setting may include thedefault database and extra load parameters.

ssl
boolean

When true, the Trifacta Wrangler Platform uses SSL to connect to the source

description
string

User-friendly description for the connection.

disableTypeInference
boolean

If set to false, type inference has been disabled for this connection. The default is true. When type inference has been disabled, the Trifacta Wrangler Platform does not apply Trifacta Wrangler types to data when it is imported.

isGlobal
boolean

If true, the connection is public and available to all users. Default is false.

NOTE: After a connection has been made public, it cannot be made private again. It must be deleted and recreated.

credentialsShared
boolean

If true, the credentials used for the connection are available for use byusers who have been shared the connection.

host
string

Host of the source

port
integer

Port number for the source

bucket
string

bucket name for the source

oauth2StateId
string
Array of basic (object) or securityToken (object) or iamRoleArn (object) or iamDbUser (object) or oauth2 (object) or keySecret (object) or apiKey (object) or awsKeySecret (object) or basicWithAppToken (object) or basicApp (object) or transactionKey (object) or password (object) or apiKeyWithToken (object) (credentialsInfo)

If present, these values are the credentials used to connect to the database.

Responses

Request samples

Content type
application/json
Example
{
  • "vendor": "oracle",
  • "vendorName": "oracle",
  • "type": "jdbc",
  • "name": "example_oracle_connection",
  • "description": "This is an oracle connection",
  • "disableTypeInference": false,
  • "isGlobal": false,
  • "credentialsShared": false,
  • "host": "my_oracle_host",
  • "port": 1521,
  • "params": {
    },
  • "credentialType": "basic",
  • "credentials": [
    ]
}

Response samples

Content type
application/json
{
  • "vendor": "oracle",
  • "vendorName": "oracle",
  • "type": "jdbc",
  • "credentialType": "basic",
  • "ssl": true,
  • "name": "example_oracle_connection",
  • "description": "string",
  • "disableTypeInference": true,
  • "isGlobal": true,
  • "credentialsShared": true,
  • "host": "example.oracle.test",
  • "port": 1521,
  • "id": "55",
  • "uuid": "f9cab740-50b7-11e9-ba15-93c82271a00b",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "credentials": [
    ],
  • "creator": {
    },
  • "updater": {
    },
  • "workspace": {
    },
  • "params": {
    }
}

List connections

List existing connections

ref: listConnections

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

sharedRole
string

Which type of role to list the connections

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Count connections

Count existing connections

ref: countConnections

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

sharedRole
string

Which type of role to count the connections

Responses

Response samples

Content type
application/json
{
  • "count": 1
}

Get connection

Get an existing connection

ref: getConnection

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

Responses

Response samples

Content type
application/json
{
  • "vendor": "oracle",
  • "vendorName": "oracle",
  • "type": "jdbc",
  • "credentialType": "basic",
  • "ssl": true,
  • "name": "example_oracle_connection",
  • "description": "string",
  • "disableTypeInference": true,
  • "isGlobal": true,
  • "credentialsShared": true,
  • "host": "example.oracle.test",
  • "port": 1521,
  • "id": "55",
  • "uuid": "f9cab740-50b7-11e9-ba15-93c82271a00b",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "credentials": [
    ],
  • "creator": {
    },
  • "updater": {
    },
  • "workspace": {
    },
  • "params": {
    }
}

Delete connection

Delete an existing connection

ref: deleteConnection

Authorizations:
path Parameters
id
required
integer

Responses

Get connection status

Get the connection status

ref: getConnectionStatus

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "result": "string"
}

ConnectorMetadata

Metadata that controls the behavior of JDBC connectors.

The terminology in the connectivity API is as follows:

  • A connector refers to a database adapter (i.e. postgres, mysql).
  • A connection is an instance of a connector. There can be multiple Postgres connections but only one postgres connector

The default configuration of each connector has been tuned for optimal performance and standardized type mapping behavior. If you require connector behavior changes, you can leverage the following APIs.

Create overrides for connector

The specified overrides are merged into the current set of overrides for the connector. A new entry is created if no overrides currently exist.

Type Mapping Example

The connector metadata stores a mapping for each Trifacta type to an official JDBC type and database native type. When Trifacta publishes to a new table, it uses the first type specified in the vendorTypeList. The rest of the types are used when validating the publish action during design time.

As an example, let’s override the type mapping behavior for the Postgres connector. By default it publishes Trifacta integers to bigint, but we can make it publish to int instead. Make a GET request to /v4/connectormetadata/postgres to get the current behavior. Locate the section called publishTypeMap and identify the element in the list where trifactaType is INTEGER. We can see that the first element under the corresponding vendorTypeList is bigint.

Since we want Postgres to write to int when creating string columns in a new table, move that value to the beginning of the vendorTypeList. Send a POST request to /v4/connectormetadata/postgres/overrides with the following body:

ℹ️ NOTE: Overriding the jdbcType is not supported behavior. Please use the same value from the default.

{
  "publishMetadata": {
    "publishTypeMap": [
      {
        "vendorTypeList": [
          "int",
          "bigint",
          "int2",
          "int4",
          "int8",
          "smallint",
          "serial",
          "bigserial",
          "text",
          "varchar",
          "bpchar",
          "char",
          "character varying",
          "character"
        ],
        "jdbcType": 4,
        "trifactaType": "INTEGER"
      }
    ]
  }
}

Rerun the GET request to ensure the values are reflected.

Publishing Performance Example

The default performance configurations have been tuned to work well with the majority of systems. There are a few parameters that can be tuned if needed:

  • numberOfConnections: Number of connections that are used to write data in parallel.
  • batchSize: Number of records written in each database batch.
{
  "publishMetadata": {
    "performanceParams": {
      "batchSize": 10000,
      "numberOfConnections": 5
    }
  }
}

Import Performance

The default performance configurations have been tuned to work well with the majority of systems. One parameter that can be tuned is the database fetchSize. By default it is set to a value of -1, which uses the default specified by the database driver. The following request body can override this value:

{
  "runtimeMetadata": {
    "importPerformance": {"fetchSize": 1000}
  }
}

ref: updateConnectorOverrides

Authorizations:
path Parameters
connector
required
string
Request Body schema: application/json
object
object

Responses

Request samples

Content type
application/json
Example
{
  • "publishMetadata": {
    }
}

Get overrides for connector

Get the metadata overrides for a connector in a given workspace. These overrides are applied to the base configuration for connectivity operations.

ref: getConnectorOverrides

Authorizations:
path Parameters
connector
required
string

Responses

Response samples

Content type
application/json
{
  • "connectionMetadata": {
    },
  • "runtimeMetadata": {
    },
  • "publishMetadata": {
    }
}

Delete all custom overrides for a connector

The connector will revert to the base configuration.

ref: deleteConnectorOverrides

Authorizations:
path Parameters
connector
required
string

Responses

Get connector metadata information

Get the consolidated metadata for a connector in a given workspace. This metadata is used to defined connectivity, ingestion, and publishing for the connector.

ref: getConnectorConfig

Authorizations:
path Parameters
connector
required
string

Responses

Response samples

Content type
application/json
{
  • "connectionMetadata": {
    },
  • "runtimeMetadata": {
    },
  • "publishMetadata": {
    }
}

Get default connector metadata information

Get the default metadata for a connector without applying custom overrides. This metadata is used to defined connectivity, ingestion, and publishing for the connector.

ref: getConnectorDefaults

Authorizations:
path Parameters
connector
required
string

Responses

Response samples

Content type
application/json
{
  • "connectionMetadata": {
    },
  • "runtimeMetadata": {
    },
  • "publishMetadata": {
    }
}

EnvironmentParameter

A parameter used globally in the workspace or project

Create environment parameter

Create a new environment parameter to be used in the workspace.

ℹ️ NOTE: Admin role is required to use this endpoint.

ref: createEnvironmentParameter

Authorizations:
Request Body schema: application/json
overrideKey
required
string

key/name used when overriding the value of the variable

required
object

Responses

Request samples

Content type
application/json
{
  • "overrideKey": "myVar",
  • "value": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "overrideKey": "myVar",
  • "value": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deleted_at": "2019-08-24T14:15:22Z",
  • "usageInfo": {
    }
}

List environment parameters

List existing environment parameters

ref: listEnvironmentParameters

Authorizations:
query Parameters
includeUsageInfo
string

Include information about where the environment parameter is used.

filter
string

Filter environment parameters using the attached overrideKey

fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Import environment parameters package

Import the environment parameters from the given package. A ZIP file as exported by the export environment parameters endpoint is accepted.

This endpoint accept a multipart/form content type.

Here is how to send the ZIP package using curl.

curl -X POST https://yourworkspace.cloud.trifacta.com/v4/environmentParameters/package \
-H 'authorization: Bearer <api-token>' \
-H 'content-type: multipart/form-data' \
-F 'data=@path/to/environment-parameters-package.zip'

The response lists the objects that have been created.

ℹ️ NOTE: Admin role is required to use this endpoint.

ref: importEnvironmentParametersPackage

Authorizations:
query Parameters
fromUI
boolean

If true, will return the list of imported environment parameters for confirmation.

Request Body schema: application/json
object Nullable

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
Example
{
  • "data": [
    ]
}

Export environment parameters list

Retrieve a package containing the list of environment parameters.

Response body is the contents of the package. Package contents are a ZIPped version of the list of environment parameters.

The environment parameters package can be used to import the environment parameters in another environment.

ℹ️ NOTE: Admin role is required to use this endpoint.

ref: getEnvironmentParametersPackage

Authorizations:
query Parameters
hideSecrets
boolean

If included, the secret values will be hidden.

Responses

Get environment parameter

Get an existing environment parameter

ℹ️ NOTE: Admin role is required to use this endpoint.

ref: getEnvironmentParameter

Authorizations:
path Parameters
id
required
integer
query Parameters
includeUsageInfo
string

Include information about where the environment parameter is used.

fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "overrideKey": "myVar",
  • "value": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "deleted_at": "2019-08-24T14:15:22Z",
  • "usageInfo": {
    }
}

Delete environment parameter

Delete an existing environment parameter

ℹ️ NOTE: Admin role is required to use this endpoint.

ref: deleteEnvironmentParameter

Authorizations:
path Parameters
id
required
integer

Responses

Flow

A container for wrangling logic. Contains imported datasets, recipe, output objects, and References.

Create flow

Create a new flow with specified name and optional description and target folder.

ℹ️ NOTE: You cannot add datasets to the flow through this endpoint. Moving pre-existing datasets into a flow is not supported in this release. Create the flow first and then when you create the datasets, associate them with the flow at the time of creation.

ref: createFlow

Authorizations:
Request Body schema: application/json
name
string

Display name of the flow.

description
string

User-friendly description for the flow.

object

Settings for the flow.

folderId
integer

Internal identifier for a Flow folder.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "settings": {
    },
  • "folderId": 1
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "folder": {
    },
  • "id": 1,
  • "defaultOutputDir": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "settings": {
    },
  • "workspace": {
    },
  • "flowState": {
    }
}

List flows

List existing flows

ref: listFlows

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

flowsFilter
string

Which types of flows to list. One of ['all', 'shared', 'owned']

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Import Flow package

Import all flows from the given package. A ZIP file as exported by the export Flow endpoint is accepted.

Before you import, you can perform a dry-run to check for errors. See Import Flow package - Dry run.

This endpoint accept a multipart/form content type.

Here is how to send the ZIP package using curl.

curl -X POST https://yourworkspace.cloud.trifacta.com/v4/flows/package \
-H 'authorization: Bearer <api-token>' \
-H 'content-type: multipart/form-data' \
-F 'data=@path/to/flow-package.zip'

The response lists the objects that have been created.

ref: importPackage

Authorizations:
query Parameters
folderId
integer
fromUI
boolean

If true, will return the list of imported environment parameters for confirmation if any are referenced in the flow.

Request Body schema: multipart/form-data
File
required
object (importFlowPackageRequestZip)

An exported flow zip file.

Array of environmentParameterMappingToExistingEnvParam (object) or environmentParameterMappingToManualValue (object) (environmentParameterMapping)

Responses

Response samples

Content type
application/json
Example
{
  • "deletedObjects": { },
  • "createdObjectMapping": { },
  • "importRuleChanges": {
    },
  • "primaryFlowIds": [
    ],
  • "flows": [
    ],
  • "datasources": [
    ],
  • "flownodes": [
    ],
  • "flowedges": [
    ],
  • "recipes": [
    ],
  • "outputobjects": [
    ],
  • "webhookflowtasks": [
    ],
  • "release": { }
}

Import Flow package - Dry run

Test importing flow package and return information about what objects would be created.

The same payload as for Import Flow package is expected.

ref: importPackageDryRun

Authorizations:
query Parameters
folderId
integer
Request Body schema: multipart/form-data
File
required
object (importFlowPackageRequestZip)

An exported flow zip file.

Array of environmentParameterMappingToExistingEnvParam (object) or environmentParameterMappingToManualValue (object) (environmentParameterMapping)

Responses

Response samples

Content type
application/json
Example
{
  • "deletedObjects": { },
  • "createdObjectMapping": { },
  • "importRuleChanges": {
    },
  • "primaryFlowIds": [
    ],
  • "flows": [
    ],
  • "datasources": [
    ],
  • "flownodes": [
    ],
  • "flowedges": [
    ],
  • "recipes": [
    ],
  • "outputobjects": [
    ],
  • "webhookflowtasks": [
    ],
  • "release": { }
}

Copy Flow

Create a copy of this flow, as well as all contained recipes.

ref: copyFlow

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
name
string

name of the new copied flow.

description
string

description of the new copied flow.

copyDatasources
boolean
Default: false

If true, Data sources will be copied (i.e. new imported datasets will be created, no data is copied on the file system). Otherwise, the existing imported datasets are reused.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "copyDatasources": false
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "folder": {
    },
  • "id": 1,
  • "defaultOutputDir": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "settings": {
    },
  • "workspace": {
    },
  • "flowState": {
    }
}

Run Flow

Run all adhoc destinations in a flow.

(deprecated) If a scheduleExecutionId is provided, run all scheduled destinations in the flow.

The request body can stay empty. You can optionally pass parameters:

{
  "runParameters": {
    "overrides": {
      "data": [{"key": "varRegion", "value": "02"}]
    }
  }
}

You can also pass Spark Options that will be used for the Job run.

{
  "sparkOptions": [
    {"key": "spark.executor.memory", "value": "4GB"}
  ]
}

Using recipe identifiers, you can specify a subset of outputs in the flow to run. See runJobGroup for more information on specifying wrangledDataset.

{"wrangledDatasetIds": [2, 3]}

You can also override each outputs in the Flow using the recipe name.

{
  "overrides": {
    "my recipe name": {
      "profiler": true,
      "writesettings": [
        {
          "path": "<path_to_output_file>",
          "action": "create",
          "format": "csv",
          "compression": "none",
          "header": false,
          "asSingleFile": false
        }
      ]
    }
  }
}

An array of jobGroup results is returned. Use the flowRunId if you want to track the status of the flow run. See Get Flow Run Status for more information.

ref: runFlow

Authorizations:
path Parameters
id
required
integer
header Parameters
x-execution-id
string
Example: f9cab740-50b7-11e9-ba15-93c82271a00b

Optional header to safely retry the request without accidentally performing the same operation twice. If a FlowRun with the same executionId already exist, the request will return a 304.

Request Body schema: application/json
ignoreRecipeErrors
boolean

Setting this flag to true will mean the job will run even if there are upstream recipe errors. Setting it to false will cause the Request to fail on recipe errors.

object (runParameterOverrides)

Allows to override parameters that are defined in the flow on datasets or outputs for e.g.

scheduleExecutionId
integer
Array of objects (outputObjectSparkOptionUpdateRequest)
Array of objects (databricksOptionsUpdateRequest)
execution
string
Enum: "photon" "emrSpark"

Execution language. Indicate on which engine the job was executed. Can be null/missing for scheduled jobs that fail during the validation phase.

  • photon - Photon engine. High performance embedded engine designed for small datasets (up to 1GB).
    Not available for all product editions.
  • emrSpark - Spark engine running on EMR
wrangledDatasetIds
Array of integers

Subset of outputs (identified by identifier of the recipe preceding the output) in this flow to run. When empty or unspecified, all outputs in the flow will be run.

overrides
object

Overrides for each of the output object. Use the recipe name to specify the overrides.

Responses

Request samples

Content type
application/json
Example
{ }

Response samples

Content type
application/json
{
  • "flowRunId": 1,
  • "data": [
    ]
}

Count flows

Count existing flows

ref: countFlows

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

flowsFilter
string

Which types of flows to count. One of ['all', 'shared', 'owned']

Responses

Response samples

Content type
application/json
{
  • "count": 1
}

Get flow

Get an existing flow

ref: getFlow

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "folder": {
    },
  • "id": 1,
  • "defaultOutputDir": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "settings": {
    },
  • "workspace": {
    },
  • "flowState": {
    }
}

Patch flow

Update an existing flow based on the specified identifier.

ℹ️ NOTE: You cannot add datasets to the flow through this endpoint. Moving pre-existing datasets into a flow is not supported in this release. Create the flow first and then when you create the datasets, associate them with the flow at the time of creation.

ref: patchFlow

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
name
string

Display name of the flow.

description
string

User-friendly description for the flow.

object

Settings for the flow.

folderId
integer

Internal identifier for a Flow folder.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "settings": {
    },
  • "folderId": 1
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "updater": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete flow

Delete an existing flow

ref: deleteFlow

Authorizations:
path Parameters
id
required
integer

Responses

Export flow

Retrieve a package containing the definition of the specified flow.

Response body is the contents of the package. Package contents are a ZIPped version of the flow definition.

The flow package can be used to import the flow in another environment. See the Import Flow Package for more information.

ref: getFlowPackage

Authorizations:
path Parameters
id
required
integer
query Parameters
comment
string

comment to be displayed when flow is imported in a deployment package

Responses

Export flow - Dry run

Performs a dry-run of generating a flow package and exporting it, which performs a check of all permissions required to export the package.

If they occur, permissions errors are reported in the response.

ref: getFlowPackageDryRun

Authorizations:
path Parameters
id
required
integer

Responses

Flow Library (list)

List flows, with special filtering behaviour

ref: listFlowsLibrary

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

flowsFilter
string

Which types of flows to list. One of ['all', 'shared', 'owned']

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Flow Library (count)

Count flows, with special filtering behaviour

ref: countFlowsLibrary

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

flowsFilter
string

Which types of flows to count. One of ['all', 'shared', 'owned']

Responses

Response samples

Content type
application/json
{
  • "count": {
    }
}

List Flow inputs

List all the inputs of a Flow. Also include data sources that are present in referenced flows.

ref: getFlowInputs

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

List Flow outputs

List all the outputs of a Flow.

ref: getFlowOutputs

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

List flows in folder

Get all flows contained in this folder.

ref: getFlowsForFolder

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

flowsFilter
string

Which types of flows to list. One of ['all', 'shared', 'owned']

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Count flows in folder

Get the count of flows contained in this folder.

ref: getFlowCountForFolder

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

flowsFilter
string

Which types of flows to count. One of ['all', 'shared', 'owned']

Responses

Response samples

Content type
application/json
{
  • "count": 1
}

Replace dataset

Replace the dataset or the specified wrangled dataset (flow node) in the flow with a new imported or wrangled dataset. This allows one to perform the same action as the "Replace" action in the flow UI.

You can get the flow node id (wrangled dataset id) and the imported it from the URL when clicking on a node in the UI.

ref: replaceDatasetInFlow

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
One of
flowNodeId
required
integer
newImportedDatasetId
required
integer

Responses

Request samples

Content type
application/json
Example
{
  • "flowNodeId": 1,
  • "newImportedDatasetId": 1
}

Response samples

Content type
application/json
{
  • "newInputNode": {
    },
  • "outputNodeEdges": [
    ]
}

FlowNode

A placeholder for an object in a flow. Can represent an imported dataset, a recipe, or a Reference.

Create new edges

Create edges between nodes

ref: commitEdges

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "updateInfo": {
    }
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}

FlowPermission

An internal object representing the relationship between a flow and any person objects with which it is shared.

Share Flow

Share a flow with other users. Collaborators can add and edit recipes and datasets in this flow.

ref: shareFlow

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
required
Array of flowPermissionWithEmailRequest (object) or flowPermissionWithPersonIdRequest (object)

Responses

Request samples

Content type
application/json
Example
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}

FlowRun

An object representing a flow run.

Get flow run

Get an existing flow run

ref: getFlowRun

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "scheduleExecutionId": 1,
  • "requestId": "string",
  • "flow": {
    }
}

Get Flow Run Status

Get the status of a Flow Run. It combines the status of the underlying Job Groups.

ref: getFlowRunStatus

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
"Complete"

Get JobGroups for Flow Run

Get the list of jobGroups.

ref: getFlowRunJobGroups

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

FlowRunParameterOverride

Used to override the default value of runParameter in a flow

Create flow run parameter override

Create a new flow run parameter override

ref: createFlowRunParameterOverride

Authorizations:
Request Body schema: application/json
flowId
required
number
overrideKey
required
string

key/name used when overriding the value of the variable

required
object

Responses

Request samples

Content type
application/json
{
  • "overrideKey": "myVar",
  • "value": {
    },
  • "flowId": 0
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "flowId": 1,
  • "overrideKey": "string",
  • "value": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Get flow run parameter override

Get an existing flow run parameter override

ref: getFlowRunParameterOverride

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

Responses

Response samples

Content type
application/json
{
  • "overrideKey": "myVar",
  • "value": {
    },
  • "flow": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Patch flow run parameter override

Patch an existing flow run parameter override

ref: patchFlowRunParameterOverride

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
overrideKey
string

key/name used when overriding the value of the variable

object

Responses

Request samples

Content type
application/json
{
  • "overrideKey": "myVar",
  • "value": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "updater": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete flow run parameter override

Delete an existing flow run parameter override

ref: deleteFlowRunParameterOverride

Authorizations:
path Parameters
id
required
integer

Responses

Folder

A collection of flows, useful for organization.

Create folder

Create a new folder

ref: createFolder

Authorizations:
Request Body schema: application/json
name
string

Display name of the folder.

description
string

User-friendly description for the folder.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "workspace": {
    }
}

List folders

List existing folders

ref: listFolders

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Count folders

Count existing folders

ref: countFolders

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "count": 1
}

Get folder

Get an existing folder

ref: getFolder

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "workspace": {
    }
}

Patch folder

Patch an existing folder

ref: patchFolder

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
name
string

Display name of the folder.

description
string

User-friendly description for the folder.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "updater": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete folder

Delete an existing folder

ref: deleteFolder

Authorizations:
path Parameters
id
required
integer

Responses

List flows in folder

Get all flows contained in this folder.

ref: getFlowsForFolder

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

flowsFilter
string

Which types of flows to list. One of ['all', 'shared', 'owned']

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Count flows in folder

Get the count of flows contained in this folder.

ref: getFlowCountForFolder

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

flowsFilter
string

Which types of flows to count. One of ['all', 'shared', 'owned']

Responses

Response samples

Content type
application/json
{
  • "count": 1
}

ImportedDataset

An object representing data loaded into Trifacta Wrangler, as well as any structuring that has been applied to it. imported datasets are the starting point for wrangling, and can be used in multiple flows.

Create imported dataset

Create an imported dataset from an available resource. Created dataset is owned by the authenticated user.

In general, importing a file is done using the following payload:

{
  "uri": "protocol://path-to-file",
  "name": "my dataset",
  "detectStructure": true
}

See more examples in the Request Samples section.

TIP: When an imported dataset is created via API, it is always imported as an unstructured dataset by default. To import a dataset with the inferred recipe, add detectStructure: true in the payload.

ℹ️ NOTE: Do not create an imported dataset from a file that is being used by another imported dataset. If you delete the newly created imported dataset, the file is removed, and the other dataset is corrupted. Use a new file or make a copy of the first file first.

ℹ️ NOTE: Importing a Microsoft Excel file or a file that need to be converted using the API is not supported yet.

ref: createImportedDataset

Authorizations:
Request Body schema: application/json
Any of
One of
name
required
string

Display name of the imported dataset.

uri
required
string

Dataset URI

description
string

User-friendly description for the imported dataset.

type
string

Indicate the type of dataset. If not specified, the default storage protocol is used.

isDynamic
boolean
Default: false

indicate if the datasource is parameterized. In that case, a dynamicPath should be passed.

host
string

Host for the dataset

userinfo
string

User info for the dataset

detectStructure
boolean
Default: false

Indicate if a parsing script should be inferred when importing the dataset. By default, the dataset is imported unstructured.

dynamicPath
string

Path used when resolving the parameters. It is used when running a job or collecting a sample. It is different from the one used as a storage location which corresponds to the first match. The latter is used when doing a fast preview in the UI.

encoding
string
Default: "UTF-8"

Optional dataset encoding.

sanitizeColumnNames
boolean
Default: false

Indicate whether the column names in the imported file should be sanitized

ensureHeader
boolean

If provided, forces first row header toggle

Array of objects (runParameterFileBasedInfo)

Description of the dataset parameters if the dataset is parameterized. isDynamic should be set to true in that case.

Responses

Request samples

Content type
application/json
Example
{
  • "uri": "protocol://path-to-file",
  • "name": "my dataset",
  • "detectStructure": true
}

Response samples

Content type
application/json
{
  • "dynamicPath": "string",
  • "isDynamic": false,
  • "isConverted": true,
  • "parsingScript": {
    },
  • "storageLocation": {
    },
  • "connection": {
    },
  • "runParameters": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "workspace": {
    },
  • "name": "My Dataset",
  • "description": "string"
}

Add Imported Dataset to Flow

Add the specified imported dataset to a flow based on its internal identifier.

ℹ️ NOTE: Datasets can be added to flows based on the permissions of the access token used on this endpoint. Datasets can be added to flows that are shared by the user.

ref: addImportedDatasetToFlow

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
required
object

The flow to add this dataset to.

Responses

Request samples

Content type
application/json
{
  • "flow": {
    }
}

Response samples

Content type
application/json
{
  • "flow": {
    },
  • "recipe": {
    },
  • "activeSample": {
    },
  • "wrangled": true
}

Copy imported dataset

Create a copy of an imported dataset

ref: copyDataSource

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
name
string

name of the copied dataset

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "dynamicPath": "string",
  • "isSchematized": true,
  • "isDynamic": true,
  • "isConverted": true,
  • "disableTypeInference": true,
  • "hasStructuring": true,
  • "parsingScript": {
    },
  • "storageLocation": {
    },
  • "connection": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "workspace": {
    }
}

List Flow inputs

List all the inputs of a Flow. Also include data sources that are present in referenced flows.

ref: getFlowInputs

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get imported dataset

Get the specified imported dataset.

Use the following embedded reference to embed in the response data about the connection used to acquire the source dataset if it was created from a custom connection. See embedding resources for more information.

/v4/importedDatasets/{id}?embed=connection

ref: getImportedDataset

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

Responses

Response samples

Content type
application/json
{
  • "dynamicPath": "string",
  • "isDynamic": false,
  • "isConverted": true,
  • "parsingScript": {
    },
  • "storageLocation": {
    },
  • "connection": {
    },
  • "runParameters": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "workspace": {
    },
  • "name": "My Dataset",
  • "description": "string"
}

Update imported dataset

Modify the specified imported dataset. Name, path, bucket etc. for gcs can be modified.

ℹ️ NOTE: Samples will not be updated for the recipes. This results in the recipe showing samples of the older data.

ref: updateImportedDataset

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
name
string

Display name of the imported dataset.

description
string

User-friendly description for the imported dataset.

type
string

Indicate the type of dataset. If not specified, the default storage protocol is used.

isDynamic
boolean
Default: false

indicate if the datasource is parameterized. In that case, a dynamicPath should be passed.

host
string

Host for the dataset

userinfo
string

User info for the dataset

bucket
string

The bucket is required if the datasource is stored in a bucket file system.

raw
string

Raw SQL query

path
string
dynamicPath
string

Path used when resolving the parameters. It is used when running a job or collecting a sample. It is different from the one used as a storage location which corresponds to the first match. The latter is used when doing a fast preview in the UI.

Array of objects (runParameterInfo)
dynamicBucket
string
dynamicHost
string
dynamicUserInfo
string
isConverted
boolean

Indicate if the imported dataset is converted. This is the case for Microsoft Excel Dataset for e.g.

Responses

Request samples

Content type
application/json
{
  • "name": "My Dataset",
  • "description": "string",
  • "type": "string",
  • "isDynamic": false,
  • "host": "string",
  • "userinfo": "string",
  • "bucket": "string",
  • "raw": "SELECT * FROM table",
  • "path": "string",
  • "dynamicPath": "string",
  • "runParameters": [
    ],
  • "dynamicBucket": "string",
  • "dynamicHost": "string",
  • "dynamicUserInfo": "string",
  • "isConverted": true
}

Response samples

Content type
application/json
{
  • "dynamicPath": "string",
  • "isDynamic": false,
  • "isConverted": true,
  • "parsingScript": {
    },
  • "storageLocation": {
    },
  • "connection": {
    },
  • "runParameters": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "workspace": {
    },
  • "name": "My Dataset",
  • "description": "string"
}

Patch imported dataset

Modify the specified imported dataset. Only the name and description properties should be modified.

ref: patchImportedDataset

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
name
string

Display name of the imported dataset.

description
string

User-friendly description for the imported dataset.

Responses

Request samples

Content type
application/json
{
  • "name": "My Dataset",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "dynamicPath": "string",
  • "isDynamic": false,
  • "isConverted": true,
  • "parsingScript": {
    },
  • "storageLocation": {
    },
  • "connection": {
    },
  • "runParameters": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "workspace": {
    },
  • "name": "My Dataset",
  • "description": "string"
}

Delete imported dataset

Delete an existing imported dataset

ref: deleteImportedDataset

Authorizations:
path Parameters
id
required
integer

Responses

List inputs for Output Object

List all the inputs that are linked to this output object. Also include data sources that are present in referenced flows.

ref: getInputsForOutputObject

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

List Datasets

List Trifacta Wrangler datasets.
This can be used to list both imported and reference datasets throughout the system, as well as recipes in a given flow.

ref: listDatasetLibrary

Authorizations:
query Parameters
required
string or Array of strings

Which types of datasets to list. Valid choices are: [all, imported, reference, recipe]

ownershipFilter
string

Which set of datasets to list. One of [all, shared, owned]

schematized
boolean

If included, filter to only show schematized imported datasets.

currentFlowId
integer

Required for including recipes. If included, and datasetsFilter includes recipes, response will include recipes in the current flow.

datasourceFlowId
integer

When included, filter included datasets to only include those associated to the given flow.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

flowId
integer

When provided, list datasets associated with this flow before other datasets.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Count Datasets

Count Trifacta Wrangler datasets. Gives counts for various types of datasets matching the provided filters.

ref: countDatasetLibrary

Authorizations:
query Parameters
ownershipFilter
string

Which set of datasets to count. One of [all, shared, owned]

schematized
boolean

If included, filter to only show schematized imported datasets.

currentFlowId
integer

Required for including recipes. If included, and datasetsFilter includes recipes, response will include recipes in the current flow.

datasourceFlowId
integer

When included, filter included datasets to only include those associated to the given flow.

flowId
integer

When provided, count datasets associated with this flow before other datasets.

filter
string
Example: filter=my-object

Value for fuzzy-filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "count": {
    }
}

Job

An internal object encoding the information necessary to run a part of a Trifacta Wrangler jobGroup.

This is called a "Stage" on the Job Results page in the UI.

Get Jobs for Job Group

Get information about the batch jobs within a Trifacta Wrangler job.

ref: getJobsForJobGroup

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Job Status

Get Job Status.

ref: getJobStatus

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
"Complete"

JobGroup

A collection of internal jobs, representing a single execution from the user, or the generation of a single Sample.

The terminology might be slightly confusing but remains for backward compatibility reasons.

  • A jobGroup is generally called a "Job" in the UI.
  • A job is called a "Stage" in the UI.

Run Job Group

Create a jobGroup, which launches the specified job as the authenticated user. This performs the same action as clicking on the Run Job button in the application.

The request specification depends on one of the following conditions:

  • The recipe (wrangledDataset) already has an output object and just needs to be run.
  • The recipe has already had a job run against it and just needs to be re-run.
  • The recipe has not had a job run, or the job definition needs to be re-specified.

In the last case, you must specify some overrides when running the job. See the example with overrides for more information.

ℹ️ NOTE: Override values applied to a job are not validated. Invalid overrides may cause your job to fail.

Request Body - Run job

To run a job, you just specify the recipe identifier (wrangledDataset.id). If the job is successful, all defined outputs are generated, as defined in the outputobject, publications, and writeSettings objects associated with the recipe.

TIP: To identify the wrangledDataset Id, select the recipe icon in the flow view and take the id shown in the URL. e.g. if the URL is /flows/10?recipe=7, the wrangledDataset Id is 7.

{"wrangledDataset": {"id": 7}}

Overriding the output settings

If you must change some outputs or other settings for the specific job, you can insert these changes in the overrides section of the request. In the example below, the running environment, profiling option, and writeSettings for the job are modified for this execution.

{
  "wrangledDataset": {"id": 1},
  "overrides": {
    "execution": "spark",
    "profiler": false,
    "writesettings": [
      {
        "path": "<path_to_output_file>",
        "action": "create",
        "format": "csv",
        "compression": "none",
        "header": false,
        "asSingleFile": false
      }
    ]
  }
}

Using Variables (Run Parameters)

If you have created a dataset with parameters, you can specify overrides for parameter values during execution through the APIs. Through this method, you can iterate job executions across all matching sources of a parameterized dataset. In the example below, the runParameters override has been specified for the country. In this case, the value "Germany" is inserted for the specified variable as part of the job execution.

{
  "wrangledDataset": {"id": 33},
  "runParameters": {
    "overrides": {
      "data": [{"key": "country", "value": "Germany"}]
    }
  }
}

Response

The response contains a list of jobs which can be used to get a granular status of the JobGroup completion. The jobGraph indicates the dependency between each of the jobs.

{
  "sessionId": "79276c31-c58c-4e79-ae5e-fed1a25ebca1",
  "reason": "JobStarted",
  "jobGraph": {
    "vertices": [21, 22],
    "edges": [{"source": 21, "target": 22}]
  },
  "id": 9,
  "jobs": {"data": [{"id": 21}, {"id": 22}]}
}

Acquire internal jobGroup identifier

When you create a new jobGroup through the APIs, the internal jobGroup identifier is returned in the response. Retain this identifier for future use. You can also acquire the jobGroup identifier from the application. In the Jobs page, the internal identifier for the jobGroup is the value in the left column.

ref: runJobGroup

Authorizations:
header Parameters
x-execution-id
string
Example: f9cab740-50b7-11e9-ba15-93c82271a00b

Optional header to safely retry the request without accidentally performing the same operation twice. If a JobGroup with the same executionId already exist, the request will return a 304.

Request Body schema: application/json
required
object

The identifier for the recipe you would like to run.

forceCacheUpdate
boolean

Setting this flag to true will invalidate any cached datasources. This only applies to SQL datasets.

ignoreRecipeErrors
boolean
Default: false

Setting this flag to true will mean the job will run even if there are upstream recipe errors. Setting it to false will cause the Request to fail on recipe errors.

testMode
boolean

Setting this flag to true will not run the job but just perform some validations.

object (runParameterOverrides)

Allows to override parameters that are defined in the flow on datasets or outputs for e.g.

workspaceId
integer

Internal. Does not need to be specified

object

Allows to override execution settings that are set on the output object.

ranfrom
string
Enum: "ui" "schedule" "api"

Where the job was executed from. Does not need to be specified when using the API.

  • ui - Trifacta Wrangler application
  • schedule - Scheduled
  • api - the API (using an API token)

Responses

Request samples

Content type
application/json
Example
{
  • "wrangledDataset": {
    }
}

Response samples

Content type
application/json
{
  • "sessionId": "79276c31-c58c-4e79-ae5e-fed1a25ebca1",
  • "reason": "JobStarted",
  • "jobGraph": {
    },
  • "id": 9,
  • "jobs": {
    }
}

List job groups Deprecated

Deprecated. Use listJobLibrary instead.

ref: listJobGroups

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

flowNodeId
integer
ranfor
string
Default: "recipe,plan"

filter jobs based on their type

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get job group

Get the specified jobGroup.

A job group is a job that is executed from a specific node in a flow. The job group may contain:

  • Wrangling job on the dataset associated with the node
  • Jobs on all datasets on which the selected job may depend
  • A profiling job for the job group

JobGroup Status

It is possible to only get the current status for a jobGroup:

/v4/jobGroups/{id}/status

In that case, the response status would simply be a string:

"Complete"

Embedding resources

If you wish to also get the related jobs and wrangledDataset, you can use embed. See embedding resources for more information.

/v4/jobGroups/{id}?embed=jobs,wrangledDataset

ref: getJobGroup

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "ranfrom": "ui",
  • "ranfor": "recipe",
  • "status": "Complete",
  • "profilingEnabled": true,
  • "runParameterReferenceDate": "2019-08-24T14:15:22Z",
  • "snapshot": {
    },
  • "wrangledDataset": {
    },
  • "flowrun": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    }
}

Get Profile Information for Job Group

Get the profile information about the jobGroup in a JSON format. This is only available if the jobGroup was run with profiling enabled.

ref: getProfilingInformationForJobGroup

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "profilerTypeCheckHistograms": {
    },
  • "profilerValidValueHistograms": {
    },
  • "profilerRules": {
    },
  • "columnTypes": {
    }
}

Get Profile Information for Job Group

Get the profile information about the jobGroup in a JSON format. This is only available if the jobGroup was run with profiling enabled.

ref: getProfilingInformationForJobGroupConsistent

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "profilerTypeCheckHistograms": {
    },
  • "profilerValidValueHistograms": {
    },
  • "profilerRules": {
    },
  • "columnTypes": {
    }
}

Get PDF Results for Job Group

Get the profile results for the specified jobGroup as PDF. The response type is application/pdf. This is only available if the jobGroup was run with profiling enabled.

ref: getJobGroupPdfResults

Authorizations:
path Parameters
id
required
integer

Responses

Get JobGroup Status

Get JobGroup Status.

ref: getJobGroupStatus

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
"Complete"

Get Job Group Inputs

Get the job group inputs. Return the list of datasets used when running this jobGroup.

ref: getJobGroupInputs

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Job Group Outputs

Get the job group outputs. Return the list of tables and file paths used as output.

ref: getJobGroupOutputs

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "files": [
    ],
  • "tables": [
    ]
}

List Job Groups

Get list of all jobGroup accessible to the authenticated user.

Note that it is possible to embed other resources while fetching the jobGroup list. e.g.:

/v4/jobLibrary/?embed=jobs,wrangledDataset

See embedding resources for more information.

Filtering

Example: Filtering for JobGroup Status

It is possible to filter jobGroups based on their status. Here is how to get all jobGroups with a Failed status:

/v4/jobLibrary?status=Failed

Example: Filtering only scheduled Jobs

It is possible to filter only scheduled jobGroups using the following request:

/v4/jobLibrary?ranfrom=schedule

Example: Date filtering

It is also possible to filter the jobGroups based on the Date. Here is an example:

/v4/jobLibrary?dateFilter[createdAt][gte]=1572994800000&dateFilter[updatedAt][lt]=1581375600000

ref: listJobLibrary

Authorizations:
query Parameters
limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

dateFilter
object

for filtering jobgroups by start and end date

ranfrom
string

filter jobs based on how they were run

status
string

filter jobs based on their status

ranfor
string
Default: "recipe,plan"

filter jobs based on their type

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Count Job Groups

Count Trifacta Wrangler jobs with special filter capabilities. See listJobLibrary for some examples.

ref: countJobLibrary

Authorizations:
query Parameters
limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

dateFilter
object

for filtering jobgroups by start and end date

ranfrom
string

filter jobs based on how they were run

status
string

filter jobs based on their status

ranfor
string
Default: "recipe,plan"

filter jobs based on their type

Responses

Response samples

Content type
application/json
{
  • "count": 1
}

Get Jobs for Job Group

Get information about the batch jobs within a Trifacta Wrangler job.

ref: getJobsForJobGroup

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get Publications for Job Group

Get list of publications for the specified jobGroup.

A publication is an export of job results from the platform after they have been initially generated.

ref: getPublicationsForJobGroup

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Macro

An object containing a list of scriptLines that can be reused across recipes.

Import Macro Package

Performs an import of a macro package.

ℹ️ NOTE: You cannot import a macro that was exported from a later version of the product.

TIP: You can paste the response of the exported macro page as the request.

ℹ️ NOTE: Modification of the macro definition is not supported outside of the Trifacta Wrangler.

ref: importMacroPackage

Authorizations:
Request Body schema:
type
required
string

Type of artifact. This value is always macro for this endpoint.

kind
required
string

This value is artifact

hash
required
string

Hash value used to verify the internal integrity of the macro definition.

required
object
required
object

Responses

Request samples

Content type
{
  • "type": "string",
  • "kind": "string",
  • "hash": "string",
  • "data": {
    },
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "string",
  • "description": "string",
  • "createdBy": 1,
  • "updatedBy": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "workspaceId": 1
}

Get Macro Package

Retrieve a package containing the definition of the specified macro. Response body is the contents of the package, which is an importable version of the macro definition.

TIP: The response body can be pasted as the request when you import the macro into a different environment. For more information, see Import Macro Package.

ℹ️ NOTE: Modification of the macro definition is not supported outside of the Trifacta Wrangler.

ref: getMacroPackage

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "kind": "string",
  • "hash": "string",
  • "data": {
    },
  • "metadata": {
    }
}

Misc

A collection of miscellaneous endpoints.

Get OpenAPI specification

Get Open Api specifications

ref: getOpenApiSpec

Authorizations:

Responses

Response samples

Content type
application/json
{ }

OutputObject

An outputObject is a definition of one or more types of outputs and how they are generated.

Create output object

If an outputObject already exists for the recipe (flowNodeId) to which you are posting, you must either modify the object instead or delete it before posting your new object.

ref: createOutputObject

Authorizations:
Request Body schema: application/json
execution
required
string
Enum: "photon" "emrSpark"

Execution language. Indicate on which engine the job was executed. Can be null/missing for scheduled jobs that fail during the validation phase.

  • photon - Photon engine. High performance embedded engine designed for small datasets (up to 1GB).
    Not available for all product editions.
  • emrSpark - Spark engine running on EMR
profiler
required
boolean

Indicate if recipe errors should be ignored for the jobGroup.

isAdhoc
boolean
Default: true

Indicate if the outputObject correspond to manual (Adhoc) or scheduled run.

ignoreRecipeErrors
boolean

Indicate if profiling information should be produced as part of the jobGroup. This will create a Profile job.

checkSchemaDrift
boolean

Indicate if schema drift checks should be performed for the jobGroup.

flowNodeId
integer

FlowNode the outputObject should be attached to. (This is also the id of the wrangledDataset).

Array of objects (writeSettingCreateRequest)

Optionally you can include writeSettings while creating the outputObject

Array of objects (sqlScriptCreateRequest)

Optionally you can include sqlScripts while creating the outputObject

Array of objects (publicationCreateRequest)

Optionally you can include publications while creating the outputObject

Responses

Request samples

Content type
application/json
{
  • "execution": "photon",
  • "profiler": true,
  • "isAdhoc": true,
  • "ignoreRecipeErrors": true,
  • "checkSchemaDrift": true,
  • "flowNodeId": 1,
  • "writeSettings": [
    ],
  • "sqlScripts": [
    ],
  • "publications": [
    ]
}

Response samples

Content type
application/json
{
  • "execution": "photon",
  • "profiler": true,
  • "checkSchemaDrift": true,
  • "isAdhoc": true,
  • "flownode": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    }
}

List output objects

List existing output objects

ref: listOutputObjects

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

List Flow outputs

List all the outputs of a Flow.

ref: getFlowOutputs

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Count output objects

Count existing output objects

ref: countOutputObjects

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "count": 1
}

Get output object

Get the specified outputObject.

Note that it is possible to include writeSettings and publications that are linked to this outputObject. See embedding resources for more information.

/v4/outputObjects/{id}?embed=writeSettings,publications

ref: getOutputObject

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

Responses

Response samples

Content type
application/json
{
  • "execution": "photon",
  • "profiler": true,
  • "checkSchemaDrift": true,
  • "isAdhoc": true,
  • "flownode": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    }
}

Patch output object

Patch an existing output object

ref: patchOutputObject

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
execution
string
Enum: "photon" "emrSpark"

Execution language. Indicate on which engine the job was executed. Can be null/missing for scheduled jobs that fail during the validation phase.

  • photon - Photon engine. High performance embedded engine designed for small datasets (up to 1GB).
    Not available for all product editions.
  • emrSpark - Spark engine running on EMR
profiler
boolean

Indicate if recipe errors should be ignored for the jobGroup.

ignoreRecipeErrors
boolean

Indicate if profiling information should be produced as part of the jobGroup. This will create a Profile job.

checkSchemaDrift
boolean

Indicate if schema drift checks should be performed for the jobGroup.

Array of objects (writeSettingCreateRequest)
Array of objects (sqlScriptCreateRequest)
Array of objects (publicationCreateRequest)

Responses

Request samples

Content type
application/json
{
  • "execution": "photon",
  • "profiler": true,
  • "ignoreRecipeErrors": true,
  • "checkSchemaDrift": true,
  • "writeSettings": [
    ],
  • "sqlScripts": [
    ],
  • "publications": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "updater": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete output object

Delete an existing output object

ref: deleteOutputObject

Authorizations:
path Parameters
id
required
integer

Responses

List inputs for Output Object

List all the inputs that are linked to this output object. Also include data sources that are present in referenced flows.

ref: getInputsForOutputObject

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Person

A Trifacta Wrangler user.

Get Current Person

Get information about the currently logged-in user.

ref: getCurrentPerson

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

uuid
string
workspaceId
string
includePrivileges
boolean

Include the user's maximal privileges and authorization roles

Responses

Response samples

Content type
application/json
{
  • "email": "joe@example.com",
  • "isDisabled": false,
  • "state": "active",
  • "id": 1,
  • "outputHomeDir": "/home-dir/queryResults/joe@example.com",
  • "uploadDir": "/uploads",
  • "lastLoginTime": "2019-08-24T14:15:22Z",
  • "lastStateChange": "2019-08-24T14:15:22Z",
  • "maximalPrivileges": [
    ]
}

Get person

Get an existing person

ref: getPerson

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

uuid
string
workspaceId
string
includePrivileges
boolean

Include the user's maximal privileges and authorization roles

Responses

Response samples

Content type
application/json
{
  • "email": "joe@example.com",
  • "isDisabled": false,
  • "state": "active",
  • "id": 1,
  • "outputHomeDir": "/home-dir/queryResults/joe@example.com",
  • "uploadDir": "/uploads",
  • "lastLoginTime": "2019-08-24T14:15:22Z",
  • "lastStateChange": "2019-08-24T14:15:22Z",
  • "maximalPrivileges": [
    ]
}

List people

List existing people

ref: listPerson

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

email
string
state
string
isDisabled
string
includePrivileges
boolean

Include the user's maximal privileges and authorization roles

noLimit
string

If set to true, will not limit the number of objects.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Plan

An orchestrated plan of tasks

Create plan

Create a new plan

ref: createPlan

Authorizations:
Request Body schema: application/json
name
required
string

Display name of the flow.

description
string

User-friendly description for the flow.

originalPlanId
integer

unique identifier for this object.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "originalPlanId": 1
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "workspace": {
    },
  • "snapshotted": true,
  • "originalPlanId": 1,
  • "description": "string",
  • "planSnapshotRunCount": 1,
  • "notificationsEnabled": true,
  • "latestPlanSnapshot": { },
  • "latestPlanSnapshotRun": { }
}

List plans

List existing plans

ref: listPlans

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

includeAssociatedPeople
boolean

If true, the returned plans will include a list of people with access.

ownershipFilter
string

Filter plans by ownership. Valid values are 'all', 'shared', and 'owned'.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Run plan

Run the plan. A new snapshot will be created if required.

If some flows or outputs referenced by the plan tasks have been deleted, it will return a MissingFlowReferences validation status.

If the plan is valid, it will be queued for execution. This endpoint returns a planSnapshotRunId that can be used to track the plan execution status using getPlanSnapshotRun.

ref: runPlan

Authorizations:
path Parameters
id
required
integer
header Parameters
x-execution-id
string
Example: f9cab740-50b7-11e9-ba15-93c82271a00b

Optional header to safely retry the request without accidentally performing the same operation twice. If a PlanSnapshotRun with the same executionId already exists, the request will return a 304.

Request Body schema: application/json
Array of objects (planNodeOverride)

Collection of run parameter overrides that should be applied to flow run parameters of the respective plan node.

Responses

Request samples

Content type
application/json
{
  • "planNodeOverrides": [
    ]
}

Response samples

Content type
application/json
{
  • "validationStatus": "Valid",
  • "planSnapshotRunId": 1
}

Share Plan

Share a plan with other users. Collaborators can edit the plan.

ref: sharePlan

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
required
Array of shareRequestWithEmail (object) or shareRequestWithPersonId (object)

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}

List permissions for plan

Get a list of users with whom the plan is shared.

ref: getPlanPermissions

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Import plan package

Import the plan and associated flows from the given package. A ZIP file as exported by the export plan endpoint is accepted.

Before you import, you can perform a dry-run to check for errors. See Import plan package - dry run.

This endpoint accept a multipart/form content type.

Here is how to send the ZIP package using curl.

curl -X POST https://yourworkspace.cloud.trifacta.com/v4/plans/package \
-H 'authorization: Bearer <api-token>' \
-H 'content-type: multipart/form-data' \
-F 'data=@path/to/plan-package.zip'

The response lists the objects that have been created.

ref: importPlanPackage

Authorizations:
query Parameters
folderId
integer
fromUI
boolean

If true, will return the list of imported environment parameters for confirmation if any are referenced in the plan.

Request Body schema:
packageContents
required
object (importPlanPackageRequestZip)

An exported plan zip file.

required
Array of environmentParameterMappingToExistingEnvParam (object) or environmentParameterMappingToManualValue (object) (environmentParameterMapping)

Responses

Request samples

Content type
{
  • "packageContents": { },
  • "environmentParameterMapping": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "flowPackages": [
    ],
  • "planPackage": {
    },
  • "taskCount": 1
}

Count plans

Count existing plans

ref: countPlans

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

ownershipFilter
string

Filter plans by ownership.

Responses

Response samples

Content type
application/json
{
  • "count": 1
}

List run parameters

List run parameters of a plan. Parameters will be grouped by plannode. Each element in the returned list will only contain resources that have run parameters defined.

ref: planRunParameters

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "planNodeParameters": [
    ]
}

Read plan with all attributes

Read full plan with all its nodes, tasks, and edges.

ref: readFull

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

includeAssociatedPeople
boolean

If true, the returned plan will include a list of people with access.

includeCreatorInfo
boolean

If true, the returned plan will include info about the creators of the flows and plan such as name and email adress.

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "workspace": {
    },
  • "snapshotted": true,
  • "originalPlanId": 1,
  • "description": "string",
  • "planSnapshotRunCount": 1,
  • "notificationsEnabled": true,
  • "latestPlanSnapshot": { },
  • "latestPlanSnapshotRun": { }
}

List plan schedules

List of all schedules configured in the plan.

ref: getSchedulesForPlan

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Export plan

Retrieve a package containing the definition of the specified plan.

Response body is the contents of the package. Package contents are a ZIPped version of the plan definition.

The plan package can be used to import the plan in another environment. See the Import Plan Package for more information.

ref: getPlanPackage

Authorizations:
path Parameters
id
required
integer
query Parameters
comment
string

comment to be displayed when plan is imported in a deployment package

Responses

Update plan

Update plan properties, e.g. name and description

ref: updatePlan

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
name
string

Display name of the flow.

description
string

User-friendly description for the flow.

notificationsEnabled
boolean

Indicate if notification will be sent for this plan

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "notificationsEnabled": true
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "workspace": {
    },
  • "snapshotted": true,
  • "originalPlanId": 1,
  • "description": "string",
  • "planSnapshotRunCount": 1,
  • "notificationsEnabled": true,
  • "latestPlanSnapshot": { },
  • "latestPlanSnapshotRun": { }
}

Delete plan

Delete plan and remove associated schedules.

ref: deletePlan

Authorizations:
path Parameters
id
required
integer

Responses

Delete plan permissions for a user

Delete permissions to a plan.

ref: deletePlanPermissions

Authorizations:
path Parameters
id
required
integer
subjectId
required
integer

Responses

PlanNode

A node representing a task in the plan graph.

Create plan node

Create a new plan node

ref: createPlanNode

Authorizations:
Request Body schema: application/json
planId
required
integer

unique identifier for this object.

taskType
required
string
Enum: "flow" "http"
required
planFlowTaskCreateRequest (object) or planHTTPTaskCreateRequest (object)
name
required
string
inPlanNodeIds
Array of integers
outPlanNodeIds
Array of integers

Responses

Request samples

Content type
application/json
{
  • "planId": 1,
  • "taskType": "flow",
  • "task": {
    },
  • "name": "string",
  • "inPlanNodeIds": [
    ],
  • "outPlanNodeIds": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "taskType": "flow",
  • "creator": {
    },
  • "updater": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

List run parameters for a plan node

List run parameters of a plan node. Only resources with run parameters will be included in the response.

ref: getPlanNodeRunParameters

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "handle": "string",
  • "planNodeId": 1,
  • "conflicts": [
    ],
  • "flow": {
    },
  • "datasources": {
    },
  • "outputObjects": {
    },
  • "planOverrides": { }
}

Delete plan node

Delete an existing plan node

ref: deletePlanNode

Authorizations:
path Parameters
id
required
integer

Responses

PlanOverride

Used to override the default value of runParameter in a plan for future executions.

Override a parameter in a plan

Create a new plan override

ref: createPlanOverride

Authorizations:
Request Body schema: application/json
planNodeId
required
integer
overrideKey
required
string

key/name used when overriding the value of the variable

required
object (planRunParameterVariableSchema)

Responses

Request samples

Content type
application/json
{
  • "planNodeId": 1,
  • "overrideKey": "myVar",
  • "value": {
    }
}

Response samples

Content type
application/json
{ }

Update the value of a parameter override in a plan

Update an existing plan override

ref: updatePlanOverride

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
planNodeId
required
integer
overrideKey
required
string

key/name used when overriding the value of the variable

required
object (planRunParameterVariableSchema)

Responses

Request samples

Content type
application/json
{
  • "planNodeId": 1,
  • "overrideKey": "myVar",
  • "value": {
    }
}

Response samples

Content type
application/json
{ }

PlanSnapshotRun

An execution of a plan's snapshot state

Cancel a plan execution

Cancel the plan execution.

ref: cancelPlanSnapshotRun

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
object Nullable

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "id": 1,
  • "status": "Complete",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "finishedAt": "2019-08-24T14:15:22Z",
  • "startedAt": "2019-08-24T14:15:22Z",
  • "submittedAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "failedToCancelSomeJobs": true,
  • "plan": {
    },
  • "nextRun": {
    },
  • "previousRun": {
    }
}

List plan snapshot runs

List existing plan snapshot runs

ref: listPlanSnapshotRuns

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

status
string

filter plan executions based on their status

dateFilter
object

for filtering plan runs by start and end date

ranfrom
string

filter plan runs based on how they were run

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Count plan snapshot runs

Count existing plan snapshot runs

ref: countPlanSnapshotRuns

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

status
string

filter plan executions based on their status

dateFilter
object

for filtering plan runs by start and end date

ranfrom
string

filter plan runs based on how they were run

Responses

Response samples

Content type
application/json
{
  • "count": 1
}

Get plan snapshot run

Return a plan snapshot run that contains the current status of a plan execution

ref: getPlanSnapshotRun

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

includeFlowCreatorInfo
string

Include info about flow creators such as name and email adress.

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "status": "Complete",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "finishedAt": "2019-08-24T14:15:22Z",
  • "startedAt": "2019-08-24T14:15:22Z",
  • "submittedAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "failedToCancelSomeJobs": true,
  • "plan": {
    },
  • "nextRun": {
    },
  • "previousRun": {
    }
}

Get schedule for plan run

Get the schedule definition that triggered the plan snapshot run.

ref: getScheduleForPlanRun

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "triggers": [
    ],
  • "tasks": [
    ],
  • "enabled": true,
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdBy": 1,
  • "updatedBy": 1
}

Publication

A publication object is used to specify a table-based output and is associated with an outputObject. Settings include the connection to use, path, table type, and write action to apply.

Create publication

Create a new publication

ref: createPublication

Authorizations:
Request Body schema: application/json
path
required
Array of strings

path to the location of the table/datasource.

tableName
required
string

name of the table

targetType
required
string

e.g. databricks, hive, redshift, postgres, oracle, sqlserver, teradata, bigquery, tableau, sqldatawarehouse, snowflake, glue, sftp, s3user or gsheetsuser

action
required
string
Enum: "create" "load" "createAndLoad" "truncateAndLoad" "dropAndLoad" "upsert"

Type of writing action to perform with the results

  • create - Create a new table with each publication. This table is empty except for the schema, which is taken from the results. A new table receives a timestamp extension to its name.
  • load - Append a pre-existing table with the results of the data. The schema of the results and the table must match
  • createAndLoad - Create a new table with each publication and load it with the results data. A new table receives a timestamp extension to its name.
  • truncateAndLoad - Truncate a pre-existing table and load it with fresh data from the results.
  • dropAndLoad - Drop the target table and load a new table with the schema and data from the results.
  • upsert - Update matched records and insert new records in a pre-existing table with the results of the data. The schema of the results and the table must match
outputObjectId
integer

outputObject to attach this publication to.

connectionIdString (string) or connectionIdBigQuery (string)
Array of objects (runParameterDestinationInfo)

Optional Parameters that can be used to parameterized the tableName

parameters
object

Additional publication parameters specific to each JDBC data source. Example: isDeltaTable=true for Databricks connections to produce Delta Lake Tables

Responses

Request samples

Content type
application/json
{
  • "path": [
    ],
  • "tableName": "string",
  • "targetType": "string",
  • "action": "create",
  • "outputObjectId": 1,
  • "connectionId": "55",
  • "runParameters": [
    ],
  • "parameters": {
    }
}

Response samples

Content type
application/json
{
  • "path": [
    ],
  • "tableName": "string",
  • "targetType": "string",
  • "action": "create",
  • "outputobject": {
    },
  • "connection": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "parameters": {
    }
}

List publications

List existing publications

ref: listPublications

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Count publications

Count existing publications

ref: countPublications

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "count": 1
}

Get publication

Get an existing publication

ref: getPublication

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

Responses

Response samples

Content type
application/json
{
  • "path": [
    ],
  • "tableName": "string",
  • "targetType": "string",
  • "action": "create",
  • "outputobject": {
    },
  • "connection": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "parameters": {
    }
}

Patch publication

Patch an existing publication

ref: patchPublication

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
path
Array of strings

path to the location of the table/datasource.

tableName
string

name of the table

targetType
string

e.g. databricks, hive, redshift, postgres, oracle, sqlserver, teradata, bigquery, tableau, sqldatawarehouse, snowflake, glue, sftp, s3user or gsheetsuser

action
string
Enum: "create" "load" "createAndLoad" "truncateAndLoad" "dropAndLoad" "upsert"

Type of writing action to perform with the results

  • create - Create a new table with each publication. This table is empty except for the schema, which is taken from the results. A new table receives a timestamp extension to its name.
  • load - Append a pre-existing table with the results of the data. The schema of the results and the table must match
  • createAndLoad - Create a new table with each publication and load it with the results data. A new table receives a timestamp extension to its name.
  • truncateAndLoad - Truncate a pre-existing table and load it with fresh data from the results.
  • dropAndLoad - Drop the target table and load a new table with the schema and data from the results.
  • upsert - Update matched records and insert new records in a pre-existing table with the results of the data. The schema of the results and the table must match
parameters
object

Additional publication parameters specific to each JDBC data source. Example: isDeltaTable=true for Databricks connections to produce Delta Lake Tables

Responses

Request samples

Content type
application/json
{
  • "path": [
    ],
  • "tableName": "string",
  • "targetType": "string",
  • "action": "create",
  • "parameters": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "updater": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete publication

Delete an existing publication

ref: deletePublication

Authorizations:
path Parameters
id
required
integer

Responses

Schedule

Contains information about repeated execution of a flow.

Enable schedule

Enable a schedule

ref: enableSchedule

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
object Nullable

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "name": "string",
  • "triggers": [
    ],
  • "tasks": [
    ],
  • "enabled": true,
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdBy": 1,
  • "updatedBy": 1
}

Disable schedule

Disable a schedule

ref: disableSchedule

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
object Nullable

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "name": "string",
  • "triggers": [
    ],
  • "tasks": [
    ],
  • "enabled": true,
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdBy": 1,
  • "updatedBy": 1
}

List schedules

list schedules owned by the current user

ref: listSchedules

Authorizations:
query Parameters
filter
string

Filter schedules using the attached flow name

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Count schedules

count schedules owned by the current user

ref: countSchedules

Authorizations:
query Parameters
filter
string

Filter schedules using the attached flow name

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

Responses

Response samples

Content type
application/json
{
  • "count": 1
}

Get schedule

Fetch a schedule

ref: getSchedule

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "triggers": [
    ],
  • "tasks": [
    ],
  • "enabled": true,
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdBy": 1,
  • "updatedBy": 1
}

SqlScript

A sqlScript object is used to specify arbitrary SQLs to be run and is associated with an outputObject. Settings include the connection to use and sql type (pre/post),

Create sql script

Create a new sql script

ref: createSqlScript

Authorizations:
Request Body schema: application/json
sqlScript
required
string

String of SQL queries to be executed.

type
required
string

Identifier to decide if the SQLs will be executed before or after a job.

vendor
required
string

e.g. databricks, hive, redshift, postgres, oracle, sqlserver, teradata, bigquery, tableau, sqldatawarehouse, snowflake, glue, sftp, s3user or gsheetsuser

outputObjectId
integer

outputObject to attach this sqlScript to.

connectionIdString (string) or connectionIdBigQuery (string)
Array of objects (runParameterSqlScriptInfo)

Optional Parameters that can be used to parameterized the sqlScript

Responses

Request samples

Content type
application/json
{
  • "sqlScript": "string",
  • "type": "string",
  • "vendor": "string",
  • "outputObjectId": "21",
  • "connectionId": "55",
  • "runParameters": [
    ]
}

Response samples

Content type
application/json
{
  • "sqlScript": "string",
  • "type": "string",
  • "vendor": "string",
  • "outputObjectId": "21",
  • "connection": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    }
}

List sql scripts

List existing sql scripts

ref: listSqlScripts

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Count sql scripts

Count existing sql scripts

ref: countSqlScripts

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "count": 1
}

Get sql script

Get an existing sql script

ref: getSqlScript

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

Responses

Response samples

Content type
application/json
{
  • "sqlScript": "string",
  • "type": "string",
  • "vendor": "string",
  • "outputObjectId": "21",
  • "connection": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    }
}

Patch sql script

Patch an existing sql script

ref: patchSqlScript

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
sqlScript
string

String of SQL queries to be executed.

type
string

Identifier to decide if the SQLs will be executed before or after a job.

vendor
string

e.g. databricks, hive, redshift, postgres, oracle, sqlserver, teradata, bigquery, tableau, sqldatawarehouse, snowflake, glue, sftp, s3user or gsheetsuser

connectionIdString (string) or connectionIdBigQuery (string)

Responses

Request samples

Content type
application/json
{
  • "sqlScript": "string",
  • "type": "string",
  • "vendor": "string",
  • "connectionId": "55"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "updater": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete sql script

Delete an existing sql script

ref: deleteSqlScript

Authorizations:
path Parameters
id
required
integer

Responses

Workspace

A self-contained, configurable space shared by several users, containing flows, Datasets, connections, and other Trifacta Wrangler objects.

Reset a configuration settings for the current workspace

Delete Workspace configuration settings override (reset the settings to their initial values).

ref: deleteCurrentWorkspaceConfigurationSettings

Authorizations:
Request Body schema: application/json
settings
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "settings": [
    ]
}

Response samples

Content type
application/json
{
  • "numberOfRowsDeleted": 1
}

Reset a workspace configuration settings

Delete Workspace configuration settings override (reset the settings to their initial values).

ref: deleteWorkspaceConfigurationSettings

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
settings
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "settings": [
    ]
}

Response samples

Content type
application/json
{
  • "numberOfRowsDeleted": 1
}

Get current workspace configuration

Get workspace configuration. Settings set to null use the default configuration from the getConfigurationSchema endpoint.

It is possible to filter the configuration to a specific key using the query parameter key:

/v4/workspaces/:id/configuration?key=outputFormats.JSON
[{ "key": "outputFormats.JSON", "value": true }]

ref: getCurrentConfigurationForWorkspace

Authorizations:
query Parameters
key
string

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Save current workspace configuration

Update the workspace configuration for the specified keys. To reset a configuration value to its default, use the delete endpoint.

Use the getConfigurationSchema endpoint to get the list of editable configuration values.

ref: saveCurrentWorkspaceConfiguration

Authorizations:
Request Body schema: application/json
required
Array of objects (configurationKeyValueSchema)

Responses

Request samples

Content type
application/json
{
  • "configuration": [
    ]
}

Response samples

Content type
application/json
[
  • true
]

Get workspace configuration

Get workspace configuration. Settings set to null use the default configuration from the getConfigurationSchema endpoint.

It is possible to filter the configuration to a specific key using the query parameter key:

/v4/workspaces/:id/configuration?key=outputFormats.JSON
[{ "key": "outputFormats.JSON", "value": true }]

ref: getConfigurationForWorkspace

Authorizations:
path Parameters
id
required
integer
query Parameters
key
string

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Save workspace configuration

Update the workspace configuration for the specified keys. To reset a configuration value to its default, use the delete endpoint.

Use the getConfigurationSchema endpoint to get the list of editable configuration values.

ref: saveWorkspaceConfiguration

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
required
Array of objects (configurationKeyValueSchema)

Responses

Request samples

Content type
application/json
{
  • "configuration": [
    ]
}

Response samples

Content type
application/json
[
  • true
]

Get configuration schema

Get configuration schema for the specified workspace.

ref: getConfigurationSchema

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Get current configuration schema

Get configuration schema for the current workspace.

ref: getCurrentConfigurationSchema

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Transfer User Assets

Transfer Trifacta Wrangler assets to another user in the current workspace. For the given workspace, assigns ownership of all the user's contents to another user. This includes flows, datasets, recipes, and connections–basically any object that can be created and managed through the Trifacta Wrangler UI.

ℹ️ NOTE: This API endpoint does not delete the original user account. To delete the user account, another API call is needed.

ℹ️ NOTE: The asset transfer endpoint cannot be applied to deleted users. You must transfer the assets first before deleting the user.

ref: transferUserAssetsInCurrentWorkspace

Authorizations:
Request Body schema: application/json
One of
fromPersonId
required
integer

the id of the person to transfer assets from

toPersonId
required
integer

the id of the person to transfer assets to

Responses

Request samples

Content type
application/json
Example
{
  • "fromPersonId": 1,
  • "toPersonId": 1
}

WrangledDataset

Represents the data produced by running a recipe on some input.

ℹ️ NOTE: In the Trifacta Wrangler application UI, the WrangledDataset object is called a recipe.

Create wrangled dataset

Create a new wrangled dataset

ref: createWrangledDataset

Authorizations:
Request Body schema: application/json
One of
required
object
required
object
name
required
string
inferredScript
object

Responses

Request samples

Content type
application/json
Example
{
  • "importedDataset": {
    },
  • "inferredScript": { },
  • "flow": {
    },
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "flow": {
    },
  • "recipe": {
    },
  • "activeSample": {
    },
  • "referenceinfo": {
    },
  • "wrangled": true
}

List wrangled datasets

List existing wrangled datasets

ref: listWrangledDatasets

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Add wrangled dataset to flow

Add this wrangled dataset to a flow as a reference.

ref: addWrangledDatasetToFlow

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
required
object

The flow to add this dataset to.

Responses

Request samples

Content type
application/json
{
  • "flow": {
    }
}

Response samples

Content type
application/json
{
  • "flow": {
    },
  • "referencedFlowNode": {
    },
  • "activeSample": {
    },
  • "wrangled": true
}

Count wrangled datasets

Count existing wrangled datasets

ref: countWrangledDatasets

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "count": 1
}

Get wrangled dataset

Get an existing wrangled dataset

ref: getWrangledDataset

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "flow": {
    },
  • "recipe": {
    },
  • "activeSample": {
    },
  • "referenceinfo": {
    },
  • "wrangled": true
}

Patch Wrangled Dataset

Update a wrangled dataset. This can mean one of two things.Either this will update the flownode object in our database or the editable script object.

ref: patchWrangledDataset

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
Any of
activesampleId
integer

Internal identifier of the currently active sample for this dataset.

referenceId
integer

Internal identifier for referenceInfo, which contains the name and description of the reference object associated with this flow node. This is how the reference dataset will appear when used in other flows.

Responses

Request samples

Content type
application/json
Example
{
  • "activesampleId": 1,
  • "referenceId": 1
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "updater": {
    },
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete wrangled dataset

Delete the specified wrangled dataset.

TIP: In the web application, the WrangledDataset object is called a recipe.

ref: deleteWrangledDataset

Authorizations:
path Parameters
id
required
integer

Responses

Get Input Dataset

Get the dataset that is the primary input for this wrangled dataset. This can be either an imported dataset or a wrangled dataset.

ref: getInputDataset

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
Example
{
  • "wrangledDataset": {
    }
}

Swap Input Dataset

This action performs a dataset swap for the source of a wrangled dataset, which can be done through the UI.

Update the primary input dataset for the specified wrangled dataset. Each wrangled dataset must have one and only one primary input dataset, which can be an imported or wrangled dataset. If a wrangled dataset from another flow is selected, a reference will be used.

TIP: After you have created a job via API, you can use this API to swap out the source data for the job's dataset. In this manner, you can rapidly re-execute a pre-existing job using fresh data.

ref: updateInputDataset

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
One of
required
object

Responses

Request samples

Content type
application/json
Example
{
  • "wrangledDataset": {
    }
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "flow": {
    },
  • "recipe": {
    },
  • "activeSample": {
    },
  • "referenceinfo": {
    },
  • "wrangled": true
}

WriteSetting

A writeSetting object defines file-based outputs within an outputObject. Settings include path, format, compression, and delimiters.

To specify multiple outputs, you can include additional writeSetting objects in the request. For example, if you want to generate output to csv and json, you can duplicate the writeSettings object for csv and change the format value in the second one to json.

Create writesetting

Create a new writesetting

ref: createWriteSetting

Authorizations:
Request Body schema: application/json
path
required
string

The fully qualified path to the output location where to write the results.

action
required
string
Enum: "create" "append" "overwrite"

If the output file or directory exists, you can specify one of the following actions

  • create - Create a new, parallel location, preserving the old results.
  • append - Add the new results to the old results.
  • overwrite - Replace the old results with the new results.
format
required
string
Enum: "csv" "json" "avro" "pqt" "hyper"

Output format for the results. Specify one of the supported values.

  • csv - CSV format. When using csv, you can specify a custom delimiter using the delim parameter.
  • json - JSON format
  • avro - Avro format
  • pqt - Parquet format
  • hyper - Tableau Hyper format
compression
string
Enum: "none" "gzip" "bzip2" "snappy"

For csv and json results, you can optionally compress them using bzip2 or gzip compression. Default is none.

ℹ️ NOTE: If compression is applied, the filename in the path value must end with the appropriate extension for the type of compression: .gz for gzip and .bz2 for bzip2

  • none - No compression
  • gzip - Use gzip compression
  • bzip2 - Use bzip2 compression
  • snappy - Use snappy compression
header
boolean

For csv results with action set to create or append, this value determines if a header row with column names is inserted at the top of the results. Default is false.

asSingleFile
boolean

For csv and json results, this value determines if the results are concatenated into a single file or stored as multiple files. Default is false.

delim
string

The delimiter between field values in an output row. Only relevant if the chosen format is csv

hasQuotes
boolean

If true, each field in the output is wrapped in double-quotes.

outputObjectId
integer

outputObject to attach this writeSetting to.

Array of objects (runParameterDestinationInfo)

Optional Parameters that can be used to parameterized the path

connectionId
string

Internal identifier of the connection to use when writing to a SFTP destination.

Responses

Request samples

Content type
application/json
{
  • "path": "/path/to/file.csv",
  • "action": "create",
  • "format": "csv",
  • "compression": "none",
  • "header": true,
  • "asSingleFile": true,
  • "delim": ",",
  • "hasQuotes": true,
  • "outputObjectId": 7,
  • "runParameters": [
    ],
  • "connectionId": "5"
}

Response samples

Content type
application/json
{
  • "path": "string",
  • "action": "create",
  • "format": "csv",
  • "compression": "none",
  • "header": true,
  • "asSingleFile": true,
  • "delim": ",",
  • "hasQuotes": true,
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "connectionId": "25"
}

List write settings

List existing write settings

ref: listWriteSettings

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Count write settings

Count existing write settings

ref: countWriteSettings

Authorizations:
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

limit
integer
Default: 25

Maximum number of objects to fetch.

offset
integer

Offset after which to start returning objects. For use with limit.

filterType
string
Default: "fuzzy"

Defined the filter type, one of ["fuzzy", "contains", "exact"]. For use with filter.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filterFields
string
Default: "name"
Example: filterFields=id,order

comma-separated list of fields to match the filter parameter against.

filter
string
Example: filter=my-object

Value for filtering objects. See filterFields.

Responses

Response samples

Content type
application/json
{
  • "count": 1
}

Get write setting

Get an existing write setting

ref: getWriteSetting

Authorizations:
path Parameters
id
required
integer
query Parameters
fields
string
Example: fields=id;name;description

Semi-colons-separated list of fields

embed
string
Example: embed=association.otherAssociation,anotherAssociation

Comma-separated list of objects to pull in as part of the response. See Embedding Resources for more information.

includeDeleted
string

If set to "true", will include deleted objects.

Responses

Response samples

Content type
application/json
{
  • "path": "string",
  • "action": "create",
  • "format": "csv",
  • "compression": "none",
  • "header": true,
  • "asSingleFile": true,
  • "delim": ",",
  • "hasQuotes": true,
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    },
  • "connectionId": "25"
}

Patch write setting

Patch an existing write setting

ref: patchWriteSetting

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
path
string

The fully qualified path to the output location where to write the results.

action
string
Enum: "create" "append" "overwrite"

If the output file or directory exists, you can specify one of the following actions

  • create - Create a new, parallel location, preserving the old results.
  • append - Add the new results to the old results.
  • overwrite - Replace the old results with the new results.
format
string
Enum: "csv" "json" "avro" "pqt" "hyper"

Output format for the results. Specify one of the supported values.

  • csv - CSV format. When using csv, you can specify a custom delimiter using the delim parameter.
  • json - JSON format
  • avro - Avro format
  • pqt - Parquet format
  • hyper - Tableau Hyper format
compression
string
Enum: "none" "gzip" "bzip2" "snappy"

For csv and json results, you can optionally compress them using bzip2 or gzip compression. Default is none.

ℹ️ NOTE: If compression is applied, the filename in the path value must end with the appropriate extension for the type of compression: .gz for gzip and .bz2 for bzip2

  • none - No compression
  • gzip - Use gzip compression
  • bzip2 - Use bzip2 compression
  • snappy - Use snappy compression
header
boolean

For csv results with action set to create or append, this value determines if a header row with column names is inserted at the top of the results. Default is false.

asSingleFile
boolean

For csv and json results, this value determines if the results are concatenated into a single file or stored as multiple files. Default is false.

delim
string

The delimiter between field values in an output row. Only relevant if the chosen format is csv

hasQuotes
boolean

If true, each field in the output is wrapped in double-quotes.

connectionId
string

Internal identifier of the connection to use when writing to a SFTP destination.

Responses

Request samples

Content type
application/json
{
  • "path": "string",
  • "action": "create",
  • "format": "csv",
  • "compression": "none",
  • "header": true,
  • "asSingleFile": true,
  • "delim": ",",
  • "hasQuotes": true,
  • "connectionId": "25"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "updater": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete write setting

Delete an existing write setting

ref: deleteWriteSetting

Authorizations:
path Parameters
id
required
integer

Responses