> ## 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.

# Get Sync Template

> Retrieve a sync template given its ID



## OpenAPI

````yaml https://api.hightouch.io/api/swagger.json get /sync-templates/{syncTemplateId}
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/{syncTemplateId}:
    get:
      summary: Get Sync Template
      description: Retrieve a sync template given its ID
      operationId: GetSyncTemplate
      parameters:
        - description: The id of the sync template
          in: path
          name: syncTemplateId
          required: true
          schema:
            type: number
            format: double
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncTemplate'
              examples:
                Example 1:
                  value:
                    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
        '401':
          description: Unauthorized
        '404':
          description: Not found
        '422':
          description: Validation Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
      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
    ValidateErrorJSON:
      properties:
        message:
          type: string
          enum:
            - Validation failed
          nullable: false
        details:
          properties: {}
          additionalProperties: {}
          type: object
      required:
        - message
        - details
      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

````