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

Get all connections

Lists all the connections configured in the Aspire. This endpoint needs at least the OPERATOR role to be executed.

GET /aspire/_api/connections

Pagination query string parameters

Sorting query string parameter

Get all connections, filtered

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

POST /aspire/_api/connections/getAll

Pagination query string parameters

Sorting query string parameters

Filters: The connection filter definition here

Response

{
    "count": {
        "totalItems": 2
    },
    "connection": [
        {
            "id": "f0e88016-1a27-42b6-a5ae-31ab2226dbdc",
            "type": "ldap",
            "description": "LDAp-ik",
            "properties": {
                "useScript": "false",
                "useSearchBase": "true",
                "server": "ldap://localhost:20389",
                "authentication": "simple",
                "user": "cn=admin,dc=accenture,dc=com",
                "password": "Adm1n!",
                "searchBase": "dc=accenture,dc=com",
                "userQuery": "(objectClass=person)",
                "groupQuery": "(objectClass=groupOfUniqueNames)",
                "userAttributes": "<users><attribute>uid</attribute><attribute>givenName</attribute></users>",
                "userKeyAttr": "dn",
                "userNameAttr": "uid",
                "groupKeyAttr": "dn",
                "groupNameAttr": "ou",
                "groupMappingAttr": "uniqueMember",
                "groupsHoldMembers": "true",
                "userGUID": "true",
                "userGUIDName": "objectGUID",
                "isBinaryGUID": "true",
                "lowerCase": "false"
            }
        },
        {
            "id": "98960f72-aab0-4ba1-a90e-b29d4e3c2c92",
            "type": "filesystem",
            "description": "Fs-ik",
            "properties": {
                "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": ".*test1.*",
                "excludes": null
            }
        }
    ]
} 

Status: 200




Get a single connection

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

GET /aspire/_api/connections/:id


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe id of the connection to return


Response

{
  "connection": {
      "id": "5d0b35d5-c946-44e7-9be5-97c9ad9036a4",
      "type": "smb",
      "description": "Remote Storage",
	  "credential": "cred_1",
      "properties": { This is a dynamic JSON object}
    }
}

Status: 200, 404




Add connection(s)

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

POST /aspire/_api/connections


Body Parameters

NameTypeRequiredDescription
typestringRequired

The type of server to add

descriptionstringRequiredAn optional description of the server
credentialstringOptionalCredential id can be specified for the server
deleteIncrementalPolicystringOptionalDelete policy id
throttlePolicystringOptionalThrottle policy id
routingPoliciesstring arrayOptionalRouting policies ids
propertiesJSONRequiredDynamic JSON object with server properties


Example

POST /aspire/_api/connections
[{
   "type": "filesystem",
   "description": "Local storage",
   "deleteIncrementalPolicy": "deletePolicyId",
   "throttlePolicy": "throttlePolicyId",
   "routingPolicies": ["routingPolicyId1", "routingPolicyId2"],
   "properties": { This will be a dynamic JSON object }
 },
 {
   "type": "filesystem",
   "description": "Remote Storage",
   "credential": "cred_1",
   "properties": { This will be a dynamic JSON object }
}]


Response

{
  "connection": [
    {
      "id": "5d0b35d5-c946-44e7-9be5-97c9ad9036a3",
      "type":   "filesystem",        
      "description": "Local Storage",
      "properties": { This is a dynamic JSON object}
    },
    {
      "id": "5d0b35d5-c946-44e7-9be5-97c9ad9036a4",
      "type": "smb",
      "description": "Remote Storage",
	  "credential": "cred_1",
      "properties": { This is 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 connection(s)

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

PUT /aspire/_api/connections/:id

PUT /aspire/_api/connections


Path Parameters

NameTypeRequiredDescription
idstringRequiredThe identifier of the connection to update


Body Parameters

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

x - at least one field must be present


Example

PUT /aspire/_api/connections
{
  "AAABcID5GBc=": {
    "id": "AAABcID5GBc=",
    "description": "Local Storage",
    "properties": { This is a dynamic JSON object}
  },
  "AAABcIueWUc=": {
    "id": "AAABcIueWUc=",
    "description": "Remote Storage",
    "credential": "cred_2"
  }
}

Response

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


Status
: 200, 404, 406


Update connections, filtered

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

PUT /aspire/_api/connections/updateAll

Filters: The connection filter definition here

Update body parameter

{
  "update" : {
    "description" : "DESCRIPTION"
	"credential" : "credentialId",
	"throttlePolicy" : "throttlePolicyId",
	"properties" : {},
    "deleteIncrementalPolicy": "deletePolicyId",
	"routingPolicies" : ["RP_ID1", "RP_ID2", "RP_ID3", ...]
	"routingPolicies.add" : ["RP_ID1", "RP_ID2", "RP_ID3", ...]
	"routingPolicies.remove" : ["RP_ID1", "RP_ID2", "RP_ID3", ...]
  }
}

Response

{
  "message": "update result response message"
}

Status: 200, 406




Delete connection(s)

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

DELETE /aspire/_api/connections/:id

DELETE /aspire/_api/connections

POST /aspire/_api/connections/delete


Path Parameters and Query parameters

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


Body Parameter

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


Examples

DELETE /aspire/_api/connections/AAABcID5GBc

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

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


Response

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

Status: 200, 404, 406


Delete multiple connections, filtered

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

POST /aspire/_api/connections/deleteAll

Filters: The connection filter definition here

Response

{
  "message": "optional response message"
}

Status: 200




Export connection(s)

Export one or more connections from Aspire. This endpoint needs at least the OPERATOR role to be executed.

GET /aspire/_api/connections/export

GET /aspire/_api/connections/export/:id

POST /aspire/_api/connections/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 connection(s) to export


Body Parameter

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


Examples

GET /aspire/_api/connections/export/AAABcID5GBc

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

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


Response

{
  "export": {
    "connections": {
      "connection": [
        {
          "id": "<connection_id>",
          "type": "rest-api",
          "description": "RESTConnection",
          "credential": "<credential_id>",
          "properties": {
            ...
          }
        },
		...
      ]
    },
    "credentials": {
      "credential": [
        {
          "id": "<credential_id>",
          "type": "rest-api",
          "description": "RESTCredentials",
          "properties": {
            "type": "bearer",
            "query": {
              ...
            }
          }
        },
		...
      ]
    }
  }
}

Status: 200, 404, 406


Export multiple connections, filtered

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

POST /aspire/_api/connections/exportAll

Filters: The connection filter definition here

Response

{
  "export": {
    "connections": {
      "connection": [
        {
          "id": "<connection_id>",
          "type": "rest-api",
          "description": "RESTConnection",
          "credential": "<credential_id>",
          "properties": {
            ...
          }
        },
		...
      ]
    },
    "credentials": {
      "credential": [
        {
          "id": "<credential_id>",
          "type": "rest-api",
          "description": "RESTCredentials",
          "properties": {
            "type": "bearer",
            "query": {
              ...
            }
          }
        },
		...
      ]
    }
  }
}

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",
    "deleteIncrementalPolicy": "deletePolicyId",
	"credentials" : "credentialId",
	"throttlePolicy" : "throttlePolicyId",
	"routingPolicies" : ["RP1", "RP2", "RP3", ...]
  }
}
  • No labels