external_data_schemas

get/api/projects/{project_id}/external_data_schemas/{id}/

Request

  • Base URL: https://us.posthog.com
  • URL: https://us.posthog.com/api/projects/{project_id}/external_data_schemas/{id}/
  • Auth: HTTP bearer

Path parameters

idstring uuid required

A UUID string identifying this external data schema.

project_idstring required

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

Response

idstring uuid required
namestring required
labelstring nullable required
tableobject nullable required
should_syncboolean
last_synced_atstring date-time nullable required
latest_errorstring nullable required

The latest error that occurred when syncing this schema.

incrementalboolean required
statusstring nullable required
incremental_fieldstring nullable

Column name used to track sync progress.

incremental_field_lookback_secondsinteger nullable

Seconds to subtract from the stored incremental watermark at sync time, so each incremental run re-reads a rolling overlap window and catches late or backdated rows. Applies to timestamp/date incremental fields only. The stored watermark is unchanged. Maximum 5184000 (60 days).

sync_time_of_daystring time nullable

UTC time of day to run the sync (HH:MM:SS).

full_refresh_interval_daysinteger nullable

Days between scheduled full refreshes, from 1 to 90, or null for none. A full refresh wipes the table and re-imports every row, so rows deleted at the source are removed. It runs on the first scheduled sync once the interval has passed, counted from when it was saved or from the last full resync (or, when full_refresh_time_of_day is set, from the slot of that time the last refresh served), and can start up to an hour early. Queries keep returning the current rows until a full refresh finishes, and workflows and destinations that run on new rows of the table run again for every row. Available for incremental, append, and xmin syncs only, and never shorter than the sync frequency.

full_refresh_time_of_daystring time nullable

UTC time of day (HH:MM:SS) that scheduled full refreshes are due, for example outside working hours. The refresh runs on the first scheduled sync from up to an hour before this time, so on a table that syncs every few hours it can run hours later. Each interval counts from the slot of this time that the last refresh or save served, where a slot less than an hour away counts as served. Saving a new time restarts the clock, so the first refresh after a save can come up to a day before a full interval has passed. Null counts the interval from when it was saved or from the last full resync. Cleared when full_refresh_interval_days is null.

next_full_refresh_atstring date-time nullable required

When the next scheduled full refresh is due. The first scheduled sync that starts at most an hour before this time re-imports the table. Saving a new interval or time, or any full resync, moves it one interval ahead, onto full_refresh_time_of_day when that is set.

descriptionstring nullable required
primary_key_columnsstring[] nullable

Column names for primary key deduplication.

enabled_columnsstring[] nullable

Names of source columns to sync. null (default) syncs all columns. Primary-key columns and the active incremental field are always retained, even if not listed here.

source_column_metadata_availableboolean required

Whether exact source-side column metadata is available for safe source-query projection.

api_versionstring nullable

Vendor API version override for this schema. null (default) syncs on the source's pinned version. Must be one of the source type's supported versions. User-managed: version-migration tooling never changes it. Not available for webhook-sync schemas.

user_access_levelstring nullable required

The effective access level the user has for this object

Changes

No recorded changes to this operation across all 1 revision of this API.