---
title: "Get the iOS version policy"
method: GET
path: "/api/v2/app/ios-version-policy"
---

# Get the iOS version policy

`GET /api/v2/app/ios-version-policy`

## Request

- Base URL: `https://api.racecalendar.app`
- URL: `https://api.racecalendar.app/api/v2/app/ios-version-policy`
- Auth: none declared

Returns the latest and minimum supported iOS app versions plus App Store links. Used by the Race Calendar iOS client for update prompts. Cached; does not require authentication.

## Response `200`

iOS app update policy

- IOSVersionPolicy
  - `platform` 'ios', required
  - `latestVersion` string, required
  - `minimumSupportedVersion` string, required
  - `appStoreId` string, required
  - `appStoreUrl` string, required
  - `message` string, nullable, required
  - `generatedAt` string, required

## Other responses

- `304`: Not modified
- `400`: Invalid request. Typed RFC 9457-compatible JSON (`ErrorResponse`) keeps `ok: false` plus `error` for iOS clients.
- `404`: Resource not found. Typed RFC 9457-compatible JSON (`ErrorResponse`) keeps `ok: false` plus `error` for iOS clients.
- `429`: Too many requests. Public calendar, season, standings, and track GET routes do not currently return 429; they only advertise an informational RateLimit ceiling. MCP cache-miss queries under `/api/v2/mcp/*` may return 429 with Retry-After. Identity and referral routes keep their existing D1 budgets.
- `500`: Internal server error. Typed RFC 9457-compatible JSON (`ErrorResponse`) keeps `ok: false` plus `error` for iOS clients.

---

[API](https://skmtc.dev/racecalendar/apis/race-calendar-formula-1-api.md) · [All operations](https://skmtc.dev/racecalendar/apis/race-calendar-formula-1-api/llms.txt) · [OpenAPI document](https://skmtc.dev/racecalendar/apis/race-calendar-formula-1-api/revisions/b2c2532b5f80?raw)
