---
title: "App config"
method: GET
path: "/api/v2/app/config"
tags: ["App"]
---

# App config

`GET /api/v2/app/config`

## Request

- Base URL: `https://www.endlesstravelplans.com`
- URL: `https://www.endlesstravelplans.com/api/v2/app/config`
- Auth: none required

What the installed app is told on start: the version floor and ceiling for its platform, an optional notice
and sunset date, store links, the tool surfaces the server has switched off (`kill_switches`, per platform),
the version of the claimed path list, the API major and spec fingerprint, the support contact, and the web
pages the app opens (`urls.trip` is a template: replace `{externalId}`; `urls.free_limit_merge` is where a free
account moves or merges trips over its limit; `urls.tools` and `urls.tool_start` are the tool pages per
record and the wizard roots the 2.0 read cards open). Every v1 field keeps its value. `update_required` and
`update_available` are null unless `X-Platform` and `X-App-Version` name a known app. The body is cached for a minute and for five minutes by the client.

## Response `200`

- object
  - `minimum_version` object
    - `ios` string
    - `android` string
  - `latest_version` object
    - `ios` string
    - `android` string
  - `sunset_at` string, nullable
  - `notice` string, nullable
  - `store_url` object
    - `ios` string
    - `android` string, nullable
  - `api` object
    - `major` integer
    - `spec_version` string
  - `claimed_paths` object
    - `version` string
    - `patterns` string[]
    - `public_in_app` string[]
  - `kill_switches` object
    - `budget` object
      - `ios` boolean
      - `android` boolean
    - `itinerary` object
      - `ios` boolean
      - `android` boolean
    - `packing` object
      - `ios` boolean
      - `android` boolean
    - `vote` object
      - `ios` boolean
      - `android` boolean
    - `documents` object
      - `ios` boolean
      - `android` boolean
    - `expenses` object
      - `ios` boolean
      - `android` boolean
    - `iap` object
      - `ios` boolean
      - `android` boolean
    - `push` object
      - `ios` boolean
      - `android` boolean
    - `realtime` object
      - `ios` boolean
      - `android` boolean
  - `support` object
    - `email` string
    - `url` string
  - `urls` object
    - `trip` string
    - `free_limit_merge` string
    - `tools` object
      - `budget` string
      - `itinerary` string
      - `packing_list` string
      - `vote` string
    - `tool_start` object
      - `budget` string
      - `itinerary` string
      - `packing_list` string
      - `vote` string
  - `update_required` boolean
  - `update_available` boolean
  - `server_time` string

## Other responses

- `429`: rate_limited: A throttle or a per-account allowance refused the request; `retry_after` or `remaining` may be present.
- `500`: server_error: Unhandled failure; quote `request_id` to support.

---

[API](https://skmtc.dev/endlesstravelplans/apis/endless-travel-plans-api.md) · [All operations](https://skmtc.dev/endlesstravelplans/apis/endless-travel-plans-api/llms.txt) · [OpenAPI document](https://skmtc.dev/endlesstravelplans/apis/endless-travel-plans-api/revisions/ae82ed3e4a8f?raw)
