Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Warning
titlePage in development

This page is in development and as such, its contents may be incorrect

The schedules API provides functionality that allows a an administrator to add, delete or update schedules

toc
Easy Heading Free
navigationTitleOn this Page
navigationExpandOptionexpand-all-by-default

Pagination query string parameters

Sorting query string parameters

Section
List

Get all schedules

Lists all the schedules configured in the Aspire, this endpoint needs at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb
GET /aspire/_api/schedules

Query String Parameters

NameTypeRequiredDescription
typestringOptionalFilter returned schedules to only those with the given type
Section

Get all schedules, filtered

Lists schedules configured in Aspire, filtered by the specified criteria, this endpoint needs at least the OPERATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

POST /aspire/_api/schedules/getAll

Pagination query string parameters

Sorting query string parameters

Filters: Find the schedule filter definition here

descriptionstringOptionalFilter returned schedules to only those whose description matches the given expression

Response

Code Block
languagejs
themeRDark
{
    "schedulecount": [{
        "idtotalItems": "AAABcID5GBc=",1
    "type": "time"},
    "descriptionschedule": "Weekly seeds"
[
     "running": false,
   {
     "enabled       "id": true"258962bd-1ad0-4881-af16-ed7774857ab5",
     "time": {
      "scheduleTypetype": "weeklytime",
            "scheduledescription": "* * * * 1Test schedules",
      "last": 123456789,
      "nextenabled": 123456789"true",
    },
        "seedschedule": ["AAABcIueWUd=", "AAABcIueWUe="]
  }"0 3 1/5 ? * *",
  {
     "id": "AAABcIueWUc=",
    "typeafter": "sequentialpepo",
    "description": "Rollup"
        "runningseeds": false,[
    "enabled": false,
      "sequence": {
      "after": "AAABcID5GBc=",
 81e23e44-4952-4938-8b1c-67b9101a3aad",
     "last": 123456789,
    },
    "seed": ["AAABcIueWUd=", "AAABcIueWUe="] "09db4593-ce57-4edd-9e24-1dc0d8dc4e24"
  },
    ...
  }    ],
            "messagecrawlMode": "optional response message"
}

Status

Response codeDescription200Success
full",
            "action": "start"
        }
    ]
}  

Status: 200




Section

Get a single schedule

information

This endpoint needs at least the ADMINISTRATOR role to be executed.Get information about a single schedule configured in Aspire

Panel
borderColorblack
bgColor#fafafb

GET /aspire/_api/schedules/:id


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe id of the schedule to return


Response

Code Block
languagejs
themeRDark
{
    "schedule": {
        "id": "AAABcID5GBc=258962bd-1ad0-4881-af16-ed7774857ab5",
        "type": "time",
        "description": "WeeklyTest seedsschedules",
    "running": false,
    "enabled": "true",
        "timeschedule": { "0 3 1/5 ? * *",
        "scheduleTypeafter": "weeklypepo",
        "scheduleseeds": [
  "* * * * 1",
      "last": 12345678981e23e44-4952-4938-8b1c-67b9101a3aad",
      "next": 123456789,
    },
    "seed": ["AAABcIueWUd=", "AAABcIueWUe="]
  },
  "message": "optional response message"
}

Status

Response codeDescription
200Success
404The given schedules id was not found
"09db4593-ce57-4edd-9e24-1dc0d8dc4e24"
        ],
        "crawlMode": "full",
        "action": "start"
    }
}

Status: 200, 404




Section

Add schedule(s) to Aspire

This endpoint needs at least the ADMINISTRATOR role to be executed.

Section

Add schedules

Add one or more schedules to Aspire

Panel
borderColorblack
bgColor#fafafb
POST /aspire/_api/schedules


Request Body ParametersParameters 

NameTypeRequiredDescription
typestringRequired

The type of schedule to add

  • "time"
  • "sequence"
descriptionstring
Optional
Required
An optional description
Description of the schedule

Other parameters passed in the request body will depend on the type of schedule being created. Some candidates are shown below

NameDescription
enabledWhether this schedule is enabled or not
scheduleType

The type of the time based schedule

  • hourly
  • daily
  • weekly
  • monthly
  • custom
schedulethe cron like schedule for a time based schedule
afterthe id of the schedule after which this schedule should run (for a sequence based schedule)
seedthe seed(s) this schedule applies to
seedsstringOptionalthe seed(s) this schedule applies to (If we do not insert seeds, the schedule is useful just for testing purposes)
seedsFilterstringOptionalThe filter for finding seeds this schedules applies to. JSON format follows the format of the filter for seeds. If the above "seeds" parameter has been used, then the "seedsFilter" will be ignored when the schedule starts.
actionstringRequired if seeds are used

