 Find a Schedule
 Find a Schedule
                                    { findSchedule }
Returns a schedule based on the search criteria
Method
- Enterprise Admin
- Domain Admin
- Pro
Input Parameters
Name
searchCriteria
Object Type
Description
The search criteria object for finding a schedule.
Output Response
Successful Result Code
200
Response List Type
Description of Response Type
The schedule listing object.. Note that the response is returned as a list of items of this object type.
Notes
Schedules are available for different types of content: data flow processing, publications, alerts etc.
Examples
 Find and Run a scheduled task (JavaScript):
Find and Run a scheduled task (JavaScript):
                                        This example demonstrates how to find a item's schedule and then run it programmatically.
The example uses API authentication driven from JavaScript. See Authentication APIs for alternatives.
// URL of the Pyramid installation and the path to the API 3.0 REST methods
var pyramidURL = "http://mysite.com/api3/";
// step 1: authenticate admin account and get token
// NOTE: callApi method is a generic REST method shown below.
let token = callApi("authentication/authenticateUser",{
	"userName":"adminUser",
	"password":"abc123!"
},"",false);
log("got token "+token);
// step 2: get all the schedules in the system based on name search
let findSchedule= callApi("tasks/findSchedule ",{
	"searchCriteria":{
		"searchValue":"My Demo Schedule",
		"searchMatchType":2
	},
	"scheduleType":1
},token);
// step 3: extract the schedule ID property from the returned schedule that matches "My Demo Schedule"
let scheduleId = findSchedule[0].scheduleId
// step 4: launch a run of the chosen schedule now, without triggers
let runSchedule = callApi("tasks/runSchedule ",{"scheduleId": scheduleId,"checkTriggers":"false"},token);
if(runSchedule.error!=null){
	throw new Error(runSchedule.error);
}
				
				
// step 5A: OPTIONAL: get details to check running status of scheduled event. First, get execution ID
let executionId=runSchedule;
				
//stet 5B: get execution item's status. 
let taskData= callApi("tasks/getScheduleExecutionStatus ",executionId ,token);
log("executionId status is "+executionStatus[taskData.status]);
//step 5C: check status every 3 seconds
if(taskData.status!=1){
	setTimeout(getStatus,3000);
}
			
				
////############ alternative approach #################
//step 6a: get task items in that execution. 
let tasks= callApi("tasks/getTasksIds ",executionId,token);
//step 6B: get the ID of the single task in that execution. 
let taskId = tasks[0].id
log("got task "+taskId);
//step 6C: get status of the task. 
getStatus();
function getStatus(){
	let taskData= callApi("tasks/getTaskData ",taskId ,token);
	log("task status is "+taskData.status);
	if(taskData.status!=1){
		setTimeout(getStatus,3000);
	}
}
				
////############ other methods #################
//step 7: pause the schedule
let suspend= callApi("tasks/suspendSchedule",scheduleId, token);
//step 8: restart the schedule
let resume= callApi("tasks/resumeSchedule",scheduleId, token);
// ##### optional generic login method for debugging ##############
function log(msg){
	document.write(msg);
	console.log(msg);
}
// ##### generic REST API calling method ##############
function callApi(path,data,token="",parseResult=true){
	var xhttp = new XMLHttpRequest();
	xhttp.open("POST", pyramidURL+path, false);
	xhttp.setRequestHeader("paToken",token)
	xhttp.send(JSON.stringify(data));
	if(parseResult){
		return JSON.parse(xhttp.responseText);
	}else{
		return xhttp.responseText;
	}
}
		Code Snippets
