Changelog

Follow up on the latest improvements and updates.

RSS

new

App Marketplace

API

HighLevel Python and PHP SDKs

Overview:
The API Center of Excellence team is proud to announce PHP and Python SDKs that fully automate OAuth 2.0 for developers. This is an addition to the Javascript/Typescript SDK that was released last quarter and receives ~1200 downloads on NPM every week.
What's new?
  • The newly released PHP and Python SDKs fully automate OAuth 2.0 across the following scenarios:
  1. All app installation scenarios - installation by a sub-account, bulk installation by an agency, automated future installation,
  2. Daily token refresh on expiry,
  3. Uninstallation scenarios
  • Database-agnostic SDK design enables developers to connect their preferred database for token management automation.
  • Supports all public APIs, with sample code snippets embedded inside every API doc
  • Fully automated SDK generation so that SDK evolves automatically as our APIs evolve
  • Detailed documentation with install guide, getting started, session storage and webhook integrations.
  • Dedicated repo for example projects for a better developer experience for beginners.
Why is this important?
  • The SDK aims to abstract the complexity of implementing OAuth 2.0 away from developers, fully managing tokens for them across all scenarios.
  • This helps reduce support tickets for HighLevel.
Resources
SDK1
SDK2
SDK3
SDK4
SDK5

new

App Marketplace

API

Agency's Reselling Config API

🚀 Overview
We’ve released an API that lets app developers fetch the reselling prices agencies have set (including any markups) so they can display the correct, whitelabeled reselling price to the sub-account on custom pages or checkout flows.
✨ What’s new?
  • Get Rebilling Config for App API to retrieve the current agency-set pricing for your app/meters.
  • The response includes reselling rates across all pricing types - Subscriptions, One-time, Usage-based.
🧑‍💻 How to use it as a Developer
  1. Use the Sub-account token and call the Get Rebilling Config for App endpoint.
  2. Read the returned pricing configuration (agency’s upsold price for the relevant app/meter).
  3. Render those values on your custom pages—e.g., plan cards, paywalls, and checkouts—to show the final, client-facing price.
💡 Why this is important
Custom meters and flexible billing are powerful, but pricing must be consistent and whitelabeled. This API prevents accidental exposure of internal rates and ensures the sub-account only sees the final price they intend—across Marketplace and custom experiences built by app developers.
🧭 Overview
We’ve added a Webhook Logs dashboard in the Developer Portal (Insights → Logs) to make debugging webhook issues fast, transparent, and self-serve.
Until now, developers and support teams had to file support tickets just to confirm if HighLevel had delivered a webhook — and we often discovered the issue wasn’t on HighLevel's end.
This new dashboard gives developers full visibility into webhook deliveries, retries, and responses — no support ticket needed.
✨ What’s new?
  • New “Webhook Logs” tab under Developer Portal → Insights → Logs
  • Developer experience optimised for debugging: Search by any substring in payload
  • 30-day retention window
  • Detail Panel: click any event row to view: Webhook ID, Attempt #, Event Name, Timestamps, Full Payload (with “Copy” button)
  • Timezone-aware views — defaults to Central Time, overrides saved for future sessions
💻 How to use it as a Developer
  1. Go to Developer Portal → Insights → Logs → Webhook Logs
  2. Filter or search by webhook ID, event type, or timestamp
  3. Click any row to open the detail panel and inspect payloads, response statuses, and retry history
  4. Copy payloads easily for debugging
  5. Adjust timezone once — it’ll be remembered for future visits
💡 Why this is important
This feature puts webhook visibility directly into developers’ hands — reducing support tickets, accelerating issue resolution, and increasing trust in HighLevel’s delivery infrastructure.
Preview Images:
image
image
🚀 Overview
We’ve rolled out a smarter error handling and retry system for Marketplace app developers! This ensures more predictable webhook delivery behavior and prevents accidental server overload when rate limits are hit.
✨ What’s new?
  • Retries only on HTTP 429s
    : We now retry webhook deliveries only when your endpoint returns a 429 (rate limit) response.
  • Jitter protection
    : Randomized retry timing prevents the “thundering herd” problem and spreads load evenly across servers.
