Hog functions

For instructions on how to authenticate to use this endpoint, see API overview.

Endpoints

GET
POST
GET
GET
PATCH
GET
POST
GET
PATCH

Retrieve environments hog functions metrics totals

Required API key scopes

hog_function:read

Path parameters

  • id
    string

Query parameters

  • after
    string
    Default: -7d
  • before
    string
  • breakdown_by
    string
    Default: kind
    One of: "name""kind"
  • instance_id
    string
  • interval
    string
    Default: day
    One of: "hour""day""week"
  • kind
    string
  • name
    string

Response


Example request

GET /api/environments/:environment_id/hog_functions/:id/metrics/totals
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/hog_functions/:id/metrics/totals/

Example response

Status 200
RESPONSE
{
"totals": {
"property1": 0,
"property2": 0
}
}

Retrieve environments hog functions metrics totals

Required API key scopes

hog_function:read

Path parameters

  • id
    string

Query parameters

  • after
    string
    Default: -7d
  • before
    string
  • breakdown_by
    string
    Default: kind
    One of: "name""kind"
  • instance_id
    string
  • interval
    string
    Default: day
    One of: "hour""day""week"
  • kind
    string
  • name
    string

Response


Example request

GET /api/environments/:environment_id/hog_functions/:id/metrics/totals
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/hog_functions/:id/metrics/totals/

Example response

Status 200
RESPONSE
{
"totals": {
"property1": 0,
"property2": 0
}
}

Create environments hog functions rerun

Rerun past invocations of this hog function from their stored payloads.

The CDP worker reads matching rows from the hog_invocation_results ClickHouse table, rehydrates the invocation from the stored invocation_globals, and re-enqueues onto cyclotron. Each rerun run reuses the original invocation_id with is_retry=1 set on the new lifecycle row so the UI can surface that it was a rerun.

For source-webhook functions the worker strips request.headers from the rehydrated globals before re-enqueuing (see the rerun paginator): those headers carry the inbound sender's credentials, and replaying them through a reconfigured function would let a write-access user exfiltrate stored secrets.

Because rerun replays historical event/person/group data, it requires person:read and group:read on top of hog_function:write.

Required API key scopes

hog_function:writeperson:readgroup:read

Path parameters

  • id
    string

Request parameters

  • filter

Response


Example request

POST /api/environments/:environment_id/hog_functions/:id/rerun
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/hog_functions/:id/rerun/\
-d filter=undefined

Example response

Status 200
RESPONSE
{
"rerun_job_id": "string",
"queued_count": 0,
"skipped_count": 0
}
Status 400
RESPONSE
{
"rerun_job_id": "string",
"queued_count": 0,
"skipped_count": 0
}

Create environments hog functions rerun

Rerun past invocations of this hog function from their stored payloads.

The CDP worker reads matching rows from the hog_invocation_results ClickHouse table, rehydrates the invocation from the stored invocation_globals, and re-enqueues onto cyclotron. Each rerun run reuses the original invocation_id with is_retry=1 set on the new lifecycle row so the UI can surface that it was a rerun.

For source-webhook functions the worker strips request.headers from the rehydrated globals before re-enqueuing (see the rerun paginator): those headers carry the inbound sender's credentials, and replaying them through a reconfigured function would let a write-access user exfiltrate stored secrets.

Because rerun replays historical event/person/group data, it requires person:read and group:read on top of hog_function:write.

Required API key scopes

hog_function:writeperson:readgroup:read

Path parameters

  • id
    string

Request parameters

  • filter

Response


Example request

POST /api/environments/:environment_id/hog_functions/:id/rerun
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/hog_functions/:id/rerun/\
-d filter=undefined

Example response

Status 200
RESPONSE
{
"rerun_job_id": "string",
"queued_count": 0,
"skipped_count": 0
}
Status 400
RESPONSE
{
"rerun_job_id": "string",
"queued_count": 0,
"skipped_count": 0
}

Retrieve environments hog functions icon

Example request

GET /api/environments/:environment_id/hog_functions/icon
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/hog_functions/icon/

Example response

Status 200 No response body

