---
title: "Update Sync Template"
method: PATCH
path: "/sync-templates/{syncTemplateId}"
---

# Update Sync Template

`PATCH /sync-templates/{syncTemplateId}`

## Request

- Base URL: `https://api.hightouch.com/api/v1`
- URL: `https://api.hightouch.com/api/v1/sync-templates/{syncTemplateId}`
- Auth: HTTP bearer

Update an existing sync template

Patch a sync template based on its Hightouch ID. The `destinationId` of a
sync template cannot be changed after creation. Syncs created from the
template pick up a new `configuration` on their next run; a new
`overrideConfig` replaces the previous one and applies to the next write
of each sync's `syncTemplateOverrides`.

## Path parameters

- `syncTemplateId` number, double, required

## Request body

- SyncTemplateUpdate: The input for updating a Sync Template. `destinationId` cannot be changed after creation.
  - `name` string: The sync template's name
  - `configuration` object: 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.
  - `description` string, nullable: The sync template's description
  - `modelId` number, double: The id of the parent Model that the sync template is connected to
  - `schedule` object, nullable: The sync template's schedule. May be null if the template does not impose a schedule on its child syncs.
  - `schedulePaused` boolean: Whether the sync template's schedule is paused
  - `tags` object: The tags of the sync template
  - `matchboosterRegion` string, nullable: Match Booster region for syncs created from this template. Null means inherit the model's single-region default at runtime.
  - `overrideConfig` object, nullable: 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.

## Response `200`

Ok

- union
  - SyncTemplate: 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.
    - `id` number, double, required: The sync template's id
    - `name` string, required: The sync template's name
    - `description` string, nullable: The sync template's description
    - `workspaceId` number, double, required: The id of the workspace that the sync template belongs to
    - `createdAt` string, date-time, required: The timestamp when the sync template was created
    - `updatedAt` string, date-time, required: The timestamp when the sync template was last updated
    - `modelId` number, double, required: The id of the parent Model that the sync template is connected to
    - `destinationId` number, double, required: The id of the Destination that the sync template is connected to. Cannot be changed after creation.
    - `configuration` object, required: 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` object, nullable, required: The sync template's schedule. May be null if the template does not impose a schedule on its child syncs.
    - `schedulePaused` boolean, required: Whether the sync template's schedule is paused
    - `tags` object, required: The tags of the sync template
    - `matchboosterRegion` string, nullable: Match Booster region for syncs created from this template. Null means inherit the model's single-region default at runtime.
    - `overrideConfig` object, nullable, required: 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.
  - ValidateErrorJSON
    - `message` 'Validation failed', required
    - `details` object, required
  - 'Internal Server Error'

## Other responses

- `401`: Unauthorized
- `404`: Not found
- `422`: Validation Failed
- `500`: Something went wrong

## Changes

- **2026-09-25** `5574262d4032`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hightouch/apis/hightouch-api/changes/sync-templates/:syncTemplateId/patch.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)
