Skip to content
POST /sync-job-cron-trigger

Request Body

argsRecord<string, any>

The arguments passed to the sync job run.

Example: { "project_slug": "vcs_provider/org_name/repo_name" }
cron_expressionstring

The cron expression that defines when the sync job should be run. The timezone used is UTC. Runs must be at least 5 minutes apart. When the trigger is saved, the gap between its next two runs is checked.

Example: 0 0 * * *
daemon_group_keystring

The name of the daemon group that this sync job run should be assigned to. Used while creating a sync job run. Truto find a daemon in the group that is available to run the sync job. On runtime versions 1 to 3, specify exactly one of daemon_group_key (Daemon), webhook_id (RapidBridge) or super_query.

Example: default
environment_idstring · uuid

The environment to create the trigger in. Ignored for API tokens, which create it in their own environment.

error_handlingstring

The error_handling each run starts with. See the sync job run's error_handling.

Possible values:
fail_fastignorebatch
events_to_sendstring[]

When set, only these sync_job_run:* and record:* events are sent for the runs the trigger starts.

Possible values:
allintegrated_account:createdintegrated_account:updatedintegrated_account:deletedintegrated_account:activeintegrated_account:post_connect_form_submittedintegrated_account:post_install_errorintegrated_account:validation_errorintegrated_account:authentication_errorintegrated_account:forbidden_errorintegrated_account:reactivatedintegrated_account:stale+ 28 more
individual_request_batch_sizenumber

Copied to each run the trigger starts. See the sync job run's individual_request_batch_size.

integrated_account_idstring · uuid

The ID of the integrated account the runs are for. Required on runtime versions 1 to 3. On runtime version 4 it is ignored (the trigger is stored with the zero UUID) and daemon_group_key, webhook_id and super_query are dropped; the job's own nodes decide where records go.

Example: 94801e49-a652-42f9-af14-dd203d7897da
is_activeboolean

Send false to create the trigger inactive. It is saved but not scheduled, so it creates no sync job run until a PATCH sets is_active to true.

Example: true
metaRecord<string, any>

Any JSON object, copied to each run the trigger starts.

super_querystring

Store the records of the runs the trigger starts in SuperQuery in this region. On runtime versions 1 to 3, specify exactly one of daemon_group_key (Daemon), webhook_id (RapidBridge) or super_query.

Possible values:
apacwnam
sync_job_idstring

The ID of the sync job to run.

Example: 1ba1f401-7183-47c5-9e39-e8e257e3c795
webhook_idstring · uuid

The ID of the webhook where the sync job records need to be sent. On runtime versions 1 to 3, specify exactly one of daemon_group_key (Daemon), webhook_id (RapidBridge) or super_query.

Example: 4a4de828-f4db-4c9e-adfd-434e0864c3c7

Response Body

argsRecord<string, any>

The arguments passed to the sync job cron trigger.

Example: { "project_slug": "vcs_provider/org_name/repo_name" }
created_atstring · date-time

The date and time when the sync job run was created.

Example: 2021-08-10T10:00:00.000Z
cron_expressionstring

The cron expression defining when the sync job should run, in UTC.

Example: 0 0 * * *
daemon_group_keystring

The name of the daemon group that this sync job run should be assigned to. Used while creating a sync job run. Truto find a daemon in the group that is available to run the sync job. On runtime versions 1 to 3, specify exactly one of daemon_group_key (Daemon), webhook_id (RapidBridge) or super_query.

Example: default
environment_idstring · uuid

The environment the trigger belongs to.

error_handlingstring

The error_handling each run starts with. See the sync job run's error_handling.

Possible values:
fail_fastignorebatch
events_to_sendstring[]

When set, only these sync_job_run:* and record:* events are sent for the runs the trigger starts.

Possible values:
allintegrated_account:createdintegrated_account:updatedintegrated_account:deletedintegrated_account:activeintegrated_account:post_connect_form_submittedintegrated_account:post_install_errorintegrated_account:validation_errorintegrated_account:authentication_errorintegrated_account:forbidden_errorintegrated_account:reactivatedintegrated_account:stale+ 28 more
idstring · uuid

The ID of the sync job cron trigger.

Example: 4a4de828-f4db-4c9e-adfd-434e0864c3c7
individual_request_batch_sizenumber

Copied to each run the trigger starts. See the sync job run's individual_request_batch_size.

integrated_account_idstring · uuid

The ID of the integrated account that this sync job cron trigger should run.

Example: 94801e49-a652-42f9-af14-dd203d7897da
is_activeboolean

Whether the trigger is active. An inactive trigger is not scheduled, so it creates no sync job run and sends no webhook until it is made active again. New triggers are active unless created with is_active set to false.

Example: true
metaRecord<string, any>

Any JSON object, copied to each run the trigger starts.

super_querystring

Store the records of the runs the trigger starts in SuperQuery in this region. On runtime versions 1 to 3, specify exactly one of daemon_group_key (Daemon), webhook_id (RapidBridge) or super_query.

Possible values:
apacwnam
sync_job_idstring · uuid

The ID of the sync job that this sync job cron trigger should run.

Example: 4a4de828-f4db-4c9e-adfd-434e0864c3c7
updated_atstring · date-time

The date and time when the sync job run was last updated.

Example: 2021-08-10T10:00:00.000Z
webhook_idstring · uuid

