Batch

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

Endpoints

POST
GET
POST
GET
PATCH
DELETE
GET
POST
POST

Create batch exports runs cancel

Cancel a batch export run.

Required API key scopes

batch_export:write

Path parameters

  • batch_export_id
    string
  • id
    string

Request parameters

  • status
  • records_completed
    integernull
  • records_failed
    integernull
  • latest_error
    stringnull
  • data_interval_start
    stringnull
  • data_interval_end
    string
  • cursor
    stringnull
  • finished_at
    stringnull
  • records_total_count
    integernull
  • bytes_exported
    integernull
  • batch_export_on_demand
    stringnull
  • backfill
    stringnull

Example request

POST /api/projects/:project_id/batch_exports/:batch_export_id/runs/:id/cancel
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/batch_exports/:batch_export_id/runs/:id/cancel/\
-d status=undefined,\
-d data_interval_end="string"

Example response

Status 200 No response body

Create batch exports runs cancel

Cancel a batch export run.

Required API key scopes

batch_export:write

Path parameters

  • batch_export_id
    string
  • id
    string

Request parameters

  • status
  • records_completed
    integernull
  • records_failed
    integernull
  • latest_error
    stringnull
  • data_interval_start
    stringnull
  • data_interval_end
    string
  • cursor
    stringnull
  • finished_at
    stringnull
  • records_total_count
    integernull
  • bytes_exported
    integernull
  • batch_export_on_demand
    stringnull
  • backfill
    stringnull

Example request

POST /api/projects/:project_id/batch_exports/:batch_export_id/runs/:id/cancel
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/batch_exports/:batch_export_id/runs/:id/cancel/\
-d status=undefined,\
-d data_interval_end="string"

Example response

Status 200 No response body

Retrieve batch exports runs logs

Path parameters

  • batch_export_id
    string
  • id
    string

Query parameters

  • after
    string
  • before
    string
  • instance_id
    string
  • level
    string
  • limit
    integer
    Default: 50
  • search
    string

Example request

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

Example response

Status 200 No response body

Retrieve batch exports runs logs

Path parameters

  • batch_export_id
    string
  • id
    string

Query parameters

  • after
    string
  • before
    string
  • instance_id
    string
  • level
    string
  • limit
    integer
    Default: 50
  • search
    string

Example request

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

Example response

Status 200 No response body

Create batch exports runs retry

Retry a batch export run.

We use the same underlying mechanism as when backfilling a batch export, as retrying a run is the same as backfilling one run.

Required API key scopes

batch_export:write

Path parameters

  • batch_export_id
    string
  • id
    string

Request parameters

  • status
  • records_completed
    integernull
  • records_failed
    integernull
  • latest_error
    stringnull
  • data_interval_start
    stringnull
  • data_interval_end
    string
  • cursor
    stringnull
  • finished_at
    stringnull
  • records_total_count
    integernull
  • bytes_exported
    integernull
  • batch_export_on_demand
    stringnull
  • backfill
    stringnull

Example request

POST /api/projects/:project_id/batch_exports/:batch_export_id/runs/:id/retry
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/batch_exports/:batch_export_id/runs/:id/retry/\
-d status=undefined,\
-d data_interval_end="string"

Example response

Status 200 No response body

Create batch exports runs retry

Retry a batch export run.

We use the same underlying mechanism as when backfilling a batch export, as retrying a run is the same as backfilling one run.

Required API key scopes

batch_export:write

Path parameters

  • batch_export_id
    string
  • id
    string

Request parameters

  • status
  • records_completed
    integernull
  • records_failed
    integernull
  • latest_error
    stringnull
  • data_interval_start
    stringnull
  • data_interval_end
    string
  • cursor
    stringnull
  • finished_at
    stringnull
  • records_total_count
    integernull
  • bytes_exported
    integernull
  • batch_export_on_demand
    stringnull
  • backfill
    stringnull

