Skip to main content

Changes to the APIs

Review the changes to the publicly available REST APIs for the Dataprep by Trifacta platform for the current release and past releases.

Release 9.5

API access moving to Enterprise product edition only

Note

The following applies to cloud-based product editions only. Designer Cloud Powered by Trifacta Enterprise Edition is unaffected by this change.

New customers:

Beginning in Release 9.5, access to publicly facing APIs is available on the Enterprise edition only.

Existing customers:

For customers who have already licensed the product, API access remains unchanged until renewal.

When it is time to renew, existing customers must migrate to the Enterprise edition to retain access to publicly facing APIs.

For more information, see Product Editions.

Release 8.11

writesettings objects are no longer validated for API-based jobs

Beginning in this release, the settings in a writesettings object are no longer validated as part of job execution for scheduled and API-based jobs. A writesettings object defines the file-based output for a job.

Note

When this feature is enabled, you should first test jobs by running them through the Trifacta Application. These validations are still performed during manual job execution. If the validation fails, the job can fail during transformation or publishing stages. if the job succeeds, scheduled and API-based jobs should work.

This feature is enabled by default. A workspace administrator can disable the feature if needed.

For more information, see Dataprep Project Settings Page.

Release 8.8

API rate limiting

For some API endpoints that are heavily used or critical to the success use of the platform, rate limiting has been applied. API rate limiting sets the maximum number of requests that are accepted by an endpoint within a specified period of time. For example, you may be prevented from sending more than 50 requests to start a job or plan run within a minute.

Note

All rate-limited endpoints receive the default quota limit, which is determined based on the product tier. If a rate limit quota is reached, a small set of subsequent requests is enqueued. If the queue is filled before the end of the minute, subsequent requests return a 429 status code error.

Tip

Where applicable, the quotas for individual APIs are listed with the relevant API endpoint documentation.

See: Dataprep by Trifacta: API Reference docs

Release 8.7

Removal of old asset transfer endpoint

The following endpoint for transferring assets between users has been removed from the product:

/v4/people/{to-userid:}/assetTransfer/{from-userid:}

The above endpoint no longer works.

In a previous release, this endpoint was replaced by an improved method of asset transfer. For more information, see "Asset transfer API using email addresses" below.

Deprecation of not useful connection endpoints

The following endpoints have been deprecated:

/v4/connections/vendors
/v4/connections/credentialTypes
/v4/connections/:id/publish/info
/v4/connections/:id/import/info

These endpoints were scheduled for deprecation in Release 8.2 and are not widely used.

Tip

To acquire the definition of a specific connection, you can try the following:

/v4/connectormetadata/:connectorname

See Dataprep by Trifacta: API Reference docs

Release 8.5

Cancel Dataflow jobs via API

Note

This feature may not be available in all product editions. For more information on available features, see Compare Editions.

Endpoint

http://www.example.com:3005/v4/jobGroups/:id/cancel

Authentication

Required

Method

POST

Request Body

None.

Response Status Code

200 - Ok

Response Body

{
  "jobIds": [
    1
  ],
  "jobgroupId": 1
}

For more information, see Dataprep by Trifacta: API Reference docs

Changes for Release 8.2

None.

Release 8.1

Customize relational connectors via API

Note

This feature may not be available in all product editions. For more information on available features, see Compare Editions.

Beginning in Release 8.1, you can customize aspects of each relational connection type available in your product edition through a set of APIs. Some terms:

  • connection: In the Trifacta Application and via API, you can create and manage connections between the platform a specific datastore. A connection is the user-defined object that enables the connection to the datastore.

  • connector: A connection interfaces with a connector, which is an underlying driver and its related configuration, that perform the actual connection. This configuration information includes runtime, publishing, and connection definitions.

    Tip

    All connections of the same type use the same underlying connector, including its configuration. Overrides that you apply to a connector apply to all current and new connections of that type in the workspace.

Get connector identifier

To use these API endpoints, you must acquire the connector identifier. This value is the vendor value for a connection of the type. You can acquire this value in one of two ways:

  • Create a connection of the type in the Trifacta Application. Use the /v4/connections/:id endpoint with the GET method to acquire the connection information for your connection. Acquire the vendor value. Dataprep by Trifacta: API Reference docs

  • You may find the vendor values listed in the documentation. See Connection Types.

