Gleap offers two data regions: EU (default) and US. You choose the region when you sign up, and your customer databases, uploaded files and backups stay in the selected region. EU accounts use EU AI endpoints and US accounts use US AI endpoints. Separate provider processing outside that region is described below.
Each region has its own API, websocket, realtime and file hosts. If your project lives in the EU region, there is nothing to do: every SDK and all API examples in this documentation use the EU hosts by default. If your project lives in the US region, you need to
tell the SDK which region to use with one call before
initialize(see Select the region in the SDK), andsend your REST API and server-to-server requests to the US API host (see REST API and server-to-server).
Hosting locations
The EU region is hosted on DigitalOcean in Frankfurt, Germany. The US region is hosted in DigitalOcean's NYC3 data center in New York, United States. These locations describe regional hosting; separate provider processing is described in the sub-processor schedule.
Hosts per region
These hosts are region specific. They store or process customer content for projects of that region only.
Purpose | EU (default) | US |
|---|---|---|
API |
|
|
Dashboard API |
|
|
SDK websocket (session and event streaming) |
|
|
Realtime (conversations and notifications) |
|
|
Files |
|
|
Static files |
|
|
*.eu.gleap.ai. The native SDKs (iOS, Android and the wrappers built on them) use these hosts by default from v18; the JavaScript SDK keeps the *.gleap.io hosts as its EU default for now, so existing Content Security Policies keep working — allow *.gleap.ai in your CSP today so a later release can switch without any change on your side. The legacy api.gleap.io, dashapi.gleap.io, ws.gleap.io and sockets.gleap.io hosts keep working and point at the same EU region, so existing integrations and older SDK versions need no change.Global hosts
The following hosts are the same for every region. They serve shared apps and static assets. Their global availability does not change the selected customer-content region; delivery services may still process connection metadata outside that region.
Host | Purpose |
|---|---|
| JavaScript SDK |
| Messenger app loaded by the SDKs |
| Static assets |
| Gleap dashboard |
*.gleap.io and *.gleap.ai. See Content Security Policy (CSP) for the full list of directives.How do I know my region?
Open Settings → Developer → API keys. When region selection is available, the Project section shows Data region and the API host for this project. The SDK installation instructions also use the selected region.
Residency, transfers and compliance
GDPR (DSGVO) obligations apply where required by law in either region. Gleap's DPA governs processing on behalf of customers, including international-transfer safeguards. A US region selection does not waive GDPR protections, and an EU region selection does not guarantee EU-only processing by every provider.
AI processing includes supporting services such as embeddings, reranking, document conversion and code sandboxes. Check the provider-specific scope as well as the selected model. See EU and US data residency for details and security practices for the SOC 2 Type II report's scope and period.
Existing accounts and migration
Changing setRegion, an API URL or a dashboard region selection does not copy or migrate your existing data. Use the region assigned to your project. Contact [email protected] before changing an existing account's residency requirements. Existing contractual restrictions remain in force until validly amended.
Select the region in the SDK
SDK v18.0.0 adds setRegion on all platforms. It sets the API, websocket and realtime hosts together and must be called before initialize. The default region is eu, so EU projects don't need to call it.
Gleap.setRegion("us");
Gleap.initialize("API_KEY");When using the code snippet, add window.Gleap.setRegion("us"); right before window.Gleap.initialize("API_KEY").
// Swift
Gleap.setRegion("us")
Gleap.initialize(withToken: "API-TOKEN")// Objective-C
[Gleap setRegion:@"us"];
[Gleap initializeWithToken: @"API-TOKEN"];Gleap.getInstance().setRegion("us");
Gleap.initialize("YOUR_API_KEY", this);Gleap.setRegion("us");
Gleap.initialize("Your_TOKEN");await Gleap.setRegion(region: 'us');
Gleap.initialize(token: 'YOUR_API_KEY');Gleap.setRegion({ region: "us" });
Gleap.initialize("API_KEY");Order rule and manual host setters
setRegion is all you need in almost every setup. The manual host setters still exist for special cases (for example when you route Gleap traffic through your own proxy):
Setter | Host |
|---|---|
| API |
| SDK websocket |
| Realtime |
| Messenger app |
| Banners |
| Modals |
The JavaScript SDK offers all of them; the native SDKs gain the same setters in v18.
The order matters:
Call
setRegionbeforeinitialize.A manual setter called after
setRegionoverrides that single host. All other hosts keep the value of the selected region.setRegioncalled aftersetApiUrl,setWSApiUrlorsetRealtimeHostreplaces these three hosts with the region's hosts again, so always callsetRegionfirst.
Gleap.setRegion("us");
// Optional: override a single host after selecting the region.
Gleap.setApiUrl("https://gleap-proxy.example.com");
Gleap.initialize("API_KEY");REST API and server-to-server
The base URL of the REST API, the server-side event tracking API and the Conversations API (server-to-server) is the API host of your region:
Data region | API host |
|---|---|
EU (default) |
|
US |
|
# US region
curl -X GET https://api.us.gleap.ai/v3/tickets \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Project: YOUR_PROJECT_ID"
