# Sync Job Templates Object

> Source: https://truto.one/docs/api-reference/admin/sync-job-templates/

Schema for the `Sync Job Templates` resource in **Admin API**.

## Properties

- **`id`** _(string)_
  The unique ID of the sync job template.
- **`integration_name`** _(string)_
  The integration name to which this template applies. Is null for default_runtime_version > 4.
- **`label`** _(string)_
  A short descriptor for the template.
- **`description`** _(string)_
  Optional longer description of what this template does.
- **`args_schema`** _(object, required)_
  Optional JSON schema describing arguments for the sync job.
  - **`type`** _(string)_
    Allowed: `object`
  - **`$ref`** _(string)_
  - **`properties`** _(object)_
    Map of property name → `JsonSchemaObjectProperties`.
  - **`description`** _(string)_
  - **`required`** _(boolean)_
  - **`default`** _(unknown)_
  - **`additionalProperties`** _(boolean)_
- **`resources`** _(array<object>)_
  A list of sync job resources that define the steps. If empty, no default resources are set.
  - **`resource`** _(string)_
    The name of the resource to sync. For Unified APIs, it should be in the format `unified_api_name/resource_name`. For Proxy API, it can just be `resource_name`.
  - **`method`** _(string)_
    The method to call on the resource.
  - **`id`** _(string)_
    The ID of the resource to sync. This is optional and can be used to sync a single resource. It also supports placeholders.
  - **`query`** _(object)_
    The query parameters to pass to the resource method. It supports placeholders for values.
  - **`loop_on`** _(string)_
    When a particular placeholder argument is an array and you want to repeat the request for each element in that array, you can set this parameter. For example, if you accept an argument called `user_ids` which is an array of strings, and you want to fetch each user's details, you can set this parameter to `user_ids` and the request will be repeated for each element in the `user_ids` array.
  - **`depends_on`** _(string)_
    The resource that this resource depends on (parent resource). This is optional and can be used to sync a resource only after another resource has been synced. Each object synced for the parent resource is available as the resources object in placeholders for the child resource, e.g. `{{resources.crm.contacts.id}}` if depends on is `crm/contacts` resource.
  - **`persist`** _(boolean)_
    Whether to persist the resource in the database or not in case of a Daemon sync job run or send as a payload in case of RapidBridge sync job run. The Proxy API resources are by default NOT persisted and this parameter can be set to `true` to persist them. Unified API resources are always persisted.
- **`default_runtime_version`** _(number)_
  The runtime version for any sync job that uses this template.
- **`team_id`** _(string)_
  The team that owns this template.
- **`sharing`** _(string)_
  The sharing policy of the template.
  Allowed: `allow`, `ask`, `deny`
- **`created_at`** _(string)_
  When the template was created.
- **`updated_at`** _(string)_
  When the template was last updated.

## Methods

- [GET /sync-job-template](/docs/api-reference/admin/sync-job-templates/list) — List sync job templates
- [POST /sync-job-template](/docs/api-reference/admin/sync-job-templates/create) — Create sync job template
- [GET /sync-job-template/{id}](/docs/api-reference/admin/sync-job-templates/get) — Get sync job template by ID
- [PATCH /sync-job-template/{id}](/docs/api-reference/admin/sync-job-templates/update) — Update sync job template
- [DELETE /sync-job-template/{id}](/docs/api-reference/admin/sync-job-templates/delete) — Delete sync job template