Get connector metadata information - defaults

The following endpoint returns the default metadata information for a specified connector type. This information is stored in the Connector Configuration Service database.

For the :connectorId value below, use the vendor value that you acquired above. For example, to acquire connector type definitions for MySQL connection type, use the value mysql.

Endpoint

/v4/connectorMetadata/:connectorId/defaults

Method

GET

Description

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

Documentation

Dataprep by Trifacta: API Reference docs

Get connector metadata information - current values

The following endpoint acquires the current metadata for a specified connector type, which include the default values with any applicable overrides applied to them.

Endpoint

/v4/connectorMetadata/:connectorId/

Method

GET

Description

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

Documentation

Dataprep by Trifacta: API Reference docs

Get connector metadata information - get overrides values

The following endpoint retrieves the overrides that have been applied to a specific connector.

Endpoint

/v4/connectorMetadata/:connectorId/overrides

Method

GET

Description

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

Documentation

Dataprep by Trifacta: API Reference docs

Create overrides for a connector

The following endpoint applies the specified value or values as overrides to the connector.

Endpoint

/v4/connectorMetadata/:connectorId/overrides

Method

POST

Description

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

Documentation

Tip

Overrides are specified in the request body. See the link below for more.

Dataprep by Trifacta: API Reference docs

Delete overrides for a connector

The following endpoint deletes all override values for a specified connector.

Endpoint

/v4/connectorMetadata/:connectorId/overrides

Method

DELETE

Description

All overrides are deleted. The connector reverts to the base configuration.

Documentation

Dataprep by Trifacta: API Reference docs

Asset transfer API using email addresses

You can now transfer all assets owned by one user to another user.

Note

This feature is available to project owners only.

Notes:

  • When a user transfer assets, the level of privilege (viewer, editor, or owner) is transferred with each asset. It is technically possible for a user to own an asset and to have sub-maximal privileges on the asset.

    • For shareable assets such as flows and connections, the original owner is downgraded to editor of those assets and any assets scoped within them, such as datasets.

    • Schedules are transferred. Time and time zone information in the schedules are not modified during the transfer.

    • For non-shareable assets, such as folders and macros, the original owner no longer has access to them at all.

  • Participants in the transfer can be identified by email address or internal identifier of the platform.

  • Transferring of assets does not check for access to the objects. It's possible that the receiving user may not be able to access connections or datasets that were created by the original user. Examples:

    • Original user accessed data through a connection that was shared to the user. Receiving user does not have access to or credentials for the connection.

    • Original user had permissions to directories on the backend datastore that the receiving user does not have.

  • This endpoint does not delete the user who transferred the assets.

Here is the mapping of example user identifiers:

role

email address

internal identifier

from-user

joe@example.com

4

to-user

jim@example.com

7

Transfer of assets using email:

Endpoint

http://www.example.com:3005/v4/workspaces/current/transfer

Authentication

Required

Method

PATCH

Request Body

{
 "fromUserEmail": "joe@example.com",
 "toUserEmail": "jim@example.com"
}

Response Status Code

200 - Ok

Response Body

Empty.

Transfer of assets using internal identifier:

The following endpoint call transfers assets from userId 4 to userId 7.

Endpoint

http://www.example.com:3005/v4/workspaces/current/transfer

Authentication

Required

Method

PATCH

Request Body

{
 "fromUserId": "4",
 "toUserId": "7"
}

Response Status Code

200 - Ok

Response Body

Empty.

For more information, see Dataprep by Trifacta: API Reference docs

You can also specify a workspace identifier in place of /current/ above. For more information, see Dataprep by Trifacta: API Reference docs

Release 7.5

Flow sharing API now accepts user email addresses

Note

This feature may not be available in all product editions. For more information on available features, see Compare Editions.

Beginning in Release 7.5, the API has been enhanced to allow insertion of a user's email address as part of the request body. Below is an example request:

Endpoint

/v4/flows/402/permissions/

Method

POST

Request Body

    "data": [
        {
            "email": "user@example.com",
            "role": "collaborator",
            "policy": "flow_editor"
        }
    ]
}

If the above returns a 201 - Success status message, then user@example.com has been given the role of collaborator, which uses the flow_editor policy, for flowId 402.

Dataprep by Trifacta: API Reference docs