The ID of the webhook where the sync job records need to be sent. On runtime versions 1 to 3, specify exactly one of daemon_group_key (Daemon), webhook_id (RapidBridge) or super_query.

Example: 4a4de828-f4db-4c9e-adfd-434e0864c3c7
truto sync-job-triggers create \
  -b '{
  "sync_job_id": "1ba1f401-7183-47c5-9e39-e8e257e3c795",
  "args": "{\n  \"project_slug\": \"vcs_provider/org_name/repo_name\"\n}\n",
  "integrated_account_id": "94801e49-a652-42f9-af14-dd203d7897da",
  "daemon_group_key": "default",
  "webhook_id": "4a4de828-f4db-4c9e-adfd-434e0864c3c7",
  "super_query": "apac",
  "cron_expression": "0 0 * * *",
  "error_handling": "fail_fast",
  "events_to_send": [],
  "meta": {},
  "individual_request_batch_size": 0,
  "environment_id": "your_environment_id",
  "is_active": true
}' \
  -o json
import Truto from '@truto/truto-ts-sdk';

const truto = new Truto({
  token: '<your_api_token>',
});

const body = {
  "sync_job_id": "1ba1f401-7183-47c5-9e39-e8e257e3c795",
  "args": "{\n  \"project_slug\": \"vcs_provider/org_name/repo_name\"\n}\n",
  "integrated_account_id": "94801e49-a652-42f9-af14-dd203d7897da",
  "daemon_group_key": "default",
  "webhook_id": "4a4de828-f4db-4c9e-adfd-434e0864c3c7",
  "super_query": "apac",
  "cron_expression": "0 0 * * *",
  "error_handling": "fail_fast",
  "events_to_send": [],
  "meta": {},
  "individual_request_batch_size": 0,
  "environment_id": "your_environment_id",
  "is_active": true
};

const result = await truto.syncJobCronTrigger.create(body);

console.log(result);
import asyncio
from truto_python_sdk import TrutoApi

truto_api = TrutoApi(token="<your_api_token>")

async def main():
    body = {
        "sync_job_id": "1ba1f401-7183-47c5-9e39-e8e257e3c795",
        "args": "{\n  \"project_slug\": \"vcs_provider/org_name/repo_name\"\n}\n",
        "integrated_account_id": "94801e49-a652-42f9-af14-dd203d7897da",
        "daemon_group_key": "default",
        "webhook_id": "4a4de828-f4db-4c9e-adfd-434e0864c3c7",
        "super_query": "apac",
        "cron_expression": "0 0 * * *",
        "error_handling": "fail_fast",
        "events_to_send": [],
        "meta": {},
        "individual_request_batch_size": 0,
        "environment_id": "your_environment_id",
        "is_active": True
    }

    result = await truto_api.sync_job_cron_triggers.create(body)
    print(result)

asyncio.run(main())
curl -X POST 'https://api.truto.one/sync-job-cron-trigger' \
  -H 'Authorization: Bearer <your_api_token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "sync_job_id": "1ba1f401-7183-47c5-9e39-e8e257e3c795",
  "args": "{\n  \"project_slug\": \"vcs_provider/org_name/repo_name\"\n}\n",
  "integrated_account_id": "94801e49-a652-42f9-af14-dd203d7897da",
  "daemon_group_key": "default",
  "webhook_id": "4a4de828-f4db-4c9e-adfd-434e0864c3c7",
  "super_query": "apac",
  "cron_expression": "0 0 * * *",
  "error_handling": "fail_fast",
  "events_to_send": [],
  "meta": {},
  "individual_request_batch_size": 0,
  "environment_id": "your_environment_id",
  "is_active": true
}'
const body = {
  "sync_job_id": "1ba1f401-7183-47c5-9e39-e8e257e3c795",
  "args": "{\n  \"project_slug\": \"vcs_provider/org_name/repo_name\"\n}\n",
  "integrated_account_id": "94801e49-a652-42f9-af14-dd203d7897da",
  "daemon_group_key": "default",
  "webhook_id": "4a4de828-f4db-4c9e-adfd-434e0864c3c7",
  "super_query": "apac",
  "cron_expression": "0 0 * * *",
  "error_handling": "fail_fast",
  "events_to_send": [],
  "meta": {},
  "individual_request_batch_size": 0,
  "environment_id": "your_environment_id",
  "is_active": true
};

const response = await fetch('https://api.truto.one/sync-job-cron-trigger', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <your_api_token>',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
});

const data = await response.json();
console.log(data);
import requests

url = "https://api.truto.one/sync-job-cron-trigger"
headers = {
    "Authorization": "Bearer <your_api_token>",
    "Content-Type": "application/json",
}
params = {
}
payload = {
    "sync_job_id": "1ba1f401-7183-47c5-9e39-e8e257e3c795",
    "args": "{\n  \"project_slug\": \"vcs_provider/org_name/repo_name\"\n}\n",
    "integrated_account_id": "94801e49-a652-42f9-af14-dd203d7897da",
    "daemon_group_key": "default",
    "webhook_id": "4a4de828-f4db-4c9e-adfd-434e0864c3c7",
    "super_query": "apac",
    "cron_expression": "0 0 * * *",
    "error_handling": "fail_fast",
    "events_to_send": [],
    "meta": {},
    "individual_request_batch_size": 0,
    "environment_id": "your_environment_id",
    "is_active": True
}

response = requests.post(url, headers=headers, params=params, json=payload)
print(response.json())