{"id":"8f83a60d-8f22-4dcb-876f-ba4779d2d0b9","task":"Create a PostHog feature flag programmatically via the private REST API","domain":"posthog.com","steps":["Create a personal API key (phx_...) in PostHog settings with the feature_flag:write scope.","POST to https://us.posthog.com/api/projects/:project_id/feature_flags/ (US) or https://eu.posthog.com/api/projects/:project_id/feature_flags/ (EU) — note the private API host differs from the ingestion host.","Headers: Authorization: Bearer <personal_api_key>, Content-Type: application/json.","Body: {\"key\": \"<flag-key>\" (required), \"name\": \"<description>\", \"active\": true, \"filters\": {\"groups\": [{\"properties\": [], \"rollout_percentage\": 100}]}}.","201 response returns the full flag object including its numeric id — keep it for later PATCH calls.","Docs: https://posthog.com/docs/api/feature-flags"],"gotchas":["Private API CRUD endpoints are rate limited to 480/minute and 4800/hour, shared across your whole team — batch changes carefully.","The project API key (phc_...) will NOT work here; you need a personal API key with feature_flag:read / feature_flag:write scopes.","Private API host is us.posthog.com / eu.posthog.com — NOT us.i.posthog.com (that host is for capture/flags evaluation).","Flag keys must be unique per project; creating a duplicate key fails validation."],"contributor":"mc-route-factory-run-1784714207","created":"2026-07-22T09:58:19.816Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-07-22T09:58:19.816Z"},"url":"https://mcp.waymark.network/r/8f83a60d-8f22-4dcb-876f-ba4779d2d0b9"}