The seeds API provides functionality that allows a administrator to perform actions such as adding and configuring a seed to crawl, or beginning or stopping a crawl

Get all seeds

Lists all the seeds configured in the Aspire, this endpoint need the at least the OPERATOR role to be executed.

GET /aspire/_api/seeds

Pagination query string parameters

Sorting query string parameters

Expand query string parameters: connector, workflows, connection, policies

Get all seeds, filtered

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

POST /aspire/_api/seeds/getAll

Pagination query string parameters

Sorting query string parameters

Expand query string parameters: connector, workflows, connection, policies

Filters: The seed filter definition here

Response

{
    "count": {
        "totalItems": 1
    },
    "seed": [
        {
            "id": "b4adeb8c-3deb-4379-ad52-e2a8d219a84a",
            "type": "filesystem",
            "description": "pepoSeed",
            "connector": "16e901a5-75c7-4969-90d2-70ad299916f3",
            "seed": "Directory1",
            "priority": "medium",
            "checksum": "11dde01482437ccce0fc570b3041f05ede06d2be6ad8ff18e3a3119f58593a40",
            "crawl": {
                "manager": "manager_192.168.0.16:40505//AAABeOQLewo=",
                "mode": "full",
                "phase": "idle",
                "state": "completed",
                "start": 1618736207176,
                "end": 1618736273635
            },
            "connection": "98960f72-aab0-4ba1-a90e-b29d4e3c2c92",
            "workflows": "72022651-c2f4-45a9-9e18-2b0ace529cda"
        }
    ]
}

Status: 200




Get a single seed

Get information about a single seed configured in Aspire, this endpoint need the at least the OPERATOR role to be executed.

GET /aspire/_api/seeds/:id

Expand query string parameters: connector, workflows, connection, policies

Path Parameters

NameTypeRequiredDescription
idstringRequiredThe id of the seed to return


Response

        {
            "id": "b4adeb8c-3deb-4379-ad52-e2a8d219a84a",
            "type": "filesystem",
            "description": "pepoSeed",
            "connector": "16e901a5-75c7-4969-90d2-70ad299916f3",
            "seed": "Directory1",
            "priority": "medium",
            "checksum": "11dde01482437ccce0fc570b3041f05ede06d2be6ad8ff18e3a3119f58593a40",
            "crawl": {
                "manager": "manager_192.168.0.16:40505//AAABeOQLewo=",
                "mode": "full",
                "phase": "idle",
                "state": "completed",
                "start": 1618736207176,
                "end": 1618736273635
            },
            "connection": "98960f72-aab0-4ba1-a90e-b29d4e3c2c92",
            "workflows": "72022651-c2f4-45a9-9e18-2b0ace529cda"
        }

Status: 200, 404




Add seed(s)

Add seeds to Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.

POST /aspire/_api/seeds


Body Parameters

NameTypeRequiredDescription
seedstringRequiredThe url/path indicating the content to crawl
typestringRequiredThe type of connector to use for this seed (may be omitted if connector is specified)
connectorstringRequiredThe identifier of the connector configuration to use for this seed (may be omitted if type is specified) - see Connectors API
descriptionstringRequiredAn description of the seed
connectionstringRequireda connection id - see Connections API
credentialstringOptionalAn optional id of the credential to use for this seed - see Credentials API
throttlePolicystringOptionala throttle policy id - see Policies API
routingPoliciesstringOptionalAn optional list of the routing policy identifiers to use for this seed - see Policies API
deleteIncrementalPolicystringOptional(from 5.0.2) A delete policy - see Policies API
workflowsstringOptionalAn optional list of the workflow identifiers to use for this seed - see Workflow API
tagsstringOptionalAn optional list of the tags to use for this seed
propertiesobjectOptionalSeed properties


Example

POST /aspire/_api/seeds
[{
	"seed":"\\Directory1",
	"connector":"connectorId",
	"connection":"connectionId",
	"type":"filesystem",
    "throttlePolicy": "throttlePolicyId",
    "routingPolicies": ["routingPolicyId1", "routingPolicyId2"],
    "deleteIncrementalPolicy" : "deletePolicyId"
    ....
},
{
  "seed":"\\Directory2",
  "connector":"connectorId",
  "connection":"connectionId",
  "type":"filesystem",
    ....
  "routingPolicies": ["policy_1"],
  "workflows": ["workflow_1","workflow_99"]
}]