Retrieve environments hog functions icon

Example request

GET /api/environments/:environment_id/hog_functions/icon
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/hog_functions/icon/

Example response

Status 200 No response body

Retrieve environments hog functions icons

Example request

GET /api/environments/:environment_id/hog_functions/icons
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/hog_functions/icons/

Example response

Status 200 No response body

Retrieve environments hog functions icons

Example request

GET /api/environments/:environment_id/hog_functions/icons
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/hog_functions/icons/

Example response

Status 200 No response body

Update environments hog functions rearrange

Update the execution order of multiple HogFunctions.

Required API key scopes

hog_function:write

Request parameters

  • orders
    object

Example request

PATCH /api/environments/:environment_id/hog_functions/rearrange
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/hog_functions/rearrange/\
-d orders="object"

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "destination",
"name": "string",
"description": "string",
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"updated_at": "2019-08-24T14:15:22Z",
"enabled": true,
"deleted": true,
"hog": "string",
"bytecode": null,
"transpiled": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
},
"masking": {
"ttl": 60,
"threshold": 0,
"hash": "string",
"bytecode": null
},
"mappings": [
{
"name": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
}
}
],
"icon_url": "string",
"template": {
"id": "string",
"name": "string",
"description": "string",
"code": "string",
"code_language": "string",
"inputs_schema": null,
"type": "string",
"status": "string",
"category": null,
"free": true,
"icon_url": "string",
"filters": null,
"masking": null,
"mapping_templates": [
{
"name": "string",
"include_by_default": true,
"use_all_events_by_default": true,
"filters": null,
"inputs": null,
"inputs_schema": null
}
]
},
"template_id": "string",
"status": {
"state": 0,
"tokens": 0
},
"execution_order": 32767,
"_create_in_folder": "string",
"batch_export_id": "b64664c0-dba6-4c8b-9083-fa5e13aac47d",
"search_match_type": "exact"
}

Update environments hog functions rearrange

Update the execution order of multiple HogFunctions.

Required API key scopes

hog_function:write

Request parameters

  • orders
    object

Example request

PATCH /api/environments/:environment_id/hog_functions/rearrange
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/environments/:environment_id/hog_functions/rearrange/\
-d orders="object"

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "destination",
"name": "string",
"description": "string",
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"updated_at": "2019-08-24T14:15:22Z",
"enabled": true,
"deleted": true,
"hog": "string",
"bytecode": null,
"transpiled": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
},
"masking": {
"ttl": 60,
"threshold": 0,
"hash": "string",
"bytecode": null
},
"mappings": [
{
"name": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
}
}
],
"icon_url": "string",
"template": {
"id": "string",
"name": "string",
"description": "string",
"code": "string",
"code_language": "string",
"inputs_schema": null,
"type": "string",
"status": "string",
"category": null,
"free": true,
"icon_url": "string",
"filters": null,
"masking": null,
"mapping_templates": [
{
"name": "string",
"include_by_default": true,
"use_all_events_by_default": true,
"filters": null,
"inputs": null,
"inputs_schema": null
}
]
},
"template_id": "string",
"status": {
"state": 0,
"tokens": 0
},
"execution_order": 32767,
"_create_in_folder": "string",
"batch_export_id": "b64664c0-dba6-4c8b-9083-fa5e13aac47d",
"search_match_type": "exact"
}

List all hog functions

Required API key scopes

hog_function:read

Query parameters

  • created_at
    string
  • created_by
    integer
  • enabled
    boolean
  • id
    string
  • limit
    integer
  • offset
    integer
  • type
    array
  • updated_at
    string

Response


Example request

GET /api/projects/:project_id/hog_functions
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/hog_functions/

Example response

Status 200
RESPONSE
{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "string",
"name": "string",
"description": "string",
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"updated_at": "2019-08-24T14:15:22Z",
"enabled": true,
"hog": "string",
"filters": null,
"icon_url": "string",
"template": {
"id": "string",
"name": "string",
"description": "string",
"code": "string",
"code_language": "string",
"inputs_schema": null,
"type": "string",
"status": "string",
"category": null,
"free": true,
"icon_url": "string",
"filters": null,
"masking": null,
"mapping_templates": [
{
"name": "string",
"include_by_default": true,
"use_all_events_by_default": true,
"filters": null,
"inputs": null,
"inputs_schema": null
}
]
},
"status": {
"state": 0,
"tokens": 0
},
"execution_order": 0,
"search_match_type": "exact"
}
]
}

