> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hightouch.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Drafts for a Sync

> List one sync's drafts, oldest change first.



## OpenAPI

````yaml https://api.hightouch.io/api/swagger.json get /syncs/{syncId}/drafts
openapi: 3.0.0
info:
  title: Hightouch API
  version: 1.0.0
  description: Hightouch Public Rest API to access syncs, models, sources and destinations
  contact:
    name: Hightouch
    url: https://hightouch.com
servers:
  - url: https://api.hightouch.com/api/v1
security: []
paths:
  /syncs/{syncId}/drafts:
    get:
      summary: List Drafts for a Sync
      description: List one sync's drafts, oldest change first.
      operationId: ListDraftsForSync
      parameters:
        - description: The id of the sync
          in: path
          name: syncId
          required: true
          schema:
            type: number
            format: double
        - description: filter on the draft's status (default `pending`)
          in: query
          name: status
          required: false
          schema:
            $ref: '#/components/schemas/SyncDraftStatus'
        - description: only drafts changed at or after this ISO timestamp
          in: query
          name: updatedSince
          required: false
          schema:
            type: string
            format: date-time
        - description: the most drafts to return on a page, from 1 to 100 (default 100)
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: double
            type: number
        - description: the `nextCursor` from the previous page
          in: query
          name: cursor
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncDraftList'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '422':
          description: Validation Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
      security:
        - bearerAuth: []
components:
  schemas:
    SyncDraftStatus:
      type: string
      enum:
        - pending
        - approved
        - rejected
        - canceled
      description: |-
        The state of a sync draft. New values may be added, so treat an unknown
        value as closed.
    SyncDraftList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SyncDraft'
          type: array
        nextCursor:
          type: string
          nullable: true
          description: >-
            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.
      required:
        - data
        - nextCursor
      type: object
      additionalProperties: false
    ValidateErrorJSON:
      properties:
        message:
          type: string
          enum:
            - Validation failed
          nullable: false
        details:
          properties: {}
          additionalProperties: {}
          type: object
      required:
        - message
        - details
      type: object
      additionalProperties: false
    SyncDraft:
      description: >-
        A proposed change to a sync that waits for approval. Approving it
        applies

        the change; rejecting it closes it without applying anything.
      properties:
        id:
          type: string
          description: The draft's id
        syncId:
          type: string
          description: The id of the sync the draft changes
        operation:
          type: string
          enum:
            - create
            - update
          description: '`create` publishes a new sync, `update` changes an existing one'
        status:
          $ref: '#/components/schemas/SyncDraftStatus'
        requestedBy:
          allOf:
            - $ref: '#/components/schemas/UserReference'
          nullable: true
          description: The user who submitted the draft
        requestedApprovers:
          items:
            $ref: '#/components/schemas/UserReference'
          type: array
          description: The users asked to review the draft
        requestComment:
          type: string
          nullable: true
          description: The comment the requester left for reviewers
        createdAt:
          type: string
          format: date-time
          description: The timestamp when the draft was created
        updatedAt:
          type: string
          format: date-time
          description: The timestamp when the draft last changed
        reviewedBy:
          allOf:
            - $ref: '#/components/schemas/UserReference'
          nullable: true
          description: >-
            The user who approved or rejected the draft. With an API key, this
            is the

            user who owns the key.
        reviewedAt:
          type: string
          format: date-time
          nullable: true
          description: The timestamp when the draft was approved or rejected
        reviewMetadata:
          properties:
            extId:
              type: string
          required:
            - extId
          type: object
          nullable: true
          description: The metadata sent with the approval or rejection
      required:
        - id
        - syncId
        - operation
        - status
        - requestedBy
        - requestedApprovers
        - requestComment
        - createdAt
        - updatedAt
        - reviewedBy
        - reviewedAt
        - reviewMetadata
      type: object
      additionalProperties: false
    UserReference:
      description: >-
        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.
      properties:
        id:
          type: number
          format: double
          description: The user's id
        name:
          type: string
          description: The user's name
        email:
          type: string
          description: The user's email address
      required:
        - id
        - name
        - email
      type: object
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Bearer

````