Scheduler API Documentation

REST API Documentation

POST /saveJobScheduled

Creates a new scheduled job with one or more tasks (Report or Workflow).

Request
FieldTypeRequiredDescription
jobTitlestringYesTitle of the job
dateValstringYes*Date for scheduling (required unless selection is last day of the month or first day of the month)
timeValstringYesTime for scheduling
selectionstringYesSchedule type (daily, weekly,monthly,last day of the month, first day of the month, anually, does not repeat, every week day,Adhoc)
taskarrayarrayYesArray of task objects (Report/Workflow)
startDateValstringNoOptional start date
endDateValstringNoOptional end date
filterobjectNoOptional filter object
enableEmailNotificationstringNoTo disable email notification for this job
emailObjobjectNoEmail object to send success and failure notifications

*Either dateVal or a valid selection value is required.

Details of taskArrayVal (Report/Task Objects)

Each item in taskArrayVal represents a report or task to be scheduled. The structure supports both report and workflow scheduling.

FieldTypeRequiredDescription
titlestringYesTitle of the report/task
descriptionstringNoDescription of the report/task
widgetIDstring/numberYes (for reports)Dashboard widget ID for the report
reportobjobjectNoReport object (may contain ID or dashboard_id)
categorystringYesType of task: Report or Workflow
filetypestringNoFile type for export (e.g., CSV, Excel)
selectedusersobjarrayNoArray of selected user objects (each with ID)
selectedrolesobjarrayNoArray of selected role objects (each with ID)
sendReportTomyInboxbooleanNoIf true, also send report to the current user’s inbox
selectedIdsarrayNoArray of selected report IDs (for bulk scheduling)
deliverInboxbooleanNoDeliver report to inbox
deliverAttachmentbooleanNoDeliver report as attachment
excelPasswordstringNoPassword for Excel export (if applicable)
runtimefiltersarrayNoArray of runtime filter objects
connectorDetailstring/objectNoConnector ID or object for data export
reportNamePatternstringNoFile name pattern
Example taskArrayVal Item:
[
  {
    "title": "Sales Report",
    "description": "Monthly sales summary",
    "widgetID": "123",
    "category": "Report",
    "filetype": "Excel",
    "selectedusersobj": [{ "ID": "u1" }, { "ID": "u2" }],
    "selectedrolesobj": [{ "ID": "r1" }],
    "sendReportTomyInbox": true,
    "selectedIds": [123, 124],
    "deliverInbox": true,
    "deliverAttachment": false,
    "excelPassword": "mypassword",
    "runtimefilters": [
      { "id": "f1", "value": "2025-08-01" }
    ],
    "connectorDetail": "29",
    "reportNamePattern":"${DATE:YYYY_MM_DD_HHmmSSsss}_${USER_ID}_${CLIENT_ID}_${REPORT_NAME}"
  }
Response
{
  "success": true,
  "message": "done."
}
  
Error Codes
CodeMessageDescription
DNX_SCH_001 Request body is missing The request body is required.
DNX_SCH_002 Missing jobTitle jobTitle is required.
DNX_SCH_003 Missing dateVal dateVal is required unless selection is last day of the month or first day of the month.
DNX_SCH_004 Invalid dateVal dateVal is present but not a valid date.
DNX_SCH_005 Missing timeVal timeVal is required.
DNX_SCH_006 Missing selection selection is required.
DNX_SCH_019 Missing or invalid taskarray for job scheduling taskarray must be a non-empty array.
Example Request 1
POST /saveJobScheduled
Content-Type: application/json

{
    "jobTitle": "Manufacturing Report",
    "dateVal": "",
    "timeVal": "14:59",
    "selection": "hourly",
    "startDateVal": "2025-08-27",
    "endDateVal": "2025-08-28",
    "taskarray": [
        {
            "title": "Manufacturing Report",
            "description": "",
            "category": "Report",
            "filetype": "Excel",
            "deliveroptions": "inbox",
            "deliverInbox": "inbox",
            "connectorDetail": null,
            "reportobj": {
                "ID": "855b2a1d-d983-40f4-a979-f84dc3080e2b"
            },
            "selectedrolesobj": [],
            "selectedusersobj": [
                {
                    "ID": 13
                }
            ],
            "role": [],
            "taskfilters": [],
            "runtimefilters": [],
            "reportNamePattern": ""
        }
    ],
    "emailObj":'{"successMail":[{"user_email":"abc@tekizma.com"}],"failureMail":[{"user_email":"xyz@tekizma.com"}]}',
    "username": "john",
    "filter": [
        [
            "\"{\\\"filterObj\\\":{\\\"855b2a1d-d983-40f4-a979-f84dc3080e2b\\\":[{\\\"filterObj\\\":[]}]},\\\"filterState\\\":{}}\""
        ]
    ]
}
  
Example Request 2
POST /saveJobScheduled
Content-Type: application/json
    {
    "jobTitle": "Manufacturing Report",
    "dateVal": "",
    "timeVal": "14:59",
    "selection": "daily",
    "startDateVal": "2025-08-27",
    "endDateVal": "2025-08-28",
    "taskarray": [
        {
            "title": "Manufacturing Report",
            "description": "",
            "category": "Report",
            "filetype": "Excel",
            "deliveroptions": "inbox",
            "deliverInbox": "inbox",
            "connectorDetail": null,
            "reportobj": {
                "ID": "855b2a1d-d983-40f4-a979-f84dc3080e2b"
            },
            "selectedrolesobj": [],
            "selectedusersobj": [
                {
                    "ID": 13
                }
            ],
            "role": [],
            "taskfilters": [],
            "runtimefilters": [],
            "reportNamePattern": ""
        }
    ],
    "enableEmailNotification":"false",
    "username": "john",
    "filter": [
        [
            "\"{\\\"filterObj\\\":{\\\"855b2a1d-d983-40f4-a979-f84dc3080e2b\\\":[{\\\"filterObj\\\":[]}]},\\\"filterState\\\":{}}\""
        ]
    ]
}
  
Example Error Response
{
  "error": true,
  "code": "DNX_SCH_002",
  "message": "Missing jobTitle"
}
  

POST /saveScheduleReport

Description: Creates a new scheduled report for the user with the provided configuration.

FieldTypeRequiredDescription
jobTitlestringYesJob title
dateValstringYesDate for scheduling (required unless selection is last day of the month or first day of the month)
timeValstringYesTime for scheduling
selectionstringYesSchedule type (daily, weekly,monthly,last day of the month, first day of the month, anually, does not repeat, every week day,Adhoc)
taskArrayValarrayYesArray of report/task objects
filterValarrayNoOptional filter array
sortarrayNoOptional sorting array
themestringNoOptional theme
endDateValstringNoOptional end date
startDateValstringNoOptional start date
Response:
{
  "success": true,
  "message": "done."
}
    
Error Codes:
CodeMessageDescription
DNX_SCH_001Missing request bodyRequest body is required.
DNX_SCH_002Missing jobTitleEither inputVal or taskArrayVal is required.
DNX_SCH_003Missing dateValdateVal is required.
DNX_SCH_004Invalid dateVal formatdateVal is present but not a valid date.
DNX_SCH_005Missing timeValtimeVal is required.
DNX_SCH_006Missing selectionselection is required.
Example Request:
POST /saveScheduleReport
Content-Type: application/json

{
  "jobTitle": "Sales Report",
  "dateVal": "2025-08-08",
  "timeVal": "10:00",
  "selection": "daily",
  "taskArrayVal": [{ "title": "Sales", "widgetID": 1 }]
}
    
Example Error Request:
POST /api/schedule/saveScheduleReport
Content-Type: application/json

{
  "jobTitle": "",
  "dateVal": "",
  "timeVal": "",
  "selection": ""
}
    
Example Error Response:
{
  "error": true,
  "code": "DNX_SCH_002",
  "message": "Missing jobTitle"
}
    

API: POST /saveScheduleWorkflow

Creates or updates a scheduled workflow for the user with the provided configuration.

Description

This API allows users to schedule a workflow with specific filters, time, and recurrence options. It supports both job-based and direct workflow scheduling.

Request
FieldTypeRequiredDescription
jobidstringNoJob ID (for job-based workflow scheduling)
taskArrayValarrayYes (if jobid)Array of workflow task objects
dateValstringNoDate for scheduling
timeValstringNoTime for scheduling
selectionstringYesSchedule type (e.g., daily, weekly, Adhoc)
folderPathstringNoOptional folder path
endDateValstringNoOptional end date
startDateValstringNoOptional start date
jobTitlestringYes (if no jobid)Workflow title
desValstringNoDescription
workflowIdstringYes (if no jobid)Workflow ID
activenumberNoActive flag
download_typestringNoDownload type
typestringNoWorkflow type
Response
{
  "success": true
}
  
Error Codes
CodeMessageDescription
DNX_SCH_001 Missing request body Request body is required.
DNX_SCH_019 Missing taskArrayVal taskArrayVal is required and must be a non-empty array (when jobid is present).
DNX_SCH_004 Invalid dateVal format dateVal is present but not a valid date.
DNX_SCH_005 Missing timeVal timeVal is required unless selection is ‘Adhoc’.
DNX_SCH_006 Missing selection selection is required.
DNX_SCH_002 Missing jobTitle jobTitle is required (when jobid is not present).
DNX_SCH_021 Missing workflowId workflowId is required (when jobid is not present).
Example Request
POST /saveScheduleWorkflow
Content-Type: application/json

{
  "jobid": "123",
  "taskArrayVal": [
    {
      "title": "Daily Data Sync",
      "description": "Syncs data every day",
      "workflowobj": { "ID": "wf-001" },
      "category": "Workflow"
    }
  ],
  "dateVal": "2025-08-09",
  "timeVal": "09:00",
  "selection": "daily",
  "folderPath": "/workflows",
  "startDateVal": "2025-08-09",
  "endDateVal": "2025-12-31"
}
  
Example Error Request
POST /saveScheduleWorkflow
Content-Type: application/json

{
  "jobid": "123",
  "taskArrayVal": [],
  "selection": "daily"
}
  
Example Error Response
{
  "error": true,
  "code": "DNX_SCH_019",
  "message": "taskArrayVal is required and must be a non-empty array."
}
  

POST /runjobAuditResult

Description: Returns audit results for a scheduled job, including status and history.

FieldTypeRequiredDescription
jobIdvalstringNoOptional Job ID
jobTitlevalstringNoOptional Job Title
pageNonumberNoPage number for pagination
pageSizenumberNoNumber of items per page
sortObjArrarrayNoOptional sorting array
Response:
{
  "result": [ ... ],
  "totalNoOfRecords": 123
}
    
Error Codes:
CodeMessageDescription
DNX_SCH_010Missing request bodyRequest body is required.
Example Request:
POST /runjobAuditResult
Content-Type: application/json

{
  "pageNo": 1,
  "pageSize": 20
}
    

POST /pauseAndResumeJob

Description: Pauses or resumes a scheduled job based on the provided state.

FieldTypeRequiredDescription
jobIdstringYesJob ID
pauseStatebooleanYesPause state (true/false)
Response:
{
  "Success": "Updated Job"
}
    
Error Codes:
CodeMessageDescription
DNX_SCH_001Missing request bodyRequest body is required.
DNX_SCH_015Missing jobIdjobId is required.
DNX_SCH_016Missing pauseStatepauseState is required.
Example Request:
POST /pauseAndResumeJob
Content-Type: application/json

{
  "jobId": "123",
  "pauseState": true
}
    
Example Error Request:
POST /pauseAndResumeJob
Content-Type: application/json

{
  "jobId": "123"
}
    
Example Error Response:
{
  "error": true,
  "code": "DNX_SCH_016",
  "message": "Missing pauseState"
}
    

POST /getJobSchedulebyId

Description: Fetches the details of a scheduled job by its ID.

FieldTypeRequiredDescription
idstringYesJob ID
Response:
{
  "jobresult": { ... },
  "taskresult": [ ... ],
  "reportdata": [ ... ],
  "workflowdata": [ ... ],
  "userdata": [ ... ],
  "roledata": [ ... ],
  "userDetailId": "..."
}
    
Error Codes:
CodeMessageDescription
DNX_SCH_001Missing request bodyRequest body is required.
DNX_SCH_015Missing idid is required.
Example Request:
POST /getJobSchedulebyId
Content-Type: application/json

{
  "id": "123"
}
    
Example Error Request:
POST /getJobSchedulebyId
Content-Type: application/json

{}
    
Example Error Response:
{
  "error": true,
  "code": "DNX_SCH_015",
  "message": "Missing id"
}
    

POST /updateJobScheduled

Description: Updates the configuration of an existing scheduled job.

FieldTypeRequiredDescription
jobIdstringYesJob ID
inputValstringYesJob Title
selectionstringYesSchedule type (daily, weekly,monthly,last day of the month, first day of the month, anually, does not repeat, every week day,Adhoc)
dateValstringYesDate for scheduling (required unless selection is last day of the month or first day of the month)
timeValstringYesTime for scheduling
Response:
{
  "success": true,
  "message": "done."
}
    
Error Codes:
CodeMessageDescription
DNX_SCH_001Missing request bodyRequest body is required.
DNX_SCH_015Missing jobIdjobId is required.
DNX_SCH_002Missing jobTitlejobTitle is required.
DNX_SCH_006Missing selectionselection is required.
DNX_SCH_003Missing dateValdateVal is required.
DNX_SCH_004Invalid dateVal formatdateVal is present but not a valid date.
DNX_SCH_005Missing timeValtimeVal is required.
Example Request:
POST /updateJobScheduled
Content-Type: application/json

{
  "jobId": "123",
  "inputVal": "Updated Job",
  "selection": "weekly",
  "dateVal": "2025-08-08",
  "timeVal": "09:00"
}
    
Example Error Request:
POST /updateJobScheduled
Content-Type: application/json

{
  "jobId": "123",
  "selection": "weekly",
  "dateVal": "2025-08-08",
  "timeVal": "09:00"
}
    
Example Error Response:
{
  "error": true,
  "code": "DNX_SCH_002",
  "message": "Missing jobTitle"
}
    

POST /deleteScheduledJob

Description: Deletes a scheduled job and its associated tasks.

FieldTypeRequiredDescription
idstringYesJob ID
Response:
"success"
    
Error Codes:
CodeMessageDescription
DNX_SCH_001Missing request bodyRequest body is required.
DNX_SCH_015Missing idid is required.
DNX_SCH_017Delete failedJob/task deletion failed.
Example Request:
POST /deleteScheduledJob
Content-Type: application/json

{
  "id": "123"
}
    
Example Error Request:
POST /deleteScheduledJob
Content-Type: application/json

{}
    
Example Error Response:
{
  "error": true,
  "code": "DNX_SCH_015",
  "message": "Missing id"
}
    

API: POST /runjobAuditAutomationResult

Returns paginated audit results for automation jobs based on job ID or job title.

Request
FieldTypeRequiredDescription
jobIdvalstringYes*Job ID (required if jobTitleval is not provided)
jobTitlevalstringYes*Job Title (required if jobIdval is not provided)
pageNonumberNoPage number for pagination
pageSizenumberNoNumber of items per page

*Either jobIdval or jobTitleval must be provided.

Response
{
  "jobAuditResultAutomation": [ ... ],
  "totalNoOfRecords": 123
}
  
Error Codes
CodeMessageDescription
DNX_SCH_001 Request body is missing The request body is required.
DNX_SCH_020 Missing jobIdval or jobTitleval for job audit automation Either jobIdval or jobTitleval must be present.
Example Request
POST /runjobAuditAutomationResult
Content-Type: application/json

{
  "jobIdval": "12345",
  "pageNo": 1,
  "pageSize": 20
}
  
Example Error Response
{
  "error": true,
  "code": "DNX_SCH_020",
  "message": "Missing jobIdval or jobTitleval for job audit automation"
}
  

POST /runButtonWorkflow

Runs a workflow by workflowId.

Request (POST)

{
  "workflowId": "abc123",
}

Response (200)

{ ...workflow run result... }

Error Handling

CodeMessage
DNX_LIB_037‘workflowId’ is missing.

POST /getInboxList

Description: Returns a paginated list of inbox items for the user.

FieldTypeRequiredDescription
pageNonumberNoPage number for pagination
pageSizenumberNoNumber of items per page
showAdhocbooleanYesInclude Adhoc reports
showScheduledbooleanYesInclude Scheduled reports
filterValuestringNoOptional filter (date or text)
sortObjArrarrayNoOptional sorting array
Response:
{
  "data": [ ... ],
  "totalRecords": 123
}
    
Error Codes:
CodeMessageDescription
DNX_INB_001Missing request bodyRequest body is required.
DNX_INB_004Missing showAdhocshowAdhoc is required.
DNX_INB_005Missing showScheduledshowScheduled is required.
Example Request:
POST /getInboxList
Content-Type: application/json

{
    "pageNo": 1,
    "pageSize": 15,
    "showAdhoc": false,
    "showScheduled": false,
    "sortObjArr": [
        {
            "field": "generatedBy",
            "dir": "Ascending",
            "clickCount": 1,
            "viewColumnName": "generatedBy",
            "order": 0
        }
    ]
}
    
Example Error Request:
POST /getInboxList
Content-Type: application/json

{
  "showScheduled": false
}
    
Example Error Response:
{
  "error": true,
  "code": "DNX_INB_004,
  "message": "Missing showAdhoc"
}
    

POST /saveConnectors

Creates or updates a connector configuration for the authenticated client and user.

Request
FieldTypeRequiredDescription
typestringYesConnector type (e.g., S3, Azure, etc.)
namestringYesName of the connector
filePathstringNoContainer or file path
hoststringNoHost address
portnumberNoPort number
baseUrlstringNoBase URL
userNamestringNoUsername for authentication
passwordstringNoPassword for authentication
accessKeystringNoAccess key (for cloud connectors)
secretKeystringNoSecret key (for cloud connectors)
consumerKeystringNoConsumer key (for OAuth)
consumerSecretstringNoConsumer secret (for OAuth)
regionstringNoRegion (for cloud connectors)
editTypestringNoEdit type (add/update)
idstringNoConnector ID (for update)
localFileLocationstringNoLocal file location
sheetTypestringNoSheet type (for spreadsheet connectors)
clientIdstringNoGoogle client ID (for Google connectors)
clientSecretstringNoGoogle client secret
refreshTokenstringNoGoogle refresh token
key_idstringNoUnique key for the connector (auto-generated if not provided)
Response
{
  "success": true,
  "message": "done.",
  "insertedId": 123
}
  
Error Codes
CodeMessageDescription
DNX_CON_001 ‘obj’ is missing in request body. The obj field is required in the request body.
DNX_CON_002 ‘userId’ is missing in request context. User context is missing or invalid.
DNX_CON_003 ‘clientId’ is missing in request context. Client context is missing or invalid.
DNX_CON_004 ‘type’ is missing in connector object. The type field is required in obj.
DNX_CON_005 ‘name’ is missing in connector object. The name field is required in obj.
DNX_CON_006 Invalid or missing dateTimeStamp. dateTimeStamp is missing or not a valid date.
Example Request
POST /saveConnectors
Content-Type: application/json

{
  "obj": {
    "type": "S3",
    "name": "My S3 Connector",
    "host": "s3.amazonaws.com",
    "accessKey": "AKIA...",
    "secretKey": "SECRET...",
    "region": "us-east-1"
  }
}
  
Example Error Response
{
  "error": true,
  "code": "DNX_CON_004",
  "message": "'type' is missing in connector object."
}
  

POST /getConnectors

Retrieves a paginated and optionally filtered list of connectors for the authenticated client.

Request
FieldTypeRequiredDescription
idstringNoSchedule ID (to fetch the connectors based on Schedule ID)
paginatorSizenumberNoNumber of connectors per page
currentPagenumberNoCurrent page number
filterValuestringNoFilter string for connector name/type
allConnectionbooleanNoReturn all connectors if true
Response
{
  "connectors": [
    {
      "id": "123",
      "name": "My MySQL DB",
      "type": "mysql",
      "host": "localhost",
      "port": 3306,
      ...
    }
    // ...more connectors
  ],
  "totalRecords": 42,
  "currentPage": 1,
  "paginatorSize": 10
}
  
Error Codes
CodeMessageDescription
DNX_CON_003 ‘clientId’ is missing in request context. Client context is required to fetch connectors.
Example Request
POST /getConnectors
Content-Type: application/json

{
  "paginatorSize": 10,
  "currentPage": 1,
  "filterValue": "mysql"
}
  
Example Response
{
  "connectors": [
    {
      "id": "123",
      "name": "My MySQL DB",
      "type": "mysql",
      "host": "localhost",
      "port": 3306
    }
  ],
  "totalRecords": 1,
  "currentPage": 1,
  "paginatorSize": 10
}
  
Example Error Response
{
  "error": true,
  "code": "DNX_CON_003",
  "message": "'clientId' is missing in request
}

POST /getConnectorDetail

Retrieves detailed information for a specific connector by its ID.

Request
FieldTypeRequiredDescription
id string Yes The unique identifier of the connector whose details are to be fetched.
Response
{
  "id": "123",
  "name": "My MySQL DB",
  "type": "mysql",
  "host": "localhost",
  "port": 3306,
  "userName": "root",
  "region": "us-east-1",
  ...
}
  
Error Codes
CodeMessageDescription
DNX_CON_008 Connector ID is required The id field is missing in the request body.
Example Request
POST /getConnectorDetail
Content-Type: application/json

{
  "id": "123"
}
  
Example Response
{
  "id": "123",
  "name": "My MySQL DB",
  "type": "mysql",
  "host": "localhost",
  "port": 3306,
  "userName": "root"
}
  
Example Error Response
{
  "error": true,
  "code": "DNX_CON_008",
  "message": "Connector ID is required"
}