Reputation v2 Indicator property descriptors#

Note

This part of the API is currently under development (DEV status) and may change.

Concepts#

Indicator property descriptors#

An indicator property descriptor defines an additional property that can be associated with an Indicator. Each descriptor has a unique shortName, a human-readable name, a description and a dataType that determines what kind of values the property can hold:

  • enumValue – the property value is one of a predefined set of enum values (see Enum values below).

  • fullText – a free-text value.

  • decimalValue – a decimal number.

  • integerValue – an integer number.

  • booleanValue – a boolean (true/false).

A descriptor may be flagged as multiValue, in which case the associated Indicator property is allowed to hold multiple values.

Read function#

Each descriptor specifies a readFunction – the Argus function required to read data represented by the descriptor.

Enum values#

When a descriptor has the enumValue data type, the allowed values are managed as a set of enum values belonging to that descriptor. Each enum value has its own unique shortName (unique within the parent descriptor), name and description, and is managed through dedicated endpoints nested under the descriptor.

Soft delete and restore#

Both descriptors and enum values are soft-deleted: deleting an entity sets its deletedTimestamp and marks it with the deleted flag rather than removing it. A deleted entity can be restored.

On delete, the entity’s shortName is replaced with its UUID string in order to free up the original shortName for reuse. Because of this, restoring an entity does not restore its original shortName. When restoring, an optional new shortName can be supplied.


Indicator property descriptor endpoints#

Fetching an indicator property descriptor#

GET /reputation/v2/indicatorpropertydescriptor/{idOrShortName}

Access control#

To fetch an indicator property descriptor, the user needs to be granted the viewIndicatorPropertyDescriptors Argus function.

Example#

curl -X GET 'https://api.mnemonic.no/reputation/v2/indicatorpropertydescriptor/mydescriptor' \
  -H 'accept: application/json' \
  -H 'Argus-API-Key: my/api/key'

Creating an indicator property descriptor#

POST /reputation/v2/indicatorpropertydescriptor

Fields#

Field

Required

Description

shortName

yes

Unique shortName of the descriptor. Can only contain alphanumeric characters, hyphen, underscore, period and colon. No spaces. Max length 255.

name

yes

Human-readable name of the descriptor. Max length 255.

description

yes

Description of what the descriptor represents. Max length 65535.

dataType

yes

Data type of the descriptor. One of enumValue, fullText, decimalValue, integerValue, booleanValue.

multiValue

no

Whether the descriptor allows multiple values. Defaults to false.

readFunction

yes

ID or shortName of the function required to read data represented by the descriptor.

Access control#

To create an indicator property descriptor, the user needs to be granted the addIndicatorPropertyDescriptor Argus function.

Example#

curl -X POST 'https://api.mnemonic.no/reputation/v2/indicatorpropertydescriptor' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key' \
  -d '{
  "shortName": "mydescriptor",
  "name": "My descriptor",
  "description": "This is my indicator property descriptor",
  "dataType": "enumValue",
  "multiValue": false,
  "readFunction": "viewIndicatorPropertyDescriptors"
  }'

Updating an indicator property descriptor#

PUT /reputation/v2/indicatorpropertydescriptor/{idOrShortName}

No fields are required, only specify the fields you want to update.

Fields#

Field

Required

Description

shortName

no

Optional new unique shortName for the descriptor. Max length 255.

name

no

Human-readable name of the descriptor. Max length 255.

description

no

Description of what the descriptor represents. Max length 65535.

readFunction

no

Update the function required to read data represented by the descriptor.

Access control#

To update an indicator property descriptor, the user needs to be granted the updateIndicatorPropertyDescriptor Argus function.

Example#

curl -X PUT 'https://api.mnemonic.no/reputation/v2/indicatorpropertydescriptor/mydescriptor' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key' \
  -d '{
  "name": "My descriptor",
  "description": "This is my updated indicator property descriptor",
  "readFunction": "viewIndicatorPropertyDescriptors"
  }'