Example request

POST /api/projects/:project_id/batch_exports/:batch_export_id/runs/:id/retry
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/batch_exports/:batch_export_id/runs/:id/retry/\
-d status=undefined,\
-d data_interval_end="string"

Example response

Status 200 No response body

Retrieve batch exports

Required API key scopes

batch_export:read

Path parameters

  • id
    string

Response


Example request

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

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"team_id": 0,
"name": "string",
"model": "events",
"destination": {
"type": "S3",
"config": {
"http_path": "string",
"catalog": "string",
"schema": "string",
"table_name": "string",
"use_variant_type": true,
"use_automatic_schema_evolution": true
},
"integration": 0,
"integration_id": 0
},
"interval": "hour",
"paused": true,
"created_at": "2019-08-24T14:15:22Z",
"last_updated_at": "2019-08-24T14:15:22Z",
"last_paused_at": "2019-08-24T14:15:22Z",
"start_at": "2019-08-24T14:15:22Z",
"end_at": "2019-08-24T14:15:22Z",
"latest_runs": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"status": "Cancelled",
"records_completed": -2147483648,
"records_failed": -2147483648,
"latest_error": "string",
"data_interval_start": "2019-08-24T14:15:22Z",
"data_interval_end": "2019-08-24T14:15:22Z",
"cursor": "string",
"created_at": "2019-08-24T14:15:22Z",
"finished_at": "2019-08-24T14:15:22Z",
"last_updated_at": "2019-08-24T14:15:22Z",
"records_total_count": -2147483648,
"bytes_exported": -9223372036854776000,
"batch_export": "0fa0a8a1-f280-4977-8bb4-bc7801a6902f",
"batch_export_on_demand": "d6e8418b-6c8d-4d3d-8dbd-ab165d4dc1b8",
"backfill": "4f806519-f4aa-4807-bea5-95595ab1adf0"
}
],
"hogql_query": "string",
"schema": null,
"filters": null,
"timezone": "Africa/Abidjan",
"offset_day": 6,
"offset_hour": 23
}

Retrieve batch exports

Required API key scopes

batch_export:read

Path parameters

  • id
    string

Response


Example request

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

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"team_id": 0,
"name": "string",
"model": "events",
"destination": {
"type": "S3",
"config": {
"http_path": "string",
"catalog": "string",
"schema": "string",
"table_name": "string",
"use_variant_type": true,
"use_automatic_schema_evolution": true
},
"integration": 0,
"integration_id": 0
},
"interval": "hour",
"paused": true,
"created_at": "2019-08-24T14:15:22Z",
"last_updated_at": "2019-08-24T14:15:22Z",
"last_paused_at": "2019-08-24T14:15:22Z",
"start_at": "2019-08-24T14:15:22Z",
"end_at": "2019-08-24T14:15:22Z",
"latest_runs": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"status": "Cancelled",
"records_completed": -2147483648,
"records_failed": -2147483648,
"latest_error": "string",
"data_interval_start": "2019-08-24T14:15:22Z",
"data_interval_end": "2019-08-24T14:15:22Z",
"cursor": "string",
"created_at": "2019-08-24T14:15:22Z",
"finished_at": "2019-08-24T14:15:22Z",
"last_updated_at": "2019-08-24T14:15:22Z",
"records_total_count": -2147483648,
"bytes_exported": -9223372036854776000,
"batch_export": "0fa0a8a1-f280-4977-8bb4-bc7801a6902f",
"batch_export_on_demand": "d6e8418b-6c8d-4d3d-8dbd-ab165d4dc1b8",
"backfill": "4f806519-f4aa-4807-bea5-95595ab1adf0"
}
],
"hogql_query": "string",
"schema": null,
"filters": null,
"timezone": "Africa/Abidjan",
"offset_day": 6,
"offset_hour": 23
}

Update batch exports

Required API key scopes

batch_export:write