The action to perform by the scheduled task:

  • "start"
  • "stop"
  • "pause"
  • "resume"
crawlModestringRequired if seeds are used and action = start

The type of crawl to perform by the scheduled task:

  • "full"
  • "incremental"
  • "identity"
completeThresholdnumberOptionalPercentage of seeds to complete their crawl before continuing with the next schedule in the sequence. The value is a  number up to 1. E.g. 0.69 means 69 %. Default is 1.
enabledbooleanOptionalWhether this schedule is enabled or not. Defaults to false if omitted.

Other parameters passed in the request body will depend on the type of schedule being created. Some candidates are shown below:

NameTypeRequiredDescription
schedulestringRequired if type is "time"the cron like schedule for a time-based schedule
scheduleTimeTypestringRequired for UI if type is "time"

The type of the time-based schedule

  • "hourly"
  • "daily"
  • "weekly"
  • "monthly"
  • "custom"
afterstringRequired if type is "sequence"the ID of the schedule, after which this schedule should run
stopOnFailbooleanRequired if type is "sequence"Whether this schedule sequence will stop if the previous schedule crawl fails is enabled or not. Defaults to false if omitted.


Example 

Code Block
languagejs
themeRDark
POST /aspire/_api/schedules
[{
  "type": "time",
  "description": "Weekly seeds

Examples

Add a single schedule

Code Block
languagejs
POST /aspire_api/schedules
{
  "type": "time",
  "description": "Weekly seeds"
  "enabled": true,
  "scheduleType": "weekly",
  "schedule": "* * * * 1",
  "seed": ["AAABcIueWUd=", "AAABcIueWUe="]
}

Add multiple schedules

Code Block
languagejs
POST /aspire_api/schedules
[{
  "type": "time",
  "description": "Weekly seeds"
  "enabled": true,
  "scheduleType": "weekly",
  "schedule": "* * * * 1",
  "seed": ["AAABcIueWUd=", "AAABcIueWUe="]
},
{
  "type": "sequence",
  "description": "Rollup"
  "enabled": falsetrue,
  "afterstopOnFail": "* * * * 1",true, 
  "seedscheduleTimeType": ["AAABcIudWUd=weekly", "AAABcIudWUe="]
}]

Response

Code Block
languagejs
{
  "schedule": [{
    "id": "AAABcIueWU0""0 0 0 ? * SUN *",
    "typecompleteThreshold": "time"0.65,
    "descriptionseeds": ["Weekly seeds"AAABcIueWUd=", "AAABcIueWUe="],
    "enabled": true"seedsFilter":{"tags":["tag1","tag2"]},
     "scheduleTypeaction": "weeklystart",
    "schedulecrawlMode": "* * * * 1"full"
},
{
    "seedtype": ["AAABcIueWUd=sequence",
  "AAABcIueWUe="]description": "Rollup"
  "enabled": }false,
   {
"stopOnFail": true,  
  "idafter": "AAABcIueWU1",
    "type": "sequence",
    "description": "Rollup"
    "enabled": false0 0 0 ? * SUN *",    
  "completeThreshold": 0.65,
    "afterseeds": ["AAABcIudWUd="* * * * 1",
    "seed": ["AAABcIudWUd=", "AAABcIudWUe="]
 }],
, "AAABcIudWUe="],    
  "seedsFilter":{"tags":["tag1","tag2"]},
  "messageaction": "start"optional response message,
  "crawlMode": "incremental"
}]


StatusResponse 

Response
Code Block
Description
language
201
js
Created
theme
406Not acceptable - there was an issue validating the input Section

Update schedules

Update one or more schedules in Aspire. Updates will be treated as partial updates rather than overwrites. If a field is not present in the input, any previous value will remain after the update. If you wish to "delete" a value, pass a value of null

Panel
borderColorblack
bgColor#fafafb

PUT /aspire_api/schedules/:id

PUT /aspire_api/schedules

Path and Request Body Parameters

NameTypeRequiredDescriptionidstringRequiredThe identifier of the schedule to updatetypestringRequiredThe type of scheduledescriptionstringOptionalAn optional description of the schedule
RDark
{
  "schedule": [{
    "id": "AAABcIueWU0",
    "type": "time",
    "description": "Weekly seeds"
    "enabled": true,
    "stopOnFail": true,  
    "scheduleTimeType": "weekly",
    "schedule": "0 0 0 ? * SUN *",    
    "completeThreshold": 0.65,
    "seeds": ["AAABcIueWUd=", "AAABcIueWUe="],    
    "seedsFilter":{"tags":["tag1","tag2"]},
    "action": "start",
    "crawlMode": "full"
   },
   {
    "id": "AAABcIueWU1",
    "type": "sequence",
    "description": "Rollup"
    "enabled": false,
    "stopOnFail": true,  
    "after": "0 0 0 ? * SUN *",
    "completeThreshold": 0.65,
    "seeds": ["AAABcIudWUd=", "AAABcIudWUe="],    
    "seedsFilter":{"tags":["tag1","tag2"]},
    "action": "start",
    "crawlMode": "incremental"
 }]
}

See Response Body for details regarding the response body returned where multiple items are affected with some (or all) returning errors

Status: 201, 406




Section

Update schedule(s)

Update schedules in Aspire. This endpoint needs at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

PUT /aspire/_api/schedules/:id

PUT /aspire/_api/schedules


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the schedule to update


Body Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the schedule to update
(see add schedule)
x

x - at least one field must be present


Example 

Code Block
languagejs
themeRDark
PUT /aspire/_api/schedules
{
  "AAABcIueWU0=": {
    "id": "AAABcIueWU0",
    "description": "Weekly seeds"
    "enabled": true,
	"stopOnFail": true,  
    "scheduleTimeType": "weekly",
    "schedule": "0 0 0 ? * SUN *",
    "seeds": ["AAABcIueWUd=", "AAABcIueWUe="],    
    "seedsFilter":{"tags":["tag1","tag2"]},
    "action": "start",
    "crawlMode": "full"
  },
  "AAABcIueWU1": {
    "id": "AAABcIueWU1",
    "description": "Rollup"
    "enabled": false,
	"stopOnFail": true,  
    "schedule": "0 0 0 ? * SUN *",
    "seeds": ["AAABcIudWUd=", "AAABcIudWUe="],
    "seedsFilter":{"tags":["tag1","tag2"]},
    "action": "start",
    "crawlMode": "incremental"
  }
}


Response 

Code Block
languagejs
themeRDark
{"schedule":[{"updated":true,"id":"AAABcID5GBc="},{"updated":true,"id":"AAABcID5GBd="}]}

Status: 200, 404, 406


Section

Update schedules, filtered

Update schedules configured in the Aspire, filtered by specified criteria. This endpoint needs at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

PUT /aspire/_api/schedules/updateAll

Filters: Check the schedule filter definition here.

Update body parameter

Code Block
themeRDark
{
  "update" : {
    "description" : "DESCRIPTION",
    "schedule" : "SCHEDULE",
    "action" : "ACTION",
    "after" : "AFTER",
    "crawlMode" : "crawlMode",
    "enabled" : "ENABLED",
    "stopOnFail": true,  
    "scheduleTimeType" : "SCHEDULE_TIME_TYPE",
    "seeds" : ["SEED1", "SEED2", "SEED3", ...],      
    "seedsFilter":{"tags":["tag1","tag2"]},
    "seeds.add" : ["SEED1", "SEED2", "SEED3", ...],
    "seeds.remove" : ["SEED1", "SEED2", "SEED3", ...],  }
}

Response

Code Block
languagejs
themeRDark
{
  "message": "update result response message"
}

Status: 200, 406




Section

Delete schedules(s)

Delete one or more schedules from Aspire. This endpoint needs at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

DELETE /aspire/_api/schedules/:id

DELETE /aspire/_api/schedules

POST /aspire/_api/schedules/delete


Path Parameters and Query parameters

NameTypeRequiredDescription
idstringRequiredThe identifier(s) of the schedule(s) to delete


Body Parameter

NameTypeRequiredDescription
idsstringRequiredThe identifier(s) of the schedule(s) to delete


Examples

Code Block
languagejs
themeRDark
DELETE /aspire/_api/schedules/AAABcID5GBc

DELETE /aspire/_api/schedules?id=AAABcID5GBc&id=AAABcID5GBd

POST /aspire/_api/schedules/delete
{
  "ids":["AAABcID5GBc","AAABcID5GBd"]
}


Response

Code Block
languagejs
themeRDark
{
  "message": "delete result response message"
}

Status: 200, 404, 406


Section

Delete multiple schedules, filtered

Delete multiple schedules from Aspire, filtered by a specified criteria. This endpoint needs at least the ADMINISTRATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

POST /aspire/_api/schedules/deleteAll

Filters: See the schedule filter definition here.

Response

Code Block
languagejs
themeRDark
{
  "message": "optional response message"
}

Status: 200




Section

Export schedule(s)

Export one or more schedule from Aspire, this endpoint needs at least the OPERATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

GET /aspire/_api/schedule/export

GET /aspire/_api/schedules/export/:id

POST /aspire/_api/schedules/exportAll

Info

Every configuration item has the option to export from the UI, using the single menu or by the bulk actions:

Image AddedImage Added

Note

Something important that you need to know is that when you export a config item that depends on another, the export will contain also all the dependencies.

Note

Take into consideration that components with resources loaded into elastic, will be exported, but the resource itself will not, so you will need to reupload the resource and go and select your resource in the component again.


Path Parameters and Query parameters

NameTypeRequiredDescription
idstringRequiredThe identifier(s) of the schedule(s) to export


Body Parameter

NameTypeRequiredDescription
idsstringRequiredThe identifier(s) of the schedule(s) to export


Examples

Code Block
languagejs
themeRDark
GET /aspire/_api/schedules/export/AAABcID5GBc

DELETE /aspire/_api/schedules/export?id=AAABcID5GBc&id=AAABcID5GBd

POST /aspire/_api/schedules/export
{
  "ids":["AAABcID5GBc","AAABcID5GBd"]
}


Response

Code Block
languagejs
themeRDark
{
  "export": {
    "schedules": {
      "schedule": {
        "id": "<schedule_id>",
        "type": "time",
        "description": "test",
        "enabled": "false",
        "scheduleTimeType": "daily",
        "stopOnFail": false,
        "schedule": "0 0 0 1\/1 * ?",
        "after": null,
        "seeds": "<seed_id>",
        "crawlMode": "full",
        "completeThreshold": 1.0,
        "action": "pause"
      },
      ...
    },
    "seeds": {
      "seed": [
        {
          "id": "<seed_id>",
          "type": "rest-api",
          "description": "RestSeed",
          "connector": "<connector_id>",
          "seed": "N\/A",
          "priority": "medium",          
          "connection": "<connectio_id>",
          "workflows": [
            "<workflow_id>"
          ],
          "properties": {
            "seed": "N\/A",
            "crawlRules": [
              ...
            ],
            "stopOnScannerError": true
          }
        },
        ...
      ]
    },
    "connectors": {
      "connector": [
        {
          "id": "<connector_id>",
          "artifact": "com.accenture.aspire:aspire-rest-source",
          "type": "rest-api",
          "description": "RestConnector",
          "properties": {
            "debug": false,
            "wDebug": false,
            ...
          }
        },
        ...
      ]
    },
    "connections": {
      "connection": [
        {
          "id": "<connection_id>",
          "type": "rest-api",
          "description": "RestConnection",
          "properties": {
            ....
          }
        },
        ...
      ]
    },
    "workflows": {
      "workflow": [
        {
          "id": "<workflow_id>",
          "type": "connector",
          "description": "myWorkFlow",
          "templates": {
            ...            
          },
          "events": {
            "event": [
              ...
            ]
          },
          "rules": {
            "rule": [
              ...
            ]
          }
        },
        ...
      ]
    }
  }
}

Status: 200, 404, 406


Section

Export multiple schedules, filtered

Export multiple schedules from Aspire, filtered by a specified criteria, this endpoint needs at least the OPERATOR role to be executed.

Panel
borderColorblack
bgColor#fafafb

POST /aspire/_api/schedules/exportAll

Filters: The connection filter definition here

Response

Code Block
languagejs
themeRDark
{
  "export": {
    "schedules": {
      "schedule": {
        "id": "<schedule_id>",
        "type": "time",
        "description": "test",
        "enabled": "false",
        "scheduleTimeType": "daily",
        "stopOnFail": false,
        "schedule": "0 0 0 1\/1 * ?",
        "after": null,
        "seeds": "<seed_id>",
        "crawlMode": "full",
        "completeThreshold": 1.0,
        "action": "pause"
      },
      ...
    },
    "seeds": {
      "seed": [
        {
          "id": "<seed_id>",
          "type": "rest-api",
          "description": "RestSeed",
          "connector": "<connector_id>",
          "seed": "N\/A",
          "priority": "medium",          
          "connection": "<connectio_id>",
          "workflows": [
            "<workflow_id>"
          ],
          "properties": {
            "seed": "N\/A",
            "crawlRules": [
              ...
            ],
            "stopOnScannerError": true
          }
        },
        ...
      ]
    },
    "connectors": {
      "connector": [
        {
          "id": "<connector_id>",
          "artifact": "com.accenture.aspire:aspire-rest-source",
          "type": "rest-api",
          "description": "RestConnector",
          "properties": {
            "debug": false,
            "wDebug": false,
            ...
          }
        },
        ...
      ]
    },
    "connections": {
      "connection": [
        {
          "id": "<connection_id>",
          "type": "rest-api",
          "description": "RestConnection",
          "properties": {
            ....
          }
        },
        ...
      ]
    },
    "workflows": {
      "workflow": [
        {
          "id": "<workflow_id>",
          "type": "connector",
          "description": "myWorkFlow",
          "templates": {
            ...            
          },
          "events": {
            "event": [
              ...
            ]
          },
          "rules": {
            "rule": [
              ...
            ]
          }
        },
        ...
      ]
    }
  }
}

Status: 200




Section

Import

The import usage can be found here





Section

Filters
Anchor
FiltersAnchor
FiltersAnchor

 Some endpoint queries require a filter. A filter is basically a JSON object with the following format:

Schedule filter:

Code Block
languagejs
themeRDark
{ 
 "filter" : {
    "ids" : ["ID1", "ID2", "ID3", ...],
    "type" : "TYPE",
    "description" : "DESCRIPTION",
	"seeds" : ["SEED1", "SEED2", "SEED3", ...]
  }
}




Other parameters passed in the request body will depend on the type of schedule being created - see Add schedule(s) above

Examples

Update a single schedule

Section

Execute schedules 

Execute schedules, either sequence or time based. This endpoint needs at least an ADMINISTRATOR role to be executed

Code Block
languagejs
PUT /aspire_api/schedules/AAABcIueWU0%3D
{
  "id": "AAABcIueWU0=",
  "type": "time",
  "description": "Weekly seeds"
  "enabled": true,
  "scheduleType": "weekly",
  "schedule": "* * * * 1",
  "seed": ["AAABcIueWUd=", "AAABcIueWUe="]
}

Update multiple schedules

Code Block
languagejs
PUT /aspire_api/schedules
{
  "AAABcIueWU0=": {
    "id": "AAABcIueWU0",
    "type": "time",
    "description": "Weekly seeds"
    "enabled": true,
    "scheduleType": "weekly",
    "schedule": "* * * * 1",
    "seed": ["AAABcIueWUd=", "AAABcIueWUe="]
  },
  "AAABcIueWU1": {
    "id": "AAABcIueWU1",
    "type": "sequence",
    "description": "Rollup"
    "enabled": false,
    "after": "* * * * 1",
    "seed": ["AAABcIudWUd=", "AAABcIudWUe="]
  }
}

Response

Code Block
languagejs
{
  "schedule": [{
    "id": "AAABcIueWU0",
    "type": "time",
    "description": "Weekly seeds"
    "enabled": true,
    "scheduleType": "weekly",
    "schedule": "* * * * 1",
    "seed": ["AAABcIueWUd=", "AAABcIueWUe="]
   },
   {
    "id": "AAABcIueWU1",
    "type": "sequence",
    "description": "Rollup"
    "enabled": false,
    "after": "* * * * 1",
    "seed": ["AAABcIudWUd=", "AAABcIudWUe="]
    }],

  "message": "optional response message"
}

Status

Response codeDescription201Created404Not found - a given schedule identifier was not found406Not acceptable - there was an issue validating the input Section

Delete schedules

Delete one or more schedules from Aspire.

Panel
borderColorblack
bgColor#fafafb

DELETE POST /aspire/_api/schedule/:id

DELETE /aspire_api/schedule

schedules/execute

Path and Request Body Parameters

identifier(s) (s) to delete
NameTypeRequiredDescription
idstringRequiredThe ID of the schedule


Examples

Delete Executes a single schedule

Code Block
themeRDark
{
  "id" : "AAABcIueWU1"
}

Executes multiple schedules

Code Block
theme
languagejs
DELETE /aspire_api/schedule/AAABcID5GBc%3D
RDark
{   
	"id" : ["AAABcIueWU1", "AAABcIueWU2"] 
}

ResponseDelete multiple schedules

Code Block
languagejs
DELETE /aspire_api/schedule?id=AAABcID5GBc%3d&id=AAABcIueWUc%3D

Response

Code Block
languagejs
{
  "message": "optional response message"
}

Status

Response codeDescription200Success404Not found - a given schedule identifier was not found406Not acceptable - there was an issue validating the input
themeRDark
{
    "AAABcIueWU1": {
        "status": "success"
    },
	"AAABcIueWU2": {
        "status": "failed"
    }
}

Status: 200, 404