Response

{
  "seed": [{
    "id": "5d0b35d5-c946-44e7-9be5-97c9ad9036a3",
    "connector": "accd3396-6004-47c9-80a6-d6ae283878f5",
    "seed": "c:\\testdata\\2500",
    "priority": "medium",
    "checksum": "5647E40827A6C09CBA868294BB437CE5",
    "crawl": {
      "phase": "idle",
      "state": "never"
    }
  },
  {
    "id": "5d0b35d5-c946-44e7-9be5-97c9ad9036a3",
    "connector": "connector_1",
    "description": "250,000 files",
    "credential": "cred_1",
    "throttlePolicy": "policy_1",
    "workflow": ["workflow_1","workflow_99"]
    "seed": "c:\\testdata\\25000",
    "priority": "medium",
    "checksum": "5647E40827A6C09CBA868294BB437CE5",
    "crawl": {
      "phase": "idle",
      "state": "never"
    }
  }, 
  "properties": { This will be a dynamic JSON object }]
}

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

Status: 201, 406




Update seed(s)

Update seeds in Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.

PUT /aspire/_api/seeds/:id

PUT /aspire/_api/seeds


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the seed to update


Body Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the seed to update
descriptionstringxA description
connectorstringxThe identifier of the connector configuration to use for this seed (may be omitted if type is specified) - see Connectors API
connectionstringxa connection id - see Connections API
workflowsstringxAn optional list of the workflow identifiers to use for this seed - see Workflow API
tagsstringxAn optional list of the tags to use for this seed
throttlePolicystringxa throttle policy id - see Policies API
routingPoliciesstringxAn optional list of the routing policy identifiers to use for this seed - see Policies API
deleteIncrementalPolicystringx(from 5.0.2) a delete policy id - see Policies API
propertiesobjectxSeed properties

x - at least one field must be present


Example for more seeds

PUT /aspire/_api/seeds
{
  "AAABcID5GBc=": {
    "id": "AAABcID5GBc=",
    "connector": "connector_2",
  },
  "AAABcIueWUc=": {
    "id": "AAABcIueWUc=",
    "connector": "connector_1",
    "description": "250,000 files",
    "routingPolicies": ["policy_1"],
    "workflows": ["workflow_1","workflow_99"]
  }
}


Response

{"seed":[{"updated":true,"id":"AAABcID5GBc="},{"updated":true,"id":"AAABcID5GBd="}]}

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

Status: 200, 404, 406


Update seeds, filtered

Update connectors configured in the Aspire, filtered by a specified criteria, this endpoint need the at least the ADMINISTRATOR role to be executed.

PUT /aspire/_api/seeds/updateAll

Filters: The seed filter definition here

Update body parameter:

{
  "update" : {
    "description" : "DESCRIPTION"
	"connector" : "connectorId",
	"throttlePolicy" : "throttlePolicyId",
	"properties" : {},
	"connection" : "connection",
	"tags" : ["TAG1", "TAG2", "TAG3", ...],
	"tags.add" : ["TAG1", "TAG2", "TAG3", ...],
	"tags.remove" : ["TAG1", "TAG2", "TAG3", ...],
	"workflows" : ["WORKFLOW_ID1", "WORKFLOWID2", "WORKFLOW_ID3", ...],
	"workflows.add" : ["WORKFLOW_ID1", "WORKFLOWID2", "WORKFLOW_ID3", ...],
	"workflows.remove" : ["WORKFLOW_ID1", "WORKFLOWID2", "WORKFLOW_ID3", ...],
	"routingPolicies" : ["RP_ID1", "RP_ID2", "RP_ID3", ...]
	"routingPolicies.add" : ["RP_ID1", "RP_ID2", "RP_ID3", ...]
	"routingPolicies.remove" : ["RP_ID1", "RP_ID2", "RP_ID3", ...]
  }
}
{
  "message": "update result response message"
}

Status: 200, 406




