Hog functions

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

Endpoints

GET
GET
POST
POST
GET
GET
POST
GET
GET
PATCH

Retrieve hog functions metrics

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/projects/:project_id/hog_functions/:id/metrics
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/metrics/

Example response

Status 200
RESPONSE
{
"labels": [
"string"
],
"series": [
{
"name": "string",
"values": [
0
]
}
]
}

Retrieve hog functions metrics

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/projects/:project_id/hog_functions/:id/metrics
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/metrics/

Example response

Status 200
RESPONSE
{
"labels": [
"string"
],
"series": [
{
"name": "string",
"values": [
0
]
}
]
}

Retrieve 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/projects/:project_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/projects/:project_id/hog_functions/:id/metrics/totals/

Example response

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

Retrieve 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/projects/:project_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/projects/:project_id/hog_functions/:id/metrics/totals/

Example response

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

Create hog functions publish

Required API key scopes

hog_function:write

Path parameters

  • id
    string

Request parameters

  • confirm
    boolean
    Default: false
  • confirm_token
    string

Response


Example request

POST /api/projects/:project_id/hog_functions/:id/publish
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/:id/publish/\
-d confirm="boolean"

Example response

Status 200
RESPONSE
{
"published": true,
"draft_updated_at": "2019-08-24T14:15:22Z",
"confirm_token": "string",
"changed_fields": [
"string"
],
"function": {
"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",
"version": 0,
"draft": null,
"draft_updated_at": "2019-08-24T14:15:22Z",
"base_updated_at": "2019-08-24T14:15:22Z"
}
}

Create hog functions publish

Required API key scopes

hog_function:write

Path parameters

  • id
    string

Request parameters

  • confirm
    boolean
    Default: false
  • confirm_token
    string

Response


Example request

POST /api/projects/:project_id/hog_functions/:id/publish
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/:id/publish/\
-d confirm="boolean"

Example response

Status 200
RESPONSE
{
"published": true,
"draft_updated_at": "2019-08-24T14:15:22Z",
"confirm_token": "string",
"changed_fields": [
"string"
],
"function": {
"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",
"version": 0,
"draft": null,
"draft_updated_at": "2019-08-24T14:15:22Z",
"base_updated_at": "2019-08-24T14:15:22Z"
}
}

Create 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.

Only types a cyclotron worker executes (TYPES_THAT_CAN_RERUN) can be rerun: rerun re-enqueues onto the cyclotron hog queue, and other types run elsewhere (source webhooks inline in the cdp-api HTTP handler, transformations during ingestion, site_* transpiled to client-side JS). A re-enqueued invocation of one of those would never drain and wedges the partition, so a rerun of a non-rerunnable type is rejected with a 400 here.

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/projects/:project_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/projects/:project_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 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.

Only types a cyclotron worker executes (TYPES_THAT_CAN_RERUN) can be rerun: rerun re-enqueues onto the cyclotron hog queue, and other types run elsewhere (source webhooks inline in the cdp-api HTTP handler, transformations during ingestion, site_* transpiled to client-side JS). A re-enqueued invocation of one of those would never drain and wedges the partition, so a rerun of a non-rerunnable type is rejected with a 400 here.

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/projects/:project_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/projects/:project_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
}

List all hog functions revisions

Required API key scopes

hog_function:read

Path parameters

  • id
    string

Query parameters

  • limit
    integer
  • offset
    integer

Response


Example request

GET /api/projects/:project_id/hog_functions/:id/revisions
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/revisions/

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": [
{
"version": 0,
"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"
}
}
]
}

List all hog functions revisions

Required API key scopes

hog_function:read

Path parameters

  • id
    string

Query parameters

  • limit
    integer
  • offset
    integer

Response


Example request

GET /api/projects/:project_id/hog_functions/:id/revisions
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/revisions/

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": [
{
"version": 0,
"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"
}
}
]
}

Retrieve hog functions revisions

Required API key scopes

hog_function:read

Path parameters

  • id
    string
  • version
    integer

Response


Example request

GET /api/projects/:project_id/hog_functions/:id/revisions/:version
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/revisions/:version/

Example response

Status 200
RESPONSE
{
"version": 0,
"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"
},
"content": null
}

Retrieve hog functions revisions

Required API key scopes

hog_function:read

Path parameters

  • id
    string
  • version
    integer

Response


Example request

GET /api/projects/:project_id/hog_functions/:id/revisions/:version
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/revisions/:version/

Example response

Status 200
RESPONSE
{
"version": 0,
"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"
},
"content": null
}

Create hog functions revisions restore

Required API key scopes

hog_function:write

Path parameters

  • id
    string
  • version
    integer

Request parameters

  • overwrite
    boolean
    Default: false

Response


Example request

POST /api/projects/:project_id/hog_functions/:id/revisions/:version/restore
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/:id/revisions/:version/restore/\
-d overwrite="boolean"

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",
"version": 0,
"draft": null,
"draft_updated_at": "2019-08-24T14:15:22Z",
"base_updated_at": "2019-08-24T14:15:22Z"
}

Create hog functions revisions restore

Required API key scopes

hog_function:write

Path parameters

  • id
    string
  • version
    integer

Request parameters

  • overwrite
    boolean
    Default: false

Response


Example request

POST /api/projects/:project_id/hog_functions/:id/revisions/:version/restore
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/:id/revisions/:version/restore/\
-d overwrite="boolean"

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",
"version": 0,
"draft": null,
"draft_updated_at": "2019-08-24T14:15:22Z",
"base_updated_at": "2019-08-24T14:15:22Z"
}

Retrieve hog functions icon

Example request

GET /api/projects/:project_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/projects/:project_id/hog_functions/icon/

Example response

Status 200 No response body

Retrieve hog functions icon

Example request

GET /api/projects/:project_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/projects/:project_id/hog_functions/icon/

Example response

Status 200 No response body

Retrieve hog functions icons

Example request

GET /api/projects/:project_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/projects/:project_id/hog_functions/icons/

Example response

Status 200 No response body

Retrieve hog functions icons

Example request

GET /api/projects/:project_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/projects/:project_id/hog_functions/icons/

Example response

Status 200 No response body

Update 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/projects/:project_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/projects/:project_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",
"version": 0,
"draft": null,
"draft_updated_at": "2019-08-24T14:15:22Z",
"base_updated_at": "2019-08-24T14:15:22Z"
}

Update 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/projects/:project_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/projects/:project_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",
"version": 0,
"draft": null,
"draft_updated_at": "2019-08-24T14:15:22Z",
"base_updated_at": "2019-08-24T14:15:22Z"
}

Community questions