The App Installer Details API helps Marketplace developers identify who installed their app and the exact agency/subâaccount contextâplus agency whiteâlabel data for branding. Use it to personalize onboarding, align UI with agency branding, and engage the agency owner without requesting broad companyâlevel OAuth scopes. This improves retention, accelerates setup, and preserves whiteâlabel integrity.
TABLE OF CONTENTS
- What is the App Installer Details API?
- Key Benefits of App Installer Details
- Authentication Options
- Endpoint & Request Examples
- Response Schema (Field Reference)
- WhiteâLabel Data Usage Guidelines
- Rate Limiting & Caching
- Error Handling
- Versioning & Availability
- How To Setup App Installer Details in Your App
- Frequently Asked Questions
- Related Articles
What is the App Installer Details API?
The App Installer Details API returns verified information about the user who installed your Marketplace app and the exact context where the app is installed (sub-account and agency). It also surfaces agency profile and whiteâlabel data so you can personalize onboarding, branding, and communicationsâwithout requesting broad companyâlevel OAuth scopes.
The App Installer Details API returns verified information about the user who installed your Marketplace app and the exact context where the app is installed (sub-account and agency). It also surfaces agency profile and whiteâlabel data so you can personalize onboarding, branding, and communicationsâwithout requesting broad companyâlevel OAuth scopes. The endpoint is designed for Marketplace developers who need to: identify the installer, respect whiteâlabel boundaries, and tailor their app experience for agencies and subâaccounts.
Key Benefits of App Installer Details
Use these benefits as a checklist for what to automate after you fetch installer context.
- Identity & Context: Identifies the installer and where the app lives (subâaccount and agency)
- Whiteâlabel Awareness: Provides agency whiteâlabel fields to align your appâs branding
- Scope Reduction: Removes the need for broad companyâlevel OAuth scopes to read agency details
- Personalized Onboarding: Enables agencyâspecific welcome flows, content, and pricing
- Owner Outreach: Includes agency owner details to build direct relationships that increase retention
- Privacy by Design: Supports whiteâlabel integrity so subâaccounts arenât exposed to upstream agency branding
Authentication Options
Choosing the right token determines what context the API resolves. This section explains which token to use and how it affects the response so you remain leastâprivilege and consistent with Marketplace policies.
- Supported Tokens: Agency Token or Subâaccount Token.
- Behavior Guidance:
- Calling with an Agency Token resolves installer + agency context and can indicate the subâaccount where the install occurred (when applicable).
- Calling with a Subâaccount Token resolves installer + the current subâaccountâs agency context.
- Calling with an Agency Token resolves installer + agency context and can indicate the subâaccount where the install occurred (when applicable).
- Headers (Example):
- Authorisation: Bearer {YOUR_TOKEN}
- Content-Type: application/json
- Authorisation: Bearer {YOUR_TOKEN}
- Leastâprivilege Tip: Prefer the token for the current runtime context (e.g., a subâaccount workflow should use a Subâaccount Token).
Note: Exact permission requirements follow Marketplace norms. Use the minimal token that can read install context; do not request broad agency scopes solely to obtain branding.Endpoint & Request Examples
Concrete examples reduce integration time. Replace placeholders below with your actual base URL and endpoint path once confirmed in the official API reference.
- HTTP Method: GET
- Endpoint Path: /marketplace/app-installer/details (placeholderâconfirm the exact path in the official API docs here.)
cURL
curl -X GET \ "{BASE_URL}/marketplace/app-installer/details" \ -H "Authorization: Bearer {AGENCY_OR_SUB_ACCOUNT_TOKEN}" \ -H "Content-Type: application/json"Response Schema (Field Reference)
A clear, fieldâbyâfield reference enables developers to map data into their systems with confidence. Treat nullable fields and optional whiteâlabel attributes defensively.
Key fields (representative; confirm names/types in official docs)
- installer.userId (string) â Unique ID of the user who performed the install
- installer.name (string) â Humanâreadable name
- installer.email (string) â Contact for collaboration and account linking
- installationContext.subAccountId (string|null) â Subâaccount where the app is installed
- installationContext.agencyId (string) â Parent agency ID
- agency.companyName (string) â Agency legal/brand name
- agency.companyEmail (string) â General contact email
- agency.ownerName (string) â Primary owner/admin name
- whiteLabel.brandName (string) â Whiteâlabel brand
- whiteLabel.supportEmail (string|null) â Support mailbox for branded communications
- whiteLabel.supportUrl (string|null) â URL for help center or ticketing
- whiteLabel.primaryDomain (string|null) â Branded app/domain
- whiteLabel.logoUrl (string|null) â Brand logo for UI theming
- whiteLabel.faviconUrl (string|null) â Favicon for browser branding
WhiteâLabel Data Usage Guidelines
Whiteâlabel integrity is a core expectation in SourCherry implementations. Use agency branding thoughtfully to enhance UX without exposing upstream identity to end clients.
- Use whiteLabel.brandName, logoUrl, and primaryDomain to theme your app UI for agency users.
- Avoid leaking agency identity to subâaccount end clients unless explicitly intended.
- Prefer serverâside caching of branding fields with a short TTL (e.g., 15â60 minutes) to reduce API calls and handle updates.
- If branding changes, invalidate your cache when a new logoUrl or brandName is detected.
Rate Limiting & Caching
Proactive handling of limits and caching keeps your app resilient. Use exponential backoff on transient errors and reduce duplicate calls with strategic caching.
- Recommended Caching: Cache installer + whiteâlabel result per token/context; refresh on login/session start.
- Backoff Strategy: On 429/5xx, backoff with jitter and retry a limited number of times.
- Client Hygiene: Avoid calling this endpoint on every page; fetch once per session or when context changes.
Error Handling
Anticipating error states improves developer velocity and user trust. Map API errors to actionable guidance in your UI.
| HTTP | Likely Cause | Example Error Body | Recommended Action |
|---|---|---|---|
| 401 | Missing/invalid token | { "error": "unauthorized" } | Refresh token; confirm header format |
| 403 | Token lacks privileges for context | { "error": "forbidden" } | Use appropriate Agency/Subâaccount token |
| 404 | App not installed for context | { "error": "not_found" } | Prompt install or switch to valid account |
| 429 | Rate limit exceeded | { "error": "rate_limited" } | Apply backoff + caching |
| 5xx | Temporary service issue | { "error": "server_error" } | Retry with exponential backoff |
Versioning & Availability
Knowing the maturity and rollout status helps teams plan rollouts and avoid surprises during upgrades.
- Status: New Marketplace API endpoint.
- Compatibility: Intended for Marketplace apps calling with Agency or Subâaccount tokens.
- Versioning: Follow your organizationâs API version headers or URL segment once published (e.g., Accept-Version, /v{n} path). Replace placeholders with the official values from the API reference.
How To Setup App Installer Details in Your App
A simple, repeatable setup sequence ensures teams integrate the endpoint quickly and safely. Complete these steps in development before moving to production.
Step 1: Confirm Tokens
- Generate an Agency Token and a Subâaccount Token for testing.
- Store securely (vault or secrets manager); never commit to source control.
Step 2: Add the Request
- Implement a GET call to {BASE_URL}/marketplace/app-installer/details (placeholder path).
- Include Authorization: Bearer {TOKEN}.
Step 3: Map the Response
- Persist installationContext and agency IDs; cache whiteLabel fields.
- Hydrate UI theme from whiteLabel and installer name for welcome copy.
- [Add Screenshot: âAdmin UI â preview of applied branding (logo + brand name)â]
Step 4: Handle Errors + Retries
- Implement 401/403/404/429 handlers and exponential backoff.
- Display actionable messages to internal users; avoid exposing raw JSON to end clients.
Step 5: Validate WhiteâLabel Integrity
- Confirm that agency branding is not exposed to unintended audiences in subâaccounts.
Step 6: Ship with Observability
- Add metrics for call success rate, latency, and cache hit ratio.
Frequently Asked Questions
Q1. Which token should I useâAgency or Subâaccount?
Use the token that matches your current execution context. Agency tokens resolve agency + installer and can reference subâaccount installs; Subâaccount tokens resolve the current locationâs agency context.
Q2. Does this endpoint require companyâlevel OAuth scopes?
No. A key advantage is avoiding broad companyâlevel scopes just to read agency details.
Q3. What whiteâlabel fields are typically returned?
Brand name, support email/URL, branded domain, and optional assets such as logo and favicon. Treat fields as optional and cache with a short TTL.
Q4. Can I cache the response?
Yes. Cache per token/context and refresh when sessions start or when you detect branding changes.
Q5. What happens if the installer leaves the agency?
Expect stable agency/subâaccount context. The installer record may reflect the historical user; handle null/unknown gracefully.
Q6. Is pagination involved?
No. This endpoint returns a single installer context payload for the current token.
Q7. How should I handle rate limits?
Use exponential backoff with jitter on 429 responses and reduce call frequency via caching.
Q8. Can I use this to message the agency owner directly?
Yesâowner details are returned for relationshipâbuilding. Use thoughtfully and follow your privacy policy.