PostHog · Capability

PostHog API — cdp

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

Run with Naftiko Posthogcdp

What You Can Do

GET
Environmentshogfunctionslist — environmentshogfunctionslist
/v1/api/environments/{environment-id}/hog-functions
POST
Environmentshogfunctionscreate — environmentshogfunctionscreate
/v1/api/environments/{environment-id}/hog-functions
GET
Environmentshogfunctionsiconretrieve — environmentshogfunctionsiconretrieve
/v1/api/environments/{environment-id}/hog-functions/icon
GET
Environmentshogfunctionsiconsretrieve — environmentshogfunctionsiconsretrieve
/v1/api/environments/{environment-id}/hog-functions/icons
PATCH
Environmentshogfunctionsrearrangepartialupdate — Update the execution order of multiple HogFunctions.
/v1/api/environments/{environment-id}/hog-functions/rearrange
GET
Environmentshogfunctionsretrieve — environmentshogfunctionsretrieve
/v1/api/environments/{environment-id}/hog-functions/{id}
PUT
Environmentshogfunctionsupdate — environmentshogfunctionsupdate
/v1/api/environments/{environment-id}/hog-functions/{id}
PATCH
Environmentshogfunctionspartialupdate — environmentshogfunctionspartialupdate
/v1/api/environments/{environment-id}/hog-functions/{id}
DELETE
Environmentshogfunctionsdestroy — Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
/v1/api/environments/{environment-id}/hog-functions/{id}
POST
Environmentshogfunctionsenablebackfillscreate — environmentshogfunctionsenablebackfillscreate
/v1/api/environments/{environment-id}/hog-functions/{id}/enable-backfills
POST
Environmentshogfunctionsinvocationscreate — environmentshogfunctionsinvocationscreate
/v1/api/environments/{environment-id}/hog-functions/{id}/invocations
GET
Environmentshogfunctionslogsretrieve — environmentshogfunctionslogsretrieve
/v1/api/environments/{environment-id}/hog-functions/{id}/logs
GET
Environmentshogfunctionsmetricsretrieve — environmentshogfunctionsmetricsretrieve
/v1/api/environments/{environment-id}/hog-functions/{id}/metrics
GET
Environmentshogfunctionsmetricstotalsretrieve — environmentshogfunctionsmetricstotalsretrieve
/v1/api/environments/{environment-id}/hog-functions/{id}/metrics/totals
GET
Hogfunctiontemplateslist — hogfunctiontemplateslist
/v1/api/projects/{project-id}/hog-function-templates
GET
Hogfunctiontemplatesretrieve — hogfunctiontemplatesretrieve
/v1/api/projects/{project-id}/hog-function-templates/{template-id}
GET
Hogfunctionslist — hogfunctionslist
/v1/api/projects/{project-id}/hog-functions
POST
Hogfunctionscreate — hogfunctionscreate
/v1/api/projects/{project-id}/hog-functions
GET
Hogfunctionsiconretrieve — hogfunctionsiconretrieve
/v1/api/projects/{project-id}/hog-functions/icon
GET
Hogfunctionsiconsretrieve — hogfunctionsiconsretrieve
/v1/api/projects/{project-id}/hog-functions/icons
PATCH
Hogfunctionsrearrangepartialupdate — Update the execution order of multiple HogFunctions.
/v1/api/projects/{project-id}/hog-functions/rearrange
GET
Hogfunctionsretrieve — hogfunctionsretrieve
/v1/api/projects/{project-id}/hog-functions/{id}
PUT
Hogfunctionsupdate — hogfunctionsupdate
/v1/api/projects/{project-id}/hog-functions/{id}
PATCH
Hogfunctionspartialupdate — hogfunctionspartialupdate
/v1/api/projects/{project-id}/hog-functions/{id}
DELETE
Hogfunctionsdestroy — Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
/v1/api/projects/{project-id}/hog-functions/{id}
POST
Hogfunctionsenablebackfillscreate — hogfunctionsenablebackfillscreate
/v1/api/projects/{project-id}/hog-functions/{id}/enable-backfills
POST
Hogfunctionsinvocationscreate — hogfunctionsinvocationscreate
/v1/api/projects/{project-id}/hog-functions/{id}/invocations
GET
Hogfunctionslogsretrieve — hogfunctionslogsretrieve
/v1/api/projects/{project-id}/hog-functions/{id}/logs
GET
Hogfunctionsmetricsretrieve — hogfunctionsmetricsretrieve
/v1/api/projects/{project-id}/hog-functions/{id}/metrics
GET
Hogfunctionsmetricstotalsretrieve — hogfunctionsmetricstotalsretrieve
/v1/api/projects/{project-id}/hog-functions/{id}/metrics/totals
GET
Publichogfunctiontemplateslist — publichogfunctiontemplateslist
/v1/api/public-hog-function-templates