List all hog functions

Required API key scopes

hog_function:read

Query parameters

  • created_at
    string
  • created_by
    integer
  • enabled
    boolean
  • id
    string
  • limit
    integer
  • offset
    integer
  • type
    array
  • updated_at
    string

Response


Example request

GET /api/projects/:project_id/hog_functions
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/hog_functions/

Example response

Status 200
RESPONSE
{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "string",
"name": "string",
"description": "string",
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"updated_at": "2019-08-24T14:15:22Z",
"enabled": true,
"hog": "string",
"filters": null,
"icon_url": "string",
"template": {
"id": "string",
"name": "string",
"description": "string",
"code": "string",
"code_language": "string",
"inputs_schema": null,
"type": "string",
"status": "string",
"category": null,
"free": true,
"icon_url": "string",
"filters": null,
"masking": null,
"mapping_templates": [
{
"name": "string",
"include_by_default": true,
"use_all_events_by_default": true,
"filters": null,
"inputs": null,
"inputs_schema": null
}
]
},
"status": {
"state": 0,
"tokens": 0
},
"execution_order": 0,
"search_match_type": "exact"
}
]
}

Create hog functions

Required API key scopes

hog_function:write

Request parameters

  • type
  • name
    stringnull
  • description
    string
  • enabled
    boolean
  • deleted
    boolean
  • hog
    string
  • inputs_schema
    Click to open
    array
  • inputs
    object
  • filters
  • masking
  • mappings
    Click to open
    arraynull
  • icon_url
    stringnull
  • template_id
    stringnull
  • execution_order
    integernull
  • _create_in_folder
    string

Response


Example request

POST /api/projects/:project_id/hog_functions
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/hog_functions/\
-d type=undefined

Example response

Status 201
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "destination",
"name": "string",
"description": "string",
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"updated_at": "2019-08-24T14:15:22Z",
"enabled": true,
"deleted": true,
"hog": "string",
"bytecode": null,
"transpiled": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
},
"masking": {
"ttl": 60,
"threshold": 0,
"hash": "string",
"bytecode": null
},
"mappings": [
{
"name": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
}
}
],
"icon_url": "string",
"template": {
"id": "string",
"name": "string",
"description": "string",
"code": "string",
"code_language": "string",
"inputs_schema": null,
"type": "string",
"status": "string",
"category": null,
"free": true,
"icon_url": "string",
"filters": null,
"masking": null,
"mapping_templates": [
{
"name": "string",
"include_by_default": true,
"use_all_events_by_default": true,
"filters": null,
"inputs": null,
"inputs_schema": null
}
]
},
"template_id": "string",
"status": {
"state": 0,
"tokens": 0
},
"execution_order": 32767,
"_create_in_folder": "string",
"batch_export_id": "b64664c0-dba6-4c8b-9083-fa5e13aac47d",
"search_match_type": "exact"
}

Create hog functions

Required API key scopes

hog_function:write

Request parameters

  • type
  • name
    stringnull
  • description
    string
  • enabled
    boolean
  • deleted
    boolean
  • hog
    string
  • inputs_schema
    Click to open
    array
  • inputs
    object
  • filters
  • masking
  • mappings
    Click to open
    arraynull
  • icon_url
    stringnull
  • template_id
    stringnull
  • execution_order
    integernull
  • _create_in_folder
    string

Response


Example request

POST /api/projects/:project_id/hog_functions
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl
-H 'Content-Type: application/json'\
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/hog_functions/\
-d type=undefined

Example response

