Glossary
What Is a Idempotency Key in GoHighLevel?
By Marnix Geerkens. Published 2026-05-28. Updated 2026-05-28.
An Idempotency Key is a unique string you include in an API request so that if the request is sent more than once, GoHighLevel processes it only the first time and returns the same result for any repeats, preventing duplicate records.
In plain English
Networks fail. Webhooks get retried. Automation tools sometimes fire a trigger twice. Without idempotency, a retried API call to create a contact could create two contacts, a retried payment call could charge a card twice, and a retried opportunity call could open the same deal twice.
An Idempotency Key solves this. You generate a unique key for each logical operation, for example a UUID. You include it in the request header. If GoHighLevel has already seen that key, it returns the result of the original request instead of processing the operation again.
This matters most in payment and contact creation flows where duplicates cause real problems. If your automation sends a webhook and the receiving server times out before acknowledging it, the automation retries. With idempotency keys, the retry is safe.
How it works
When making an API call that supports idempotency, add the header Idempotency-Key: your-unique-key to the request. Generate the key from the event that triggered the request, such as a hash of the Stripe payment ID or the form submission ID. This ensures the same event always produces the same key.
GoHighLevel stores the key and the response for a set period. If the same key arrives again, GoHighLevel returns the cached response. After the storage period expires, sending the same key would be treated as a new request.
Frequently asked questions
What is an Idempotency Key in GoHighLevel?
It is a unique string you add to an API request header. If the request is retried with the same key, GoHighLevel returns the original result without processing the request again, preventing duplicates.
When should I use an Idempotency Key?
Use idempotency keys whenever your integration might send the same request more than once, particularly for contact creation, payment operations, and any write operation triggered by a webhook that could be retried.
Does GoHighLevel support idempotency on all API endpoints?
Not all endpoints support idempotency. Check the GoHighLevel API documentation for which endpoints accept the Idempotency-Key header. Write operations are the most common candidates.
