Hightouch · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Hightouch Syncs API
8 actions
8 updates
phrasing
extends
openapi/hightouch-syncs-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Hightouch's API. It is a proposal applied on top of the contract, not a document Hightouch publishes.
What the actions change
x-apievangelist-phrasing
Targets 8
$.info
$.paths['/syncs/{syncId}'].get
$.paths['/syncs/{syncId}'].patch
$.paths['/syncs'].get
$.paths['/syncs'].post
$.paths['/syncs/{syncId}/runs'].get
$.paths['/syncs/{syncId}/trigger'].post
$.paths['/syncs/trigger'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Hightouch Syncs API
version: 1.0.0
extends: openapi/hightouch-syncs-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 7
- target: $.paths['/syncs/{syncId}'].get
update:
x-apievangelist-phrasing:
intent: Look up a sync
effect: read
questions:
- How do I see the mapping and schedule of one sync by its ID?
- Is a particular Hightouch sync currently disabled?
instructions:
- text: Get sync {syncId}.
slots:
syncId: path.syncId
- text: Show the schedule and mappings of sync {syncId}.
slots:
syncId: path.syncId
method: generated
generated: '2026-10-01'
- target: $.paths['/syncs/{syncId}'].patch
update:
x-apievangelist-phrasing:
intent: Change a sync's schedule, mapping or status
effect: write
questions:
- Can I pause an existing sync by disabling it?
- How do I change the schedule on a sync I already set up?
instructions:
- text: Disable sync {syncId} ({disabled}).
slots:
syncId: path.syncId
disabled: requestBody.disabled
- text: Change the schedule of sync {syncId} to {schedule}.
slots:
syncId: path.syncId
schedule: requestBody.schedule
- text: Update the field mapping configuration of sync {syncId} to {configuration}.
slots:
syncId: path.syncId
configuration: requestBody.configuration
method: generated
generated: '2026-10-01'
- target: $.paths['/syncs'].get
update:
x-apievangelist-phrasing:
intent: List syncs in the workspace
effect: read
questions:
- Which syncs are set up in my workspace?
- Can I list only the syncs that use a particular model?
- Which syncs ran within a given time window?
instructions:
- text: List all syncs in my workspace.
- text: List the syncs built on model {modelId}.
slots:
modelId: query.modelId
- text: Find syncs that ran after {after}.
slots:
after: query.after
method: generated
generated: '2026-10-01'
- target: $.paths['/syncs'].post
update:
x-apievangelist-phrasing:
intent: Create a sync from a model to a destination
effect: write
questions:
- How do I set up a new sync that sends a model's rows to a destination?
- Can I create a sync in a disabled state and turn it on later?
instructions:
- text: Create sync {slug} from model {modelId} to destination {destinationId} with configuration {configuration}, schedule {schedule}, disabled {disabled}.
slots:
slug: requestBody.slug
modelId: requestBody.modelId
destinationId: requestBody.destinationId
configuration: requestBody.configuration
schedule: requestBody.schedule
disabled: requestBody.disabled
- text: Set up a new sync {slug} sending model {modelId} to {destinationId} on schedule {schedule}, mapping {configuration}, disabled={disabled}.
slots:
slug: requestBody.slug
modelId: requestBody.modelId
destinationId: requestBody.destinationId
schedule: requestBody.schedule
configuration: requestBody.configuration
disabled: requestBody.disabled
method: generated
generated: '2026-10-01'
- target: $.paths['/syncs/{syncId}/runs'].get
update:
x-apievangelist-phrasing:
intent: List the run history of a sync
effect: read
questions:
- Did my sync run successfully in the last hour?
- How do I see the past runs of a specific sync?
instructions:
- text: List the runs of sync {syncId}.
slots:
syncId: path.syncId
- text: Show runs of sync {syncId} started within the last {within} minutes.
slots:
syncId: path.syncId
within: query.within
- text: Get run {runId} of sync {syncId}.
slots:
runId: query.runId
syncId: path.syncId
method: generated
generated: '2026-10-01'
- target: $.paths['/syncs/{syncId}/trigger'].post
update:
x-apievangelist-phrasing:
intent: Run a sync by its ID
effect: write
questions:
- How do I kick off a sync run immediately using the sync's ID in the path?
- Can I force a full resync that ignores previously synced rows?
instructions:
- text: Trigger sync {syncId} now.
slots:
syncId: path.syncId
- text: Run a full resync of sync {syncId} ({fullResync}).
slots:
syncId: path.syncId
fullResync: requestBody.fullResync
- text: Clear the audience and refill it for sync {syncId} ({clearAndFill}).
slots:
syncId: path.syncId
clearAndFill: requestBody.clearAndFill
method: generated
generated: '2026-10-01'
- target: $.paths['/syncs/trigger'].post
update:
x-apievangelist-phrasing:
intent: Run a sync by its slug or ID globally
effect: write
questions:
- Can I trigger a sync using its slug instead of its numeric ID?
- Is there a global trigger endpoint that takes the sync identifier in the body?
instructions:
- text: Trigger the sync with slug {syncSlug}.
slots:
syncSlug: requestBody.syncSlug
- text: Run the sync identified by {syncId} through the global trigger endpoint.
slots:
syncId: requestBody.syncId
- text: Run a full resync of the sync with slug {syncSlug} ({fullResync}).
slots:
syncSlug: requestBody.syncSlug
fullResync: requestBody.fullResync
method: generated
generated: '2026-10-01'