Path parameters

  • id
    string

Request parameters

  • name
    string
  • model
  • destination
  • interval
  • paused
    boolean
  • hogql_query
    string
  • filters
  • timezone
    stringnull
  • offset_day
    integernull
  • offset_hour
    integernull

Response


Example request

PATCH /api/projects/:project_id/batch_exports/: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/batch_exports/:id/\
-d name="string"

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"team_id": 0,
"name": "string",
"model": "events",
"destination": {
"type": "S3",
"config": {
"http_path": "string",
"catalog": "string",
"schema": "string",
"table_name": "string",
"use_variant_type": true,
"use_automatic_schema_evolution": true
},
"integration": 0,
"integration_id": 0
},
"interval": "hour",
"paused": true,
"created_at": "2019-08-24T14:15:22Z",
"last_updated_at": "2019-08-24T14:15:22Z",
"last_paused_at": "2019-08-24T14:15:22Z",
"start_at": "2019-08-24T14:15:22Z",
"end_at": "2019-08-24T14:15:22Z",
"latest_runs": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"status": "Cancelled",
"records_completed": -2147483648,
"records_failed": -2147483648,
"latest_error": "string",
"data_interval_start": "2019-08-24T14:15:22Z",
"data_interval_end": "2019-08-24T14:15:22Z",
"cursor": "string",
"created_at": "2019-08-24T14:15:22Z",
"finished_at": "2019-08-24T14:15:22Z",
"last_updated_at": "2019-08-24T14:15:22Z",
"records_total_count": -2147483648,
"bytes_exported": -9223372036854776000,
"batch_export": "0fa0a8a1-f280-4977-8bb4-bc7801a6902f",
"batch_export_on_demand": "d6e8418b-6c8d-4d3d-8dbd-ab165d4dc1b8",
"backfill": "4f806519-f4aa-4807-bea5-95595ab1adf0"
}
],
"hogql_query": "string",
"schema": null,
"filters": null,
"timezone": "Africa/Abidjan",
"offset_day": 6,
"offset_hour": 23
}

Update batch exports

Required API key scopes

batch_export:write

Path parameters

  • id
    string

Request parameters

  • name
    string
  • model
  • destination
  • interval
  • paused
    boolean
  • hogql_query
    string
  • filters
  • timezone
    stringnull
  • offset_day
    integernull
  • offset_hour
    integernull

Response


Example request

PATCH /api/projects/:project_id/batch_exports/: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/batch_exports/:id/\
-d name="string"

Example response

Status 200
RESPONSE
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"team_id": 0,
"name": "string",
"model": "events",
"destination": {
"type": "S3",
"config": {
"http_path": "string",
"catalog": "string",
"schema": "string",
"table_name": "string",
"use_variant_type": true,
"use_automatic_schema_evolution": true
},
"integration": 0,
"integration_id": 0
},
"interval": "hour",
"paused": true,
"created_at": "2019-08-24T14:15:22Z",
"last_updated_at": "2019-08-24T14:15:22Z",
"last_paused_at": "2019-08-24T14:15:22Z",
"start_at": "2019-08-24T14:15:22Z",
"end_at": "2019-08-24T14:15:22Z",
"latest_runs": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"status": "Cancelled",
"records_completed": -2147483648,
"records_failed": -2147483648,
"latest_error": "string",
"data_interval_start": "2019-08-24T14:15:22Z",
"data_interval_end": "2019-08-24T14:15:22Z",
"cursor": "string",
"created_at": "2019-08-24T14:15:22Z",
"finished_at": "2019-08-24T14:15:22Z",
"last_updated_at": "2019-08-24T14:15:22Z",
"records_total_count": -2147483648,
"bytes_exported": -9223372036854776000,
"batch_export": "0fa0a8a1-f280-4977-8bb4-bc7801a6902f",
"batch_export_on_demand": "d6e8418b-6c8d-4d3d-8dbd-ab165d4dc1b8",
"backfill": "4f806519-f4aa-4807-bea5-95595ab1adf0"
}
],
"hogql_query": "string",
"schema": null,
"filters": null,
"timezone": "Africa/Abidjan",
"offset_day": 6,
"offset_hour": 23
}

