Job Management API
Version 23.4.8843
Version 23.4.8843
- List All Jobs
- Create a Job
- Modify a Job
- Delete a Job
- List All Transformations
- Create a Transformation
- Modify a Transformation
- Delete a Transformation
- Execute a Job or a Transformation
- Execute Job Queries
- Cancel a Running Job
- Retrieve the Job Status
- Retrieve the Job History
- Download Job Logs
- List All Job Tasks
- Add a Task to a Job or a Transformation
- Update a Task
- Delete a Task
Job Management API
The REST API supports the following job management actions:
- List All Jobs
- Create a Job
- Modify a Job
- Delete a Job
- List All Transformations
- Create a Transformation
- Modify a Transformation
- Delete a Transformation
- Execute a Job or a Transformation
- Execute Job Queries
- Cancel a Running Job
- Retrieve the Job Status
- Retrieve the Job History
- Download Job Logs
- List All Job Tasks
- Add a Task to a Job or a Transformation
- Update a Task
- Delete a Task
The following sections describe each of these actions.
List All Jobs
The following command returns a list of all jobs within the CData Sync application.
GET http://MyDomain.com:8019/api.rsc/jobs(jobname)
Query Parameter
Name | Description |
---|---|
JobName | Name of the job to retrieve. |
Create a Job
The following command creates a new job to run in the Sync application:
POST http://MyDomain.com:8019/api.rsc/jobs
Body Parameters
Name | Description |
---|---|
JobName | Specifies the name of the job. |
Source | Specifies the name of the source connection. |
Destination | Specifies the name of the destination connection. |
Scheduled | Specifies whether to execute a job according to a specific scheduler. Set the parameter to True to execute the job per a specific scheduler. |
ScheduledCron | The scheduler cron string. |
NotifyWindowsEvent | Specifies whether to write error messages to the Microsoft Window Application Event log. Set this parameter to True to write error messages to that event log. |
SendEmailNotification | Specifies whether to send email notifications after job completion. Set this parameter to True to send the email notifications. |
NotifyEmailTo | Specifies the email address to which notifications should be sent. |
NotifyEmailSubject | Specifies the email subject for notifications. |
EmailErrorOnly | Specifies to send an email only when an error occurs. |
Verbosity | Specifies the log verbosity level of the job. |
TableNamePrefix | Specifies a prefix for all tables that are replicated. |
UseGmtDateTime | Specifies whether to synchronize times in Greenwich Mean Time (rather than local time). Set this parameter to True to synchronize times in the GMT time zone. |
TruncateTableData | Specifies whether to delete all rows before each update. Set this parameter to True to delete all rows before an update. |
DropTable | Specifies whether to drop a table before each update. Set this parameter to True to drop a table before an update. |
AutoTruncateStrings | Specifies whether to truncate strings automatically that are too large for the column size. Set this parameter to True to truncate strings automatically if they are too large for the column. |
ContinueOnError | Specifies whether a job should continue to the next query when it encounters an error. Set this parameter to True for the job to continue to the next table when previous table generates an error. |
AlterSchema | Specifies whether to add columns and alter data types when the source table metadata and the destination table metadata do not match. Set this parameter to True to add columns and alter data types if a mismatch does occur. |
ReplicateInterval | Paired with ReplicateIntervalUnit, this parameter controls the time frames in which to split the data during replication. |
ReplicateIntervalUnit | Paired with ReplicateInterval, this parameter controls the time frames in which to split the data during replication. Values are minutes, hours, days, weeks, months, years. |
ReplicateStartDate | Sets the minimum date (in the form yyyy-MM-dd) from which to begin replicating data. |
BatchSize | Sets the size of the batch. |
CommandTimeout | Controls the time-out for destination connections. |
SkipDeleted | Specifies whether to skip the retrieval of deleted records from the source. |
OtherCacheOptions | Specifies a comma-separated list of additional options to include. |
CacheSchema | Assigns a specific schema for the destination database. |
PreJob | Specifies the code of pre-job event. |
PostJob | Specifies the code of post-job event. |
Query# | Specifies an array of SQL statements to include in the job. Specify multiple queries with the syntax Query#1, Query#2, and so on. |
Example
{
"JobName": "MyNewJob",
"Source": "SourceConnection",
"Destination": "DestinationConnection",
"Query#1":"REPLICATE [Accounts]",
"Query#2": "REPLICATE [Invoices]"
}
Modify a Job
The following command modifies an existing job:
PUT http://mydomain.com:8019/api.rsc/jobs(jobname)
Note: You cannot modify a job that is running.
Query Parameter
Name | Description |
---|---|
JobName (required) | Specifies the name of the job to modify. |
Body Parameters
Name | Description |
---|---|
Scheduled | Specifies whether to execute a job according to a specific scheduler. Set the parameter to True to execute the job per a specific scheduler. |
ScheduledCron | The scheduler cron string. |
NotifyWindowsEvent | Specifies whether to write error messages to the Microsoft Window Application Event log. Set this parameter to True to write error messages to that event log. |
SendEmailNotification | Specifies whether to send email notifications after job completion. Set this parameter to True to send the email notifications. |
NotifyEmailTo | Specifies the email address to which notifications should be sent. |
NotifyEmailSubject | Specifies the email subject for notifications. |
EmailErrorOnly | Specifies to send an email only when an error occurs. |
Verbosity | Specifies the log verbosity level of the job. Values are 1, 2, 3, and 5. |
TableNamePrefix | Specifies a prefix for all tables that are replicated. |
UseGmtDateTime | Specifies whether to synchronize times in Greenwich Mean Time (rather than local time). Set this parameter to True to synchronize times in the GMT time zone. |
TruncateTableData | Specifies whether to delete all rows before each update. Set this parameter to True to delete all rows before an update. |
DropTable | Specifies whether to drop a table before each update. Set this parameter to True to drop a table before an update. |
AutoTruncateStrings | Specifies whether to truncate strings automatically that are too large for the column size. Set this parameter to True to truncate strings automatically if they are too large for the column. |
ContinueOnError | Specifies whether a job should continue to the next query when it encounters an error. Set this parameter to True for the job to continue to the next table when previous table generates an error. |
AlterSchema | Specifies whether to add columns and alter data types when the source table metadata and the destination table metadata do not match. Set this parameter to True to add columns and alter data types if a mismatch does occur. |
ReplicateInterval | Paired with ReplicateIntervalUnit, this parameter controls the time frames in which to split the data during replication. |
ReplicateIntervalUnit | Paired with ReplicateInterval, this parameter controls the time frames in which to split the data during replication. Values are minutes, hours, days, weeks, months, years. |
ReplicateStartDate | Sets the minimum date (in the form yyyy-MM-dd) from which to begin replicating data. |
BatchSize | Sets the size of the batch. |
CommandTimeout | Controls the time-out for destination connections. |
SkipDeleted | Specifies whether to skip the retrieval of deleted records from the source. |
OtherCacheOptions | Specifies a comm- separated list of additional options to include. |
CacheSchema | Assigns a specific schema for the destination database. |
PreJob | Specifies the code of pre-job event. |
PostJob | Specifies the code of post-job event. |
Example
{
"Scheduled": "true",
"ScheduledCron": "0-30/5 * * * *"
}
Delete a Job
The following command removes a job from the Sync application:
DELETE http://MyDomain.com:8019/api.rsc/jobs(jobname)
Note: You cannot delete a job that is running.
Query Parameter
Name | Description |
---|---|
JobName | Name of the job to delete. |
List All Transformations
The following command returns a list of all transformations within the Sync application.
GET http://MyDomain.com:8019/api.rsc/transformations(transformationname)
Query Parameter
Name | Description |
---|---|
TransformationName | Name of the transformation to retrieve. |
Create a Transformation
The following command creates a new job to run in the Sync application:
POST http://MyDomain.com:8019/api.rsc/transformations
Body Parameters
Name | Description |
---|---|
TransformationName | Specifies the name of the transformation. |
Connection | Specifies the name of the destination connection. |
TransformationTriggerMode | Specifies whether to run the transformation on a schedule or after a job. Values for this parameter are None (the default value), Scheduled, and After Job. |
TriggerAfterJob | Specifies the job after which the transformation will run. |
TriggerTasks | Specifies a comma-separated list of task Ids. |
ScheduledCron | Specifies the scheduler cron string. |
SendEmailNotification | Sends email notifications after transformations are complete. Set this to True to send the email notifications. |
NotifyEmailTo | Specifies the email address to which notifications are to be sent. |
NotifyEmailSubject | Specifies the email subject for notifications. |
EmailErrorOnly | Specifies to send an email only when an error occurs. |
Verbosity | Specifies the log verbosity level of the transformation. |
Query# | Specifies an array of SQL statements to include in the transformation. Specify multiple queries with the syntax Query#1, Query#2, and so on. |
Example
{
"TransformationName": "MyNewTransformation",
"Connection": "DestinationConnection",
"Query#1":"CREATE OR REPLACE TABLE dbo.Accounts_Deduplicated as (SELECT *, row_number() over (partition by id order by modified desc) as duplicate_rank FROM dbo.Accounts);",
"Query#2": "DELETE FROM dbo.Accounts_Deduplicated WHERE duplicate_rank > 1;"
}
Modify a Transformation
The following command modifies an existing transformation:
PUT http://MyDomain.com:8019/api.rsc/transformations(transformationname)
Note: You cannot modify a transformation that is running.
Query Parameter
Name | Description |
---|---|
TransformationName (Required) | Specifies the name of the transformation to modify. |
Body Parameters
Name | Description |
---|---|
TransformationTriggerMode | Specifies whether to run the transformation on a schedule or after a job. Values for this parameter are None (the default value), Scheduled, and AfterJob. |
TriggerAfterJob | Specifies the job after which the transformation will run. |
TriggerTasks | Specifies a comma-separated list of task Ids. |
ScheduledCron | Specifies the scheduler cron string. |
SendEmailNotification | Sends email notifications after transformations are complete. Set this to True to send the email notifications. |
NotifyEmailTo | Specifies the email address to which notifications are to be sent. |
NotifyEmailSubject | Specifies the email subject for notifications. |
EmailErrorOnly | Specifies to send an email only when an error occurs. |
Verbosity | Specifies the log verbosity level of the transformation. |
Example
{
"TransformationTriggerMode": "Scheduled",
"ScheduledCron": "0-30/5 * * * *"
}
Delete a Transformation
The following command removes a transformation from the Sync application: You cannot delete a transformation that is running.
DELETE http://MyDomain.com:8019/api.rsc/transformations(transformationname)
Note: You cannot delete a transformation that is running.
Query Parameter
Name | Description |
---|---|
TransformationName (Required) | Specifies the name of the transformation that you want to delete. |
Execute a Job or a Transformation
This command executes the specified job or transformation:
POST http://MyDomain.com:8019/api.rsc/executeJob
Body Parameters
Name | Description |
---|---|
JobName (required) | Specifies the name of the job to execute. |
WaitForResults | Specifies whether to wait until the job ends to return results. The default value is True. |
Timeout | Specifies how long to wait, in seconds, for the previous job execution to complete. |
Example
{
"JobName": "MyJob",
"WaitForResults" : true,
"Timeout": 30
}
Execute Job Queries
The following command executes specific queries within a job.
POST http://MyDomain.com:8019/api.rsc/executeQuery
Note: The queries that you want to execute must be part of the job already.
Body Parameters
Name | Description |
---|---|
JobName (required) | Specifies the name of the job to execute. |
Query# (required) | Specifies an array of query statements to execute. Specify multiple queries with the syntax Query#1, Query#2, and so on. |
WaitForResults | Specifies whether to wait until the job ends to return results. The default value is True. |
Example
{
"JobName": "MyJob",
"Query#1": "REPLICATE [Accounts]",
"Query#2": "REPLICATE [Contacts]"
}
Cancel a Running Job
The following command cancels a job that is running:
POST http://MyDomain.com:8019/api.rsc/cancelJob
Body Parameters
Name | Description |
---|---|
JobName (required) | Specifies the name of the job to cancel. |
Example
{
"JobName": "MyJob"
}
Retrieve the Job Status
The following command retrieves the status of a job:
POST http://MyDomain.com:8019/api.rsc/getJobStatus
Body Parameters
Name | Description |
---|---|
JobName | Specifies the name of the job for which to retrieve the status. If a job name is specified, the response contains details for each query that is within the job. |
Example
{
"JobName":"MyJob"
}
Retrieve the Job History
The following command retrieves the history of the previous runs for a job:
GET http://MyDomain.com:8019/api.rsc/history
Query Parameter
Name | Description |
---|---|
JobName | Specifies the name of the job for which to retrieve the history. |
Download Job Logs
The following command downloads the base-64-encoded contents of the log file or log files for a job:
POST http://mydomain.com:8019/api.rsc/getLogs
Body Parameters
Name | Description |
---|---|
JobName (required) | Specifies the name of the job from which to retrieve logs. |
Days (required) | Specifies how many days of log files to include. |
List All Job Tasks
The following command retrieves a list of tasks that are associated with a job or transformation:
GET http://MyDomain.com:8019/api.rsc/tasks(jobname)
Query Parameter
Name | Description |
---|---|
JobName (required) | Specifies the name of the job. |
Add a Task to a Job or a Transformation
The following command adds a task to an existing job or transformation:
POST http://MyDomain.com:8019/api.rsc/tasks
Note: You must include either the Query parameter or the Table parameter.
Body Parameters
Name | Description |
---|---|
JobName (required) | Specifies the name of the job. |
Query | Specifies the query to set as the task. |
Table | Specifies the source table to replicate. Sync creates a REPLICATE query from this input. |
Update a Task
The following command updates a task in an existing job or transformation:
PUT http://MyDomain.com:8019/api.rsc/tasks
Body Parameters
Name | Description |
---|---|
JobName (required) | Specifies the name of the job. |
TaskId (required) | Specifies the task to update. |
Query | Specifies the query to set as the task. |
Table | Specifies the source table to replicate. Sync creates a REPLICATE query from this input. |
Delete a Task
The following command deletes a task from an existing job or transformation:
DELETE http://MyDomain.com:8019/api.rsc/tasks
Query Parameters
Name | Description |
---|---|
JobName (required) | Specifies the name of the job. |
TaskId (required) | Specifies the task to delete. |