167 lines
3.3 KiB
Markdown
167 lines
3.3 KiB
Markdown
# PostHog Routing Reference
|
|
|
|
**App name:** `posthog`
|
|
**Base URL proxied:** `{subdomain}.posthog.com`
|
|
|
|
## API Path Pattern
|
|
|
|
```
|
|
/posthog/api/{resource}
|
|
/posthog/api/projects/{project_id}/{resource}
|
|
```
|
|
|
|
## Common Endpoints
|
|
|
|
### Get Current User
|
|
```bash
|
|
GET /posthog/api/users/@me/
|
|
```
|
|
|
|
### Get Current Organization
|
|
```bash
|
|
GET /posthog/api/organizations/@current/
|
|
```
|
|
|
|
### List Projects
|
|
```bash
|
|
GET /posthog/api/projects/
|
|
```
|
|
|
|
### Get Current Project
|
|
```bash
|
|
GET /posthog/api/projects/@current/
|
|
```
|
|
|
|
### Run HogQL Query
|
|
```bash
|
|
POST /posthog/api/projects/{project_id}/query/
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"query": {
|
|
"kind": "HogQLQuery",
|
|
"query": "SELECT event, count() FROM events GROUP BY event LIMIT 10"
|
|
}
|
|
}
|
|
```
|
|
|
|
### List Persons
|
|
```bash
|
|
GET /posthog/api/projects/{project_id}/persons/?limit=10
|
|
```
|
|
|
|
### Get Person
|
|
```bash
|
|
GET /posthog/api/projects/{project_id}/persons/{person_uuid}/
|
|
```
|
|
|
|
### List Dashboards
|
|
```bash
|
|
GET /posthog/api/projects/{project_id}/dashboards/
|
|
```
|
|
|
|
### Get Dashboard
|
|
```bash
|
|
GET /posthog/api/projects/{project_id}/dashboards/{dashboard_id}/
|
|
```
|
|
|
|
### Create Dashboard
|
|
```bash
|
|
POST /posthog/api/projects/{project_id}/dashboards/
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"name": "My Dashboard",
|
|
"description": "Analytics overview"
|
|
}
|
|
```
|
|
|
|
### List Insights
|
|
```bash
|
|
GET /posthog/api/projects/{project_id}/insights/?limit=10
|
|
```
|
|
|
|
### List Feature Flags
|
|
```bash
|
|
GET /posthog/api/projects/{project_id}/feature_flags/
|
|
```
|
|
|
|
### Create Feature Flag
|
|
```bash
|
|
POST /posthog/api/projects/{project_id}/feature_flags/
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"key": "my-feature-flag",
|
|
"name": "My Feature Flag",
|
|
"active": true,
|
|
"filters": {
|
|
"groups": [{"rollout_percentage": 100}]
|
|
}
|
|
}
|
|
```
|
|
|
|
### Delete Feature Flag
|
|
Use soft delete by setting `deleted: true`:
|
|
```bash
|
|
PATCH /posthog/api/projects/{project_id}/feature_flags/{flag_id}/
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"deleted": true
|
|
}
|
|
```
|
|
|
|
### List Session Recordings
|
|
```bash
|
|
GET /posthog/api/projects/{project_id}/session_recordings/?limit=10
|
|
```
|
|
|
|
### List Cohorts
|
|
```bash
|
|
GET /posthog/api/projects/{project_id}/cohorts/
|
|
```
|
|
|
|
### List Actions
|
|
```bash
|
|
GET /posthog/api/projects/{project_id}/actions/
|
|
```
|
|
|
|
### List Experiments
|
|
```bash
|
|
GET /posthog/api/projects/{project_id}/experiments/
|
|
```
|
|
|
|
### List Surveys
|
|
```bash
|
|
GET /posthog/api/projects/{project_id}/surveys/
|
|
```
|
|
|
|
### List Event Definitions
|
|
```bash
|
|
GET /posthog/api/projects/{project_id}/event_definitions/?limit=10
|
|
```
|
|
|
|
### List Property Definitions
|
|
```bash
|
|
GET /posthog/api/projects/{project_id}/property_definitions/?limit=10
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Use `@current` as a shortcut for the current project ID (e.g., `/api/projects/@current/dashboards/`)
|
|
- Project IDs are integers (e.g., `136209`)
|
|
- Person UUIDs are in standard UUID format
|
|
- The Events endpoint is deprecated; use the Query endpoint with HogQL instead
|
|
- All project-scoped endpoints require `{project_id}` or `@current`
|
|
- Pagination uses `limit` and `offset` query parameters
|
|
- PostHog uses soft delete: use `PATCH` with `{"deleted": true}` instead of HTTP DELETE
|
|
|
|
## Resources
|
|
|
|
- [PostHog API Overview](https://posthog.com/docs/api)
|
|
- [HogQL Documentation](https://posthog.com/docs/hogql)
|
|
- [Feature Flags](https://posthog.com/docs/feature-flags)
|
|
- [Session Replay](https://posthog.com/docs/session-replay)
|
|
- [Experiments](https://posthog.com/docs/experiments)
|