MCP Tools

environmentshogfunctionslist

environmentshogfunctionslist

read-only idempotent
environmentshogfunctionscreate

environmentshogfunctionscreate

environmentshogfunctionsiconretrieve

environmentshogfunctionsiconretrieve

read-only idempotent
environmentshogfunctionsiconsretrieve

environmentshogfunctionsiconsretrieve

read-only idempotent
update-execution-order-multiple-hogfunctions

Update the execution order of multiple HogFunctions.

idempotent
environmentshogfunctionsretrieve

environmentshogfunctionsretrieve

read-only idempotent
environmentshogfunctionsupdate

environmentshogfunctionsupdate

idempotent
environmentshogfunctionspartialupdate

environmentshogfunctionspartialupdate

idempotent
hard-delete-this-model-is

Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true

idempotent
environmentshogfunctionsenablebackfillscreate

environmentshogfunctionsenablebackfillscreate

environmentshogfunctionsinvocationscreate

environmentshogfunctionsinvocationscreate

environmentshogfunctionslogsretrieve

environmentshogfunctionslogsretrieve

read-only idempotent
environmentshogfunctionsmetricsretrieve

environmentshogfunctionsmetricsretrieve

read-only idempotent
environmentshogfunctionsmetricstotalsretrieve

environmentshogfunctionsmetricstotalsretrieve

read-only idempotent
hogfunctiontemplateslist

hogfunctiontemplateslist

read-only idempotent
hogfunctiontemplatesretrieve

hogfunctiontemplatesretrieve

read-only idempotent
hogfunctionslist

hogfunctionslist

read-only idempotent
hogfunctionscreate

hogfunctionscreate

hogfunctionsiconretrieve

hogfunctionsiconretrieve

read-only idempotent
hogfunctionsiconsretrieve

hogfunctionsiconsretrieve

read-only idempotent
update-execution-order-multiple-hogfunctions-2

Update the execution order of multiple HogFunctions.

idempotent
hogfunctionsretrieve

hogfunctionsretrieve

read-only idempotent
hogfunctionsupdate

hogfunctionsupdate

idempotent
hogfunctionspartialupdate

hogfunctionspartialupdate

idempotent
hard-delete-this-model-is-2

Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true

idempotent
hogfunctionsenablebackfillscreate

hogfunctionsenablebackfillscreate

hogfunctionsinvocationscreate

hogfunctionsinvocationscreate

hogfunctionslogsretrieve

hogfunctionslogsretrieve

read-only idempotent
hogfunctionsmetricsretrieve

hogfunctionsmetricsretrieve

read-only idempotent
hogfunctionsmetricstotalsretrieve

hogfunctionsmetricstotalsretrieve

read-only idempotent
publichogfunctiontemplateslist

publichogfunctiontemplateslist

read-only idempotent

Capability Spec

