Our APIs

All our Keboola components have a public API on apiary. We recommend using either the Apiary Console or Postman Client for sending requests to our API. Most of our APIs accept and return data in JSON format. Many of these APIs require a Storage API token, specified in the X-StorageApi-Token header.

List of Keboola APIs

All parts of the Keboola platform can be controlled via an API. The main APIs for our components are:

API Description
Keboola Storage API Storage is the main Keboola component storing all data.
Keboola Management API API managing Keboola projects and users (and notifications and features).
Encryption API Provides Encryption.
Docker Runner API Docker Runner is the component running other Keboola components.
JSON Parser API JSON Parser is a service converting JSON files to CSV.
Transformation API Transformations is the component running SQL/R/Python transformations.
Provisioning API Provisioning is a service creating accounts for sandboxes, transformations and database writers.
Provisioning Management API API managing servers for sandboxes, transformations.
Syrup Queue API Syrup Queue is a component managing Jobs. Being replaced by Queue API.
Queue API Queue is a service for running components and managing Jobs.
OAuth Broker API OAuth Broker is a component managing OAuth authorizations of other components.
Orchestrator API Orchestrator is a component used for automating and scheduling tasks in your project. Note: This applies to legacy orchestrations only. For Orchestrator V2, please refer to the Storage API.
Importer API Importer is a helper service for easy table imports
Developer Portal API Developer Portal is an application separated from Keboola for creating components.
Billing API Billing API for Pay as You Go projects.
Workspaces API Workspaces API for V2 workspaces.
Synchronous Actions API API to trigger Synchronous Actions. This is a partial replacement of Docker Runner API and may not be available on all stacks.
Scheduler API API to automate configurations
Notifications API API to subscribe to events, e.g., failed orchestrations (replacement for Orchestrator API)
Templates API The Keboola Templates API allows you to apply a template.
Stream API The Keboola Stream API allows you to ingest small and frequent events into your project’s storage.
Vault Service handling variables & credentials storage.

If you’re unsure which API to use, refer to our integration guide. It describes the roles of different APIs and contains examples of commonly performed actions.

Stacks and Endpoints

Keboola is available in multiple stacks, which can be either multi-tenant or single-tenant. Current multi-tenant stacks are:

Each stack operates as an independent instance of Keboola services. In all the API documentation above, the AWS US stack is used.

Single-tenant stacks are available for a single enterprise customer, with a domain name in the format connection.CUSTOMER_NAME.keboola.com.

If you are using another stack, modify the endpoints accordingly. Otherwise, you may encounter Invalid Token or unauthorized errors. The authoritative list of available endpoints is provided by the Storage API Index Call. The following is a sample response:

{
    ...,
  "services": [
        {
            "id": "docker-runner",
            "url": "https://docker-runner.keboola.com"
        },
        {
            "id": "import",
            "url": "https://import.keboola.com"
        },
        {
            "id": "syrup",
            "url": "https://syrup.keboola.com"
        },
        {
            "id": "oauth",
            "url": "https://oauth.keboola.com"
        },
        {
            "id": "queue",
            "url": "https://queue.keboola.com"
        },
        {
            "id": "billing",
            "url": "https://billing.keboola.com"
        },
        {
            "id": "encryption",
            "url": "https://encryption.keboola.com"
        },
        {
            "id": "sandboxes",
            "url": "https://sandboxes.keboola.com"
        },
        {
            "id": "mlflow",
            "url": "https://mlflow.keboola.com"
        },
        {
            "id": "spark",
            "url": "https://spark.keboola.com"
        },
        {
            "id": "scheduler",
            "url": "https://scheduler.keboola.com"
        },
        {
            "id": "sync-actions",
            "url": "https://sync-actions.keboola.com"
        },
        {
            "id": "notification",
            "url": "https://notification.keboola.com"
        },
        {
            "id": "templates",
            "url": "https://templates.keboola.com"
        }
    ],
}

The services listed above are:

For convenience, the following table lists active services and their URLs, though for an authoritative answer and in application integrations, we strongly suggest using the above API call.