Delete batch exports

Required API key scopes

batch_export:write

Path parameters

  • id
    string

Example request

DELETE /api/projects/:project_id/batch_exports/: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/batch_exports/:id/

Example response

Status 204 No response body

Delete batch exports

Required API key scopes

batch_export:write

Path parameters

  • id
    string

Example request

DELETE /api/projects/:project_id/batch_exports/: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/batch_exports/:id/

Example response

Status 204 No response body

Retrieve batch exports logs

Path parameters

  • id
    string

Query parameters

  • after
    string
  • before
    string
  • instance_id
    string
  • level
    string
  • limit
    integer
    Default: 50
  • search
    string

Example request

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

Example response

Status 200 No response body

Retrieve batch exports logs

Path parameters

  • id
    string

Query parameters

  • after
    string
  • before
    string
  • instance_id
    string
  • level
    string
  • limit
    integer
    Default: 50
  • search
    string

Example request

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

Example response

Status 200 No response body

Create batch exports pause

Pause a BatchExport.

Required API key scopes

batch_export:write

Path parameters

  • id
    string

Request parameters

  • name
    string
  • model
  • destination
  • interval
  • paused
    boolean
  • last_paused_at
    stringnull
  • start_at
    stringnull
  • end_at
    stringnull
  • hogql_query
    string
  • filters
  • timezone
  • offset_day
    integernull
  • offset_hour
    integernull

Example request

POST /api/projects/:project_id/batch_exports/:id/pause
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/batch_exports/:id/pause/\
-d name="string",\
-d destination=undefined,\
-d interval=undefined

Example response

Status 200 No response body

Create batch exports pause

Pause a BatchExport.

Required API key scopes

batch_export:write

Path parameters

  • id
    string

Request parameters

  • name
    string
  • model
  • destination
  • interval
  • paused
    boolean
  • last_paused_at
    stringnull
  • start_at
    stringnull
  • end_at
    stringnull
  • hogql_query
    string
  • filters
  • timezone
  • offset_day
    integernull
  • offset_hour
    integernull

Example request

POST /api/projects/:project_id/batch_exports/:id/pause
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/batch_exports/:id/pause/\
-d name="string",\
-d destination=undefined,\
-d interval=undefined

Example response

Status 200 No response body

Create batch exports run test step

Required API key scopes

batch_export:write

Path parameters

  • id
    string

Request parameters

  • name
    string
  • model
  • destination
  • interval
  • paused
    boolean
  • last_paused_at
    stringnull
  • start_at
    stringnull
  • end_at
    stringnull
  • hogql_query
    string
  • filters
  • timezone
  • offset_day
    integernull
  • offset_hour
    integernull

Example request

POST /api/projects/:project_id/batch_exports/:id/run_test_step
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/batch_exports/:id/run_test_step/\
-d name="string",\
-d destination=undefined,\
-d interval=undefined

Example response

Status 200 No response body

Create batch exports run test step

Required API key scopes

batch_export:write

Path parameters

  • id
    string

Request parameters

  • name
    string
  • model
  • destination
  • interval
  • paused
    boolean
  • last_paused_at
    stringnull
  • start_at
    stringnull
  • end_at
    stringnull
  • hogql_query
    string
  • filters
  • timezone
  • offset_day
    integernull
  • offset_hour
    integernull

Example request

POST /api/projects/:project_id/batch_exports/:id/run_test_step
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/batch_exports/:id/run_test_step/\
-d name="string",\
-d destination=undefined,\
-d interval=undefined

Example response

Status 200 No response body

Community questions

Questions about this page? or post a community question.