posthog-cdp.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PostHog API — cdp
  description: 'PostHog API — cdp. 31 operations. Lead operation: cdp. Self-contained Naftiko capability covering one Posthog
    business surface.'
  tags:
  - Posthog
  - cdp
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    POSTHOG_API_KEY: POSTHOG_API_KEY
capability:
  consumes:
  - type: http
    namespace: posthog-cdp
    baseUri: ''
    description: PostHog API — cdp business capability. Self-contained, no shared references.
    resources:
    - name: api-environments-environment_id-hog_functions
      path: /api/environments/{environment_id}/hog_functions/
      operations:
      - name: environmentshogfunctionslist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: created_at
          in: query
          type: string
        - name: created_by
          in: query
          type: integer
        - name: enabled
          in: query
          type: boolean
        - name: id
          in: query
          type: string
        - 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: search
          in: query
          type: string
          description: A search term.
        - name: type
          in: query
          type: array
          description: Multiple values may be separated by commas.
        - name: updated_at
          in: query
          type: string
      - name: environmentshogfunctionscreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-environments-environment_id-hog_functions-icon
      path: /api/environments/{environment_id}/hog_functions/icon/
      operations:
      - name: environmentshogfunctionsiconretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-environments-environment_id-hog_functions-icons
      path: /api/environments/{environment_id}/hog_functions/icons/
      operations:
      - name: environmentshogfunctionsiconsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-environments-environment_id-hog_functions-rearrange
      path: /api/environments/{environment_id}/hog_functions/rearrange/
      operations:
      - name: environmentshogfunctionsrearrangepartialupdate
        method: PATCH
        description: Update the execution order of multiple HogFunctions.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-environments-environment_id-hog_functions-id
      path: /api/environments/{environment_id}/hog_functions/{id}/
      operations:
      - name: environmentshogfunctionsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
      - name: environmentshogfunctionsupdate
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: environmentshogfunctionspartialupdate
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: environmentshogfunctionsdestroy
        method: DELETE
        description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
    - name: api-environments-environment_id-hog_functions-id-enable_backfills
      path: /api/environments/{environment_id}/hog_functions/{id}/enable_backfills/
      operations:
      - name: environmentshogfunctionsenablebackfillscreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-environments-environment_id-hog_functions-id-invocations
      path: /api/environments/{environment_id}/hog_functions/{id}/invocations/
      operations:
      - name: environmentshogfunctionsinvocationscreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-environments-environment_id-hog_functions-id-logs
      path: /api/environments/{environment_id}/hog_functions/{id}/logs/
      operations:
      - name: environmentshogfunctionslogsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: after
          in: query
          type: string
          description: Only return entries after this ISO 8601 timestamp.
        - name: before
          in: query
          type: string
          description: Only return entries before this ISO 8601 timestamp.
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
        - name: instance_id
          in: query
          type: string
          description: Filter logs to a specific execution instance.
        - name: level
          in: query
          type: string
          description: 'Comma-separated log levels to include, e.g. ''WARN,ERROR''. Valid levels: DEBUG, LOG, INFO, WARN,
            ERROR.'
        - name: limit
          in: query
          type: integer
          description: Maximum number of log entries to return (1-500, default 50).
        - name: search
          in: query
          type: string
          description: Case-insensitive substring search across log messages.
    - name: api-environments-environment_id-hog_functions-id-metrics
      path: /api/environments/{environment_id}/hog_functions/{id}/metrics/
      operations:
      - name: environmentshogfunctionsmetricsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: after
          in: query
          type: string
          description: Start of the time range. Accepts relative formats like '-7d', '-24h' or ISO 8601 timestamps. Defaults
            to '-7d'.
        - name: before
          in: query
          type: string
          description: End of the time range. Same format as 'after'. Defaults to now.
        - name: breakdown_by
          in: query
          type: string
          description: Group the series by metric 'name' or 'kind'. Defaults to 'kind'.
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
        - name: instance_id
          in: query
          type: string
          description: Filter metrics to a specific execution instance.
        - name: interval
          in: query
          type: string
          description: 'Time bucket size for the series. One of: hour, day, week. Defaults to ''day''.'
        - name: kind
          in: query
          type: string
          description: Comma-separated metric kinds to filter by, e.g. 'success,failure'.
        - name: name
          in: query
          type: string
          description: Comma-separated metric names to filter by.
    - name: api-environments-environment_id-hog_functions-id-metrics-totals
      path: /api/environments/{environment_id}/hog_functions/{id}/metrics/totals/
      operations:
      - name: environmentshogfunctionsmetricstotalsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: after
          in: query
          type: string
          description: Start of the time range. Accepts relative formats like '-7d', '-24h' or ISO 8601 timestamps. Defaults
            to '-7d'.
        - name: before
          in: query
          type: string
          description: End of the time range. Same format as 'after'. Defaults to now.
        - name: breakdown_by
          in: query
          type: string
          description: Group the series by metric 'name' or 'kind'. Defaults to 'kind'.
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
        - name: instance_id
          in: query
          type: string
          description: Filter metrics to a specific execution instance.
        - name: interval
          in: query
          type: string
          description: 'Time bucket size for the series. One of: hour, day, week. Defaults to ''day''.'
        - name: kind
          in: query
          type: string
          description: Comma-separated metric kinds to filter by, e.g. 'success,failure'.
        - name: name
          in: query
          type: string
          description: Comma-separated metric names to filter by.
    - name: api-projects-project_id-hog_function_templates
      path: /api/projects/{project_id}/hog_function_templates/
      operations:
      - name: hogfunctiontemplateslist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - 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: template_id
          in: query
          type: string
          description: Filter to a specific template by its template_id. Deprecated templates are excluded from list results;
            use the retrieve endpoint to look up a template by ID reg
        - name: type
          in: query
          type: string
          description: Filter by template type (e.g. destination, email, sms_provider, broadcast). Defaults to destination
            if neither type nor types is provided.
        - name: types
          in: query
          type: string
          description: Comma-separated list of template types to include (e.g. destination,email,sms_provider).
    - name: api-projects-project_id-hog_function_templates-template_id
      path: /api/projects/{project_id}/hog_function_templates/{template_id}/
      operations:
      - name: hogfunctiontemplatesretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: template_id
          in: path
          type: string
          required: true
    - name: api-projects-project_id-hog_functions
      path: /api/projects/{project_id}/hog_functions/
      operations:
      - name: hogfunctionslist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: created_at
          in: query
          type: string
        - name: created_by
          in: query
          type: integer
        - name: enabled
          in: query
          type: boolean
        - name: id
          in: query
          type: string
        - 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: search
          in: query
          type: string
          description: A search term.
        - name: type
          in: query
          type: array
          description: Multiple values may be separated by commas.
        - name: updated_at
          in: query
          type: string
      - name: hogfunctionscreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-projects-project_id-hog_functions-icon
      path: /api/projects/{project_id}/hog_functions/icon/
      operations:
      - name: hogfunctionsiconretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-projects-project_id-hog_functions-icons
      path: /api/projects/{project_id}/hog_functions/icons/
      operations:
      - name: hogfunctionsiconsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-projects-project_id-hog_functions-rearrange
      path: /api/projects/{project_id}/hog_functions/rearrange/
      operations:
      - name: hogfunctionsrearrangepartialupdate
        method: PATCH
        description: Update the execution order of multiple HogFunctions.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-projects-project_id-hog_functions-id
      path: /api/projects/{project_id}/hog_functions/{id}/
      operations:
      - name: hogfunctionsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
      - name: hogfunctionsupdate
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: hogfunctionspartialupdate
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: hogfunctionsdestroy
        method: DELETE
        description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
    - name: api-projects-project_id-hog_functions-id-enable_backfills
      path: /api/projects/{project_id}/hog_functions/{id}/enable_backfills/
      operations:
      - name: hogfunctionsenablebackfillscreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-projects-project_id-hog_functions-id-invocations
      path: /api/projects/{project_id}/hog_functions/{id}/invocations/
      operations:
      - name: hogfunctionsinvocationscreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-projects-project_id-hog_functions-id-logs
      path: /api/projects/{project_id}/hog_functions/{id}/logs/
      operations:
      - name: hogfunctionslogsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: after
          in: query
          type: string
          description: Only return entries after this ISO 8601 timestamp.
        - name: before
          in: query
          type: string
          description: Only return entries before this ISO 8601 timestamp.
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
        - name: instance_id
          in: query
          type: string
          description: Filter logs to a specific execution instance.
        - name: level
          in: query
          type: string
          description: 'Comma-separated log levels to include, e.g. ''WARN,ERROR''. Valid levels: DEBUG, LOG, INFO, WARN,
            ERROR.'
        - name: limit
          in: query
          type: integer
          description: Maximum number of log entries to return (1-500, default 50).
        - name: search
          in: query
          type: string
          description: Case-insensitive substring search across log messages.
    - name: api-projects-project_id-hog_functions-id-metrics
      path: /api/projects/{project_id}/hog_functions/{id}/metrics/
      operations:
      - name: hogfunctionsmetricsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: after
          in: query
          type: string
          description: Start of the time range. Accepts relative formats like '-7d', '-24h' or ISO 8601 timestamps. Defaults
            to '-7d'.
        - name: before
          in: query
          type: string
          description: End of the time range. Same format as 'after'. Defaults to now.
        - name: breakdown_by
          in: query
          type: string
          description: Group the series by metric 'name' or 'kind'. Defaults to 'kind'.
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
        - name: instance_id
          in: query
          type: string
          description: Filter metrics to a specific execution instance.
        - name: interval
          in: query
          type: string
          description: 'Time bucket size for the series. One of: hour, day, week. Defaults to ''day''.'
        - name: kind
          in: query
          type: string
          description: Comma-separated metric kinds to filter by, e.g. 'success,failure'.
        - name: name
          in: query
          type: string
          description: Comma-separated metric names to filter by.
    - name: api-projects-project_id-hog_functions-id-metrics-totals
      path: /api/projects/{project_id}/hog_functions/{id}/metrics/totals/
      operations:
      - name: hogfunctionsmetricstotalsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: after
          in: query
          type: string
          description: Start of the time range. Accepts relative formats like '-7d', '-24h' or ISO 8601 timestamps. Defaults
            to '-7d'.
        - name: before
          in: query
          type: string
          description: End of the time range. Same format as 'after'. Defaults to now.
        - name: breakdown_by
          in: query
          type: string
          description: Group the series by metric 'name' or 'kind'. Defaults to 'kind'.
        - name: id
          in: path
          type: string
          description: A UUID string identifying this hog function.
          required: true
        - name: instance_id
          in: query
          type: string
          description: Filter metrics to a specific execution instance.
        - name: interval
          in: query
          type: string
          description: 'Time bucket size for the series. One of: hour, day, week. Defaults to ''day''.'
        - name: kind
          in: query
          type: string
          description: Comma-separated metric kinds to filter by, e.g. 'success,failure'.
        - name: name
          in: query
          type: string
          description: Comma-separated metric names to filter by.
    - name: api-public_hog_function_templates
      path: /api/public_hog_function_templates/
      operations:
      - name: publichogfunctiontemplateslist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - 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: template_id
          in: query
          type: string
          description: Filter to a specific template by its template_id. Deprecated templates are excluded from list results;
            use the retrieve endpoint to look up a template by ID reg
        - name: type
          in: query
          type: string
          description: Filter by template type (e.g. destination, email, sms_provider, broadcast). Defaults to destination
            if neither type nor types is provided.
        - name: types
          in: query
          type: string
          description: Comma-separated list of template types to include (e.g. destination,email,sms_provider).
    authentication:
      type: bearer
      token: '{{env.POSTHOG_API_KEY}}'
  exposes:
  - type: rest
    namespace: posthog-cdp-rest
    port: 8080
    description: REST adapter for PostHog API — cdp. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/api/environments/{environment-id}/hog-functions
      name: api-environments-environment-id-hog-functions
      description: REST surface for api-environments-environment_id-hog_functions.
      operations:
      - method: GET
        name: environmentshogfunctionslist
        description: environmentshogfunctionslist
        call: posthog-cdp.environmentshogfunctionslist
        with:
          created_at: rest.created_at
          created_by: rest.created_by
          enabled: rest.enabled
          id: rest.id
          limit: rest.limit
          offset: rest.offset
          search: rest.search
          type: rest.type
          updated_at: rest.updated_at
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: environmentshogfunctionscreate
        description: environmentshogfunctionscreate
        call: posthog-cdp.environmentshogfunctionscreate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{environment-id}/hog-functions/icon
      name: api-environments-environment-id-hog-functions-icon
      description: REST surface for api-environments-environment_id-hog_functions-icon.
      operations:
      - method: GET
        name: environmentshogfunctionsiconretrieve
        description: environmentshogfunctionsiconretrieve
        call: posthog-cdp.environmentshogfunctionsiconretrieve
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{environment-id}/hog-functions/icons
      name: api-environments-environment-id-hog-functions-icons
      description: REST surface for api-environments-environment_id-hog_functions-icons.
      operations:
      - method: GET
        name: environmentshogfunctionsiconsretrieve
        description: environmentshogfunctionsiconsretrieve
        call: posthog-cdp.environmentshogfunctionsiconsretrieve
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{environment-id}/hog-functions/rearrange
      name: api-environments-environment-id-hog-functions-rearrange
      description: REST surface for api-environments-environment_id-hog_functions-rearrange.
      operations:
      - method: PATCH
        name: environmentshogfunctionsrearrangepartialupdate
        description: Update the execution order of multiple HogFunctions.
        call: posthog-cdp.environmentshogfunctionsrearrangepartialupdate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{environment-id}/hog-functions/{id}
      name: api-environments-environment-id-hog-functions-id
      description: REST surface for api-environments-environment_id-hog_functions-id.
      operations:
      - method: GET
        name: environmentshogfunctionsretrieve
        description: environmentshogfunctionsretrieve
        call: posthog-cdp.environmentshogfunctionsretrieve
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: environmentshogfunctionsupdate
        description: environmentshogfunctionsupdate
        call: posthog-cdp.environmentshogfunctionsupdate
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: environmentshogfunctionspartialupdate
        description: environmentshogfunctionspartialupdate
        call: posthog-cdp.environmentshogfunctionspartialupdate
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: environmentshogfunctionsdestroy
        description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true
        call: posthog-cdp.environmentshogfunctionsdestroy
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{environment-id}/hog-functions/{id}/enable-backfills
      name: api-environments-environment-id-hog-functions-id-enable-backfills
      description: REST surface for api-environments-environment_id-hog_functions-id-enable_backfills.
      operations:
      - method: POST
        name: environmentshogfunctionsenablebackfillscreate
        description: environmentshogfunctionsenablebackfillscreate
        call: posthog-cdp.environmentshogfunctionsenablebackfillscreate
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{environment-id}/hog-functions/{id}/invocations
      name: api-environments-environment-id-hog-functions-id-invocations
      description: REST surface for api-environments-environment_id-hog_functions-id-invocations.
      operations:
      - method: POST
        name: environmentshogfunctionsinvocationscreate
        description: environmentshogfunctionsinvocationscreate
        call: posthog-cdp.environmentshogfunctionsinvocationscreate
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{environment-id}/hog-functions/{id}/logs
      name: api-environments-environment-id-hog-functions-id-logs
      description: REST surface for api-environments-environment_id-hog_functions-id-logs.
      operations:
      - method: GET
        name: environmentshogfunctionslogsretrieve
        description: environmentshogfunctionslogsretrieve
        call: posthog-cdp.environmentshogfunctionslogsretrieve
        with:
          after: rest.after
          before: rest.before
          id: rest.id
          instance_id: rest.instance_id
          level: rest.level
          limit: rest.limit
          search: rest.search
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{environment-id}/hog-functions/{id}/metrics
      name: api-environments-environment-id-hog-functions-id-metrics
      description: REST surface for api-environments-environment_id-hog_functions-id-metrics.
      operations:
      - method: GET
        name: environmentshogfunctionsmetricsretrieve
        description: environmentshogfunctionsmetricsretrieve
        call: posthog-cdp.environmentshogfunctionsmetricsretrieve
 

# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/posthog/refs/heads/main/capabilities/posthog-cdp.yaml