Easy Heading Free | ||||
---|---|---|---|---|
|
The configuration and control API provides functionality that allows a an administrator to perform actions such as adding a seed to seed to crawl, or beginning or stopping a crawl. This API will provide the functionality required by the Aspire User interface and will be extensively used by it. The API will also be used by any external process (or script) that needs to control Aspire
Children Display | ||
---|---|---|
|
...
Those parts are described here once for all endpoints. They are referenced from the specific chapters when needed.
Anchor | ||||
---|---|---|---|---|
|
To allow paging of responses that might return large amounts of data (To allow paging of responses that might return large amounts of data (typically "list" requests), requests will accept paging parameters as shown below
Name | Type | Required | Default | Description |
---|---|---|---|---|
from | long | Optional | 0 | The offset in to into the results list from which results should be returned |
size | long | Optional | 25/unlimited | The (maximum) number of items to be returned in the results list Note: The results list is only limited if the offset size parameter is set (even to 0). If offset the size is not set, Aspire will assume you are trying to retrieve all items. TODO: the defaults not implemented |
Where paging parameters are applied, Aspire will add a "count" to the returned object to inform the total number of objects that exists
Aspire's API will return both an HTTP response code and a Json body indicating success or failure of all calls. The following status codes are used
Status
...
Success
Success with errors (batch mode)*
...
exists (the fields being from, size, totalItems)
Anchor | ||||
---|---|---|---|---|
|
Name | Type | Required | Description |
---|---|---|---|
sortBy | string | Optional | Field by which results are sorted. The fields are "description" or "type" |
sortMode | string | Optional | Sort mode
|
Anchor | ||||
---|---|---|---|---|
|
Name | Type | Required | Description |
---|---|---|---|
$expand | string | Optional | Comma separated list of fields to expand, * will expand everything |
Anchor | ||||
---|---|---|---|---|
|
Some endpoint queries support a filter. The common filter is basically a JSON object with the following format
* batch requests (those calls capable of creating, updating, deleting or controlling more than a single item/object at a time - update multiple connectors for example) will return a status of 200 for the call itself and other status inside the Json body.
Response Body
Where an API call causes a single item to be successful created or updated, the body of the response will contain the item itself. The response shown below is an example of the body returned if a single connector was created or updated (response status 200 or 201)
Code Block | ||||
---|---|---|---|---|
| ||||
{ "connectorfilter" : { "idids" : "1823c41f-ba3e-43e0-aae5-dd38665d021a", "type": "filesystem", ["ID1", "ID2", "ID3", ...], "descriptiontype" : "NetAppTYPE", "application": { "@config"description" : "com.accenture.aspire:aspire-filesystem-source",DESCRIPTION" } } |
Anchor | ||||
---|---|---|---|---|
|
Some update endpoint queries support an update object which together with the filtering above allows for "update by query" functionality. The update is basically a JSON object with the following format
Code Block | ||||
---|---|---|---|---|
| ||||
{
"update" : {
"description" : "DESCRIPTION"
}
} |
Aspire's API will return both an HTTP response code and a JSON body indicating the success or failure of all calls. The following status codes are used
Status Anchor ResponseStatus ResponseStatus
Response code | Description |
---|---|
200 | Success Success with errors (batch mode)* |
201 TODO: not implemented | Created |
400 | Bad request |
404 | Not Found |
406 | Not acceptable |
* batch requests (those calls capable of creating, updating, deleting, or controlling more than a single item/object at a time - update multiple connectors for example) will return a status of 200 for the call itself and other status inside the Json body.
Response Body Anchor ResponseBody ResponseBody
This is an example of the response to this GET request - - /aspire/_api/workflows?sparse=true&from=0&size=2
Code Block | ||||
---|---|---|---|---|
| ||||
{ "count": { "properties": { "property": [{ "@name": "enableFetcher", "$": "true" }, { "@name": "enableTextExtract", "$": "true" }, { "@name": "extractTextConfiguration", "$": "false" } ] } }, "source": { "multipleStartPointsfrom": "false"0, "urlsize": "c:\\tmp\\ach1"2, "partialScantotalItems": "false",3 }, "subDirUrlworkflow": null,[ "indexContainers": "false", { "scanRecursively "id": "truef5daef4d-fd4b-4e01-bd7b-b00334601b73", "scanExcludedItemstype": "falseconnector", "ignoreScanErrors "description": "falsePublish to Elastic-1", "ignoreSymLinks": "false", "useACLschecksum": "falseb0bb8b191d7bba8a0c32b8db091937a617e14ad0e768da2c0a75e360aff45430", "acls": null }, "includes": null, { "excludes": null }, "generalid": { "e33a890a-cea9-48c0-8db9-07533444820f", "@activetype": "trueconnector", "displayName "description": "File SystemPublish to Elastic-1", "schedules": { "schedulechecksum": {"1d3e041ca4de48edcee85d46217d928846077277f39d07eac6e4206a2ce8966d" "@action": "start", } "@actionProperties": "incremental", "@type": "manually" } }, "normalizedName": "File_System" }, "checksum": "BB580D32A38A50D6A9D6A3CD59AA01E0" } }] } |
Where an API call causes a single item to be successful created , the body of the response will contain the item itselfWhere multiple items/objects to be affected, an array will be returned in place of an object. The response shown below is an example of the body returned if two connectors were a single connector was created or updated updated (response status 200 or 201)
Code Block | ||||
---|---|---|---|---|
| ||||
{ "connector": [{ "id": "1823c41f-ba3e-43e0-aae5-dd38665d021aAAABcID5GBc=", "type": "filesystem", "description": "NetApp connector", "applicationcreated": {1596707252548, "@configupdated": "com.accenture.aspire:aspire-filesystem-source"1596707252548, "properties": { This will be a dynamic JSON object } "property": [{ } } |
Where multiple items/objects to be affected, an array will be returned in place of an object. The response shown below is an example of the body returned if two connectors were created (response status 200)
Code Block | ||||
---|---|---|---|---|
| ||||
{ "connector": [{ "@nameid": "enableFetcherAAABcID5GBc=", "type": "filesystem", "$description": "trueNetApp connector", "created": 1596707252548, }"updated": 1596707252548, "properties": { This will be a dynamic JSON object {} }, { "id": "AAABcIueWUc=", "@nametype": "enableTextExtractsharepoint-online", "description": "SharePoint Online", "created": 1596707252548, "$updated": "true"1596707252548, "properties": { This will be a dynamic JSON object }, { "@name": "extractTextConfiguration", "$": "false" } ] } }, "source": { "multipleStartPoints": "false", "url": "c:\\tmp\\ach1", "partialScan": "false", "subDirUrl": null, "indexContainers": "false", "scanRecursively": "true", "scanExcludedItems": "false", "ignoreScanErrors": "false", "ignoreSymLinks": "false", "useACLs": "false", "acls": null, "includes": null, "excludes": null }, "general": { "@active": "true", "displayName": "File System", "schedules": { "schedule": { "@action": "start", "@actionProperties": "incremental", "@type": "manually" } }, "normalizedName": "File_System" }, "checksum": "BB580D32A38A50D6A9D6A3CD59AA01E0" }, { "id": "26ab9abc-ca81-407b-89e3-21557996cce6", "type": "filesystem", "description": "NetApp", "application": { "@config": "com.accenture.aspire:aspire-filesystem-source", "properties": { "property": [{ "@name": "enableFetcher", "$": "true" }, { "@name": "enableTextExtract", "$": "true" }, { "@name": "extractTextConfiguration", "$": "false" } ] } }, "source": { "multipleStartPoints": "false", "url": "c:\\tmp\\ach1", "partialScan": "false", "subDirUrl": null, "indexContainers": "false", "scanRecursively": "true", "scanExcludedItems": "false", "ignoreScanErrors": "false", "ignoreSymLinks": "false", "useACLs": "false", "acls": null, "includes": null, "excludes": null }, "general": { "@active": "true", "displayName": "File System", "schedules": { "schedule": { "@action": "start", "@actionProperties": "incremental", "@type": "manually" } }, "normalizedName": "File_System" }, "checksum": "02422FD1FBE42E197998D9E13CA07166" } ] } |
Should multiple items/objects to be affected and some (or all) result in errors, information about any unsuccessful call will be included in an error section for the response. The response shown below is an example of the body returned if four connectors submitted for update and two encountered and error (response status 200)
}]
} |
Should multiple items/objects to be affected and some (or all) result in errors, information about any unsuccessful call will be included in an error section for the response. The response shown below is an example of the body returned if four connectors were submitted for creation and two encountered an error (response status 200)
Code Block | ||||
---|---|---|---|---|
| ||||
{
"connector": [{
"id": "AAABcID5GBc=",
"type": "filesystem",
"description": "NetApp connector",
"created": 1596707252548,
"updated": 1596707252548,
"properties": { This will be a dynamic JSON object }
},
{
"id": "AAABcIueWUc=",
"type": "sharepoint-online",
"description": "SharePoint Online",
"created": 1596707252548,
"updated": 1596707252548,
"properties": { This will be a dynamic JSON object }
} | ||||
Code Block | ||||
| ||||
{ "connector": [{ "id": "1823c41f-ba3e-43e0-aae5-dd38665d021a", "type": "filesystem", "description": "NetApp", "application": { "@config": "com.accenture.aspire:aspire-filesystem-source", "properties": { "property": [{ "@name": "enableFetcher", "$": "true" }, { "@name": "enableTextExtract", "$": "true" }, { "@name": "extractTextConfiguration", "$": "false" } ] } }, "source": { "multipleStartPoints": "false", "url": "c:\\tmp\\ach1", "partialScan": "false", "subDirUrl": null, "indexContainers": "false", "scanRecursively": "true", "scanExcludedItems": "false", "ignoreScanErrors": "false", "ignoreSymLinks": "false", "useACLs": "false", "acls": null, "includes": null, "excludes": null }, "general": { "@active": "true", "displayName": "File System", "schedules": { "schedule": { "@action": "start", "@actionProperties": "incremental", "@type": "manually" } }, "normalizedName": "File_System" }, "checksum": "BB580D32A38A50D6A9D6A3CD59AA01E0" }, { "id": "26ab9abc-ca81-407b-89e3-21557996cce6", "type": "filesystem", "description": "NetApp", "application": { "@config": "com.accenture.aspire:aspire-filesystem-source", "properties": { "property": [{ "@name": "enableFetcher", "$": "true" }, { "@name": "enableTextExtract", "$": "true" }, { "@name": "extractTextConfiguration", "$": "false" } ] } }, "source": { "multipleStartPoints": "false", "url": "c:\\tmp\\ach1", "partialScan": "false", "subDirUrl": null, "indexContainers": "false", "scanRecursively": "true", "scanExcludedItems": "false", "ignoreScanErrors": "false", "ignoreSymLinks": "false", "useACLs": "false", "acls": null, "includes": null, "excludes": null }, "general": { "@active": "true", "displayName": "File System", "schedules": { "schedule": { "@action": "start", "@actionProperties": "incremental", "@type": "manually" } }, "normalizedName": "File_System" }, "checksum": "02422FD1FBE42E197998D9E13CA07166" } ], "error": { "connector": [{ "id": "aaf15f20-c334-4f5f-a34f-f308360c2092", "status": 406, "message": "java.lang.RuntimeException: testing exception" }, { "id": "dde02131-ce63-4639-afee-d72293eef5e0", "status": 406, "message": "java.lang.RuntimeException: another testing exception" } ] } } |
...