Status 201
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "destination",
"name": "string",
"description": "string",
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"updated_at": "2019-08-24T14:15:22Z",
"enabled": true,
"deleted": true,
"hog": "string",
"bytecode": null,
"transpiled": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
},
"masking": {
"ttl": 60,
"threshold": 0,
"hash": "string",
"bytecode": null
},
"mappings": [
{
"name": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
}
}
],
"icon_url": "string",
"template": {
"id": "string",
"name": "string",
"description": "string",
"code": "string",
"code_language": "string",
"inputs_schema": null,
"type": "string",
"status": "string",
"category": null,
"free": true,
"icon_url": "string",
"filters": null,
"masking": null,
"mapping_templates": [
{
"name": "string",
"include_by_default": true,
"use_all_events_by_default": true,
"filters": null,
"inputs": null,
"inputs_schema": null
}
]
},
"template_id": "string",
"status": {
"state": 0,
"tokens": 0
},
"execution_order": 32767,
"_create_in_folder": "string",
"batch_export_id": "b64664c0-dba6-4c8b-9083-fa5e13aac47d",
"search_match_type": "exact"
}

Retrieve hog functions

Required API key scopes

hog_function:read

Path parameters

  • id
    string

Response


Example request

GET /api/projects/:project_id/hog_functions/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/hog_functions/:id/

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "destination",
"name": "string",
"description": "string",
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"updated_at": "2019-08-24T14:15:22Z",
"enabled": true,
"deleted": true,
"hog": "string",
"bytecode": null,
"transpiled": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
},
"masking": {
"ttl": 60,
"threshold": 0,
"hash": "string",
"bytecode": null
},
"mappings": [
{
"name": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
}
}
],
"icon_url": "string",
"template": {
"id": "string",
"name": "string",
"description": "string",
"code": "string",
"code_language": "string",
"inputs_schema": null,
"type": "string",
"status": "string",
"category": null,
"free": true,
"icon_url": "string",
"filters": null,
"masking": null,
"mapping_templates": [
{
"name": "string",
"include_by_default": true,
"use_all_events_by_default": true,
"filters": null,
"inputs": null,
"inputs_schema": null
}
]
},
"template_id": "string",
"status": {
"state": 0,
"tokens": 0
},
"execution_order": 32767,
"_create_in_folder": "string",
"batch_export_id": "b64664c0-dba6-4c8b-9083-fa5e13aac47d",
"search_match_type": "exact"
}

Retrieve hog functions

Required API key scopes

hog_function:read

Path parameters

  • id
    string

Response


Example request

GET /api/projects/:project_id/hog_functions/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/hog_functions/:id/

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "destination",
"name": "string",
"description": "string",
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"updated_at": "2019-08-24T14:15:22Z",
"enabled": true,
"deleted": true,
"hog": "string",
"bytecode": null,
"transpiled": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
},
"masking": {
"ttl": 60,
"threshold": 0,
"hash": "string",
"bytecode": null
},
"mappings": [
{
"name": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
}
}
],
"icon_url": "string",
"template": {
"id": "string",
"name": "string",
"description": "string",
"code": "string",
"code_language": "string",
"inputs_schema": null,
"type": "string",
"status": "string",
"category": null,
"free": true,
"icon_url": "string",
"filters": null,
"masking": null,
"mapping_templates": [
{
"name": "string",
"include_by_default": true,
"use_all_events_by_default": true,
"filters": null,
"inputs": null,
"inputs_schema": null
}
]
},
"template_id": "string",
"status": {
"state": 0,
"tokens": 0
},
"execution_order": 32767,
"_create_in_folder": "string",
"batch_export_id": "b64664c0-dba6-4c8b-9083-fa5e13aac47d",
"search_match_type": "exact"
}

Update hog functions

Required API key scopes

hog_function:write

Path parameters

  • id
    string

Request parameters

  • type
  • name
    stringnull
  • description
    string
  • enabled
    boolean
  • deleted
    boolean
  • hog
    string
  • inputs_schema
    Click to open
    array
  • inputs
    object
  • filters
  • masking
  • mappings
    Click to open
    arraynull
  • icon_url
    stringnull
  • template_id
    stringnull
  • execution_order
    integernull
  • _create_in_folder
    string

Response


Example request

