---
title: "List Sync Drafts"
method: GET
path: "/syncs/drafts"
---

# List Sync Drafts

`GET /syncs/drafts`

## Request

- Base URL: `https://api.hightouch.com/api/v1`
- URL: `https://api.hightouch.com/api/v1/syncs/drafts`
- Auth: HTTP bearer

List sync drafts across every sync in the workspace, oldest change first.
Poll with `status=pending` and read every page each time: the list shows
the current state, not a feed of changes.

## Query parameters

- `status` 'pending' | 'approved' | 'rejected' | 'canceled': The state of a sync draft. New values may be added, so treat an unknown value as closed.
- `syncId` number, double
- `updatedSince` string, date-time
- `limit` number, double
- `cursor` string

## Response `200`

Ok

- SyncDraftList
  - `data` SyncDraft[], required
    - `id` string, required: The draft's id
    - `syncId` string, required: The id of the sync the draft changes
    - `operation` 'create' | 'update', required: `create` publishes a new sync, `update` changes an existing one
    - `status` 'pending' | 'approved' | 'rejected' | 'canceled', required: The state of a sync draft. New values may be added, so treat an unknown value as closed.
    - `requestedBy` UserReference, required: The Hightouch user who created or last updated a resource. Changes made with an API key are attributed to the user who created the key.
      - `id` number, double, required: The user's id
      - `name` string, required: The user's name
      - `email` string, required: The user's email address
    - `requestedApprovers` UserReference[], required: The users asked to review the draft
      - `id` number, double, required: The user's id
      - `name` string, required: The user's name
      - `email` string, required: The user's email address
    - `requestComment` string, nullable, required: The comment the requester left for reviewers
    - `createdAt` string, date-time, required: The timestamp when the draft was created
    - `updatedAt` string, date-time, required: The timestamp when the draft last changed
    - `reviewedBy` UserReference, required: The Hightouch user who created or last updated a resource. Changes made with an API key are attributed to the user who created the key.
      - `id` number, double, required: The user's id
      - `name` string, required: The user's name
      - `email` string, required: The user's email address
    - `reviewedAt` string, date-time, nullable, required: The timestamp when the draft was approved or rejected
    - `reviewMetadata` object, nullable, required: The metadata sent with the approval or rejection
      - `extId` string, required
  - `nextCursor` string, nullable, required: Pass as `cursor` to read the next page; null on the last page. A page can hold fewer than `limit` drafts and still have a next page.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `422`: Validation Failed

## Changes

- **2026-10-14** `4ea0926df6e4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hightouch/apis/hightouch-api/changes/syncs/drafts/get.md)

---

[API](https://skmtc.dev/hightouch/apis/hightouch-api.md) - [All operations](https://skmtc.dev/hightouch/apis/hightouch-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hightouch/apis/hightouch-api/revisions/7f9793951e4f?raw)
