Versions Compared

Key

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


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

Section

Get all schedules

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

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

Pagination query string parameters

Sorting query string parameters

Section

Get all schedules, filtered

Lists schedules configured in the Aspire, filtered by a the specified criteria,  this this endpoint need the 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: The Find the schedule filter definition definition here

Response

Code Block
languagejs
themeRDark
{
    "count": {
        "totalItems": 1
    },
    "schedule": [
        {
            "id": "258962bd-1ad0-4881-af16-ed7774857ab5",
            "type": "time",
            "description": "Test schedules",
            "enabled": "true",
            "schedule": "0 3 1/5 ? * *",
            "after": "pepo",
            "seeds": [
                "81e23e44-4952-4938-8b1c-67b9101a3aad",
                "09db4593-ce57-4edd-9e24-1dc0d8dc4e24"
            ],
            "crawl_modecrawlMode": "full",
            "action": "start"
        }
    ]
}  

Status: 200




Section

Get a single schedule

information

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

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": "258962bd-1ad0-4881-af16-ed7774857ab5",
        "type": "time",
        "description": "Test schedules",
        "enabled": "true",
        "schedule": "0 3 1/5 ? * *",
        "after": "pepo",
        "seeds": [
            "81e23e44-4952-4938-8b1c-67b9101a3aad",
            "09db4593-ce57-4edd-9e24-1dc0d8dc4e24"
        ],
        "crawl_modecrawlMode": "full",
        "action": "start"
    }
}

Status: 200, 404




Section

Add schedule(s)

Add schedules

to Aspire

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

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


Body Parameters 

NameTypeRequiredDescription
typestringRequired

The type of schedule to add

  • "time"
  • "sequence"
descriptionstringRequiredDescription of the schedule
action
seedsstring
Required

The action to perform by the scheduled task

  • "start"
  • "stop"
  • "pause"
  • "resume"
crawl_modestringRequired
Optionalthe 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

The type of crawl

to perform by the scheduled task:

  • "start"
  • "
full
  • stop"
  • "
incremental
  • pause"
  • "
identity"

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

  • 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:

