PostHog · Capability

PostHog API — property_definitions

PostHog API — property_definitions. 7 operations. Lead operation: property_definitions. Self-contained Naftiko capability covering one Posthog business surface.

Run with Naftiko Posthogproperty_definitions

What You Can Do

GET
Propertydefinitionslist — propertydefinitionslist
/v1/api/projects/{project-id}/property-definitions
POST
Propertydefinitionsbulkupdatetagscreate — Bulk update tags on multiple objects.
/v1/api/projects/{project-id}/property-definitions/bulk-update-tags
GET
Propertydefinitionsseentogetherretrieve — Allows a caller to provide a list of event names and a single property name
/v1/api/projects/{project-id}/property-definitions/seen-together
GET
Propertydefinitionsretrieve — propertydefinitionsretrieve
/v1/api/projects/{project-id}/property-definitions/{id}
PUT
Propertydefinitionsupdate — propertydefinitionsupdate
/v1/api/projects/{project-id}/property-definitions/{id}
PATCH
Propertydefinitionspartialupdate — propertydefinitionspartialupdate
/v1/api/projects/{project-id}/property-definitions/{id}
DELETE
Propertydefinitionsdestroy — propertydefinitionsdestroy
/v1/api/projects/{project-id}/property-definitions/{id}

MCP Tools

propertydefinitionslist

propertydefinitionslist

read-only idempotent
bulk-update-tags-multiple-objects

Bulk update tags on multiple objects.

allows-caller-provide-list-event

Allows a caller to provide a list of event names and a single property name

read-only idempotent
propertydefinitionsretrieve

propertydefinitionsretrieve

read-only idempotent
propertydefinitionsupdate

propertydefinitionsupdate

idempotent
propertydefinitionspartialupdate

propertydefinitionspartialupdate

idempotent
propertydefinitionsdestroy

propertydefinitionsdestroy

idempotent

Capability Spec