Retry schedule
:
  • Interval: 10 minutes between retries (with jitter)
  • Max attempts: 6 retries
  • Total retry duration: ~1 hour 10 minutes
Retry Conditions:
  • Retries stop if you return any status other than 429
  • We do not retry on 5xx server errors – those are treated as permanent failures.
🛠 How to use it as a Developer?
Here’s how you can make the most of this system:
✅ Return 200 OK for successful deliveries
✅ Even if processing fails internally, still return 200 OK to acknowledge receipt:
❌ Only use error codes when absolutely necessary:
  • 408 → Server too slow
  • 429 → Too many requests
  • 5xx → Server is down/broken (no retries will be attempted)
💡 Why this is important?
This new system makes webhook delivery more reliable, reduces server stress during peak loads, and gives you predictable retry behavior you can build against. Developers now have more control, fewer surprises, and safer scaling.
⏩ What's next?
Webhook dashboard for marketplace app developers to track the webhook delivery status and webhook contents in the Marketplace developer portal.

new

App Marketplace

API

Voice AI

Voice AI - Public APIs

Overview:
We’re excited to announce that Voice AI APIs are now public, giving you direct programmatic access to configure agents, manage actions, retrieve call data, and integrate webhooks into your workflows.
This elevates Voice AI from a product feature to an extensible capability that can be integrated directly into your workflows and applications.
What You Can Do Today
Instead of limiting Voice AI to in-app controls, you can now:
  • Manage Agents & Actions – Create, update, and organize agents and their behaviors via API.
  • Retrieve Call Data – Access logs and transcripts for reporting, compliance, or analytics.
  • Leverage Webhooks – Receive real-time call outcomes, transcripts, and summaries in your own systems.
What’s Coming Next
  • Knowledge Base Support via Actions API – Agents will soon be able to dynamically reference Knowledge Base entries as part of their configured actions.
  • Voices API – Retrieve the list of available voices and fetch details, so you can align an agent with the right voice.
Why It Matters
  • By making these APIs public, we’re giving you the flexibility to go beyond the UI. Automating setup, integrating with external tools, or tailoring Voice AI to fit your operational needs.
  • This is a big step toward making Voice AI not just usable, but buildable.

new

App Marketplace

Users & Permissions

API

User Lifecycle Events via Webhooks

Webhooks let developers receive real-time notifications from our platform and trigger event-driven integrations—sync data across tools, automate workflows, and keep systems consistent without polling. They’re critical for reliable, decoupled integrations and clear observability.
The issue
We didn’t expose webhook events for user create, update, and delete, leaving developers with limited visibility, stale states, extra polling, and weaker audit/metrics for user lifecycle changes.
The fix
We’ve added three events: user.created, user.updated, user.deleted—with delivery retries and signed requests. Subscribe, receive the payload, and react instantly.
Why it matters
  • Visibility for developers
    : Know exactly when a user is created, updated, or removed—no drift, no guesswork.
  • Better tracking & stats
    : Stream events to analytics/warehouse for activation, churn, and cohort metrics.
  • Fewer support tickets
    : Real-time sync reduces “why didn’t this update?” issues and shortens TTR.
  • API-first reliability
    : Event-driven architecture makes our platform more predictable, scalable, and integration-friendly.
  • Clear communication with consumers
    : Downstream systems stay up-to-date, improving user experience and trust.
Perspective highlights
  • Scale, robustness, security
    : High-throughput delivery with retries; HMAC-signed requests; idempotency via event IDs.
  • Support impact
    : Push > poll means fewer sync failures and faster diagnostics with delivery logs.
  • Customer satisfaction
    : Immediate reflection of changes across stacks → smoother onboarding & cleaner data.
Documentation:
The API CoE team is excited to announce the new Developer Doc -
What's new?
Why is this important?
  • The new platform gives us more flexibility to embed our own markdown content inside the docs. This enables us to consolidate all developer resources in one location and create a strong onboarding experience for new developers on the HighLevel Marketplace.
What's next?
  • We're adding new docs every week to improve the onboarding experience for new developers.
  • We're moving and organising developer-related resources from Help Articles to http://marketplace.gohighlevel.com/docs/
  • Stoplight docs will be deprecated in a few months
