From edf5dd6e4b83d195033c11159ac0286f52aa3eef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Va=C5=A1ko?= Date: Tue, 12 May 2026 07:53:27 +0200 Subject: [PATCH 1/2] docs(api): clarify per-stack API portals and warn about token scope Add an info callout above the API table explaining the links go to the AWS US portal and that using the wrong portal causes Invalid Token errors. Add an "API Documentation Portals" subsection under Stacks and Endpoints with direct links to each stack's portal (api.*), making it easy to land on the correct portal before trying out API calls with your token. Rename "If you are using another stack..." paragraph heading to "Service Endpoints" to separate it visually from the portal table. Co-Authored-By: Claude Sonnet 4.6 --- overview/api/index.md | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/overview/api/index.md b/overview/api/index.md index de642672..545f3f56 100644 --- a/overview/api/index.md +++ b/overview/api/index.md @@ -19,6 +19,11 @@ Many of these APIs require a *Storage API token*, specified in the `X-StorageApi All parts of the Keboola platform can be controlled via an API. The main APIs for our components are: +{: .alert .alert-info} +**Note:** The links in the table below open the API documentation portal for the **AWS US** stack (`api.keboola.com`). +If you are using a different stack, navigate to your stack's API portal first — see [API Documentation Portals](#api-documentation-portals) below — and then select the service there. +Using a portal for a different stack than your token's stack will result in `Invalid Token` errors. + | API | Description | |-------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Keboola Storage API](https://keboola.docs.apiary.io/) ([source](https://github.com/keboola/storage-api-php-client/blob/master/apiary.apib)) | [Storage](/integrate/storage/) is the main Keboola component storing all data. | @@ -53,13 +58,27 @@ either multi-tenant or single-tenant. Current multi-tenant stacks are: - EU Ireland Azure – [connection.north-europe.azure.keboola.com](https://connection.north-europe.azure.keboola.com/) - EU Frankfurt GCP - [connection.europe-west3.gcp.keboola.com](https://connection.europe-west3.gcp.keboola.com/) -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 +Each stack operates as an independent instance of Keboola services with its own data, users, and tokens. +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. +### API Documentation Portals + +The API documentation portal (`api.*`) is deployed independently per stack. Always use the portal +for your own stack — tokens are not valid across stacks, and using the wrong portal will cause +`Invalid Token` errors when trying out API calls. + +| Stack | API Documentation Portal | +|---|---| +| US Virginia AWS | [api.keboola.com](https://api.keboola.com/) | +| EU Frankfurt AWS | [api.eu-central-1.keboola.com](https://api.eu-central-1.keboola.com/) | +| EU Ireland Azure | [api.north-europe.azure.keboola.com](https://api.north-europe.azure.keboola.com/) | +| EU Frankfurt GCP | [api.europe-west3.gcp.keboola.com](https://api.europe-west3.gcp.keboola.com/) | +| US Virginia GCP | [api.us-east4.gcp.keboola.com](https://api.us-east4.gcp.keboola.com/) | + +### Service Endpoints + +If you are calling the APIs directly (not through the portal), modify the hostname accordingly. Otherwise, you may encounter `Invalid Token` or unauthorized errors. The *authoritative list* of available endpoints is provided by the [Storage API Index Call](https://keboola.docs.apiary.io/#reference/miscellaneous/api-index/component-list). The following is a sample response: {% highlight json %} From 5525ddc6806527956bc293f1e4b90340b133a134 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Va=C5=A1ko?= Date: Tue, 12 May 2026 08:43:03 +0200 Subject: [PATCH 2/2] docs(api): fix alert markup, scope note to api.keboola.com links, fix stack name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace kramdown {: .alert} with explicit HTML
to match the pattern used by the existing warning alert on the same page - Scope the note to "api.keboola.com links" — Storage API and Developer Portal API link to Apiary, not the per-stack portal - Rename "AWS US" → "US Virginia AWS" to match the terminology used in the Stacks and Endpoints section Co-Authored-By: Claude Sonnet 4.6 --- overview/api/index.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/overview/api/index.md b/overview/api/index.md index 545f3f56..a4dcd6d9 100644 --- a/overview/api/index.md +++ b/overview/api/index.md @@ -19,10 +19,11 @@ Many of these APIs require a *Storage API token*, specified in the `X-StorageApi All parts of the Keboola platform can be controlled via an API. The main APIs for our components are: -{: .alert .alert-info} -**Note:** The links in the table below open the API documentation portal for the **AWS US** stack (`api.keboola.com`). -If you are using a different stack, navigate to your stack's API portal first — see [API Documentation Portals](#api-documentation-portals) below — and then select the service there. -Using a portal for a different stack than your token's stack will result in `Invalid Token` errors. +
+Note: The api.keboola.com links in the table below open the API documentation portal for the US Virginia AWS stack. +If you are using a different stack, navigate to your stack's API portal first — see API Documentation Portals below — and then select the service there. +Using a portal for a different stack than your token's stack will result in Invalid Token errors. +
| API | Description | |-------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|