Skip to content

Reputation v2 Sources

Concepts

Default Confidence

Whenever a source reports of an Observation, that Observation will automatically be given a score equal to the source's default confidence value. However, it is possible to override this score on a per-observation basis.

Active and Grace Period (Observation state management)

Observations can be in one of three states: active, latest and old. When a Source ingests an Observation into Argus, the Observation is put in the active state for a duration equal to the Source's active period. After the active period has passed, the Observation will be transitioned into the latest state and remain there for a duration equal to the Source's grace period. Should the Observation be re-observed while in the latest state, it will be transitioned back to the active state for a new active period. If the grace period passes without any re-observations, the Observation will be transitioned to the old state. An Observation will not be re-activated from the old state. Instead, a new Observation will be created.

Configurable Read and Write Functions

The read and write functions on a Source serves as a configurable way to change the access control of the Source's data. The read function determines which Argus function is required to read data created by the Source (typically Observations). The write function determines which Argus function is required to write data on behalf of the Source, for instance who can ingest Observations into Argus on behalf of the Source.

Creating a Source

POST /reputation/v2/source

Access Control

To create a source in Argus, the user needs to be granted the addReputationSource Argus function.

Additionally, the user needs to be granted the read and write function specified in the request.

Example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
curl -X POST 'https://api.mnemonic.no/reputation/v2/source' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key' \
  -d '{
  "shortName": "mysource",
  "name": "My source",
  "description": "This is my source",
  "defaultConfidence": 0.5,
  "activePeriod": 360000,
  "gracePeriod": 720000,
  "writeFunction": "addReputationSource",
  "readFunction": "viewReputationSources", 
  "useForReputationCalc": true,
  "useForDistributedSync": true
  }'

Updating a Source

PUT /reputation/v2/source/{idOrShortName}

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

Access Control

To create a source in Argus, the user needs to be granted the updateReputationSource Argus function.

Additionally, the user needs to be granted the read and write function specified in the request.

Example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
curl -X PUT 'https://api.mnemonic.no/reputation/v2/source/mysource' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key' \
  -d '{
  "name": "My source",
  "description": "This is my source",
  "defaultConfidence": 0.5,
  "activePeriod": 360000,
  "gracePeriod": 720000,
  "writeFunction": "addReputationSource",
  "readFunction": "viewReputationSources", 
  "useForReputationCalc": true,
  "useForDistributedSync": true
  }'

Deleting a Source

DELETE /reputation/v2/source/{idOrShortName}

Access control

To delete a source in Argus, the user needs to be granted the deleteReputationSource Argus function.

Example

1
2
3
curl -X DELETE 'https://api.mnemonic.no/reputation/v2/source/mysource' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key'

Fetching a source

  • GET /reputation/v2/source/{idOrShortName}

Access control

To fetch a source in Argus, the user needs to be granted the viewReputationSources Argus function.

Example

1
2
3
curl -X GET 'https://api.mnemonic.no/reputation/v2/source/mysource' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key'

Listing Sources

  • GET /reputation/v2/source

Access control

To list sources in Argus, the user needs to be granted the viewReputationSources Argus function. Additionally, only Sources where the user has access to its read function will be returned

Example

1
2
3
curl -X GET 'https://api.mnemonic.no/reputation/v2/source' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key'

Searching for Sources

  • POST /reputation/v2/source/search

Available search terms: - shortName - name - description

Access Control

To search for sources in Argus, the user needs to be granted the viewReputationSources Argus function. Additionally, only Sources where the user has access to its read function will be returned.

Example

1
2
3
4
5
6
curl -X POST 'https://api.mnemonic.no/reputation/v2/source/search' \
  -H 'Content-Type: application/json' \
  -H 'Argus-API-Key: my/api/key' \
  -d '{
  "keywords": ["mysource"]
  }'