Hog functions

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

Endpoints

GET
POST
GET
PATCH
DELETE
POST
POST
GET
GET
GET
GET
GET
PATCH

List all hog functions

Required API key scopes

hog_function:read

Path parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


Query parameters

  • created_at
    string
  • created_by
    integer
  • enabled
    boolean
  • id
    string
  • limit
    integer

    Number of results to return per page.

  • offset
    integer

    The initial index from which to return the results.

  • search
    string

    A search term.

  • type
    array

    Multiple values may be separated by commas.

  • 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": {
"property1": null,
"property2": null
},
"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,
"filters": null,
"inputs": null,
"inputs_schema": null
}
]
},
"status": {
"state": 0,
"tokens": 0
},
"execution_order": 0
}
]
}

Create hog functions

Required API key scopes

hog_function:write

Path parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


Request parameters

  • type
  • name
    string
  • description
    string
  • enabled
    boolean
  • deleted
    boolean
  • hog
    string
  • inputs_schema
    Click to open
    array
  • inputs
    object
  • filters
  • masking
  • mappings
    Click to open
    array
  • icon_url
    string
  • template_id
    string
  • execution_order
    integer
  • _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": {
"property1": null,
"property2": null
},
"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": [
{
"property1": null,
"property2": null
}
],
"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": "string",
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": "string",
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{
"property1": null,
"property2": null
}
],
"events": [
{
"property1": null,
"property2": null
}
],
"properties": [
{
"property1": null,
"property2": null
}
],
"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": [
{
"property1": null,
"property2": null
}
],
"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": "string",
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": "string",
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{
"property1": null,
"property2": null
}
],
"events": [
{
"property1": null,
"property2": null
}
],
"properties": [
{
"property1": null,
"property2": null
}
],
"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,
"filters": null,
"inputs": null,
"inputs_schema": null
}
]
},
"template_id": "string",
"status": {
"state": 0,
"tokens": 0
},
"execution_order": 32767,
"_create_in_folder": "string"
}

Retrieve hog functions

Required API key scopes

hog_function:read

Path parameters

  • id
    string

    A UUID string identifying this hog function.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


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": {
"property1": null,
"property2": null
},
"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": [
{
"property1": null,
"property2": null
}
],
"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": "string",
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": "string",
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{
"property1": null,
"property2": null
}
],
"events": [
{
"property1": null,
"property2": null
}
],
"properties": [
{
"property1": null,
"property2": null
}
],
"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": [
{
"property1": null,
"property2": null
}
],
"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": "string",
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": "string",
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{
"property1": null,
"property2": null
}
],
"events": [
{
"property1": null,
"property2": null
}
],
"properties": [
{
"property1": null,
"property2": null
}
],
"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,
"filters": null,
"inputs": null,
"inputs_schema": null
}
]
},
"template_id": "string",
"status": {
"state": 0,
"tokens": 0
},
"execution_order": 32767,
"_create_in_folder": "string"
}

Update hog functions

Required API key scopes

hog_function:write

Path parameters

  • id
    string

    A UUID string identifying this hog function.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


Request parameters

  • type
  • name
    string
  • description
    string
  • enabled
    boolean
  • deleted
    boolean
  • hog
    string
  • inputs_schema
    Click to open
    array
  • inputs
    object
  • filters
  • masking
  • mappings
    Click to open
    array
  • icon_url
    string
  • template_id
    string
  • execution_order
    integer
  • _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": {
"property1": null,
"property2": null
},
"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": [
{
"property1": null,
"property2": null
}
],
"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": "string",
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": "string",
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{
"property1": null,
"property2": null
}
],
"events": [
{
"property1": null,
"property2": null
}
],
"properties": [
{
"property1": null,
"property2": null
}
],
"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": [
{
"property1": null,
"property2": null
}
],
"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": "string",
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
},
"property2": {
"value": "string",
"templating": "hog",
"bytecode": [
null
],
"order": 0,
"transpiled": null
}
},
"filters": {
"source": "events",
"actions": [
{
"property1": null,
"property2": null
}
],
"events": [
{
"property1": null,
"property2": null
}
],
"properties": [
{
"property1": null,
"property2": null
}
],
"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,
"filters": null,
"inputs": null,
"inputs_schema": null
}
]
},
"template_id": "string",
"status": {
"state": 0,
"tokens": 0
},
"execution_order": 32767,
"_create_in_folder": "string"
}

Delete hog functions

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

Required API key scopes

hog_function:write

Path parameters

  • id
    string

    A UUID string identifying this hog function.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


Example request

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

Example response

Status 405 No response body

Create hog functions broadcast

Path parameters

  • id
    string

    A UUID string identifying this hog function.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


Request parameters

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

Example request

POST /api/projects/:project_id/hog_functions/:id/broadcast
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/broadcast/\
-d type=undefined

Example response

Status 200 No response body

Create hog functions invocations

Path parameters

  • id
    string

    A UUID string identifying this hog function.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


Request parameters

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

Example request

POST /api/projects/:project_id/hog_functions/:id/invocations
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/invocations/\
-d type=undefined

Example response

Status 200 No response body

Retrieve hog functions logs

Path parameters

  • id
    string

    A UUID string identifying this hog function.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


Example request

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

Example response

Status 200 No response body

Retrieve hog functions metrics

Path parameters

  • id
    string

    A UUID string identifying this hog function.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


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 No response body

Retrieve hog functions metrics totals

Path parameters

  • id
    string

    A UUID string identifying this hog function.

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


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 No response body

Retrieve hog functions icon

Path parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


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

Path parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


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.

Path parameters

  • project_id
    string

    Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.


Request parameters

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

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 type=undefined

Example response

Status 200 No response body

Community questions

Questions about this page? or post a community question.