Deleting an indicator property descriptor#

DELETE /reputation/v2/indicatorpropertydescriptor/{idOrShortName}

On delete, the descriptor shortName is replaced with its UUID string.

Access control#

To delete an indicator property descriptor, the user needs to be granted the deleteIndicatorPropertyDescriptor Argus function.

Example#

curl -X DELETE 'https://api.mnemonic.no/reputation/v2/indicatorpropertydescriptor/mydescriptor' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key'

Restoring an indicator property descriptor#

PUT /reputation/v2/indicatorpropertydescriptor/{id}/restore

Deleting the descriptor replaces its shortName with the entity UUID, so restoring it does not restore the original shortName. An optional new shortName can be supplied in the request body.

Fields#

Field

Required

Description

shortName

no

Optional new unique shortName for the restored descriptor. Max length 255.

Access control#

To restore an indicator property descriptor, the user needs to be granted the updateIndicatorPropertyDescriptor Argus function.

Example#

curl -X PUT 'https://api.mnemonic.no/reputation/v2/indicatorpropertydescriptor/123e4567-e89b-12d3-a456-426614174000/restore' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key' \
  -d '{
  "shortName": "mydescriptor"
  }'

Listing indicator property descriptors#

GET /reputation/v2/indicatorpropertydescriptor

Simple search using query parameters.

Query parameters#

Parameter

Default

Description

offset

0

Number of descriptors to skip.

limit

25

Number of descriptors to return.

sortBy

shortName

How to sort the results. One of shortName, name, type, createdTimestamp, lastUpdatedTimestamp, deletedTimestamp.

types

Filter by descriptor type. One or more of enumValue, fullText, decimalValue, integerValue, booleanValue.

includeDeleted

false

Whether to include deleted descriptors.

keywords

Keywords to search for.

Access control#

To list indicator property descriptors, the user needs to be granted the viewIndicatorPropertyDescriptors Argus function.

Example#

curl -X GET 'https://api.mnemonic.no/reputation/v2/indicatorpropertydescriptor?limit=25&types=enumValue&keywords=mydescriptor' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key'

Searching for indicator property descriptors#

POST /reputation/v2/indicatorpropertydescriptor/search

Advanced search using a request body.

Fields#

Field

Default

Description

id

Match descriptors by UUID.

dataType

Filter by descriptor data type.

includeFlags

Require descriptors to have certain flags set (deleted, multivalue).

excludeFlags

Require descriptors to not have certain flags set (deleted, multivalue).

keywords

Keywords to search for in fields specified by keywordFieldStrategy.

keywordFieldStrategy

all

Which fields to search for keywords in. One or more of shortName, name, description, all.

keywordMatchStrategy

any

Whether all or any of the keywords are required to match.

startTimestamp

0

Restrict to a time frame based on timeFieldStrategy (start timestamp).

endTimestamp

now

Restrict to a time frame based on timeFieldStrategy (end timestamp).

timeFieldStrategy

all

Which timestamp fields are filtered by start/endTimestamp. One or more of createdTimestamp, lastUpdatedTimestamp, deletedTimestamp, all.

timeMatchStrategy

all

Whether any or all of the fields in timeFieldStrategy need to match the interval.

limit

25

Number of descriptors to return.

offset

0

Number of descriptors to skip.

sortBy

shortName

How to order the results. One of shortName, name, type, createdTimestamp, lastUpdatedTimestamp, deletedTimestamp.

includeDeleted

false

Whether to include deleted descriptors.

Access control#

To search for indicator property descriptors, the user needs to be granted the viewIndicatorPropertyDescriptors Argus function.

Example#

curl -X POST 'https://api.mnemonic.no/reputation/v2/indicatorpropertydescriptor/search' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key' \
  -d '{
  "keywords": ["mydescriptor"],
  "dataType": ["enumValue"],
  "limit": 25
  }'

Enum value endpoints#