Use the Authentication API methods to generate an access 'key' or 'token' for use in code as shown below.
curl -X POST \
-H "paToken: [[apiKey]]" \
 -H "Accept: application/json,application/json;charset=utf-8,text/plain,text/plain;charset=utf-8" \
 -H "Content-Type: application/json" \
 "http://Your.Server.URL/API3/tasks/findSchedule" \
 -d '{
  "searchCriteria" : {
    "searchValue" : "searchValue"
  }
}'
import com.pyramidanalytics.*;
import com.pyramidanalytics.auth.*;
import com.pyramidanalytics.model.*;
import com.pyramidanalytics.api.TasksServiceApi;
import java.util.*;
import java.time.*;
public class TasksServiceApiExample {
    public static void main(String[] args) {
        ApiClient defaultClient = Configuration.getDefaultApiClient();
        defaultClient.setBasePath("http://Your.Server.URL/");
        
        // Configure API key authorization: paToken
        ApiKeyAuth paToken = (ApiKeyAuth) defaultClient.getAuthentication("paToken");
        paToken.setApiKey("YOUR API KEY");
        // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
        //paToken.setApiKeyPrefix("Token");
        // Create an instance of the API class
        TasksServiceApi apiInstance = new TasksServiceApi();
        // Initialize the searchCriteria parameter object for the call
        ScheduleSearchCriteria searchCriteria = ; // Create the input object for the operation, type: ScheduleSearchCriteria 
        try {
            // "array[ScheduleViewObject]" is only psaudo-code to symbolize list of type and not the actual usage 
            array[ScheduleViewObject] result = apiInstance.findSchedule(searchCriteria);
            System.out.println(result);
        } catch (ApiException e) {
            System.err.println("Exception when calling TasksServiceApi#findSchedule");
            e.printStackTrace();
        }
    }
}
import * as PyramidAnalyticsWebApi from "com.pyramidanalytics";
// Create an instance of the API class
const api = new PyramidAnalyticsWebApi.TasksServiceApi("http://Your.Server.URL")
// Configure API key authorization: paToken
api.setApiToken("YOUR API KEY");
const searchCriteria = ; // {ScheduleSearchCriteria} 
api.findSchedule(searchCriteria).then(function(data) {
  console.log('API called successfully. Returned data: ' + data);
}, function(error) {
  console.error(error);
});
using System;
using System.Diagnostics;
using PyramidAnalytics.Sdk.Api;
using PyramidAnalytics.Sdk.Client;
using PyramidAnalytics.Sdk.Model;
public class findScheduleExample
{
    public static void Main()
    {
        Configuration conf = new Configuration();
        conf.BasePath = "http://Your.Server.URL/";
        
        
        // Configure API key authorization: paToken
        conf.ApiKey.Add("paToken", "YOUR_API_KEY");
        // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
        // conf.ApiKeyPrefix.Add("paToken", "Bearer");
        GlobalConfiguration.Instance = conf;
        
        // Create an instance of the API class
        var apiInstance = new TasksServiceApi();
        // Initialize the searchCriteria parameter object for the call
        var searchCriteria = new ScheduleSearchCriteria(); // ScheduleSearchCriteria | 
        try {
            // Returns a schedule based on the search criteria
            // "array[ScheduleViewObject]" is only psaudo-code to symbolize array of type and not the actual usage 
            array[ScheduleViewObject] result = apiInstance.findSchedule(searchCriteria);
            Debug.WriteLine(result);
        } catch (Exception e) {
            Debug.Print("Exception when calling TasksServiceApi.findSchedule: " + e.Message );
        }
    }
}
import com.pyramidanalytics
from com.pyramidanalytics import ApiException
from com.pyramidanalytics import TasksServiceApi
from pprint import pprint
        
# Configure API key authorization: paToken
api_config = com.pyramidanalytics.Configuration(host = 'http://Your.Server.URL/', api_key={ paToken:'YOUR_ACCESS_TOKEN' })
with com.pyramidanalytics.ApiClient(api_config) as api_client:
    # Create an instance of the API class
    api_instance = TasksServiceApi(api_client)
    # Initialize the searchCriteria parameter object for the call
    searchCriteria =  # ScheduleSearchCriteria | 
    try:
        # Returns a schedule based on the search criteria
        api_response = api_instance.find_schedule(searchCriteria)
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling TasksServiceApi->findSchedule: %s\n" % e)<?php
require_once(__DIR__ . '/vendor/autoload.php');
OpenAPITools\Client\Configuration::getDefaultConfiguration()->setHost('http://Your.Server.URL');
// Configure API key authorization: paToken
OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKey('paToken', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('paToken', 'Bearer');
// Create an instance of the API class
$api_instance = new OpenAPITools\Client\Api\TasksServiceApi();
$searchCriteria = ; // ScheduleSearchCriteria | 
try {
    $result = $api_instance->findSchedule($searchCriteria);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling TasksServiceApi->findSchedule: ', $e->getMessage(), PHP_EOL;
}
?> ScheduleSearchCriteria
 ScheduleSearchCriteria