Aprovan Registry
provider 2506 operations 141 docs pages
@utdk/posthog
PostHog API

Generated UTDK provider client for PostHog API. Generated UTDK provider types and OpenAPI-backed client for https://us.posthog.com/api/schema/.

Import sample

import posthog from "@utdk/posthog"

Factory sample

import { createPosthogClient } from "@utdk/posthog"
Provider path
posthog
Source API title
PostHog API
Version
1.0.0
Generated
Jul 12, 2026, 9:26 PM
Homepage
Open site
API spec
View spec
Endpoints
Optional generated docs page for @utdk/posthog.

Endpoints

Operations

posthog.environmentsEndpointsList

  • HTTP: GET /api/environments/{environment_id}/endpoints/
  • What it does: List all endpoints for the team.
  • OpenAPI operationId: environments_endpoints_list
  • Path params: None
  • Query params: created_by, is_active, limit, offset
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { count: number; next?: string | null; previous?: string | null; results: ({ id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: strin...
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsListInput = Parameters<typeof posthog.environmentsEndpointsList> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsListOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsList>>;

const result: EnvironmentsEndpointsListOutput = await posthog.environmentsEndpointsList();

// Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: strin...

posthog.environmentsEndpointsCreate

  • HTTP: POST /api/environments/{environment_id}/endpoints/
  • What it does: Create a new endpoint.
  • OpenAPI operationId: environments_endpoints_create
  • Path params: None
  • Query params: None
  • Response codes: 201
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...
  • OpenAPI response codes: 201
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsCreateInput = Parameters<typeof posthog.environmentsEndpointsCreate> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsCreateOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsCreate>>;

const result: EnvironmentsEndpointsCreateOutput = await posthog.environmentsEndpointsCreate();

// Result shape (from schema): { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...

posthog.environmentsEndpointsDestroy

  • HTTP: DELETE /api/environments/{environment_id}/endpoints/{name}/
  • What it does: Delete an endpoint and clean up materialized query.
  • OpenAPI operationId: environments_endpoints_destroy
  • Path params: name
  • Query params: None
  • Response codes: 204
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: unknown
  • OpenAPI response codes: 204
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsDestroyInput = Parameters<typeof posthog.environmentsEndpointsDestroy> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsDestroyOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsDestroy>>;

const result: EnvironmentsEndpointsDestroyOutput = await posthog.environmentsEndpointsDestroy();

// Result shape (from schema): unknown

posthog.environmentsEndpointsRetrieve

  • HTTP: GET /api/environments/{environment_id}/endpoints/{name}/
  • What it does: Retrieve an endpoint, or a specific version via ?version=N.
  • OpenAPI operationId: environments_endpoints_retrieve
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsRetrieveInput = Parameters<typeof posthog.environmentsEndpointsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsRetrieve>>;

const result: EnvironmentsEndpointsRetrieveOutput = await posthog.environmentsEndpointsRetrieve();

// Result shape (from schema): { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...

posthog.environmentsEndpointsPartialUpdate

  • HTTP: PATCH /api/environments/{environment_id}/endpoints/{name}/
  • What it does: Update an existing endpoint.
  • OpenAPI operationId: environments_endpoints_partial_update
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsPartialUpdateInput = Parameters<typeof posthog.environmentsEndpointsPartialUpdate> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsPartialUpdateOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsPartialUpdate>>;

const result: EnvironmentsEndpointsPartialUpdateOutput = await posthog.environmentsEndpointsPartialUpdate();

// Result shape (from schema): { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...

posthog.environmentsEndpointsUpdate

  • HTTP: PUT /api/environments/{environment_id}/endpoints/{name}/
  • What it does: Update an existing endpoint. Parameters are optional. Pass version in body or ?version=N query param to target a specific version.
  • OpenAPI operationId: environments_endpoints_update
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsUpdateInput = Parameters<typeof posthog.environmentsEndpointsUpdate> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsUpdateOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsUpdate>>;

const result: EnvironmentsEndpointsUpdateOutput = await posthog.environmentsEndpointsUpdate();

// Result shape (from schema): { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...

posthog.environmentsEndpointsLogsRetrieve

  • HTTP: GET /api/environments/{environment_id}/endpoints/{name}/logs/
  • OpenAPI operationId: environments_endpoints_logs_retrieve
  • Path params: name
  • Query params: after, before, instance_id, level, limit, search
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: unknown
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsLogsRetrieveInput = Parameters<typeof posthog.environmentsEndpointsLogsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsLogsRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsLogsRetrieve>>;

const result: EnvironmentsEndpointsLogsRetrieveOutput = await posthog.environmentsEndpointsLogsRetrieve();

// Result shape (from schema): unknown

posthog.environmentsEndpointsMaterializationPreviewCreate

  • HTTP: POST /api/environments/{environment_id}/endpoints/{name}/materialization_preview/
  • What it does: Preview the materialization transform for an endpoint. Shows what the query will look like after materialization, including range pair detection and bucket functions.
  • OpenAPI operationId: environments_endpoints_materialization_preview_create
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: unknown
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsMaterializationPreviewCreateInput = Parameters<typeof posthog.environmentsEndpointsMaterializationPreviewCreate> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsMaterializationPreviewCreateOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsMaterializationPreviewCreate>>;

const result: EnvironmentsEndpointsMaterializationPreviewCreateOutput = await posthog.environmentsEndpointsMaterializationPreviewCreate();

// Result shape (from schema): unknown

posthog.environmentsEndpointsMaterializationStatusRetrieve

  • HTTP: GET /api/environments/{environment_id}/endpoints/{name}/materialization_status/
  • What it does: Get materialization status for an endpoint. Supports ?version=N query param.
  • OpenAPI operationId: environments_endpoints_materialization_status_retrieve
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { name: string; status?: string; can_materialize: boolean; reason?: string | null; last_materialized_at?: string | null; error?: string; saved_query_id?: string | null }
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsMaterializationStatusRetrieveInput = Parameters<typeof posthog.environmentsEndpointsMaterializationStatusRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsMaterializationStatusRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsMaterializationStatusRetrieve>>;

const result: EnvironmentsEndpointsMaterializationStatusRetrieveOutput = await posthog.environmentsEndpointsMaterializationStatusRetrieve();

// Result shape (from schema): { name: string; status?: string; can_materialize: boolean; reason?: string | null; last_materialized_at?: string | null; error?: string; saved_query_id?: string | null }

posthog.environmentsEndpointsMaterializationSuggestionCreate

  • HTTP: POST /api/environments/{environment_id}/endpoints/{name}/materialization_suggestion/
  • What it does: Ask AI to rewrite the endpoint's query into a semantically equivalent form that can be materialized. Only applicable to SQL (HogQL) endpoints that currently fail the materialization checks. The suggestion is validated against the live checks before being returned; nothing is saved. Requires the organization's AI data processing approval.
  • OpenAPI operationId: environments_endpoints_materialization_suggestion_create
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { suggestion_status: "ok" | "cannot_fix" | "invalid" | "model_error"; suggested_query: string | null; explanation: string | null; attempts: number; error: string | null; original_reason: string }
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsMaterializationSuggestionCreateInput = Parameters<typeof posthog.environmentsEndpointsMaterializationSuggestionCreate> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsMaterializationSuggestionCreateOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsMaterializationSuggestionCreate>>;

const result: EnvironmentsEndpointsMaterializationSuggestionCreateOutput = await posthog.environmentsEndpointsMaterializationSuggestionCreate();

// Result shape (from schema): { suggestion_status: "ok" | "cannot_fix" | "invalid" | "model_error"; suggested_query: string | null; explanation: string | null; attempts: number; error: string | null; original_reason: string }

posthog.environmentsEndpointsOpenapiSpecRetrieve

  • HTTP: GET /api/environments/{environment_id}/endpoints/{name}/openapi.json/
  • What it does: Get OpenAPI 3.0 specification for this endpoint. Use this to generate typed SDK clients.
  • OpenAPI operationId: environments_endpoints_openapi_spec_retrieve
  • Path params: name
  • Query params: version
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: unknown
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsOpenapiSpecRetrieveInput = Parameters<typeof posthog.environmentsEndpointsOpenapiSpecRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsOpenapiSpecRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsOpenapiSpecRetrieve>>;

const result: EnvironmentsEndpointsOpenapiSpecRetrieveOutput = await posthog.environmentsEndpointsOpenapiSpecRetrieve();

// Result shape (from schema): unknown

posthog.environmentsEndpointsRunRetrieve

  • HTTP: GET /api/environments/{environment_id}/endpoints/{name}/run/
  • What it does: Execute endpoint with optional materialization. Supports version parameter, runs latest version if not set.
  • OpenAPI operationId: environments_endpoints_run_retrieve
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { name: string; execution_id?: string; results?: (unknown)[]; columns?: (string)[]; hasMore?: boolean; endpoint_version?: number }
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsRunRetrieveInput = Parameters<typeof posthog.environmentsEndpointsRunRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsRunRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsRunRetrieve>>;

const result: EnvironmentsEndpointsRunRetrieveOutput = await posthog.environmentsEndpointsRunRetrieve();

// Result shape (from schema): { name: string; execution_id?: string; results?: (unknown)[]; columns?: (string)[]; hasMore?: boolean; endpoint_version?: number }

posthog.environmentsEndpointsRunCreate

  • HTTP: POST /api/environments/{environment_id}/endpoints/{name}/run/
  • What it does: Execute endpoint with optional materialization. Supports version parameter, runs latest version if not set.
  • OpenAPI operationId: environments_endpoints_run_create
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { name: string; execution_id?: string; results?: (unknown)[]; columns?: (string)[]; hasMore?: boolean; endpoint_version?: number }
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsRunCreateInput = Parameters<typeof posthog.environmentsEndpointsRunCreate> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsRunCreateOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsRunCreate>>;

const result: EnvironmentsEndpointsRunCreateOutput = await posthog.environmentsEndpointsRunCreate();

// Result shape (from schema): { name: string; execution_id?: string; results?: (unknown)[]; columns?: (string)[]; hasMore?: boolean; endpoint_version?: number }

posthog.environmentsEndpointsVersionsList

  • HTTP: GET /api/environments/{environment_id}/endpoints/{name}/versions/
  • What it does: List all versions for an endpoint.
  • OpenAPI operationId: environments_endpoints_versions_list
  • Path params: name
  • Query params: created_by, is_active, limit, offset
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { count: number; next?: string | null; previous?: string | null; results: ({ id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: strin...
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsVersionsListInput = Parameters<typeof posthog.environmentsEndpointsVersionsList> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsVersionsListOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsVersionsList>>;

const result: EnvironmentsEndpointsVersionsListOutput = await posthog.environmentsEndpointsVersionsList();

// Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: strin...

posthog.environmentsEndpointsLastExecutionTimesCreate

  • HTTP: POST /api/environments/{environment_id}/endpoints/last_execution_times/
  • What it does: Get the most recent execution time per endpoint (endpoint-level). Timestamps are recorded by the run path for personal-API-key calls. For per-version usage, query the query_log table directly.
  • OpenAPI operationId: environments_endpoints_last_execution_times_create
  • Path params: None
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { query_status: { complete?: boolean | null; dashboard_id?: number | null; end_time?: string | null; error?: boolean | null; error_code?: string | null; error_message?: string | null; expiration_time?: string | null; id...
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsLastExecutionTimesCreateInput = Parameters<typeof posthog.environmentsEndpointsLastExecutionTimesCreate> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsLastExecutionTimesCreateOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsLastExecutionTimesCreate>>;

const result: EnvironmentsEndpointsLastExecutionTimesCreateOutput = await posthog.environmentsEndpointsLastExecutionTimesCreate();

// Result shape (from schema): { query_status: { complete?: boolean | null; dashboard_id?: number | null; end_time?: string | null; error?: boolean | null; error_code?: string | null; error_message?: string | null; expiration_time?: string | null; id...

posthog.environmentsEndpointsMaterializationConditionsRetrieve

  • HTTP: GET /api/environments/{environment_id}/endpoints/materialization_conditions/
  • What it does: Get the source code of the live materialization checks, plus the rewrite contract. Lets an agent rewrite a rejected endpoint query itself: fetch these conditions, produce a semantically equivalent query that passes every check, update the endpoint with it, then confirm via materialization_status. The source is read from the running system, so it always matches the checks this instance enforces.
  • OpenAPI operationId: environments_endpoints_materialization_conditions_retrieve
  • Path params: None
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { conditions_source: string; rewrite_contract: string }
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EnvironmentsEndpointsMaterializationConditionsRetrieveInput = Parameters<typeof posthog.environmentsEndpointsMaterializationConditionsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
type EnvironmentsEndpointsMaterializationConditionsRetrieveOutput = Awaited<ReturnType<typeof posthog.environmentsEndpointsMaterializationConditionsRetrieve>>;

const result: EnvironmentsEndpointsMaterializationConditionsRetrieveOutput = await posthog.environmentsEndpointsMaterializationConditionsRetrieve();

// Result shape (from schema): { conditions_source: string; rewrite_contract: string }

posthog.endpointsList

  • HTTP: GET /api/projects/{project_id}/endpoints/
  • What it does: List all endpoints for the team.
  • OpenAPI operationId: endpoints_list
  • Path params: None
  • Query params: created_by, is_active, limit, offset
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { count: number; next?: string | null; previous?: string | null; results: ({ id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: strin...
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EndpointsListInput = Parameters<typeof posthog.endpointsList> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsListOutput = Awaited<ReturnType<typeof posthog.endpointsList>>;

const result: EndpointsListOutput = await posthog.endpointsList();

// Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: strin...

posthog.endpointsCreate

  • HTTP: POST /api/projects/{project_id}/endpoints/
  • What it does: Create a new endpoint.
  • OpenAPI operationId: endpoints_create
  • Path params: None
  • Query params: None
  • Response codes: 201
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...
  • OpenAPI response codes: 201
import posthog from "@utdk/posthog";

type EndpointsCreateInput = Parameters<typeof posthog.endpointsCreate> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsCreateOutput = Awaited<ReturnType<typeof posthog.endpointsCreate>>;

const result: EndpointsCreateOutput = await posthog.endpointsCreate();

// Result shape (from schema): { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...

posthog.endpointsDestroy

  • HTTP: DELETE /api/projects/{project_id}/endpoints/{name}/
  • What it does: Delete an endpoint and clean up materialized query.
  • OpenAPI operationId: endpoints_destroy
  • Path params: name
  • Query params: None
  • Response codes: 204
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: unknown
  • OpenAPI response codes: 204
import posthog from "@utdk/posthog";

type EndpointsDestroyInput = Parameters<typeof posthog.endpointsDestroy> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsDestroyOutput = Awaited<ReturnType<typeof posthog.endpointsDestroy>>;

const result: EndpointsDestroyOutput = await posthog.endpointsDestroy();

// Result shape (from schema): unknown

posthog.endpointsRetrieve

  • HTTP: GET /api/projects/{project_id}/endpoints/{name}/
  • What it does: Retrieve an endpoint, or a specific version via ?version=N.
  • OpenAPI operationId: endpoints_retrieve
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EndpointsRetrieveInput = Parameters<typeof posthog.endpointsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsRetrieveOutput = Awaited<ReturnType<typeof posthog.endpointsRetrieve>>;

const result: EndpointsRetrieveOutput = await posthog.endpointsRetrieve();

// Result shape (from schema): { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...

posthog.endpointsPartialUpdate

  • HTTP: PATCH /api/projects/{project_id}/endpoints/{name}/
  • What it does: Update an existing endpoint.
  • OpenAPI operationId: endpoints_partial_update
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EndpointsPartialUpdateInput = Parameters<typeof posthog.endpointsPartialUpdate> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsPartialUpdateOutput = Awaited<ReturnType<typeof posthog.endpointsPartialUpdate>>;

const result: EndpointsPartialUpdateOutput = await posthog.endpointsPartialUpdate();

// Result shape (from schema): { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...

posthog.endpointsUpdate

  • HTTP: PUT /api/projects/{project_id}/endpoints/{name}/
  • What it does: Update an existing endpoint. Parameters are optional. Pass version in body or ?version=N query param to target a specific version.
  • OpenAPI operationId: endpoints_update
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EndpointsUpdateInput = Parameters<typeof posthog.endpointsUpdate> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsUpdateOutput = Awaited<ReturnType<typeof posthog.endpointsUpdate>>;

const result: EndpointsUpdateOutput = await posthog.endpointsUpdate();

// Result shape (from schema): { id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: string; url: string | null; ui_url: string | null; created_at: string; updated_a...

posthog.endpointsLogsRetrieve

  • HTTP: GET /api/projects/{project_id}/endpoints/{name}/logs/
  • OpenAPI operationId: endpoints_logs_retrieve
  • Path params: name
  • Query params: after, before, instance_id, level, limit, search
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: unknown
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EndpointsLogsRetrieveInput = Parameters<typeof posthog.endpointsLogsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsLogsRetrieveOutput = Awaited<ReturnType<typeof posthog.endpointsLogsRetrieve>>;

const result: EndpointsLogsRetrieveOutput = await posthog.endpointsLogsRetrieve();

// Result shape (from schema): unknown

posthog.endpointsMaterializationPreviewCreate

  • HTTP: POST /api/projects/{project_id}/endpoints/{name}/materialization_preview/
  • What it does: Preview the materialization transform for an endpoint. Shows what the query will look like after materialization, including range pair detection and bucket functions.
  • OpenAPI operationId: endpoints_materialization_preview_create
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: unknown
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EndpointsMaterializationPreviewCreateInput = Parameters<typeof posthog.endpointsMaterializationPreviewCreate> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsMaterializationPreviewCreateOutput = Awaited<ReturnType<typeof posthog.endpointsMaterializationPreviewCreate>>;

const result: EndpointsMaterializationPreviewCreateOutput = await posthog.endpointsMaterializationPreviewCreate();

// Result shape (from schema): unknown

posthog.endpointsMaterializationStatusRetrieve

  • HTTP: GET /api/projects/{project_id}/endpoints/{name}/materialization_status/
  • What it does: Get materialization status for an endpoint. Supports ?version=N query param.
  • OpenAPI operationId: endpoints_materialization_status_retrieve
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { name: string; status?: string; can_materialize: boolean; reason?: string | null; last_materialized_at?: string | null; error?: string; saved_query_id?: string | null }
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EndpointsMaterializationStatusRetrieveInput = Parameters<typeof posthog.endpointsMaterializationStatusRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsMaterializationStatusRetrieveOutput = Awaited<ReturnType<typeof posthog.endpointsMaterializationStatusRetrieve>>;

const result: EndpointsMaterializationStatusRetrieveOutput = await posthog.endpointsMaterializationStatusRetrieve();

// Result shape (from schema): { name: string; status?: string; can_materialize: boolean; reason?: string | null; last_materialized_at?: string | null; error?: string; saved_query_id?: string | null }

posthog.endpointsMaterializationSuggestionCreate

  • HTTP: POST /api/projects/{project_id}/endpoints/{name}/materialization_suggestion/
  • What it does: Ask AI to rewrite the endpoint's query into a semantically equivalent form that can be materialized. Only applicable to SQL (HogQL) endpoints that currently fail the materialization checks. The suggestion is validated against the live checks before being returned; nothing is saved. Requires the organization's AI data processing approval.
  • OpenAPI operationId: endpoints_materialization_suggestion_create
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { suggestion_status: "ok" | "cannot_fix" | "invalid" | "model_error"; suggested_query: string | null; explanation: string | null; attempts: number; error: string | null; original_reason: string }
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EndpointsMaterializationSuggestionCreateInput = Parameters<typeof posthog.endpointsMaterializationSuggestionCreate> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsMaterializationSuggestionCreateOutput = Awaited<ReturnType<typeof posthog.endpointsMaterializationSuggestionCreate>>;

const result: EndpointsMaterializationSuggestionCreateOutput = await posthog.endpointsMaterializationSuggestionCreate();

// Result shape (from schema): { suggestion_status: "ok" | "cannot_fix" | "invalid" | "model_error"; suggested_query: string | null; explanation: string | null; attempts: number; error: string | null; original_reason: string }

posthog.endpointsOpenapiSpecRetrieve

  • HTTP: GET /api/projects/{project_id}/endpoints/{name}/openapi.json/
  • What it does: Get OpenAPI 3.0 specification for this endpoint. Use this to generate typed SDK clients.
  • OpenAPI operationId: endpoints_openapi_spec_retrieve
  • Path params: name
  • Query params: version
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: unknown
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EndpointsOpenapiSpecRetrieveInput = Parameters<typeof posthog.endpointsOpenapiSpecRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsOpenapiSpecRetrieveOutput = Awaited<ReturnType<typeof posthog.endpointsOpenapiSpecRetrieve>>;

const result: EndpointsOpenapiSpecRetrieveOutput = await posthog.endpointsOpenapiSpecRetrieve();

// Result shape (from schema): unknown

posthog.endpointsRunRetrieve

  • HTTP: GET /api/projects/{project_id}/endpoints/{name}/run/
  • What it does: Execute endpoint with optional materialization. Supports version parameter, runs latest version if not set.
  • OpenAPI operationId: endpoints_run_retrieve
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { name: string; execution_id?: string; results?: (unknown)[]; columns?: (string)[]; hasMore?: boolean; endpoint_version?: number }
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EndpointsRunRetrieveInput = Parameters<typeof posthog.endpointsRunRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsRunRetrieveOutput = Awaited<ReturnType<typeof posthog.endpointsRunRetrieve>>;

const result: EndpointsRunRetrieveOutput = await posthog.endpointsRunRetrieve();

// Result shape (from schema): { name: string; execution_id?: string; results?: (unknown)[]; columns?: (string)[]; hasMore?: boolean; endpoint_version?: number }

posthog.endpointsRunCreate

  • HTTP: POST /api/projects/{project_id}/endpoints/{name}/run/
  • What it does: Execute endpoint with optional materialization. Supports version parameter, runs latest version if not set.
  • OpenAPI operationId: endpoints_run_create
  • Path params: name
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { name: string; execution_id?: string; results?: (unknown)[]; columns?: (string)[]; hasMore?: boolean; endpoint_version?: number }
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EndpointsRunCreateInput = Parameters<typeof posthog.endpointsRunCreate> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsRunCreateOutput = Awaited<ReturnType<typeof posthog.endpointsRunCreate>>;

const result: EndpointsRunCreateOutput = await posthog.endpointsRunCreate();

// Result shape (from schema): { name: string; execution_id?: string; results?: (unknown)[]; columns?: (string)[]; hasMore?: boolean; endpoint_version?: number }

posthog.endpointsVersionsList

  • HTTP: GET /api/projects/{project_id}/endpoints/{name}/versions/
  • What it does: List all versions for an endpoint.
  • OpenAPI operationId: endpoints_versions_list
  • Path params: name
  • Query params: created_by, is_active, limit, offset
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { count: number; next?: string | null; previous?: string | null; results: ({ id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: strin...
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EndpointsVersionsListInput = Parameters<typeof posthog.endpointsVersionsList> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsVersionsListOutput = Awaited<ReturnType<typeof posthog.endpointsVersionsList>>;

const result: EndpointsVersionsListOutput = await posthog.endpointsVersionsList();

// Result shape (from schema): { count: number; next?: string | null; previous?: string | null; results: ({ id: string; name: string; description: string | null; query: unknown; is_active: boolean; data_freshness_seconds: number; endpoint_path: strin...

posthog.endpointsLastExecutionTimesCreate

  • HTTP: POST /api/projects/{project_id}/endpoints/last_execution_times/
  • What it does: Get the most recent execution time per endpoint (endpoint-level). Timestamps are recorded by the run path for personal-API-key calls. For per-version usage, query the query_log table directly.
  • OpenAPI operationId: endpoints_last_execution_times_create
  • Path params: None
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { query_status: { complete?: boolean | null; dashboard_id?: number | null; end_time?: string | null; error?: boolean | null; error_code?: string | null; error_message?: string | null; expiration_time?: string | null; id...
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EndpointsLastExecutionTimesCreateInput = Parameters<typeof posthog.endpointsLastExecutionTimesCreate> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsLastExecutionTimesCreateOutput = Awaited<ReturnType<typeof posthog.endpointsLastExecutionTimesCreate>>;

const result: EndpointsLastExecutionTimesCreateOutput = await posthog.endpointsLastExecutionTimesCreate();

// Result shape (from schema): { query_status: { complete?: boolean | null; dashboard_id?: number | null; end_time?: string | null; error?: boolean | null; error_code?: string | null; error_message?: string | null; expiration_time?: string | null; id...

posthog.endpointsMaterializationConditionsRetrieve

  • HTTP: GET /api/projects/{project_id}/endpoints/materialization_conditions/
  • What it does: Get the source code of the live materialization checks, plus the rewrite contract. Lets an agent rewrite a rejected endpoint query itself: fetch these conditions, produce a semantically equivalent query that passes every check, update the endpoint with it, then confirm via materialization_status. The source is read from the running system, so it always matches the checks this instance enforces.
  • OpenAPI operationId: endpoints_materialization_conditions_retrieve
  • Path params: None
  • Query params: None
  • Response codes: 200
  • Transport options: None
  • TypeScript: Client interface

Inputs

  • Client input type: { [key: string]: unknown }
  • Client transport options: None

Outputs

  • Client return type: { conditions_source: string; rewrite_contract: string }
  • OpenAPI response codes: 200
import posthog from "@utdk/posthog";

type EndpointsMaterializationConditionsRetrieveInput = Parameters<typeof posthog.endpointsMaterializationConditionsRetrieve> extends [infer T, ...unknown[]] ? T : undefined;
type EndpointsMaterializationConditionsRetrieveOutput = Awaited<ReturnType<typeof posthog.endpointsMaterializationConditionsRetrieve>>;

const result: EndpointsMaterializationConditionsRetrieveOutput = await posthog.endpointsMaterializationConditionsRetrieve();

// Result shape (from schema): { conditions_source: string; rewrite_contract: string }