PATCH /api/projects/:project_id/hog_functions/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/hog_functions/:id/\
-d type=undefined

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "destination",
"name": "string",
"description": "string",
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"updated_at": "2019-08-24T14:15:22Z",
"enabled": true,
"deleted": true,
"hog": "string",
"bytecode": null,
"transpiled": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
},
"masking": {
"ttl": 60,
"threshold": 0,
"hash": "string",
"bytecode": null
},
"mappings": [
{
"name": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
}
}
],
"icon_url": "string",
"template": {
"id": "string",
"name": "string",
"description": "string",
"code": "string",
"code_language": "string",
"inputs_schema": null,
"type": "string",
"status": "string",
"category": null,
"free": true,
"icon_url": "string",
"filters": null,
"masking": null,
"mapping_templates": [
{
"name": "string",
"include_by_default": true,
"use_all_events_by_default": true,
"filters": null,
"inputs": null,
"inputs_schema": null
}
]
},
"template_id": "string",
"status": {
"state": 0,
"tokens": 0
},
"execution_order": 32767,
"_create_in_folder": "string",
"batch_export_id": "b64664c0-dba6-4c8b-9083-fa5e13aac47d",
"search_match_type": "exact"
}

Update hog functions

Required API key scopes

hog_function:write

Path parameters

  • id
    string

Request parameters

  • type
  • name
    stringnull
  • description
    string
  • enabled
    boolean
  • deleted
    boolean
  • hog
    string
  • inputs_schema
    Click to open
    array
  • inputs
    object
  • filters
  • masking
  • mappings
    Click to open
    arraynull
  • icon_url
    stringnull
  • template_id
    stringnull
  • execution_order
    integernull
  • _create_in_folder
    string

Response


Example request

PATCH /api/projects/:project_id/hog_functions/:id
export POSTHOG_PERSONAL_API_KEY=[your personal api key]
curl -X PATCH \
-H "Authorization: Bearer $POSTHOG_PERSONAL_API_KEY" \
<ph_app_host>/api/projects/:project_id/hog_functions/:id/\
-d type=undefined

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"type": "destination",
"name": "string",
"description": "string",
"created_at": "2019-08-24T14:15:22Z",
"created_by": {
"id": 0,
"uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
"distinct_id": "string",
"first_name": "string",
"last_name": "string",
"email": "user@example.com",
"is_email_verified": true,
"hedgehog_config": {},
"role_at_organization": "engineering"
},
"updated_at": "2019-08-24T14:15:22Z",
"enabled": true,
"deleted": true,
"hog": "string",
"bytecode": null,
"transpiled": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
},
"masking": {
"ttl": 60,
"threshold": 0,
"hash": "string",
"bytecode": null
},
"mappings": [
{
"name": "string",
"inputs_schema": [
{
"type": "string",
"key": "string",
"label": "string",
"choices": [
{}
],
"searchable": true,
"required": false,
"default": null,
"secret": false,
"hidden": false,
"description": "string",
"integration": "string",
"integration_key": "string",
"requires_field": "string",
"integration_field": "string",
"requiredScopes": "string",
"templating": true
}
],
"inputs": {
"property1": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": null,
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{}
],
"events": [
{}
],
"data_warehouse": [
{}
],
"properties": [
{}
],
"bytecode": null,
"transpiled": null,
"filter_test_accounts": true,
"bytecode_error": "string"
}
}
],
"icon_url": "string",
"template": {
"id": "string",
"name": "string",
"description": "string",
"code": "string",
"code_language": "string",
"inputs_schema": null,
"type": "string",
"status": "string",
"category": null,
"free": true,
"icon_url": "string",
"filters": null,
"masking": null,
"mapping_templates": [
{
"name": "string",
"include_by_default": true,
"use_all_events_by_default": true,
"filters": null,
"inputs": null,
"inputs_schema": null
}
]
},
"template_id": "string",
"status": {
"state": 0,
"tokens": 0
},
"execution_order": 32767,
"_create_in_folder": "string",
"batch_export_id": "b64664c0-dba6-4c8b-9083-fa5e13aac47d",
"search_match_type": "exact"
}

Community questions

Questions about this page? or post a community question.