Preview Images
image
The API Center of Excellence team is proud to announce TypeScript/JavaScript SDK that fully automate OAuth 2.0 for developers. This has been tested with developer partners over the past couple of weeks and is now launched live on NPM.
What's new?
  • The newly released TypeScript/JavaScript SDK fully automate OAuth 2.0 across the following scenarios:
  1. All app installation scenarios - installation by a sub-account, bulk installation by an agency, automated future installation,
  2. Daily token refresh on expiry,
  3. Uninstallation scenarios
  • Database-agnostic SDK design enables developers to connect their preferred database for token management automation.
  • Supports all public APIs, with sample code snippets embedded inside every API doc
  • Fully automated SDK generation so that SDK evolves automatically as our APIs evolve
  • Launched on NPM to enable developers to install the SDK with ease
  • Detailed documentation with a dedicated repo with an example project
Why is this important?
  • The SDK aims to abstract the complexity of implementing OAuth 2.0 away from developers, fully managing tokens for them across all scenarios.
  • This helps reduce support tickets for HighLevel.
What's next?
We'll wait for feedback from the broader developer community and soon launch SDKs across PHP and Python, incorporating the developer community's feedback.
Resources
Preview Images
SDK Documentation:
image
Code snippets in every API doc:
image
GitHub repo with example project:
image
The Marketplace team is excited to announce support for OAuth 2.0 with PKCE (Proof Key for Code Exchange)!
What’s New?
  • Enhanced Security
    : OAuth flows now support PKCE, adding an additional layer of protection against interception attacks.
  • Standards Compliance
    : Fully aligned with modern OAuth 2.0 best practices for secure authorisation.
Benefits
  • Expands the possibilities of integrations support on HighLevel Marketplace through wider support for connections
  • Stronger protection for authorisation codes in public clients.
  • Reduced risk of token interception in browser-based or mobile environments.
  • Easier, more secure integration for developers building with HighLevel APIs.
Preview images
image
image
The Marketplace team is excited to announce Dynamic Pricing for Usage-Based Billing.
Common use case
: SMS services where the cost per message varies by destination.
What’s new?
  • Dynamic price support for usage-based billing via the Create Wallet Charge API.
  • A new request parameter: price lets app-developers set the per-unit price at charge time for services with variable costs.
  • Agencies can configure a flat per-unit markup when reselling the app's service (app reselling)
How to use it as a Developer?
A) Configure your billing meter
  1. Go to App → Pricing → Billing Meters and create (or edit) a meter with Module Type = Custom Event (API).
  2. Set Price Type: Dynamic
  3. Enter Minimum and Maximum price, add a Pricing Page URL (recommended for transparency), and set a Default Price per Unit.
  4. Save changes.
image
B) Charge the wallet via API
  • Use the existing
    Create Wallet Charge API
    . Include the new, optional price field when you want to apply a dynamic per-unit price for that charge.
  • If price is omitted, the meter’s Default Price per Unit is applied.
How to use it as an Agency?
  • In your app’s Pricing section, end users see the price range for dynamic meters and a link to the Pricing Page URL.
  • Visibility note: The Pricing Page URL is visible to agency admins only, not to sub-accounts.
image
Reselling & markup behavior (agencies)
  • Agencies can configure a flat per-unit markup when reselling apps' service (app reselling).
  • Because markups change effective end pricing, the Pricing Page URL is hidden from sub-accounts to avoid confusion.
  • Example: If an SMS base price is $1.00 (UK) and $1.50 (France), an agency can add a $0.50 markup so sub-accounts pay $1.50 (UK) and $2.00 (France).
image
Why this is important
  1. Match real-world costs
    : Many services (SMS, telephony, geo-based APIs) have variable costs. Dynamic pricing lets you pass the right price at the moment of charge.
  2. Clear, upfront expectations
    : Min/Max price ranges and a Pricing Page URL give buyers transparency into how pricing can vary.
  3. Supports growth via resellers
    : Agency markups create healthy margins and incentives to promote apps, helping distribution without extra engineering.
Load More