Skip to content

Create Sync Job

Endpoint

http
POST /sync-job

Request Body

integration_name
string
REQUIRED · The name of the integration that this sync job interacts with.
Example: zendesk
args_schema
object
JSON schema defining the structure of the arguments that can be passed to the sync job.
Example: { "type": "object", "properties": { "project_slug": { "type": "string", "description": "The project slug of the project on CircleCI. Its in the format vcs_provider/org_name/repo_name.", "required": true } } }
resources
object[]
REQUIRED · The resources to sync as part of the sync job.
resource
string
REQUIRED · 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`.
Example: For fetching Contacts from CRM Unified API, `crm/contacts`. For fetching Contacts from a Proxy API, `contacts`.
method
string
REQUIRED · The method to call on the resource.
Example: list
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.
Example: Static value like `4a4de828-f4db-4c9e-adfd-434e0864c3c7` or placeholder like `{{args.user_id}}`.
query
object
The query parameters to pass to the resource method. It supports placeholders for values.
Example: { "page": 1, "per_page": 100, "user_id": "{{args.user_id}}" }
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.
Example: { "{ args.user_ids }": null }
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.
Example: crm/contacts
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.

Response Body

id
string · uuid
The ID of the sync job.
Example: 4a4de828-f4db-4c9e-adfd-434e0864c3c7
integration_name
string
The name of the integration that this sync job interacts with.
Example: zendesk
args_schema
object
JSON schema defining the structure of the arguments that can be passed to the sync job.
Example: { "type": "object", "properties": { "project_slug": { "type": "string", "description": "The project slug of the project on CircleCI. Its in the format vcs_provider/org_name/repo_name.", "required": true } } }
resources
object[]
The resources to sync as part of the sync job.
resource
string
REQUIRED · 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`.
Example: For fetching Contacts from CRM Unified API, `crm/contacts`. For fetching Contacts from a Proxy API, `contacts`.
method
string
REQUIRED · The method to call on the resource.
Example: list
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.
Example: Static value like `4a4de828-f4db-4c9e-adfd-434e0864c3c7` or placeholder like `{{args.user_id}}`.
query
object
The query parameters to pass to the resource method. It supports placeholders for values.
Example: { "page": 1, "per_page": 100, "user_id": "{{args.user_id}}" }
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.
Example: { "{ args.user_ids }": null }
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.
Example: crm/contacts
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.
environment_id
string · uuid
The ID of the environment that this sync job belongs to.
Example: 05daecaf-4365-42e8-8370-8127de5dd717
created_at
string · date-time
The date and time when the sync job was created.
Example: 2021-08-10T10:00:00.000Z
updated_at
string · date-time
The date and time when the sync job was last updated.
Example: 2021-08-10T10:00:00.000Z