These endpoints require a dashboard session with organization context. Reads are open to any member; the update requires the admin role.
Get configuration
Response
apple and stripe are null until configured. The Stripe signing secret is never echoed — signingSecretSet reports whether one is stored. stripeWebhookPath is the per-organization path to configure in your Stripe dashboard.
Update configuration
Body
tier is any string you choose — it flows verbatim into the JWT claim. interval must be monthly or annual (anything else returns 400).
Sending an apple or stripe object replaces that source’s configuration wholesale — send the complete product or price map each time.
Errors
Updates are recorded in the organization audit log as
org.entitlement_config_updated.
Ingest events
Response
Drop reasons
Drops that happen before an organization can be resolved — such as a notification whose outer signature fails — cannot be attributed and do not appear here. An Apple notification for a bundle ID that is registered to your organization but has ingestion switched off is still recorded, as
ingestion_not_enabled.