posthog-property-definitions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PostHog API — property_definitions
  description: 'PostHog API — property_definitions. 7 operations. Lead operation: property_definitions. Self-contained Naftiko
    capability covering one Posthog business surface.'
  tags:
  - Posthog
  - property_definitions
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    POSTHOG_API_KEY: POSTHOG_API_KEY
capability:
  consumes:
  - type: http
    namespace: posthog-property-definitions
    baseUri: ''
    description: PostHog API — property_definitions business capability. Self-contained, no shared references.
    resources:
    - name: api-projects-project_id-property_definitions
      path: /api/projects/{project_id}/property_definitions/
      operations:
      - name: propertydefinitionslist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: event_names
          in: query
          type: string
          description: If sent, response value will have `is_seen_on_filtered_events` populated. JSON-encoded
        - name: exclude_core_properties
          in: query
          type: boolean
          description: Whether to exclude core properties
        - name: exclude_hidden
          in: query
          type: boolean
          description: Whether to exclude properties marked as hidden
        - name: excluded_properties
          in: query
          type: string
          description: JSON-encoded list of excluded properties
        - name: filter_by_event_names
          in: query
          type: boolean
          description: Whether to return only properties for events in `event_names`
        - name: group_type_index
          in: query
          type: integer
          description: What group type is the property for. Only should be set if `type=group`
        - name: is_feature_flag
          in: query
          type: boolean
          description: Whether to return only (or excluding) feature flag properties
        - name: is_numerical
          in: query
          type: boolean
          description: Whether to return only (or excluding) numerical property definitions
        - name: limit
          in: query
          type: integer
          description: Number of results to return per page.
        - name: offset
          in: query
          type: integer
          description: The initial index from which to return the results.
        - name: properties
          in: query
          type: string
          description: Comma-separated list of properties to filter
        - name: search
          in: query
          type: string
          description: Searches properties by name
        - name: type
          in: query
          type: string
          description: What property definitions to return
        - name: verified
          in: query
          type: boolean
          description: Filter by verified status. True returns only verified, false returns only unverified.
    - name: api-projects-project_id-property_definitions-bulk_update_tags
      path: /api/projects/{project_id}/property_definitions/bulk_update_tags/
      operations:
      - name: propertydefinitionsbulkupdatetagscreate
        method: POST
        description: Bulk update tags on multiple objects.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-projects-project_id-property_definitions-seen_together
      path: /api/projects/{project_id}/property_definitions/seen_together/
      operations:
      - name: propertydefinitionsseentogetherretrieve
        method: GET
        description: Allows a caller to provide a list of event names and a single property name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-projects-project_id-property_definitions-id
      path: /api/projects/{project_id}/property_definitions/{id}/
      operations:
      - name: propertydefinitionsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this property definition.
          required: true
      - name: propertydefinitionsupdate
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this property definition.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: propertydefinitionspartialupdate
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this property definition.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: propertydefinitionsdestroy
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this property definition.
          required: true
    authentication:
      type: bearer
      token: '{{env.POSTHOG_API_KEY}}'
  exposes:
  - type: rest
    namespace: posthog-property-definitions-rest
    port: 8080
    description: REST adapter for PostHog API — property_definitions. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/api/projects/{project-id}/property-definitions
      name: api-projects-project-id-property-definitions
      description: REST surface for api-projects-project_id-property_definitions.
      operations:
      - method: GET
        name: propertydefinitionslist
        description: propertydefinitionslist
        call: posthog-property-definitions.propertydefinitionslist
        with:
          event_names: rest.event_names
          exclude_core_properties: rest.exclude_core_properties
          exclude_hidden: rest.exclude_hidden
          excluded_properties: rest.excluded_properties
          filter_by_event_names: rest.filter_by_event_names
          group_type_index: rest.group_type_index
          is_feature_flag: rest.is_feature_flag
          is_numerical: rest.is_numerical
          limit: rest.limit
          offset: rest.offset
          properties: rest.properties
          search: rest.search
          type: rest.type
          verified: rest.verified
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/projects/{project-id}/property-definitions/bulk-update-tags
      name: api-projects-project-id-property-definitions-bulk-update-tags
      description: REST surface for api-projects-project_id-property_definitions-bulk_update_tags.
      operations:
      - method: POST
        name: propertydefinitionsbulkupdatetagscreate
        description: Bulk update tags on multiple objects.
        call: posthog-property-definitions.propertydefinitionsbulkupdatetagscreate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/projects/{project-id}/property-definitions/seen-together
      name: api-projects-project-id-property-definitions-seen-together
      description: REST surface for api-projects-project_id-property_definitions-seen_together.
      operations:
      - method: GET
        name: propertydefinitionsseentogetherretrieve
        description: Allows a caller to provide a list of event names and a single property name
        call: posthog-property-definitions.propertydefinitionsseentogetherretrieve
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/projects/{project-id}/property-definitions/{id}
      name: api-projects-project-id-property-definitions-id
      description: REST surface for api-projects-project_id-property_definitions-id.
      operations:
      - method: GET
        name: propertydefinitionsretrieve
        description: propertydefinitionsretrieve
        call: posthog-property-definitions.propertydefinitionsretrieve
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: propertydefinitionsupdate
        description: propertydefinitionsupdate
        call: posthog-property-definitions.propertydefinitionsupdate
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: propertydefinitionspartialupdate
        description: propertydefinitionspartialupdate
        call: posthog-property-definitions.propertydefinitionspartialupdate
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: propertydefinitionsdestroy
        description: propertydefinitionsdestroy
        call: posthog-property-definitions.propertydefinitionsdestroy
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: posthog-property-definitions-mcp
    port: 9090
    transport: http
    description: MCP adapter for PostHog API — property_definitions. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: propertydefinitionslist
      description: propertydefinitionslist
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-property-definitions.propertydefinitionslist
      with:
        event_names: tools.event_names
        exclude_core_properties: tools.exclude_core_properties
        exclude_hidden: tools.exclude_hidden
        excluded_properties: tools.excluded_properties
        filter_by_event_names: tools.filter_by_event_names
        group_type_index: tools.group_type_index
        is_feature_flag: tools.is_feature_flag
        is_numerical: tools.is_numerical
        limit: tools.limit
        offset: tools.offset
        properties: tools.properties
        search: tools.search
        type: tools.type
        verified: tools.verified
      outputParameters:
      - type: object
        mapping: $.
    - name: bulk-update-tags-multiple-objects
      description: Bulk update tags on multiple objects.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: posthog-property-definitions.propertydefinitionsbulkupdatetagscreate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: allows-caller-provide-list-event
      description: Allows a caller to provide a list of event names and a single property name
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-property-definitions.propertydefinitionsseentogetherretrieve
      outputParameters:
      - type: object
        mapping: $.
    - name: propertydefinitionsretrieve
      description: propertydefinitionsretrieve
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-property-definitions.propertydefinitionsretrieve
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: propertydefinitionsupdate
      description: propertydefinitionsupdate
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: posthog-property-definitions.propertydefinitionsupdate
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: propertydefinitionspartialupdate
      description: propertydefinitionspartialupdate
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: posthog-property-definitions.propertydefinitionspartialupdate
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: propertydefinitionsdestroy
      description: propertydefinitionsdestroy
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: posthog-property-definitions.propertydefinitionsdestroy
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.