Platform

January API Changes

Digest of Keboola Connection API changes in January 2022. Improved branch endpoints, running disabled configurations, error response unification.

This post contains a digest of API changes made during January 2022. The new features introduced by these changes are not yet completely available in the UI. This post does not describe any changes to the user interface. As usual, the API changes are completely backwards compatible, except for the planned deprecation.

Storage API

More Storage API functions can now be called from within a branch context. The following API calls are now available in a development branch context:

Selected endpoints can be used with the value default for the branch_id parameter so that they work as if the endpoint is called from outside the development branch. For example, that means that the endpoint GET /v2/storage/workspaces is the same as GET /v2/storage/branch/default/workspaces and the same as GET /v2/storage/branch/1234/workspaces, provided that the default branch id is 1234. This applies to the following endpoints:

The goal of the changes is to make it easier to write code for branches, with fewer switches from a branch to a non-branch context.

Jobs API

The create job API call now has a forceRun mode, which allows you to run a disabled configuration.

The list jobs API call now allows filtering by componentId and branchId.

The activate scheduler API now accepts configurations referencing configuration rows. This means you can schedule a single row of a configuration.

Planned Deprecation

The service error response of the storage API importer will be modified to be the same as the error responses given by other services (e.g., the job service). This means that it will change from

{
  "message": "X-StorageApi-Token header is required",
  "status": "error"
}

to

{
  "error": "X-StorageApi-Token header is required",
  "code": 400,
  "status": "error",
  "exceptionId": "job-runner-1234567890"
}

The change is planned for February 2022. If you are concerned about the exact timing, please contact our support team via the button in your project.