> ## 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 Sync Templates

> List all the sync templates in the current workspace



## OpenAPI

````yaml https://api.hightouch.io/api/swagger.json get /sync-templates
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:
  /sync-templates:
    get:
      summary: List Sync Templates
      description: List all the sync templates in the current workspace
      operationId: ListSyncTemplates
      parameters:
        - description: filter based on name
          in: query
          name: name
          required: false
          schema:
            type: string
        - description: set the offset on results (for pagination)
          in: query
          name: offset
          required: false
          schema:
            default: 0
            format: double
            type: number
        - description: limit the number of objects returned (default is 100)
          in: query
          name: limit
          required: false
          schema:
            default: 100
            format: double
            type: number
        - description: specify the order
          in: query
          name: orderBy
          required: false
          schema:
            default: id
            type: string
            enum:
              - id
              - name
              - createdAt
              - updatedAt
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/SyncTemplate'
                    type: array
                required:
                  - data
                type: object
              examples:
                Example 1:
                  value:
                    data:
                      - id: 1
                        name: Salesforce Contacts Template
                        description: Reusable template for syncing contacts to Salesforce.
                        workspaceId: 1
                        createdAt: '2022-02-16T21:37:58.510Z'
                        updatedAt: '2022-02-16T21:37:58.510Z'
                        modelId: 42
                        destinationId: 17
                        configuration:
                          mode: upsert
                          object: Contact
                          externalIdMapping:
                            from: email
                            to: Email
                          mappings: []
                          configVersion: 1
                        schedule: null
                        schedulePaused: false
                        tags: {}
                        overrideConfig:
                          mappings:
                            overridable: true
                    hasMore: false
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      security:
        - bearerAuth: []
components:
  schemas:
    SyncTemplate:
      description: |-
        A sync template defines a reusable sync configuration that can be shared
        across multiple syncs. User Groups can be granted access to
        templates so users can create syncs from them without seeing the raw
        destination credentials.
      properties:
        id:
          type: number
          format: double
          description: The sync template's id
        name:
          type: string
          description: The sync template's name
        description:
          type: string
          nullable: true
          description: The sync template's description
        workspaceId:
          type: number
          format: double
          description: The id of the workspace that the sync template belongs to
        createdAt:
          type: string
          format: date-time
          description: The timestamp when the sync template was created
        updatedAt:
          type: string
          format: date-time
          description: The timestamp when the sync template was last updated
        modelId:
          type: number
          format: double
          description: The id of the parent Model that the sync template is connected to
        destinationId:
          type: number
          format: double
          description: |-
            The id of the Destination that the sync template is connected to.
            Cannot be changed after creation.
        configuration:
          properties: {}
          additionalProperties: {}
          type: object
          description: |-
            The sync template's configuration. The schema depends on the
            destination type.

            Consumers should NOT make assumptions on the contents of the
            configuration. It may change as Hightouch updates its internal code.
        schedule:
          properties: {}
          additionalProperties: {}
          type: object
          nullable: true
          description: |-
            The sync template's schedule. May be null if the template does not
            impose a schedule on its child syncs.
        schedulePaused:
          type: boolean
          description: Whether the sync template's schedule is paused
        tags:
          properties: {}
          additionalProperties:
            type: string
          type: object
          description: The tags of the sync template
        matchboosterRegion:
          type: string
          nullable: true
          description: |-
            Match Booster region for syncs created from this template.
            Null means inherit the model's single-region default at runtime.
        overrideConfig:
          properties: {}
          additionalProperties:
            $ref: '#/components/schemas/SyncTemplateOverrideOption'
          type: object
          nullable: true
          description: >-
            Which configuration fields syncs created from this template may
            override,

            keyed by configuration field path (for example "externalIdMapping"
            or

            "target.schema"). A field is unlocked when listed with

            `overridable: true`; every other field is locked to the template's
            value.

            Null when no field is overridable.
      required:
        - id
        - name
        - workspaceId
        - createdAt
        - updatedAt
        - modelId
        - destinationId
        - configuration
        - schedule
        - schedulePaused
        - tags
        - overrideConfig
      type: object
      additionalProperties: false
    SyncTemplateOverrideOption:
      description: >-
        Whether syncs created from a sync template may set a configuration
        field.
      properties:
        overridable:
          type: boolean
          description: |-
            True when syncs created from the template may set the field through
            `syncTemplateOverrides`.
      required:
        - overridable
      type: object
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Bearer

````