Trifacta API (v7.6.0)

Download OpenAPI specification:Download

Overview

To enable programmatic control over its objects, the Trifacta 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 hearders to your request:

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

Resources

The term resource refers to a single type of object in the Trifacta 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:

http://example.com:3005/v4/jobGroups/1?embed=jobs

To get a list of all the possible embeddings, you can provide e.g. *. The response will contain the list of possible resources that can be embedded.

http://example.com:3005/v4/jobGroups/1?embed=*

Errors

The Trifacta 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

TIP: You can use the request identifier value to scan the logs to identify technical details for an issue with a specific request.

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 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 'http://example.com:3005/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 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 API Access Token API 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 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.
  • you can also use Basic Auth to authenticate your request by submitting a username/password combination as part of the Authentication header.
  • 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" "instance"
  • default - Using AWS key/secret to authenticate to S3
  • temporary - Using AWS IAM Role to authenticate to S3
  • instance - Using EC2 instance 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

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.

workspaceId
integer

When creating an AWS configuration, an administrator can insert the workspaceId parameter to assign the configuration to the internal identifier for the workspace.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "defaultBucket": "bucketName",
  • "extraBuckets": [
    ],
  • "credentialProvider": "default",
  • "role": "arn:aws:iam::xxxxxxxxxxxxx:role/sample-role",
  • "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
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.

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 fuzzy-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
credentialProvider
required
string
Enum: "default" "temporary" "instance"
  • default - Using AWS key/secret to authenticate to S3
  • temporary - Using AWS IAM Role to authenticate to S3
  • instance - Using EC2 instance role to authenticate to S3
id
integer

unique identifier for this object.

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

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.

workspaceId
integer

When creating an AWS configuration, an administrator can insert the workspaceId parameter to assign the configuration to the internal identifier for the workspace.

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,
  • "workspaceId": 1
}

Response samples

Content type
application/json
{
  • "defaultBucket": "bucketName",
  • "extraBuckets": [
    ],
  • "credentialProvider": "default",
  • "role": "arn:aws:iam::xxxxxxxxxxxxx:role/sample-role",
  • "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. If neither personId nor workspaceId is provided, create the role for the request user

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

ref: createAwsRole

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

When creating an AWS role, an administrator can insert the workspaceId parameter to assign the configuration to the internal identifier for the workspace.

Responses

Request samples

Content type
application/json
{
  • "role": "string",
  • "personId": 1,
  • "workspaceId": 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 or workspace. If neither personId nor workspaceId is provided, list the roles associated with the request user.

ref: listAwsRoles

Authorizations:
query Parameters
personId
integer

person id

workspaceId
integer

workspace 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
workspaceId
integer

When creating an AWS role, an administrator can insert the workspaceId parameter to assign the configuration to the internal identifier for the workspace.

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,
  • "workspaceId": 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'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"

Type of connection

credentialType
required
string
Enum: "basic" "conf" "kerberosDelegate" "azureTokenSso" "kerberosImpersonation" "sshKey" "securityToken" "iamRoleArn" "iamDbUser"
  • basic - Simple username/password to be provided in the credentials property
  • conf - Use the connection credentials stored in trifacta-conf.json.
  • kerberosDelegate - Connection uses Kerberos-delegated principal to connect to the database. No credentials are submitted as part of the connection definition. This method requires additional configuration. See Enable SSO for Relational Connections.
  • azureTokenSso - Connection uses Azure AD token to connect to the database. No credentials are submitted as part of the connection definition. This method requires additional configuration.
  • kerberosImpersonation - Connection uses Kerberos to impersonate user to connect to the database. No credentials are submitted as part of the connection definition. This method requires additional configuration.
  • sshKey - Connection uses username and ssh private key to authenticate.
  • 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.
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 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 Platform does not apply Trifacta 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

Array of basic (object) or conf (object) or kerberosDelegate (object) or azureTokenSso (object) or kerberosImpersonation (object) or sshKey (object) or securityToken (object) or iamRoleArn (object) or iamDbUser (object) (credentialsInfo) [ items ]

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
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.

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 fuzzy-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
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.

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 fuzzy-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
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": {
    }
}

Update connection

Update an existing connection

ref: updateConnection

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

Host of the source

port
integer

Port number for the source

ssl
boolean

When true, the Trifacta 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 Platform does not apply Trifacta types to data when it is imported.

name
string

Display name of the connection.

params
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.

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.

Array of basic (object) or conf (object) or kerberosDelegate (object) or azureTokenSso (object) or kerberosImpersonation (object) or sshKey (object) or securityToken (object) or iamRoleArn (object) or iamDbUser (object) (credentialsInfo) [ items ]

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

credentialType
string
Enum: "basic" "conf" "kerberosDelegate" "azureTokenSso" "kerberosImpersonation" "sshKey" "securityToken" "iamRoleArn" "iamDbUser"
  • basic - Simple username/password to be provided in the credentials property
  • conf - Use the connection credentials stored in trifacta-conf.json.
  • kerberosDelegate - Connection uses Kerberos-delegated principal to connect to the database. No credentials are submitted as part of the connection definition. This method requires additional configuration. See Enable SSO for Relational Connections.
  • azureTokenSso - Connection uses Azure AD token to connect to the database. No credentials are submitted as part of the connection definition. This method requires additional configuration.
  • kerberosImpersonation - Connection uses Kerberos to impersonate user to connect to the database. No credentials are submitted as part of the connection definition. This method requires additional configuration.
  • sshKey - Connection uses username and ssh private key to authenticate.
  • 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.