Enum values are managed under their parent indicator property descriptor. They are typically used together with descriptors of the enumValue data type.

Fetching an enum value#

GET /reputation/v2/indicatorpropertydescriptor/{descriptorIdOrShortName}/values/{idOrShortName}

Access control#

To fetch an enum value, the user needs to be granted the viewIndicatorPropertyDescriptors Argus function.

Example#

curl -X GET 'https://api.mnemonic.no/reputation/v2/indicatorpropertydescriptor/mydescriptor/values/myvalue' \
  -H 'accept: application/json' \
  -H 'Argus-API-Key: my/api/key'

Creating an enum value#

POST /reputation/v2/indicatorpropertydescriptor/{descriptor}/values

Fields#

Field

Required

Description

shortName

yes

Unique shortName of the enum value within the descriptor. Can only contain alphanumeric characters, hyphen, underscore, period and colon. No spaces. Max length 255.

name

yes

Human-readable name of the enum value. Max length 255.

description

yes

Description of what the enum value represents. Max length 65535.

Access control#

To create an enum value, the user needs to be granted the addIndicatorPropertyDescriptor Argus function.

Example#

curl -X POST 'https://api.mnemonic.no/reputation/v2/indicatorpropertydescriptor/mydescriptor/values' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key' \
  -d '{
  "shortName": "myvalue",
  "name": "My value",
  "description": "This is my enum value"
  }'

Updating an enum value#

PUT /reputation/v2/indicatorpropertydescriptor/{descriptorIdOrShortName}/values/{idOrShortName}

No fields are required, only specify the fields you want to update.

Fields#

Field

Required

Description

shortName

no

Optional new unique shortName for the enum value within the descriptor. Max length 255.

name

no

Human-readable name of the enum value. Max length 255.

description

no

Description of what the enum value represents. Max length 65535.

Access control#

To update an enum value, the user needs to be granted the updateIndicatorPropertyDescriptor Argus function.

Example#

curl -X PUT 'https://api.mnemonic.no/reputation/v2/indicatorpropertydescriptor/mydescriptor/values/myvalue' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key' \
  -d '{
  "name": "My value",
  "description": "This is my updated enum value"
  }'

Deleting an enum value#

DELETE /reputation/v2/indicatorpropertydescriptor/{descriptorIdOrShortName}/values/{idOrShortName}

On delete, the enum value shortName is replaced with its UUID string.

Access control#

To delete an enum value, the user needs to be granted the deleteIndicatorPropertyDescriptor Argus function.

Example#

curl -X DELETE 'https://api.mnemonic.no/reputation/v2/indicatorpropertydescriptor/mydescriptor/values/myvalue' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key'

Restoring an enum value#

PUT /reputation/v2/indicatorpropertydescriptor/{descriptorIdOrShortName}/values/{idOrShortName}/restore

Deleting an enum value replaces its shortName with the entity UUID, so restoring it does not restore the original shortName.

Access control#

To restore an enum value, the user needs to be granted the deleteIndicatorPropertyDescriptor Argus function.

Example#

curl -X PUT 'https://api.mnemonic.no/reputation/v2/indicatorpropertydescriptor/mydescriptor/values/123e4567-e89b-12d3-a456-426614174000/restore' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key'

Listing enum values#

GET /reputation/v2/indicatorpropertydescriptor/{descriptorIdOrShortName}/values

Query parameters#

Parameter

Default

Description

offset

0

Number of enum values to skip.

limit

25

Number of enum values to return.

sortBy

shortName

How to sort the results. One of shortName, name, createdTimestamp, lastUpdatedTimestamp, deletedTimestamp.

keywords

Keywords to search for.

includeDeleted

false

Whether to include deleted enum values.

Access control#

To list enum values, the user needs to be granted the viewIndicatorPropertyDescriptors Argus function.

Example#

curl -X GET 'https://api.mnemonic.no/reputation/v2/indicatorpropertydescriptor/mydescriptor/values?limit=25&keywords=myvalue' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key'