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 thevendor
value. Dataprep by Trifacta: API Reference docsYou 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