Key concepts
- General settings — Project display name and optional proxy URLs (
proxy_urlfor SDK traffic,rtdn_proxy_urlfor Play Store RTDN callbacks). - Secret rotation —
POST /v4/project-settings/regenerate-secretis deprecated. It creates a newsk_…key, deletes the project’s oldest Secret Key immediately, and returns the new value. The deleted key is not cut off at once: it can keep authenticating for up to 1 hour, because API servers cache key lookups for up to 1 hour and the cache is not invalidated on rotation. Any consumer that still uses the old key loses access within that hour. For rotation without downtime, create a second Secret Key in the dashboard, migrate your consumers, then delete the old key — see How to manage and rotate project keys. - Store config —
GET/POST /v4/project-settings/stores/{platform}whereplatformisappleorgoogle. Stripe store config is not exposed via this API. Apple requires the App Store Connect API triplet (connect_key_identifier+connect_private_key+connect_issuer_id) to be sent together; same for the In-App Purchase API triplet (iap_key_identifier+iap_private_key+iap_issuer_id). Submitting only 1–2 of a triplet returns 422.
Available endpoints
Sensitive fields
Secrets (Apple shared secret, Apple Connect/IAP private keys, Google service account key) are never returned inGET responses. Instead the response includes boolean flags — has_shared_secret, has_connect_private_key, has_iap_private_key, has_service_account_key — that tell you whether the value is set.
On POST (update), omitting a secret field preserves the existing value. To rotate a secret, send the new value explicitly.