# PR#23: Taiga's API Address from Its conf.json > **WARNING:** This document describes only the change applied in this PR. > It may already be outdated once the next PR is merged. > Historic PR documentation is not maintained along with new PRs; treat it as a snapshot. ## Related Links - [werkregie PR#21](https://git.javagil.de/mi/werkregie/pulls/21): the Taiga source. ## Problem werkregie PR#21 assumed Taiga's API below the web address, at `/api/v1`. The user's Taiga serves its API from a host of its own; below the web address it answers every path with the page of its web app. Taiga's own web app finds its API in `/conf.json`, field `api`. ## Non-Goals - No other change of the Taiga source. ## Specification ### Feature: the address of Taiga's API #### Scenario#23.01: the API where conf.json says … so that a Taiga with its API on a host of its own works with its web address alone. - **Given** a Taiga whose `conf.json` names its API at another address - **When** the dashboard reads it - **Then** login and reading go to that address ##### Verified by - [TaigaSourceTest](../../dashboard/src/test/kotlin/de/hoennig/werkregie/dashboard/sources/TaigaSourceTest.kt): "the API lies where Taiga's conf.json says, e.g. on a host of its own". #### Scenario#23.02: a configured apiUrl wins … so that the user can name the API where `conf.json` is wrong or missing. - **Given** a task board with `apiUrl` - **When** the dashboard reads it - **Then** login and reading go to `apiUrl`, whatever `conf.json` says ##### Verified by - [TaigaSourceTest](../../dashboard/src/test/kotlin/de/hoennig/werkregie/dashboard/sources/TaigaSourceTest.kt): "a configured apiUrl wins over conf.json". #### Scenario#23.03: without a usable conf.json the API lies below the pages … so that a Taiga with its API at `/api/v1` still works. - **Given** a Taiga without `conf.json`, or one that answers it with its web page - **When** the dashboard reads it - **Then** login and reading go to `/api/v1` ##### Verified by - [TaigaSourceTest](../../dashboard/src/test/kotlin/de/hoennig/werkregie/dashboard/sources/TaigaSourceTest.kt): "a conf.json that is a web page leaves the API below the pages"; the older tests run against a fake without `conf.json`. ## Solution - `TaigaSource` asks `/conf.json` once for the field `api`; a 404 or a web page leads to `/api/v1`, a network error is not cached. - `apiUrl` in the task board overrides it. - A missing user, password or project is reported before any request. - The example configurations, `dashboard/README.md` and the Werkbaum name it. - Version 0.9.2. ## Open Questions None.