Page tree

Versions Compared

Key

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

The Configuration Administration API provides endpoints for creating, retrieveing, and managing configurations.

The API uses role based access control so any interaction will be limited by the requesting user's role(s).

Tip

Please read the General Integration Guide to learn the general concepts and common data structures used throughout the Argus API.


Detailed API documentation

The Swagger API documentation is always up-to-date and lets you try out any query with your user session or an API-key.

Integration Guide

Property Mapper Configuration

A property mapper transforms/normalises raw agent data as per its configuration.

All interactions the Property Mapper API use the base URL: https://api.mnemonic.no/configurationadmin/v1/propertymapper

The permissions relevant to Property Mapper Configuration management are:

  • addPropertyMapping
  • viewPropertyMapping
  • updatePropertyMapping
  • restorePropertyMapping
  • rollbackPropertyMapping
  • deletePropertyMapping

Create a Property Mapper

To create a property mapper configuration submit a PropertyMapperAddRequest to the base URL.

A succesful attempt requires that the JSON configuration object is valid, the user has the appropriate permission(s), and the property mapper's shortName is unique:

No Format
curl -X POST "https://api.mnemonic.no/configurationadmin/v1/propertymapper" -H "Argus-API-Key: my/api/key" -H "accept: application/json" -H "Content-Type: application/json, " 
-d '{ 
  "name": "string", 
  "shortName": "string", 
  "configuration": "[
    { \"type\": \"set\", \"ifProp\": \"prop1\", \"ifPropBlank\": true, \"to\": \"prop1\", \"value\": \"value\" }
  ]", 
  "description": "string"
}'


Validation of the configuration during create and update is performed on several levels:

  • It must be valid JSON
  • The rule types must be one of move, copy, set, remove, extract, concat, intLookup, setFlag, timestamp, jsonFlatMap 
  • The rule definitions and values must be valid as per the respective rule types



Tip
titleShortname
NB: Property mapper shortNames must be unique between different collections of property mappers but NOT between versions of the same property mapper. Retrieving by shortname, unless a version is specified, will always return the primary version of the property mapper. Currently updating shortNames is not permitted.


Get a Property Mapper

To fetch a single property mapper configuration append the property mapper's id or shortname to the base URL:

No Format
curl -X GET -H "Argus-API-Key: my/api/key"
https://api.mnemonic.no/configurationadmin/v1/propertymapper/{idOrShortName}?includeConfig={true|false}


Get a Property Mapper's Versions

It is possible to retrieve a property mapper without the JSON configuration by using the includeConfig parameter. By default the API returns the configuration.

As new versions of a property mapper are created a user might wish to retrieve a specific version. To fetch the list of all versions of a particular property mapper, add the id of any version of that particular property mapper configuration or the property mapper's unique shortname to the base URL, and append the base revision path:

No Format
curl -X GET -H "Argus-API-Key: my/api/key" https://api.mnemonic.no/configurationadmin/v1/propertymapper/{idOrShortName}/revisions

The list will contain a simplified view of the property mappers.

Get a Specific Property Mapper Version

To view a specific version of a property mapper, append the version number you wish to retrieve to the same request:

No Format
curl -X GET -H "Argus-API-Key: my/api/key"
https://api.mnemonic.no/configurationadmin/v1/propertymapper/{idOrShortName}/revisions/{versionNumber}?includeConfig={true|false}

Like the base get endpoint, when retrieveing a specific version you can decide whether to include the JSON configuration in the response. By default the API returns the configuration.

Search for Property Mappers

There are two property mapper configuration search endpoints; one for basic listing and one for advanced search.

The list endpoint allows a user to request property mappers filtered by specific query parameters, which include:

  • keywords
  • idOrShortName
  • creation/update/deletion timestamp ranges
  • creation/update/deletion user ids
  • whether to include deleted property mappers

The results can also be sorted, limited, and paginated with the appropriate query parameters. Please refer to the Swagger documentation for more detailed information.

No Format
curl -X GET -H "Argus-API-Key: my/api/key"
https://api.mnemonic.no/configurationadmin/v1/propertymapper&idOrShortName=x&includeDeleted=true&includeConfig={true|false}

The search endpoint provides similar functionality as the list one but is a POST endpoint and thus expects a PropertyMapperSearchRequest object as the payload.

No Format
curl -X POST -H "Argus-API-Key: my/api/key"
https://api.mnemonic.no/configurationadmin/v1/propertymapper/search?includeConfig={true|false}

Both endpoints accept the same includeConfig query parameter as the individual GET property mapper endpoints. Unlike those endpoints the default behaviour is, however, false.

Tip
titleSearch results

NB: Both the list and search endpoints will only ever return primary versions of property mappers that match the provided critera


Update a Property Mapper

To update a property mapper, submit an UpdatePropertyMapperRequest via PUT to the base URL with the id or shortname of the property mapper appended to the base URL:

No Format
curl -X PUT -H "Argus-API-Key: my/api/key" https://api.mnemonic.no/configurationadmin/v1/propertymapper/{idOrShortName} 
-d '{
  "name": "string", 
  "configuration": "[
    { \"type\": \"set\", \"ifProp\": \"prop1\", \"ifPropBlank\": true, \"to\": \"prop1\", \"value\": \"value\" }
  ]", 
  "description": "string"
}'

Currently it is only possible to modify a property mapper's

  • name
  • description
  • JSON configuration

To be eligible for update, the property mapper must be the current primary i.e. not controlled version property mapper. Updating a deleted property mapper is also not permitted. It must first be restored before updating.

Rollback a Property Mapper

To rollback a property mapper to a specific previous version, submit a rollback request to the path of the revision to which we want to rollback:

No Format
curl -X PUT -H "Argus-API-Key: my/api/key" https://api.mnemonic.no/configurationadmin/v1/propertymapper/{idOrShortName}/revisions/{versionNumber}/rollback

To be an eligible target for a rollback, the property mapper can neither be a primary nor deleted property mapper.

Delete a Property Mapper

To delete a property mapper, submit a DELETE request to the base URL with the id or shortname of the property mapper appended to the base URL:

No Format
curl -X DELETE -H "Argus-API-Key: my/api/key" 
https://api.mnemonic.no/configurationadmin/v1/propertymapper/{idOrShortName}

To be eligible for deletion, the property mapper must be the current primary and not already deleted.

Restore a Property Mapper

To restore a deleted property mapper, submit an empty PUT request to the restore endpoint:

No Format
curl -X PUT -H "Argus-API-Key: my/api/key" 
https://api.mnemonic.no/configurationadmin/v1/propertymapper/{idOrShortName}/restore

To be eligible for restoration, the property mapper must be the current primary and actually already be flagged as deleted.

Tip
titleVersion Control

NB: All update, rollback, delete, and restore operations generate a new revision of the affected property mapper. The primary property mapper at the time of the request is flagged as a controlled version and a new primary property mapper is created as per the instructions in the respective requests. The previous property mapper points to the new one.


Table of Contents