Delete seed(s)

Delete one or more seeds from Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.


DELETE /aspire/_api/seeds/:id

DELETE /aspire/_api/seeds

POST /aspire/_api/seeds/delete


Path Parameters and query parameters

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


Body parameters

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


Example

DELETE /aspire/_api/seeds/AAABcID5GBc

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

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


Response

{
  "message": "delete result response message"
}

Status: 200, 404, 406


Delete multiple seeds, filtered

Delete multiple seeds from Aspire, filtered by a specified criteria, this endpoint need the at least the ADMINISTRATOR role to be executed.

POST /aspire/_api/seeds/deleteAll

Filters: The seed filter definition here


Response

{
  "message": "delete result response message"
}

Status: 200




Crawl control

Start, stop, pause and resume crawls of one or more seeds, this endpoint need the at least the OPERATOR role to be executed.

POST /aspire/_api/seeds/:id/control

POST /aspire/_api/seeds/control


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier(s) of the seed(s) to control


Query String Parameters

NameTypeRequiredDescription
actionstringOptional

The action to perform:

  • start
  • stop
  • pause
  • resume

Defaults to start if not specified

typestringOptional

The type of crawl to start:

  • incremental
  • full
  • identity
  • reprocess (Aspire 5.3)
  • pushupdates (Aspire 5.3)

Defaults to incremental if not specified

Body

Optionally, a filter can be added to specify which seeds to start


Examples

Starts an incremental crawl for a single seed

POST /aspire/_api/seeds/191283d9-183e-4820-8932-32b1fa07d2d5/control

Starts an full crawl for a single seed

POST /aspire/_api/seeds/191283d9-183e-4820-8932-32b1fa07d2d5/control?action=start&type=full

Reprocess only errored documents from the previous crawl

POST /aspire/_api/seeds/191283d9-183e-4820-8932-32b1fa07d2d5/control?action=start&type=reprocess

Pauses a crawl for a single seed

POST /aspire/_api/seeds/191283d9-183e-4820-8932-32b1fa07d2d5/control?action=pause

Starts a crawl for multiple seeds

POST /aspire/_api/seeds/control
[{
  "id": "AAABcID5GBc="
},
{
  "id": "AAABcIueWUc="
}]

Starts a crawl for multiple seeds (alternative)

POST /aspire/_api/seeds/control
{
  "id": ["AAABcID5GBc=", "AAABcIueWUc="]
}


Response

{
  "message": "optional response message"
}

Status: 200, 404, 406




Export seed(s)

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

GET /aspire/_api/seeds/export

GET /aspire/_api/seeds/export/:id

POST /aspire/_api/seeds/exportAll

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

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.

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 seed(s) to export


Body Parameter

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


Examples

GET /aspire/_api/seeds/export/AAABcID5GBc

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

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


Response

{
  "export": {
    "seeds": {
      "seed": [
        {
          "id": "<seed_id>",
          "type": "rest-api",
          "description": "REST",
          "connector": "<connector_id>",
          "seed": "N\/A",
          "priority": "medium",
          "checksum": "eb4b51659226093casdf3854sdf8f67e4f0de8217c0fd86ea565ce0",
          "connection": "<connection_id>",
          "properties": {
            "seed": "N\/A",
            "crawlRules": [
              {
                "conditionalScript": false,
                "entityType": "root",
                "shouldStop": false,
                ...
              }
            ],
            "stopOnScannerError": true
          }
        },
        ...
      ]
    },
    "connectors": {
      "connector": [
        {
          "id": "<connector_id>",
          "artifact": "com.accenture.aspire:aspire-rest-source",
          "type": "rest-api",
          "description": "RestConnector",
          "properties": {
            "debug": false,
            "wDebug": false,
            ...
          },
          "checksum": "82a70c88cbfa46dfd79d6430bfesdf5646c13089604fb609831f16f"
        },
        ...
      ]
    },
    "credentials": {
      "credential": [
        {
          "id": "<credential_id>",
          "type": "rest-api",
          "description": "RestCredentials",
          "properties": {
            "type": "bearer",
            "query": {
              ...
            }
          }
        },
        ...
      ]
    },
    "connections": {
      "connection": [
        {
          "id": "<connection_id>",
          "type": "rest-api",
          "description": "RestConnection",
          "credential": "<credential_id>",
          "properties": {
            "maxRetries": 3,
            "useThrottling": false,
            "throttling": "throttling_false",
            "useProxy": false,
            "proxy": "proxy_false",
            "trustAllCertificates": false,
            ...
          }
        },
        ...
      ]
    },
    "policies": {
      "policy": [
        {
          "id": "<policy_id>",
          "type": "throttle",
          "description": "pT",
          "period": "day",
          "value": 1
        },
        ...
      ]
    },
    "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"
        },
        ...
      ]
    },
    "workflows": {
      "workflow": [
        {
          "id": "<workflow_id>",
          "type": "connector",
          "description": "myWorkFlow",
          "checksum": "dc7d632e4fac3aed7404d2c260sd3f54eea266f9fd4af73b6251d6cb",
          "templates": {
            ...
          },
          "events": {
            "event": [
              ...
            ]
          },
          "rules": {
            "rule": [
              ...
            ]
          }
        },
        ...
      ]
    }
  }
}

