1010import urllib .parse
1111from typing import Any , Dict , Optional , Union
1212
13- from posthog .request import DEFAULT_HOST , USER_AGENT , _get_session
13+ from posthog .request import USER_AGENT , _get_session
1414from posthog .utils import remove_trailing_slash
1515
1616log = logging .getLogger ("posthog" )
1717
18+ APP_ENDPOINT = "https://app.posthog.com"
1819DEFAULT_CACHE_TTL_SECONDS = 300 # 5 minutes
1920
2021PromptVariables = Dict [str , Union [str , int , float , bool ]]
@@ -49,11 +50,11 @@ class Prompts:
4950 from posthog.ai.prompts import Prompts
5051
5152 # With PostHog client
52- posthog = Posthog('phc_xxx', host='https://us.i .posthog.com', personal_api_key='phx_xxx')
53+ posthog = Posthog('phc_xxx', host='https://app .posthog.com', personal_api_key='phx_xxx')
5354 prompts = Prompts(posthog)
5455
5556 # Or with direct options (no PostHog client needed)
56- prompts = Prompts(personal_api_key='phx_xxx', host='https://us.i .posthog.com')
57+ prompts = Prompts(personal_api_key='phx_xxx', host='https://app .posthog.com')
5758
5859 # Fetch with caching and fallback
5960 template = prompts.get('support-system-prompt', fallback='You are a helpful assistant.')
@@ -80,7 +81,7 @@ def __init__(
8081 Args:
8182 posthog: PostHog client instance (optional if personal_api_key provided)
8283 personal_api_key: Direct API key (optional if posthog provided)
83- host: PostHog host (defaults to US ingestion endpoint)
84+ host: PostHog host (defaults to app endpoint)
8485 default_cache_ttl_seconds: Default cache TTL (defaults to 300)
8586 """
8687 self ._default_cache_ttl_seconds = (
@@ -91,11 +92,11 @@ def __init__(
9192 if posthog is not None :
9293 self ._personal_api_key = getattr (posthog , "personal_api_key" , None ) or ""
9394 self ._host = remove_trailing_slash (
94- getattr (posthog , "raw_host" , None ) or DEFAULT_HOST
95+ getattr (posthog , "raw_host" , None ) or APP_ENDPOINT
9596 )
9697 else :
9798 self ._personal_api_key = personal_api_key or ""
98- self ._host = remove_trailing_slash (host or DEFAULT_HOST )
99+ self ._host = remove_trailing_slash (host or APP_ENDPOINT )
99100
100101 def get (
101102 self ,
@@ -214,7 +215,7 @@ def _fetch_prompt_from_api(self, name: str) -> str:
214215 """
215216 Fetch prompt from PostHog API.
216217
217- Endpoint: {host}/api/projects /@current/llm_prompts/name/{encoded_name}/
218+ Endpoint: {host}/api/environments /@current/llm_prompts/name/{encoded_name}/
218219 Auth: Bearer {personal_api_key}
219220
220221 Args:
@@ -233,7 +234,7 @@ def _fetch_prompt_from_api(self, name: str) -> str:
233234 )
234235
235236 encoded_name = urllib .parse .quote (name , safe = "" )
236- url = f"{ self ._host } /api/projects /@current/llm_prompts/name/{ encoded_name } /"
237+ url = f"{ self ._host } /api/environments /@current/llm_prompts/name/{ encoded_name } /"
237238
238239 headers = {
239240 "Authorization" : f"Bearer { self ._personal_api_key } " ,
0 commit comments