Endpoints

You can use the Lucidum API to:

  • Query the Lucidum database tables (/v1/data/cmdb)

The following sections describe the endpoints for these actions.

Query the Lucidum Database: /v1/data/cmdb #

The endpoint for querying the Lucidum database is /v1/data/cmdb.

Endpoint

Method

Parameters in Request Body

/v1/data/cmdb

POST

  • CollectionName. The Lucidum database table to query. Choices are:

    • AWS_CMDB_Output. Table of asset data from current time period.

    • Asset_History. Table of asset data from historical time period.

    • User_Combine. Table of user data from current time period.

    • User_History. Table of user data from historical time period.

  • OutputFields. This field filters the fields to include from each record in the API response. If this field is empty, all fields from each record are included in the response.

  • Filter. This field filters the records included in the API response. If the filter is set as an empty list, all records from the target table will be returned.

NOTE: Lucidum limits API access to the Lucidum database to no more than 10 queries per minute to avoid negative impact on the system.

Filters #

Filters use the following format:

{“field”: “CPU_Cores”,

“operator”: “>=”,

“value”: 4}

where:

“field”: “<name of the field>”,

“operator”: “<comparison operator>”,

  “value”: <value>

You cannot filter on date/time fields in the Lucidum API.

Field type

Supported operator

Example

Number

>, <, =, >=, <=, !=

{“field”: “CPU_Cores”,

  “operator”: “>=”,

  “value”: 4}

Number

in

{“field”: “CPU_Cores”,

  “operator”: “in”,

  “value”: [4,8,16]}

String

=

{“field”: “Asset_Name”,

  “operator”: “=”,

  “value”: “ec2-1324”}

String

like

{“field”: “Asset_Name”,

  “operator”: “like”,

  “value”: “%abc%”}

String

in

{“field”: “Asset_Name”,

  “operator”: “in”,

  “value”: [“ec2-123”, “ec2-456”]}

Boolean

=

{“field”: “Is_Virtual”,

  “operator”: “=”,

  “value”: true}

List

contains

{“field”: “List_Users”,

  “operator”: “contains”,

  “value”: [“user1”, “user2”]}

List

not contains

{“field”: “List_Users”,

  “operator”: “not contains”,

  “value”: [“user1”, “user2”]}

Examples #

For examples, see the chapter on examples.

Query Upload History in the Lab Database: /api/upload/customer/collection_history #

Lucidum provides API access to the database tables in the Lab. To view information about file uploads to the lab database, you can use the Lucidum API.

The endpoint for viewing information about file uploads to the Lab database is /api/upload/customer/collection_history.

Endpoint Method Parameters in Request Body
/api/upload/customer/collection_history GET
  • SortThe column to sort the results by and either asc (acending) or desc (descending)
  • TableNameTable to query for upload history.

Examples #

For examples, see the chapter on examples.

 Compare Files in the Lab Database: /api/upload/customer/collection_history/export?params #

Lucidum provides API access to the database tables in the Lab. To compare file uploads to the Lab database, you can use the Lucidum API.

The endpoint to compare file uploads to the Lab database is /api/upload/customer/collection_history/export?params.

Endpoint Method Parameters in Request Body
/api/upload/customer/collection_history/export?params. GET
  • CompareModel. The comparison filter. Valid values are:
    • “ALL”. Compare all records
    • “DELETED”. Compare only records not included in lastId
    • “MODIFIED”. Compare only records that have been modified since lastId
    • “ADDED”. compare only new records that have been added since lastId
  • firstId. Specify the upload ID for the first upload to compare. This is the base for comparison.
  • lastId. Specify the upload ID for the second upload to compare.

You can use the /api/upload/customer/collection_history endpoint to find upload IDs.

  • groupBysSpecify two fields to examine in the comparison.
    • field1. “Compared by” field from the firstId file upload.
    • field2. “Compared by” field from the lastId file upload.

Examples #

For examples, see the chapter on examples.