Store listings

Per-locale metadata and version history.

Updated 2026-05-24
3 min read

Store listings hold the per-locale metadata that goes to the App Store or Google Play: app name, subtitle, description, keywords, what's new, support URLs. Each listing is keyed by (project, store_type, locale).

List all locales

bash
GET /api/v1/projects/:projectId/listings?store_type=appstore&locale=en-US

# Both filters optional. Scope: store:read

Get one listing

bash
GET /api/v1/projects/:projectId/listings/:storeType/:locale

# Example: /listings/appstore/en-US. Scope: store:read

Update listing fields

bash
PATCH /api/v1/projects/:projectId/listings/:storeType/:locale
Content-Type: application/json

{
  "app_name": "Updated Title",
  "subtitle": "New tagline",
  "description": "Updated description...",
  "keywords": "comma,separated,keywords"
}

# Scope: store:write
# After PATCH, sync_status becomes "modified" — publish via the dashboard / agent flow.

Field limits differ by store: app_name ≤30 (App Store) / ≤50 (Play Store), subtitle ≤30 (App Store only), keywords ≤100 (App Store only), short_description ≤80 (Play Store only), description ≤4000.

Version history

bash
GET /api/v1/projects/:projectId/listing-versions?store_type=appstore&limit=10

# Returns the version-number ordered list of published snapshots.
# Scope: store:read
bash
GET /api/v1/listing-versions/:versionId

# Returns the full snapshot JSONB for one version.
# Scope: store:read