PostHog · Schema
RetentionEntity
A/B TestingAnalyticsFeature FlagsOpen-SourceProduct AnalyticsSession Recording
Properties
| Name | Type | Description |
|---|---|---|
| aggregation_target_field | string | Data warehouse field used as the actor identifier |
| custom_name | string | |
| id | object | |
| kind | object | |
| name | string | |
| order | integer | |
| properties | array | filters on the event |
| table_name | string | Data warehouse table name |
| timestamp_field | string | Data warehouse timestamp field |
| type | object | |
| uuid | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/RetentionEntity",
"title": "RetentionEntity",
"additionalProperties": false,
"properties": {
"aggregation_target_field": {
"default": null,
"description": "Data warehouse field used as the actor identifier",
"title": "Aggregation Target Field",
"type": "string",
"nullable": true
},
"custom_name": {
"default": null,
"title": "Custom Name",
"type": "string",
"nullable": true
},
"id": {
"default": null,
"title": "Id",
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"nullable": true
},
"kind": {
"default": null,
"allOf": [
{
"$ref": "#/components/schemas/RetentionEntityKind"
}
],
"nullable": true
},
"name": {
"default": null,
"title": "Name",
"type": "string",
"nullable": true
},
"order": {
"default": null,
"title": "Order",
"type": "integer",
"nullable": true
},
"properties": {
"default": null,
"description": "filters on the event",
"title": "Properties",
"items": {
"anyOf": [
{
"$ref": "#/components/schemas/EventPropertyFilter"
},
{
"$ref": "#/components/schemas/PersonPropertyFilter"
},
{
"$ref": "#/components/schemas/ElementPropertyFilter"
},
{
"$ref": "#/components/schemas/EventMetadataPropertyFilter"
},
{
"$ref": "#/components/schemas/SessionPropertyFilter"
},
{
"$ref": "#/components/schemas/CohortPropertyFilter"
},
{
"$ref": "#/components/schemas/RecordingPropertyFilter"
},
{
"$ref": "#/components/schemas/LogEntryPropertyFilter"
},
{
"$ref": "#/components/schemas/GroupPropertyFilter"
},
{
"$ref": "#/components/schemas/FeaturePropertyFilter"
},
{
"$ref": "#/components/schemas/FlagPropertyFilter"
},
{
"$ref": "#/components/schemas/HogQLPropertyFilter"
},
{
"$ref": "#/components/schemas/EmptyPropertyFilter"
},
{
"$ref": "#/components/schemas/DataWarehousePropertyFilter"
},
{
"$ref": "#/components/schemas/DataWarehousePersonPropertyFilter"
},
{
"$ref": "#/components/schemas/ErrorTrackingIssueFilter"
},
{
"$ref": "#/components/schemas/LogPropertyFilter"
},
{
"$ref": "#/components/schemas/SpanPropertyFilter"
},
{
"$ref": "#/components/schemas/RevenueAnalyticsPropertyFilter"
},
{
"$ref": "#/components/schemas/WorkflowVariablePropertyFilter"
}
]
},
"type": "array",
"nullable": true
},
"table_name": {
"default": null,
"description": "Data warehouse table name",
"title": "Table Name",
"type": "string",
"nullable": true
},
"timestamp_field": {
"default": null,
"description": "Data warehouse timestamp field",
"title": "Timestamp Field",
"type": "string",
"nullable": true
},
"type": {
"default": null,
"allOf": [
{
"$ref": "#/components/schemas/EntityType"
}
],
"nullable": true
},
"uuid": {
"default": null,
"title": "Uuid",
"type": "string",
"nullable": true
}
},
"type": "object"
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/posthog-retentionentity"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.