API Service Region URL
Billing billing US Virginia AWS https://billing.keboola.com
Billing billing US Virginia GCP https://billing.us-east4.gcp.keboola.com
Billing billing EU Frankfurt AWS https://billing.eu-central-1.keboola.com
Billing billing EU Ireland Azure https://billing.north-europe.azure.keboola.com
Billing billing EU Frankfurt GCP https://billing.europe-west3.gcp.keboola.com
Encryption encryption US Virginia AWS https://encryption.keboola.com
Encryption encryption US Virginia GCP https://encryption.us-east4.gcp.keboola.com
Encryption encryption EU Frankfurt AWS https://encryption.eu-central-1.keboola.com
Encryption encryption EU Ireland Azure https://encryption.north-europe.azure.keboola.com
Encryption encryption EU Frankfurt GCP https://encryption.europe-west3.gcp.keboola.com
Importer import US Virginia AWS https://import.keboola.com
Importer import US Virginia GCP https://import.us-east4.gcp.keboola.com
Importer import EU Frankfurt AWS https://import.eu-central-1.keboola.com
Importer import EU Ireland Azure https://import.north-europe.azure.keboola.com
Importer import EU Frankfurt GCP https://import.europe-west3.gcp.keboola.com
MLFlow mlflow US Virginia AWS https://mlflow.keboola.com
MLFlow mlflow EU Frankfurt AWS https://mlflow.eu-central-1.keboola.com
MLFlow mlflow EU Ireland Azure https://mlflow.north-europe.azure.keboola.com
Notification notification US Virginia AWS https://notification.keboola.com
Notification notification US Virginia GCP https://notification.us-east4.gcp.keboola.com
Notification notification EU Frankfurt AWS https://notification.eu-central-1.keboola.com
Notification notification EU Ireland Azure https://notification.north-europe.azure.keboola.com
Notification notification EU Frankfurt GCP https://notification.europe-west3.gcp.keboola.com
OAuth oauth US Virginia AWS https://oauth.keboola.com
OAuth oauth US Virginia GCP https://oauth.europe-west3.gcp.keboola.com
OAuth oauth EU Frankfurt AWS https://oauth.eu-central-1.keboola.com
OAuth oauth EU Ireland Azure https://oauth.north-europe.azure.keboola.com
OAuth oauth EU Frankfurt GCP https://oauth.europe-west3.gcp.keboola.com
Queue queue US Virginia AWS https://queue.keboola.com
Queue queue US Virginia GCP https://queue.us-east4.gcp.keboola.com
Queue queue EU Frankfurt AWS https://queue.eu-central-1.keboola.com
Queue queue EU Ireland Azure https://queue.north-europe.azure.keboola.com
Queue queue EU Frankfurt GCP https://queue.europe-west3.gcp.keboola.com
Scheduler scheduler US Virginia AWS https://scheduler.keboola.com
Scheduler scheduler US Virginia GCP https://scheduler.us-east4.gcp.keboola.com
Scheduler scheduler EU Frankfurt AWS https://scheduler.eu-central-1.keboola.com
Scheduler scheduler EU Ireland Azure https://scheduler.north-europe.azure.keboola.com
Scheduler scheduler EU Frankfurt GCP https://scheduler.europe-west3.gcp.keboola.com
Storage   US Virginia AWS https://connection.keboola.com/
Storage   US Virginia GCP https://connection.us-east4.gcp.keboola.com
Storage   EU Frankfurt AWS https://connection.eu-central-1.keboola.com/
Storage   EU Ireland Azure https://connection.north-europe.azure.keboola.com/
Storage   EU Frankfurt GCP https://connection.europe-west3.gcp.keboola.com/
Sync Actions sync-actions US Virginia AWS https://sync-actions.keboola.com/
Sync Actions sync-actions US Virginia GCP https://sync-actions.us-east4.gcp.keboola.com
Sync Actions sync-actions EU Frankfurt AWS https://sync-actions.eu-central-1.keboola.com
Sync Actions sync-actions EU Ireland Azure https://sync-actions.north-europe.azure.keboola.com
Sync Actions sync-actions EU Frankfurt GCP https://sync-actions.europe-west3.gcp.keboola.com
Templates templates US Virginia AWS https://templates.keboola.com
Templates templates US Virginia GCP https://templates.us-east4.gcp.keboola.com
Templates templates EU Frankfurt AWS https://templates.eu-central-1.keboola.com
Templates templates EU Ireland Azure https://templates.north-europe.azure.keboola.com
Templates templates EU Frankfurt GCP https://templates.europe-west3.gcp.keboola.com
Workspaces / Sandboxes sandboxes US Virginia AWS https://sandboxes.keboola.com
Workspaces / Sandboxes sandboxes US Virginia GCP https://sandboxes.us-east4.gcp.keboola.com
Workspaces / Sandboxes sandboxes EU Frankfurt AWS https://sandboxes.eu-central-1.keboola.com
Workspaces / Sandboxes sandboxes EU Ireland Azure https://sandboxes.north-europe.azure.keboola.com
Workspaces / Sandboxes sandboxes EU Frankfurt GCP https://sandboxes.europe-west3.gcp.keboola.com

Important: Each stack also uses its own set of IP addresses.

Calling API

There are several ways to send requests to our APIs:

Apiary Console

Send requests to our API directly from the Apiary console by clicking on Switch to console or Try. Fill in the request headers and parameters, then click Call Resource.

Apiary console

The Apiary console is fine if you send API requests only occasionally. It requires no application installation; however, it has no history and no other useful features.

Postman Client

Postman is a generic HTTP API client, suitable for more regular API work. We also provide a collection of useful API calls with examples. The collection contains code examples in various languages; the requests can also be imported into the Postman application.

Postman Docs

cURL

cURL is a common library with a command-line interface (CLI). You can use the cURL CLI to create simple scripts for interacting with Keboola APIs. For example, to run a job:

curl --data "{\"config\": \"sampledatabase\"}" --header "X-StorageAPI-Token: YourStorageToken" https://syrup.keboola.com/keboola.ex-db-mysql/run