Status: 200, 404, 406


Export multiple seeds, filtered

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

POST /aspire/_api/seeds/exportAll

Filters: The connection filter definition here

Response

{
  "export": {
    "seeds": {
      "seed": [
        {
          "id": "<seed_id>",
          "type": "rest-api",
          "description": "REST",
          "connector": "<connector_id>",
          "seed": "N\/A",
          "priority": "medium",
          "checksum": "eb4b51659226093casdf3854sdf8f67e4f0de8217c0fd86ea565ce0",
          "connection": "<connection_id>",
          "properties": {
            "seed": "N\/A",
            "crawlRules": [
              {
                "conditionalScript": false,
                "entityType": "root",
                "shouldStop": false,
                ...
              }
            ],
            "stopOnScannerError": true
          }
        },
        ...
      ]
    },
    "connectors": {
      "connector": [
        {
          "id": "<connector_id>",
          "artifact": "com.accenture.aspire:aspire-rest-source",
          "type": "rest-api",
          "description": "RestConnector",
          "properties": {
            "debug": false,
            "wDebug": false,
            ...
          },
          "checksum": "82a70c88cbfa46dfd79d6430bfesdf5646c13089604fb609831f16f"
        },
        ...
      ]
    },
    "credentials": {
      "credential": [
        {
          "id": "<credential_id>",
          "type": "rest-api",
          "description": "RestCredentials",
          "properties": {
            "type": "bearer",
            "query": {
              ...
            }
          }
        },
        ...
      ]
    },
    "connections": {
      "connection": [
        {
          "id": "<connection_id>",
          "type": "rest-api",
          "description": "RestConnection",
          "credential": "<credential_id>",
          "properties": {
            "maxRetries": 3,
            "useThrottling": false,
            "throttling": "throttling_false",
            "useProxy": false,
            "proxy": "proxy_false",
            "trustAllCertificates": false,
            ...
          }
        },
        ...
      ]
    },
    "policies": {
      "policy": [
        {
          "id": "<policy_id>",
          "type": "throttle",
          "description": "pT",
          "period": "day",
          "value": 1
        },
        ...
      ]
    },
    "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"
        },
        ...
      ]
    },
    "workflows": {
      "workflow": [
        {
          "id": "<workflow_id>",
          "type": "connector",
          "description": "myWorkFlow",
          "checksum": "dc7d632e4fac3aed7404d2c260sd3f54eea266f9fd4af73b6251d6cb",
          "templates": {
            ...
          },
          "events": {
            "event": [
              ...
            ]
          },
          "rules": {
            "rule": [
              ...
            ]
          }
        },
        ...
      ]
    }
  }
}

Status: 200




Import

The import usage can be found here





Filters

 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",
	"state" : "state",
	"connection" : "connection",
	"tags" : ["TAG1", "TAG2", "TAG3", ...],
	"workflows" : ["WORKFLOW_ID1", "WORKFLOWID2", "WORKFLOW_ID3", ...]
  }
}
  • No labels