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
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
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
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 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
Name | Type | Required | Description |
---|---|---|---|
id | string | Required | The 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 seeds to Aspire, this endpoint need the at least the ADMINISTRATOR role to be executed.
POST /aspire/_api/seeds
Body Parameters
Name | Type | Required | Description |
---|---|---|---|
seed | string | Required | The url/path indicating the content to crawl |
type | string | Required | The type of connector to use for this seed (may be omitted if connector is specified) |
connector | string | Required | The identifier of the connector configuration to use for this seed (may be omitted if type is specified) - see Connectors API |
description | string | Required | An description of the seed |
connection | string | Required | a connection id - see Connections API |
credential | string | Optional | An optional id of the credential to use for this seed - see Credentials API |
throttlePolicy | string | Optional | a throttle policy id - see Policies API |
routingPolicies | string | Optional | An optional list of the routing policy identifiers to use for this seed - see Policies API |
deleteIncrementalPolicy | string | Optional | (from 5.0.2) A delete policy - see Policies API |
workflows | string | Optional | An optional list of the workflow identifiers to use for this seed - see Workflow API |
tags | string | Optional | An optional list of the tags to use for this seed |
properties | object | Optional | Seed 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 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
Name | Type | Required | Description |
---|---|---|---|
id | string | Required | The identifier of the seed to update |
Body Parameters
Name | Type | Required | Description |
---|---|---|---|
id | string | Required | The identifier of the seed to update |
description | string | x | A description |
connector | string | x | The identifier of the connector configuration to use for this seed (may be omitted if type is specified) - see Connectors API |
connection | string | x | a connection id - see Connections API |
workflows | string | x | An optional list of the workflow identifiers to use for this seed - see Workflow API |
tags | string | x | An optional list of the tags to use for this seed |
throttlePolicy | string | x | a throttle policy id - see Policies API |
routingPolicies | string | x | An optional list of the routing policy identifiers to use for this seed - see Policies API |
deleteIncrementalPolicy | string | x | (from 5.0.2) a delete policy id - see Policies API |
properties | object | x | Seed 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 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" : { "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 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
Name | Type | Required | Description |
---|---|---|---|
id | string | Required | The identifier(s) of the seed(s) to delete |
Body parameters
Name | Type | Required | Description |
---|---|---|---|
ids | string | Required | The 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 from Aspire, filtered by a specified criteria, this endpoint need the at least the ADMINISTRATOR role to be executed.
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
Name | Type | Required | Description |
---|---|---|---|
id | string | Required | The identifier(s) of the seed(s) to control |
Query String Parameters
Name | Type | Required | Description |
---|---|---|---|
action | string | Optional | The action to perform:
Defaults to start if not specified |
type | string | Optional | The type of crawl to start:
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
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 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
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
Name | Type | Required | Description |
---|---|---|---|
id | string | Required | The identifier(s) of the seed(s) to export |
Body Parameter
Name | Type | Required | Description |
---|---|---|---|
ids | string | Required | The 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 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
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", ...] } }