The type of the time based schedule

  • "hourly"
  • "daily"
  • "weekly"
  • "monthly"
  • "custom"
    NameTypeRequiredDescription
    NameTypeRequiredDescription
    enabledbooleanOptionalWhether this schedule is enabled or not. Defaults to false if omitted.
    scheduleTimeTypestringRequired if type is "time"
    schedulestringRequired if type is "time"the cron like schedule for a time-based schedule
    afterscheduleTimeTypestringOptionalthe id of the schedule after which this schedule should run (for a sequence based schedule)
    seedsstringOptionalthe seed(s) this schedule applies to

    Example 

    Required 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": "
    Code Block
    languagejs
    POST /aspire/_api/schedules
    [{
      "type": "time",
      "description": "Weekly seeds"
      "enabled": true,
      "stopOnFail": true, 
      "scheduleTimeType": "weekly",
      "schedule": "*0 *0 0 ? * SUN * 1"",
      "completeThreshold": 0.65,
      "seeds": ["AAABcIueWUd=", "AAABcIueWUe="],
      "seedsFilter":{"tags":["tag1","tag2"]},
      "action": "start",
      "crawl_modecrawlMode": "full"
    },
    {
      "type": "sequence",
      "description": "Rollup"
      "enabled": false,
      "afterstopOnFail": "* * * * 1",true,  
      "seedsafter": ["AAABcIudWUd=", "AAABcIudWUe="]"0 0 0 ? * SUN *",    
      "completeThreshold": 0.65,
      "seeds": ["AAABcIudWUd=", "AAABcIudWUe="],    
      "seedsFilter":{"tags":["tag1","tag2"]},
      "action": "start",
      "crawl_modecrawlMode": "incremental"
    }]


    Response 

    Code Block
    languagejs
    themeRDark
    {
      "schedule": [{
        "id": "AAABcIueWU0",
        "type": "time",
        "description": "Weekly seeds"
        "enabled": true,
        "stopOnFail": true,  
        "scheduleTimeType": "weekly",
        "schedule": "0 0 0 ? * SUN * * * 1"",    
        "completeThreshold": 0.65,
        "seeds": ["AAABcIueWUd=", "AAABcIueWUe="],    
        "seedsFilter":{"actiontags": "start"["tag1","tag2"]},
         "crawl_mode"action": "start",
        "crawlMode": "full"
       },
       {
        "id": "AAABcIueWU1",
        "type": "sequence",
        "description": "Rollup"
        "enabled": false,
        "stopOnFail": true,  
        "after": "0 0 0 ? * SUN *",
     *  * 1""completeThreshold": 0.65,
         "seeds": ["AAABcIudWUd=", "AAABcIudWUe="],
        "action": "start",
        "crawl_modeseedsFilter": {"incremental"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 need the . 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
    descriptionstringxDescription of the schedule
    schedulestringxthe cron like schedule for a time based schedule
    actionstringx

    The action to perform by the scheduled task

    • "start"
    • "stop"
    • "pause"
    • "resume"
    afterstringxthe id of the schedule after which this schedule should run (for a sequence based schedule)
    crawl_modestringx

    The type of crawl to perform by the scheduled task

    • "full"
    • "incremental"
    • "identity"
    enabledbooleanxWhether this schedule is enabled or not
    scheduleTimeTypestringx

    The type of the time based schedule

    • "hourly"
    • "daily"
    • "weekly"
    • "monthly"
    • "custom"
    seedsstringxthe seed(s) this schedule applies to

    x - at least one field must be present

    Example 

    (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"
    Code Block
    languagejs
    PUT /aspire/_api/schedules
    {
      "AAABcIueWU0=": {
        "id": "AAABcIueWU0",
        "description": "Weekly seeds"
        "enabled": true,
        "scheduleTimeTypecrawlMode": "weeklyfull",
      },
      "scheduleAAABcIueWU1": "* * * * 1",{
        "seedsid": ["AAABcIueWUd=", "AAABcIueWUe="]AAABcIueWU1",
        "actiondescription": "startRollup",
        "crawl_modeenabled": "full"
      }false,
      	"AAABcIueWU1stopOnFail": {
      true,  "id": "AAABcIueWU1",
         "descriptionschedule": "Rollup"
    0 0   "enabled": false,
        "schedule": "* * * * 10 ? * SUN *",
        "seeds": ["AAABcIudWUd=", "AAABcIudWUe="],
        "actionseedsFilter": {"start",tags":["tag1","tag2"]},
        "action": "start",
        "crawl_modecrawlMode": "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

    a

    specified criteria

    , this endpoint need the

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

    Panel
    borderColorblack
    bgColor#fafafb

    PUT /aspire/_api/schedules/updateAll

    Filters:

    The

    Check the schedule filter

    definition 

    definition here.

    Update body parameter

    Code Block
    themeRDark
    {
      "update" : {
        "description" : "DESCRIPTION",
        "schedule" : "SCHEDULE",
        "action" : "ACTION",
        "after" : "AFTER",
        "
    crawl_mode
    crawlMode" : "
    CRAWL_MODE
    crawlMode",
        "enabled" : "ENABLED",
        "
    scheduleTimeType
    stopOnFail"
    : 
    "SCHEDULE_TIME_TYPE",
    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




    Body Parameter

    Section

    Delete

    multiple

    schedules

    , filtered

    (s)

    Delete multipleone or more schedules from Aspire, filtered by a specified criteria, this endpoint need the . This endpoint needs at least the ADMINISTRATOR role to be executed.

    Panel
    borderColorblack
    bgColor#fafafb

    POST DELETE /aspire/_api/schedules/deleteAll

    Filters: The schedule filter definition here

    Response

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

    Status: 200

    Section

    :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
    idsstringRequired

    Delete schedules(s)

    Delete one or more schedules from Aspire, this endpoint need the 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
    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
    {
      "message": "delete result response message"
    }

    Status: 200, 404, 406

    
    {
      "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", ...]
      }
    }




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

    Seed filter:

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

    Section

    Execute schedules 

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

    Panel
    borderColorblack
    bgColor#fafafb

    POST /aspire/_api/schedules/execute

    Body Parameters

    NameTypeRequiredDescription
    idstringRequiredThe ID of the schedule


    Examples

    Executes a single schedule

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

    Executes multiple schedules

    Code Block
    themeRDark
    {   
    	"id" : ["AAABcIueWU1", "AAABcIueWU2"] 
    }

    Response

    Code Block
    languagejs
    themeRDark
    {
        "AAABcIueWU1": {
            "status": "success"
        },
    	"AAABcIueWU2": {
            "status": "failed"
        }
    }

    Status: 200, 404

    Section
    Filters
    Anchor
    FiltersAnchorFiltersAnchor
    Code Block
    languagejs