These endpoints control reverse ETL: querying your warehouse or lakehouse and writing rows into SaaS tools, ads platforms, and custom HTTP destinations. Authenticate with a Bearer API key. Base URL:Documentation Index
Fetch the complete documentation index at: https://docs.planasonix.com/llms.txt
Use this file to discover all available pages before exploring further.
https://api.planasonix.com
If your workspace uses a versioned base path (for example
/v1), prepend it before /api. See API reference.List syncs
Returns all reverse ETL sync definitions.GET /api/reverse-etl/syncs
Request parameters
Filter syncs targeting a given destination connection.
Filter by active/paused syncs.
Page size.
Pagination cursor.
Example response
Create sync
Creates a new sync from a SQL or semantic query to a destination object.POST /api/reverse-etl/syncs
Request body
Display name for the sync.
Warehouse query (SQL) or documented semantic reference that resolves to a row set.
Connection ID for the destination (Salesforce, HubSpot, Iterable, and so on).
Destination object or resource name (API name for CRM entities, stream name for events APIs).
Array of mapping objects: source column or expression → destination field (see example).
One of
upsert, insert, update, delete, or connector-specific modes.Optional schedule: for example
{ "type": "cron", "expression": "0 * * * *", "timezone": "UTC" } or { "type": "manual" }.Example response
Get sync
GET /api/reverse-etl/syncs/{id}
Request parameters
Sync ID.
Example response
Update sync
PUT /api/reverse-etl/syncs/{id}
Request parameters
Sync ID.
Request body
Same fields as create, all optional except where the server requires a full replacement for certain connectors.Example response
Delete sync
DELETE /api/reverse-etl/syncs/{id}
Request parameters
Sync ID.
Example response
Trigger sync run
Starts a run for one or more syncs (batch semantics depend on your deployment).POST /api/reverse-etl/sync/run
Request body
Run a single sync by ID.
Run multiple syncs in one request.
When supported, ignores incremental watermark and reprocesses the full query result set.
Example response
Toggle sync
Enables or disables a sync without deleting its definition.POST /api/reverse-etl/sync/toggle
Request body
Sync ID.
Target state.
Example response
List destinations
Lists destination connections available for reverse ETL in the workspace.GET /api/reverse-etl/destinations
Request parameters
Filter by connector type (for example
salesforce, hubspot).Example response
List destination objects
Returns objects (entities, streams) you can target for a given destination.GET /api/reverse-etl/objects
Request parameters
Destination connection ID.
Case-insensitive filter on object label or API name.
Example response
List object fields
Returns fields for a destination object, including types and write constraints.GET /api/reverse-etl/fields
Request parameters
Destination connection ID.
Object API name.
Example response
List sync runs
Returns historical reverse ETL run records across syncs.GET /api/reverse-etl/runs
Request parameters
Restrict to one sync.
Filter by run status.
Page size.
Pagination cursor.
Example response
List dead letter queue entries
Returns rows or batches that failed after retries and require manual review.GET /api/reverse-etl/dlq
Request parameters
Filter by sync.
false (default) for open failures; true for history.Page size.
Pagination cursor.
Example response
DLQ statistics
Aggregate counts for monitoring and alerting.GET /api/reverse-etl/dlq/stats
Request parameters
Scope stats to one sync; omit for workspace totals.
ISO 8601 timestamp; only count entries at or after this time.
Example response
Resolve DLQ entries
Marks entries resolved after you fix data or choose to skip them; optional replay may enqueue new writes.POST /api/reverse-etl/dlq/resolve
Request body
DLQ entry IDs to resolve.
Short reason code:
fixed_upstream, skipped, manual_push, and so on.When true and supported, re-attempts the affected records in a new run.