vendor
string

String identifying the connection`s vendor

Responses

Request samples

Content type
application/json
{
  • "host": "example.oracle.test",
  • "port": 1521,
  • "ssl": true,
  • "description": "string",
  • "disableTypeInference": true,
  • "name": "example_oracle_connection",
  • "params": {
    },
  • "isGlobal": true,
  • "credentialsShared": true,
  • "credentials": [
    ],
  • "credentialType": "basic",
  • "vendor": "oracle"
}

Response samples

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

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"
}

Get connection vendor information

Get the list of all vendors of connections that are supported in the instance of the platform.

ℹ️ NOTE: Additional vendors can become available based on the deployment of a set of configuration files for the vendor. Adding vendors that are not on this list may require Trifacta Customer Success Services. For more information on the available connections, see Connection Types.

ref: getConnectionVendorInformation

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get supported credential type information

Get the list of all credential types that are supported in the instance of the platform.

ref: getSupportedCredentialTypeInformation

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ConnectionPermission

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

Create connection permission

Create a new connection permission

ref: createConnectionPermission

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
required
Array of personObjectWithRole (object) or personIdWithRole (object)[ items ]

Responses

Request samples

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

Response samples

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

Get connection permissions

Get existing connection permissions

ref: getConnectionPermissions

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

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

Get connection permission

Get an existing connection permission

ref: getConnectionPermission

Authorizations:
path Parameters
id
required
integer
aid
required
integer
query Parameters
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
{
  • "role": "owner",
  • "person": {
    },
  • "connection": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete connection permission

Delete an existing connection permission

ref: deleteConnectionPermission

Authorizations:
path Parameters
id
required
integer
aid
required
integer

Responses

DatabricksCluster

An internal object representing the relationship between a person and an Azure Databricks cluster.

Check for Databricks access token

Checks if a databricks access token has been set for current user.

ref: hasDatabricksAccessToken

Authorizations:
Request Body schema: application/json
object or null

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Save Databricks access token

Update Databricks access token for current user.

ref: saveDatabricksAccessToken

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

Responses

Request samples

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

Response samples

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

Update Databricks access token for user

Admin can update databricks access token for user with id=personId.

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

ref: saveDatabricksAccessTokenByAdmin

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

Responses

Request samples

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

Response samples

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

Save Databricks cluster for current user

Update Databricks cluster id for current user.

ref: saveDatabricksCluster

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

Responses

Request samples

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

Response samples

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

Save Databricks cluster for user

Admin can update databricks cluster for user with id=personId.

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

ref: saveDatabricksClusterByAdmin

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

Responses

Request samples

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

Response samples

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

Deployment

A versioned set of releases.

A deployment allows you to create a separation between your development and production environments. You can for e.g. develop Flows in a development instance and then import them to a deployment instance where they will be read-only.

You can override file paths or tables when importing flow packages to a deployment instance using updateObjectImportRules and updateValueImportRules.

The Deployment Manager includes the tools to migrate your software between environments, manage releases of it, and separately control access to development and production flows. See the documentation for more details.

Create deployment

Create a new deployment

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: createDeployment

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

Display name of the deployment.

Responses

Request samples

Content type
application/json
{
  • "name": "Test Deployment"
}

Response samples

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

List deployments

List all deployments, including information about the latest release in each deployment.

You can get all releases for a deployment by using embed:

/v4/deployments/{id}?embed=releases

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: listDeployments

Authorizations:
query Parameters
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.

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 fuzzy-filtering objects. See filterFields.

Responses

Response samples

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

Run Deployment

Run the primary flow in the active release of the given deployment.

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"}
  ]
}

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

{
  "overrides": {
    "my recipe": {
      "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 deployment run. See Get Flow Run Status for more information.

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: runDeployment

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
object (runParameterOverrides)

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

Array of objects (outputObjectSparkOptionUpdateRequest) [ items ]
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
{
  • "data": [
    ]
}

Import Flow package for deployment

Create a release for the specified deployment.

Release is created from a local ZIP containing the package of the flow exported from the source system.

When importing a release, import-mapping rules are executed. These import rules allow you to replace the file location or the table names of different objects during the import for a deployment. See updateObjectImportRules and updateValueImportRules if you need to update the import rules.

This endpoint accept a multipart/form content type.

Here is how to send the ZIP package using curl.

curl -X POST http://example.com:3005/v4/deployments/:id/releases \
-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.

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: importPackageForDeployment

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

Responses

Response samples

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

Get releases for deployment

Get the list of releases for the specified deployment

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: getReleasesForDeployment

Authorizations:
path Parameters
id
required
integer
query Parameters
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": [
    ]
}

Import deployment package - Dry run

Test importing flow package, applying all import rules that apply to this deployment, and return information about what objects would be created.

The same payload as for Import Deployment package is expected.

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: importPackageForDeploymentDryRun

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

Responses

Response samples

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

Count deployments

Count existing deployments

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: countDeployments

Authorizations:
query Parameters
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.

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 fuzzy-filtering objects. See filterFields.

Responses

Response samples

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

Get deployment

Get the specified deployment.

You can get all releases for a deployment by using embed:

/v4/deployments/:id?embed=releases

You can also get the value and object import rules using:

/v4/deployments/:id?embed=valueImportRules,objectImportRule

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: getDeployment

Authorizations:
path Parameters
id
required
integer
query Parameters
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,
  • "name": "2013 POS",
  • "createdAt": "2019-03-27T17:45:14.837Z",
  • "updatedAt": "2019-03-27T17:45:14.837Z",
  • "releases": {
    },
  • "creator": {
    },
  • "updater": {
    }
}

Update deployment

Update an existing deployment

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: updateDeployment

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

Display name of the deployment.

Responses

Request samples

Content type
application/json
{
  • "name": "Test Deployment"
}

Response samples

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

Patch deployment

Patch an existing deployment

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: patchDeployment

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

Display name of the deployment.

Responses

Request samples

Content type
application/json
{
  • "name": "Test Deployment"
}

Response samples

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

Delete deployment

Delete the specified deployment.

⚠️ Deleting a deployment removes all releases, packages, and flows underneath it. This step cannot be undone.

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: deleteDeployment

Authorizations:
path Parameters
id
required
integer

Responses

Get active Outputs for Deployment

Get active outputs of the specified deployment. When the deployment is run, the listed outputs are generated.

This endpoint is useful if you only want to run a specific job in a deployment, or pass overrides.

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: listActiveOutputsForDeployment

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

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

Update Object Import Rules

Create a list of object-based import rules for the specified deployment. Delete all previous rules applied to the same object.

ℹ️ NOTE: Import rules must be applied to individual deployments.

The generated rules apply to all flows that are imported into the deployment after they has been created.

The response contains any previously created rules that have been deleted as a result of this change.

You can also make replacements in the import package based on value mappings. See updateValueImportRules.

Request Body

Example: Replace connection on import

The following JSON array describes replacing the connection specified by the UUID, which is a field on the connection object exported from the original platform instance. This connection reference is replaced by a reference to connection ID 1 in the local platform instance and is applied to any release uploaded into the deployment after the rule has been created:

[
  {
    "tableName": "connections",
    "onCondition": {
      "uuid": "d75255f0-a245-11e7-8618-adc1dbb4bed0"
    },
    "withCondition": {"id": 1}
  }
]

Example: Replace multiple connections

This example request includes replacements for multiple connection references.

ℹ️ NOTE: Rules are applied in the listed order. If you are applying multiple rules to the same object in the import package, the second rule must reference the expected changes applied by the first rule.

This type of replacement applies if the imported packages contain sources that are imported through two separate connections:

[
  {
    "tableName": "connections",
    "onCondition": {
      "uuid": "d75255f0-a245-11e7-8618-adc1dbb4bed0"
    },
    "withCondition": {"id": 1}
  },
  {
    "tableName": "connections",
    "onCondition": {
      "uuid": "d552045e0-c314-22b5-9410-acd1bcd8eea2"
    },
    "withCondition": {"id": 2}
  }
]

Response

The response body contains any previously created rules that have been deleted as a result of this update.

Example: Only new rules, no deletions

If the update does not overwrite any previous rules, then no rules are deleted. So, the response looks like the following:

{"deleted": {"data": []}}

Example: With deleted rules

If you submit the request again, the response contains the rule definition of the previous update, which has been deleted. This example applies to the one-rule change listed previously:

{
  "deleted": {
    "data": [
      {
        "onCondition": {
          "uuid": "d75255f0-a245-11e7-8618-adc1dbb4bed0"
        },
        "withCondition": {"id": 1},
        "id": 1,
        "tableName": "connections",
        "createdAt": "2019-02-13T23:07:51.720Z",
        "updatedAt": "2019-02-13T23:07:51.720Z",
        "creator": {"id": 7},
        "updater": {"id": 7},
        "deployment": {"id": 4}
      }
    ]
  }
}

ℹ️ NOTE: You can get the value and object import rules using:

/v4/deployments/:id?embed=valueImportRules,objectImportRule

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: updateObjectImportRules

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

Name of the table to which the mapping is applied.

onCondition
required
object

The matching object identifier and the specified literal or pattern to match.

withCondition
required
object

The identifier for the object type, as specified in by the tableName value, which is being modified.

Responses

Request samples

Content type
application/json
Example
[
  • {
    }
]

Response samples

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

Update Value Import Rules

Create a list of value-based import rules for the specified deployment. Delete any previous rules applied to the same values.

ℹ️ NOTE: Import rules must be applied to individual deployments.

The generated rules apply to all flows that are imported into the Production instance after they have been created.

The response contains any previously created rules that have been deleted as a result of this change.

You can also make replacements in the import package based on object references. See updateObjectImportRules

Request Body

Example: Single value replacement

The following JSON array describes a single replacement rule for the S3 bucket name. In this case, the wrangle-dev bucket name has been replaced by the wrangle-prod bucket name, which means data is pulled in the Production deployment from the appropriate S3 bucket.

ℹ️ NOTE: The executing user of any job must have access to any data source that is remapped in the new instance.

[
  {
    "type": "s3Bucket",
    "on": "wrangle-dev",
    "with": "wrangle-prod"
  }
]

Example: Multiple value replacements

The following JSON array describes two replacements for the fileLocation values. In this case, rules are applied in succession.

ℹ️ NOTE: Rules are applied in the listed order. If you are applying multiple rules to the same object in the import package, the second rule must reference the expected changes applied by the first rule.

[
  {
    "type": "fileLocation",
    "on": "klamath",
    "with": "klondike"
  },
  {
    "type": "fileLocation",
    "on": "//dev//",
    "with": "/prod/"
  }
]

In the above:

  • The first rule replaces the string klamath in the path to the source with the following value: klondike. The second rule performs a regular expression match on the string /dev/. Since the match is described using the regular expression syntax, the backslashes must be escaped. The replacement value is the following literal: /prod/.
  • You can specify matching values using the following types of matches:
Match Type Example Syntax
string literal {"on":"d75255f0-a245-11e7-8618-adc1dbb4bed0"}
regular expression {"on":"/[0-9a-zA-z]{8}-a245-11e7-8618-adc1dbb4bed0/"}

Example: Replace database tables and paths

This example request includes replacements for a database table and its path (database name) in a relational publication.

ℹ️ NOTE: Rules are applied in the listed order. If you are applying multiple rules to the same object in the import package, the second rule must reference the expected changes applied by the first rule.

This type of replacement applies if the imported packages contain sources that are imported through two separate connections:

[
  {
    "type": "dbTableName",
    "on": "from_table_name",
    "with": "to_table_name"
  },
  {
    "type": "dbPath",
    "on": "from_path_element",
    "with": "to_path_element"
  }
]
Type Description
dbTableName Replaces the name of the table in the source (on value) with the new table name to use (with value).
dbPath Replaces the path to the database in the source (on value) with the new path to use (with value). The value of dbPath is an array. So, the replacement rule is applied to each element of the array. in most cases, the number of elements is 1. If your path contains multiple elements, you should be careful in your use of regular expressions for remapping dbPath values.

TIP: The on parameter values can be provided as a regular expression.

Response

Example: No deletions

The response body contains any previously created rules that have been deleted as a result of this update.

{"deleted": {"data": []}}

Example: Only new rules, no deletions

If you submit the request again, the response contains the rule definition of the previous update, which has been deleted.

{
  "deleted": {
    "data": [
      {
        "id": 1,
        "type": "s3Bucket",
        "on": "wrangle-dev",
        "with": "wrangle-prod",
        "createdAt": "2019-02-13T23:27:13.351Z",
        "updatedAt": "2019-02-13T23:27:13.351Z",
        "creator": {"id": 7},
        "updater": {"id": 7},
        "deployment": {"id": 2}
      }
    ]
  }
}

ℹ️ NOTE: You can get the value and object import rules using:

/v4/deployments/:id?embed=valueImportRules,objectImportRule

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: updateValueImportRules

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
Array
type
required
string
Enum: "fileLocation" "s3Bucket" "dbTableName" "dbPath" "host" "userinfo"

The type of value import rule:

  • fileLocation - the location of a specified file.
  • s3Bucket - the location of an s3 bucket to modify.
  • dbTableName - the specific table name to be modify.
  • dbPath - the location path of the table.
  • host - the location of the (Azure) blob.
  • userinfo - the location of the (Azure) container.
on
required
string

The specified literal or pattern to match.

with
required
string

The replacement value or pattern.

Responses

Request samples

Content type
application/json
Example
[
  • {
    }
]

Response samples

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

Edit

An internal object representing the state of a recipe at a given point in time.

Get Recipe Edit history

Gets a summary of the history of given recipe edit. This includes information about the changes involved in each edit along the way, as well as the person who made the edit.

You can obtain the recipe for a given wrangledDataset by using:

GET v4/wrangledDatasets/:id?embed=editablescript

It is then possible to know the current edit id of a recipe by looking at the currentEditId field of the recipe.

ref: getEditHistoryForEdit

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
{
  • "nextEditId": 1,
  • "history": [
    ]
}

EmrCluster

An internal object representing the AWS Elastic MapReduce (EMR) cluster configured to run trifacta jobs.

Create emr cluster

Create a new emr cluster

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

ref: createEmrCluster

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

The identifier for the EMR Cluster

resourceBucket
required
string

S3 bucket to store Trifacta's libraries, external libraries, and any other resources for Spark execution

resourcePath
string

Path on S3 bucket to store resources for execution on EMR

region
string

The region where the EMR Cluster runs at

Responses

Request samples

Content type
application/json
{
  • "emrClusterId": "j-XXXXXXXXXXXXX",
  • "resourceBucket": "bucketName",
  • "resourcePath": "",
  • "region": "us-west-2"
}

Response samples

Content type
application/json
{
  • "emrClusterId": "j-XXXXXXXXXXXXX",
  • "resourceBucket": "bucketName",
  • "resourcePath": "",
  • "region": "us-west-2",
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

List emr clusters

List existing emr clusters

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

ref: listEmrClusters

Authorizations:
query Parameters
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.

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 fuzzy-filtering objects. See filterFields.

Responses

Response samples

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

Count emr clusters

Count existing emr clusters

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

ref: countEmrClusters

Authorizations:
query Parameters
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.

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 fuzzy-filtering objects. See filterFields.

Responses

Response samples

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

Get emr cluster

Get an existing emr cluster

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

ref: getEmrCluster

Authorizations:
path Parameters
id
required
integer
query Parameters
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
{
  • "emrClusterId": "j-XXXXXXXXXXXXX",
  • "resourceBucket": "bucketName",
  • "resourcePath": "",
  • "region": "us-west-2",
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update emr cluster

Update an existing emr cluster

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

ref: updateEmrCluster

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

The identifier for the EMR Cluster

resourceBucket
string

S3 bucket to store Trifacta's libraries, external libraries, and any other resources for Spark execution

resourcePath
string

Path on S3 bucket to store resources for execution on EMR

region
string

The region where the EMR Cluster runs at

Responses

Request samples

Content type
application/json
{
  • "emrClusterId": "j-XXXXXXXXXXXXX",
  • "resourceBucket": "bucketName",
  • "resourcePath": "",
  • "region": "us-west-2"
}

Response samples

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

Delete emr cluster

Delete an existing emr cluster

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

ref: deleteEmrCluster

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": {
    }
}

List flows

List existing flows

ref: listFlows

Authorizations:
query Parameters
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.

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 fuzzy-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 http://example.com:3005/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
Request Body schema: multipart/form-data
object (importFlowPackageRequestZip)

Responses

Response samples

Content type
application/json
{
  • "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
object (importFlowPackageRequestZip)

Responses

Response samples

Content type
application/json
{
  • "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": {
    }
}

Run Flow

Run all adhoc destinations in a flow. If a scheduleExecutionId is provided, run all scheduled destinations in the flow.

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
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) [ items ]
overrides
object

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

Responses

Request samples

Content type
application/json
{
  • "runParameters": {
    },
  • "scheduleExecutionId": 1,
  • "sparkOptions": [
    ],
  • "overrides": {
    }
}

Response samples

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

Count flows

Count existing flows

ref: countFlows

Authorizations:
query Parameters
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.

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 fuzzy-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
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": {
    }
}

Update 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: updateFlow

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
{
  • "updated": true,
  • "id": 1,
  • "updater": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

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
{
  • "updated": true,
  • "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
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.

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 fuzzy-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
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.

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 fuzzy-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": {
    }
}

Get flow level parameters and overrides

List parameters and overrides in associated flow

ref: getRecipeParameterSpec

Authorizations:
path Parameters
id
required
integer
query Parameters
outputObjectType
string

Filter with a specific output object type

Responses

Response samples

Content type
application/json
{
  • "flowParameters": {
    },
  • "overrides": {
    }
}

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
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.

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 fuzzy-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
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.

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 fuzzy-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": [
    ]
}

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)[ items ]

Responses

Request samples

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

Response samples

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

List permissions for Flow

Get a list of users and groups with which a Flow is shared. Collaborators can add and edit recipes and datasets in this Flow.

ref: getFlowPermissions

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

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

Get flow permission

Get an existing flow permission

ref: getFlowPermission

Authorizations:
path Parameters
id
required
integer
aid
required
integer

Responses

Response samples

Content type
application/json
{
  • "role": "owner",
  • "person": {
    },
  • "flow": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete flow permission

Delete an existing flow permission

ref: deleteFlowPermission

Authorizations:
path Parameters
id
required
integer
aid
required
integer

Responses

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
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
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
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
{
  • "updated": true,
  • "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
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.

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 fuzzy-filtering objects. See filterFields.

Responses

Response samples

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

Count folders

Count existing folders

ref: countFolders

Authorizations:
query Parameters
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.

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 fuzzy-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
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": {
    }
}

Update folder

Update an existing folder

ref: updateFolder

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
{
  • "updated": true,
  • "id": 1,
  • "updater": {
    },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

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
{
  • "updated": true,
  • "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
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.

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 fuzzy-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
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.

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 fuzzy-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, 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

Array of objects (runParameterFileBasedInfo) [ items ]

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"
}

List imported datasets Deprecated

Deprecated. Use listDatasetLibrary instead.

ref: listImportedDatasets

Authorizations:
query Parameters
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.

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 fuzzy-filtering objects. See filterFields.

Responses

Response samples

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

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": [
    ]
}

Count imported datasets Deprecated

Deprecated. Use countDatasetLibrary instead.

ref: countImportedDatasets

Authorizations:
query Parameters
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.

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 fuzzy-filtering objects. See filterFields.

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
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"
}

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 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.

sort
string
Example: sort=-createdAt

Defines sort order for returned objects

filter
string
Example: filter=my-object

Value for fuzzy-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 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 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 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
      }
    ]
  }
}

You can also override the spark options that will be used for the job run

{
  "wrangledDataset": {"id": 1},
  "overrides": {
    "execution": "spark",
    "profiler": true,
    "sparkOptions": [
      {"key": "spark.executor.cores", "value": "2"},
      {"key": "spark.executor.memory", "value": "4GB"}
    ]
  }
}

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.

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 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
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.

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 fuzzy-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": [
    ]
}

Cancel Job Group

Cancel the execution of a running Trifacta jobGroup.

ℹ️ NOTE: If the job has completed, this endpoint does nothing.

ref: cancelJobGroup

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

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "jobIds": [
    ],
  • "jobgroupId": 1
}

Count job groups Deprecated

Deprecated. Use countJobLibrary instead.

ref: countJobGroups

Authorizations:
query Parameters
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.

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 fuzzy-filtering objects. See filterFields.

flowNodeId
integer
ranfor
string
Default: "recipe,plan"

filter jobs based on their type

Responses

Response samples

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

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
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 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.

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 fuzzy-filtering objects. See filterFields.

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 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.

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 fuzzy-filtering objects. See filterFields.

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 job.

ref: getJobsForJobGroup

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

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

Get Job Group logs

Get job group logs in a ZIP format.

ref: getJobGroupLogs

Authorizations:
path Parameters
id
required
integer
query Parameters
maxFileSizeInBytes
integer

Max file size of filtered log files in the support bundle; can only be set by admins

Responses

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": [
    ]
}

Publish Job Group

For a specified jobGroup, this endpoint performs an ad-hoc publish of the results to the designated target. Target information is based on the specified connection.

Job results to published are based on the specified jobGroup. You can specify:

  • Database and table to which to publish
  • Type of action to be applied to the target table. Details are below.

Supported targets:

  • Hive
  • Redshift

ref: publishJobGroup

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

Internal identifier of the connection to use to write the results.

path
required
Array of strings

path to the location of the table/datasource.

table
required
string

Name of table in the database to which to write the results.

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

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.
inputFormat
required
string

Source format of the results. Supported values:

  • Hive: avro,pqt
  • Redshift: csv, json, avro

ℹ️ NOTE: For results to be written to Redshift, the source must be stored in S3 and accessed through an S3 connection.

ℹ️ NOTE: By default, data is published to Redshift using the public schema. To publish using a different schema, preface the table value with the name of the schema to use: MySchema.MyTable.

Responses

Request samples

Content type
application/json
{
  • "connection": {
    },
  • "path": [
    ],
  • "table": "test_table",
  • "action": "create",
  • "inputFormat": "pqt"
}

Response samples

Content type
application/json
Example
{
  • "jobgroupId": 1,
  • "reason": "Job started",
  • "sessionId": "f9cab740-50b7-11e9-ba15-93c82271a00b"
}

License

Rest resource for handling trifacta licenses

Validate User Quota in License

Validate if the User Quota in License is exceeded

ref: validateLicensedUserQuota

Authorizations:

Responses

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.

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",
  • "signature": [
    ],
  • "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.

ref: getMacroPackage

Authorizations:
path Parameters
id
required
integer

Responses

Response samples

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

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" "spark" "emrSpark" "databricksSpark"

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

  • spark - Spark engine

  • emrSpark - Spark engine running on EMR

  • databricksSpark - Spark engine running on Databricks

profiler
required
boolean

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

isAdhoc
boolean
Default: true

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

flowNodeId
integer

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

Array of objects (writeSettingCreateRequest) [ items ]

Optionally you can include writeSettings while creating the outputObject

Array of objects (publicationCreateRequest) [ items ]

Optionally you can include publications while creating the outputObject

Array of objects (outputObjectSparkOptionUpdateRequest) [ items ]

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "execution": "photon",
  • "profiler": 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
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.

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 fuzzy-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
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.

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 fuzzy-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
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,
  • "isAdhoc": true,
  • "flownode": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    }
}

Update output object

Update an existing output object

ref: updateOutputObject

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

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

  • spark - Spark engine

  • emrSpark - Spark engine running on EMR

  • databricksSpark - Spark engine running on Databricks

profiler
boolean

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

Array of objects (writeSettingCreateRequest) [ items ]
Array of objects (publicationCreateRequest) [ items ]
Array of objects (outputObjectSparkOptionUpdateRequest) [ items ]

Responses

Request samples

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

Response samples

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

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" "spark" "emrSpark" "databricksSpark"

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

  • spark - Spark engine

  • emrSpark - Spark engine running on EMR

  • databricksSpark - Spark engine running on Databricks

profiler
boolean

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

Array of objects (writeSettingCreateRequest) [ items ]
Array of objects (publicationCreateRequest) [ items ]
Array of objects (outputObjectSparkOptionUpdateRequest) [ items ]

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "updated": true,
  • "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 user.

Get Current Person

Get information about the currently logged-in user.

ref: getCurrentPerson

Authorizations:
query Parameters
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

Responses

Response samples

Content type
application/json
{
  • "email": "joe@example.com",
  • "isAdmin": true,
  • "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
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

Responses

Response samples

Content type
application/json
{
  • "email": "joe@example.com",
  • "isAdmin": true,
  • "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": [
    ]
}

Update person

Update an existing person

ref: updatePerson

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
email
string <email>
isAdmin
boolean

If true, the user account is an administrator account. This property can only be changed by an admin account.

isDisabled
boolean

If true, the account is disabled. This property can only be changed by an admin account.

state
string
Enum: "active" "hidden"

Current state of the user account. This property can only be changed by an admin account.

  • active - User is active and usable in the workspace
  • hidden - User cannot access the workspace. User's data remains.
name
string

name of the user

password
string

User password

password2
string

This value confirms the value for password. These two property values must be identical.

outputHomeDir
string

Home directory where the user's generated results are written

uploadDir
string

Path on backend datastore where files uploaded from the user's desktop are stored for use as imported datasets.

Array of authorizationRoleWithName (object) or authorizationRoleWithTag (object) (authorizationRole) [ items ]

List of the roles that this subject has been assigned

Responses

Request samples

Content type
application/json
{
  • "email": "joe@example.com",
  • "isAdmin": true,
  • "isDisabled": false,
  • "state": "active",
  • "name": "Joe Guy",
  • "password": "string",
  • "password2": "string",
  • "outputHomeDir": "/home-dir/queryResults/joe@example.com",
  • "uploadDir": "/uploads",
  • "authorizationRoles": [
    ]
}

Response samples

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

Patch person

Patch an existing person

ref: patchPerson

Authorizations:
path Parameters
id
required
integer
Request Body schema: application/json
email
string <email>
isAdmin
boolean

If true, the user account is an administrator account. This property can only be changed by an admin account.

isDisabled
boolean

If true, the account is disabled. This property can only be changed by an admin account.

state
string
Enum: "active" "hidden"

Current state of the user account. This property can only be changed by an admin account.

  • active - User is active and usable in the workspace
  • hidden - User cannot access the workspace. User's data remains.
name
string

name of the user

password
string

User password

password2
string

This value confirms the value for password. These two property values must be identical.

outputHomeDir
string

Home directory where the user's generated results are written

uploadDir
string

Path on backend datastore where files uploaded from the user's desktop are stored for use as imported datasets.

Array of authorizationRoleWithName (object) or authorizationRoleWithTag (object) (authorizationRole) [ items ]

List of the roles that this subject has been assigned

Responses

Request samples

Content type
application/json
{
  • "email": "joe@example.com",
  • "isAdmin": true,
  • "isDisabled": false,
  • "state": "active",
  • "name": "Joe Guy",
  • "password": "string",
  • "password2": "string",
  • "outputHomeDir": "/home-dir/queryResults/joe@example.com",
  • "uploadDir": "/uploads",
  • "authorizationRoles": [
    ]
}

Response samples

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

Delete person

Delete an existing person

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

ref: deletePerson

Authorizations:
path Parameters
id
required
integer

Responses

List people

List existing people

ref: listPerson

Authorizations:
query Parameters
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.

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 fuzzy-filtering objects. See filterFields.

email
string
workspaceId
string

Filter the users using in a specific workspace. If not set, list users in the current workspace. It is ignored if the user is not an admin user.

state
string
isDisabled
string
includePrivileges
boolean
noLimit
string

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

Responses

Response samples

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

Create person

Create a new person

ref: createPerson

Request Body schema: application/json
email
required
string <email>
accept
required
string

This property must be set to "accept" to create the user.

isAdmin
boolean

If true, the user account is an administrator account. This property can only be changed by an admin account.

isDisabled
boolean

If true, the account is disabled. This property can only be changed by an admin account.

name
string

name of the user

password
string

User password

password2
string

This value confirms the value for password. These two property values must be identical.

email2
string <email>
outputHomeDir
string

Home directory where the user's generated results are written

uploadDir
string

Path on backend datastore where files uploaded from the user's desktop are stored for use as imported datasets.

Responses

Request samples

Content type
application/json
{
  • "email": "joe@example.com",
  • "isAdmin": true,
  • "isDisabled": false,
  • "name": "Joe Guy",
  • "accept": "accept",
  • "password": "string",
  • "password2": "string",
  • "email2": "user@example.com",
  • "outputHomeDir": "/home-dir/queryResults/joe@example.com",
  • "uploadDir": "/uploads"
}

Response samples

Content type
application/json
{
  • "email": "joe@example.com",
  • "isAdmin": true,
  • "isDisabled": false,
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Count people

Count existing people

ref: countPerson

Authorizations:
query Parameters
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.

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 fuzzy-filtering objects. See filterFields.

isDisabled
string
state
string

Responses

Response samples

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

Transfer Assets

Transfer Trifacta assets to another user. Assigns ownership of all the contents of one user's workspace to another user. This includes flows, datasets, recipes, and connections–basically any object that can be created and managed through the Trifacta 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.

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

ref: transferAssets

Authorizations:
path Parameters
fid
required
integer

the id of the person to transfer assets from

tid
required
integer

the id of the person to transfer assets to

Request Body schema: application/json
object or null

Responses

Request samples

Content type
application/json
{ }

Reset password request

Request to reset a user's password.

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

ℹ️ NOTE: This endpoint does not generate an email or perform the reset. You must use the reset code to build a reset URL to send separately to the specific user. The above must be built into a URL in the following format:

http://example.com:3005/password-reset?email=<email>&code=<AccountResetCode>
URL element Example value Description
email joe@example.com User ID (email address) of the user whose password is to be reset
AccountResetCode CD44232791 Password reset code

ref: passwordResetRequest

Request Body schema:
accountId
integer

Internal identifier of the user whose password should be reset

originUrl
string

The URL of the login page for the Trifacta application

Responses

Request samples

Content type
{
  • "accountId": 1,
  • "originUrl": "string"
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "email": "user@example.com"
}

Plan

An orchestrated plan of tasks

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) [ items ]

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
}

PlanSnapshotRun

An execution of a plan's snapshot state

Cancel a plan execution

Cancel the plan execution. If there are any pending jobs, it will also try to cancel them. If any jobs may not have been canceled, the failedToCancelSomeJobs value will be true.

ref: cancelPlanSnapshotRun

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

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
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.

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 fuzzy-filtering objects. See filterFields.

status
string

filter plan executions based on their status

Responses

Response samples

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

Count plan snapshot runs

Count existing plan snapshot runs

ref: countPlanSnapshotRuns

Authorizations:
query Parameters
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.

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 fuzzy-filtering objects. See filterFields.

status
string

filter plan executions based on their status

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
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,
  • "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": {
    }
}

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 (or of the datasource in case of Tableau)

targetType
required
string

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

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

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.
outputObjectId
integer

outputObject to attach this publication to.

connectionIdString (string) or connectionIdBigQuery (string)
Array of objects (runParameterDestinationInfo) [ items ]

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
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.

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 fuzzy-filtering objects. See filterFields.

Responses

Response samples

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

Count publications

Count existing publications

ref: countPublications

Authorizations:
query Parameters
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.

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 fuzzy-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
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": {
    }
}

Update publication Deprecated

Update an existing publication

ref: updatePublication

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 (or of the datasource in case of Tableau)

targetType
string

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

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

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.
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
{
  • "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 (or of the datasource in case of Tableau)

targetType
string

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

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

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.
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
{
  • "updated": true,
  • "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

Release

A specific instance of a flow package that has been imported.

A deployment contains multiple releases among which only one is active.

Import Flow package for deployment

Create a release for the specified deployment.

Release is created from a local ZIP containing the package of the flow exported from the source system.

When importing a release, import-mapping rules are executed. These import rules allow you to replace the file location or the table names of different objects during the import for a deployment. See updateObjectImportRules and updateValueImportRules if you need to update the import rules.

This endpoint accept a multipart/form content type.

Here is how to send the ZIP package using curl.

curl -X POST http://example.com:3005/v4/deployments/:id/releases \
-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.

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: importPackageForDeployment

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

Responses

Response samples

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

Get releases for deployment

Get the list of releases for the specified deployment

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: getReleasesForDeployment

Authorizations:
path Parameters
id
required
integer
query Parameters
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": [
    ]
}

Import deployment package - Dry run

Test importing flow package, applying all import rules that apply to this deployment, and return information about what objects would be created.

The same payload as for Import Deployment package is expected.

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: importPackageForDeploymentDryRun

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

Responses

Response samples

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

List releases

List existing releases

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: listReleases

Authorizations:
query Parameters
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.

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 fuzzy-filtering objects. See filterFields.

deploymentId
integer

Apply this filter to show only releases matching the given deployment.

Responses

Response samples

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

Count releases

Count existing releases

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: countReleases

Authorizations:
query Parameters
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.

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 fuzzy-filtering objects. See filterFields.

Responses

Response samples

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

Get release

Get an existing release

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: getRelease

Authorizations:
path Parameters
id
required
integer
query Parameters
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
{
  • "notes": "string",
  • "packageUuid": "f9cab740-50b7-11e9-ba15-93c82271a00b",
  • "active": true,
  • "deployment": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    }
}

Update release

Update an existing release

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: updateRelease

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

Display value for notes that you can add to describe the release.

packageUuid
string <uuid>

Unique identifier for the package

active
boolean

If true, the release is the active one for the deployment. If not, the release is not active.

Responses

Request samples

Content type
application/json
{
  • "notes": "string",
  • "packageUuid": "f9cab740-50b7-11e9-ba15-93c82271a00b",
  • "active": true
}

Response samples

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

Patch release

Update the specified release.

You can use the following example to make the current release the active one for the deployment.

{"active": true}

ℹ️ NOTE: You can have only one active release per deployment. If this release is made active as part of this execution, the currently active release is made inactive.

TIP: You can use this endpoint to deactivate a release, which prevents its jobs from being run. If there is no active release for the deployment, no jobs are run via the deployment job run endpoint. See runDeployment.

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: patchRelease

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

Display value for notes that you can add to describe the release.

packageUuid
string <uuid>

Unique identifier for the package

active
boolean

If true, the release is the active one for the deployment. If not, the release is not active.

Responses

Request samples

Content type
application/json
{
  • "active": true
}

Response samples

Content type
application/json
{
  • "notes": "string",
  • "packageUuid": "f9cab740-50b7-11e9-ba15-93c82271a00b",
  • "active": true,
  • "deployment": {
    },
  • "id": 1,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "creator": {
    },
  • "updater": {
    }
}

Delete release

Delete an existing release

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: deleteRelease

Authorizations:
path Parameters
id
required
integer

Responses

Export Release

Retrieve a package containing the definition of the flow for the specified release.

ℹ️ NOTE: Releases pertain to Production instances of the Trifacta Platform. For more information, see Overview of Deployment Manager.

ℹ️ NOTE: This method exports flows from a Product instance, which is different from exporting using the getFlowPackage, which exports from the Dev instance. Connection identifiers and paths may differ between the two instances. This method is typically used for archiving releases from the Deployment Manager.

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

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: getReleasePackage

Authorizations:
path Parameters
id
required
integer

Responses

Export Release - dry run

Test getting package for the flow, to find any potential issues.

ℹ️ NOTE: A deployment role or a deployment instance is required to use this endpoint.

ref: getReleasePackageDryRun

Authorizations:
path Parameters
id
required
integer

Responses

SupportBundle

Contains a collection of different sources for debugging purposes

Get Support Bundle

get support bundle

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

ref: getSupportBundle

Authorizations:
query Parameters
startTime
string

ISO timestamp; only include log events which happened after this time

endTime
string

ISO timestamp; only include log events which happened before this time

sessionId
string

only include log events which belong to this session id

maxFileSizeInBytes
integer

max file size of filtered log files in the support bundle

Responses

Get Support Bundle for current session

Get support bundle for current session.

ref: getSupportBundleForCurrentSession

Authorizations:

Responses

WrangledDataset

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

ℹ️ NOTE: In the Trifacta 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
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.

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 fuzzy-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
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.

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 fuzzy-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
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" "tde" "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
  • tde - Tableau TDE 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) [ items ]

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
Example
{
  • "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
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.

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 fuzzy-filtering objects. See filterFields.

Responses

Response samples

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

Count write settings

Count existing write settings

ref: countWriteSettings

Authorizations:
query Parameters
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.

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 fuzzy-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
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"
}

Update write setting Deprecated

Update an existing write setting

ref: updateWriteSetting

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" "tde" "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
  • tde - Tableau TDE 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
{
  • "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" "tde" "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
  • tde - Tableau TDE 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
{
  • "updated": true,
  • "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