You can use the Lucidum API to:
-
Retrieve a list of connectors and the bridge name, display name, description, group, and status of each connector
-
Retrieve configuration details about a single connector, including bridge name, display name, description, group, status, and additional configuration data
-
Retrieve details about all connector profiles, including the bridge name, display name, profile name, description, and configuration data
-
Retrieve details about a single connector profile, including the bridge name, display name, profile name, description, and configuration data
-
Delete a connector profile, using the DELETE method to remove a connector profile
-
Retrieve the test results for a connector, including the test status and the status of each service
- Enable or disable a service within a connector, for a specific profile
The following sections describe the endpoints for these actions.
Headers #
Requests to the endpoints in the Lucidum API v2 must also include a header with:
-
Content-Type of JSON.
Retrieve the List of Connectors: /CMDB/v2/connector #
This endpoint queries Lucidum for the list of all connectors. This endpoint returns:
-
an entry for each connector
-
the bridge name (connector name), display name, description, group, and status of each connector
Endpoint | Method | Parameters in URL |
---|---|---|
/CMDB/v2/connector | GET |
|
Example cURL Request #
curl --location 'https://test.dev.luciduminc.net/CMDB/v2/connector/' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer **********'
-
Line 1. The cURL call. The method defaults to GET. The URL is host name plus the endpoint for the connector API.
-
Line 2. The header specifies to return results in JSON.
-
Line 3. The header specifies to use a Bearer Token for authentication and provides the bearer token.
Example Response #
The response includes thousands of lines. Here is an abbreviated response that shows the first three connector records:
Retrieve Configuration Details About a Single Connector: /CMDB/v2/connector/config #
This endpoint queries Lucidum for configuration details about a single connector. This endpoint returns:
-
an entry for each connector
-
the bridge name (connector name), display name, description, group, and status of each connector
-
the configured fields for the connector
NOTE: Credentials are not returned in the API.
Endpoint | Method | Parameters in URL |
---|---|---|
/CMDB/v2/connector/config | GET |
|
Example cURL Request #
curl --location 'https://test.dev.luciduminc.net/CMDB/v2/connector/config?connector_name=api&bridge_name=datadog' \
--header 'Content-Type: application/json' \
-header 'Authorization: Bearer **********'
-
Line 1. The cURL call. If no method is specified, the method defaults to GET. The URL is host name plus the endpoint for the connector API.
-
Line 1. The “?” (question mark) character specifies that all the text to the right of the character is a parameter.
-
Line 1. connector_name=api is required. This parameter is identical for all connectors.
-
Line 1. The “&” (ampersand) character specifies that the test to the right of the character is an additional parameter.
-
Line 1. bridge_name=datadog. This parameter specifies the connector to retrieve configuration information for.
NOTE: To find the bridge_name of a connector, you can use the /CMDB/v2/connector endpoint and search the results for the connector you are interested in.
-
Line 2. The header specifies to return results in JSON.
-
Line 3. The header specifies to use a Bearer Token for authentication and provides the bearer token.
Example Response #
The response looks like this:
NOTE: Credentials are not returned in the API.
Create a Profile for a Connector: /CMDB/v2/connector/profile #
This endpoint creates a new profile for a connector. You must test the profile after creation. This endpoint creates but does not test the new profile.
NOTE: Certain connectors, like the Google Cloud Platform connector or the ADP connector, require you to upload a file when creating a profile. You cannot create profiles for these connectors with API v2.
Method | Parameters in URL | |
---|---|---|
/CMDB/v2/connector/profile | POST |
|
To determine the field required by config.field_metadata:
Retrieve data from the endpoint /CMDB/v2/connector/config?connector_name=api&bridge_name=<bridge name for connector>.
NOTE: To find the bridge_name of a connector, you can use the /CMDB/v2/connector endpoint and search the results for the connector you are interested in.
Finding config.field_metadata #
To find the config.field_metadata fields to create a profile, you need to look at the configuration information for the connector.
For example, for the Datadog connector, call the endpoint /CMDB/v2/connector/config?connector_name=api&bridge_name=datadog
The results look like this:
-
Under the config section, find the section called field_metadata.
-
Note that the app_key and api_key fields are noted as required.
-
This means that you must include these two fields when creating a profile for the Datadog connector.
Example cURL Request #
curl --request POST --location 'https://test.dev.luciduminc.net/CMDB/v2/connector/profile' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer **********' \
--data '{
"connector_name": "api",
"bridge_name": "datadog",
"profile_name": "customer_support",
"url": "https://api.datadoghq.com",
"app_key": "123456789011",
"api_key": "109876543210",
}'
-
Line 1. The cURL call. We specified “–request POST” so we can send data to Lucidum. The URL is host name plus the endpoint for the connector API.
-
Line 1. The The “\” (backslash) at the end of a line indicates to continue the cURL command on the next line and process all the lines as a single request.
-
Line 2. The header specifies to return results in JSON.
-
Line 3. The header specifies to use a Bearer Token for authentication and provides the bearer token.
-
Line 4. The data to send to Lucidum.
-
Line 5. “connector_name”: “api” is required. This parameter is identical for all connectors.
-
Line 6. “bridge_name”: “datadog” This parameter specifies the connector to create a profile for.
NOTE: To find the bridge_name of a connector, you can use the /CMDB/v2/connector endpoint and search the results for the connector you are interested in.
- Line 7. “profile_name”: “customer_support”. The name of the new profile.
-
Line 8. “url”: “https://api.datadoghq.com”. The optional URL for the Datadog API.
-
Line 9. “app_key”: “
123456789011
“. The required app_key for the Datadog profile. -
Line 10. “api_key”: “
109876543210
“. The required api_key for the Datadog profile.
Example Response #
The response looks like this:
Retrieve the List of Profiles for All Connectors: /CMDB/v2/connector/profile #
This endpoint queries Lucidum for the list of all profiles for all connectors. This endpoint returns:
-
an entry for each connector
-
the bridge name (connector name), display name, description, group, and status of each connector
Endpoint | Method | Parameters in URL |
---|---|---|
/CMDB/v2/connector/profile | GET |
|
Example cURL Request #
curl --location 'https://test.dev.luciduminc.net/CMDB/v2/connector/profile' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer **********'
-
Line 1. The cURL call. If no method is specified, the method defaults to GET. The URL is host name plus the endpoint for the connector API.
-
Line 2. The header specifies to return results in JSON.
-
Line 3. The header specifies to use a Bearer Token for authentication and provides the bearer token.
Example Response #
The response includes thousands of lines. Here is an abbreviated response that shows a single connector profile:
Retrieve a Single Profile for a Single Connector: /CMDB/v2/connector/profile #
This endpoint queries Lucidum for details about a single profile for a single connector.
Endpoint | Method | Parameters in URL |
---|---|---|
/CMDB/v2/connector/profile | GET |
|
NOTE: To find the bridge_name of a connector, you can use the /CMDB/v2/connector endpoint and search the results for the connector you are interested in.</0>
NOTE: To find the profile_name for a connector, you can use the /CMDB/v2/connector/profile endpoint and search the results for the profile you are interested in.
Example cURL Request #
curl --location 'https://test.dev.luciduminc.net/CMDB/v2/connector/profile?connector_name=api&bridge_name=datadog&profile_name=api profile 1' \
--header 'Content-Type: application/json' \
-header 'Authorization: Bearer **********'
-
Line 1. The cURL call. If no method is specified, the method defaults to GET. The URL is host name plus the endpoint for the connector API.
-
Line 1. The “?” (question mark) character specifies that all the text to the right of the character is a parameter.
-
Line 1. connector_name=api is required. This parameter is identical for all connectors.
-
Line 1. The “&” (ampersand) character specifies that the test to the right of the character is an additional parameter.
-
Line 1. bridge_name=datadog. This parameter specifies the connector to retrieve information from.
NOTE: To find the bridge_name of a connector, you can use the /CMDB/v2/connector endpoint and search the results for the connector you are interested in.
-
Line 1. profile_name=api profile 1. This parameter specifies the profile to retrieve information from.
NOTE: To find the profile_name for a connector, you can use the /CMDB/v2/connector/profile endpoint and search the results for the profile you are interested in.
-
Line 2. The header specifies to return results in JSON.
-
Line 3. The header specifies to use a Bearer Token for authentication and provides the bearer token.
Example Response #
Delete a Single Profile for a Single Connector: /CMDB/v2/connector/profile #
This endpoint deletes a single profile for a single connector.
Endpoint | Method | Parameters in URL |
---|---|---|
/CMDB/v2/connector/profile | DELETE |
|
NOTE: To find the bridge_name of a connector, you can use the /CMDB/v2/connector endpoint and search the results for the connector you are interested in.
NOTE: To find the profile_name for a connector, you can use the /CMDB/v2/connector/profile endpoint and search the results for the profile you are interested in.
Example cURL Request #
curl --request DELETE --location 'https://test.dev.luciduminc.net/CMDB/v2/connector/profile?connector_name=api&bridge_name=datadog&profile_name=api profile 1' \
--header 'Content-Type: application/json' \
-header 'Authorization: Bearer **********'
-
Line 1. The cURL call. We specified “–request DELETE ” so we can delete a profile. The URL is host name plus the endpoint for the connector API.
-
Line 1. The “?” (question mark) character specifies that all the text to the right of the character is a parameter.
-
Line 1. connector_name=api is required. This parameter is identical for all connectors.
-
Line 1. The “&” (ampersand) character specifies that the test to the right of the character is an additional parameter.
-
Line 1. bridge_name=datadog. This parameter specifies the connector to delete information from.
NOTE: To find the bridge_name of a connector, you can use the /CMDB/v2/connector endpoint and search the results for the connector you are interested in.
-
Line 1. profile_name=api profile 1. This parameter specifies the profile to delete.
NOTE: To find the profile_name for a connector, you can use the /CMDB/v2/connector/profile endpoint and search the results for the profile you are interested in.
-
Line 2. The header specifies to return results in JSON.
-
Line 3. The header specifies to use a Bearer Token for authentication and provides the bearer token.
Example Response #
Test a Connector: /CMDB/v2/connector/test/async #
This endpoint tests a single connector using a single profile.
Method | Parameters in URL | |
---|---|---|
/CMDB/v2/connector/test/async | POST |
|
NOTE: To find the bridge_name of a connector, you can use the /CMDB/v2/connector endpoint and search the results for the connector you are interested in.
NOTE: To find the profile_name for a connector, you can use the /CMDB/v2/connector/profile endpoint and search the results for the profile you are interested in.
Example cURL Request #
curl --request POST --location 'https://test.dev.luciduminc.net/CMDB/v2/connector/test/async' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer **********' \
--data '{
"connector_name": "api",
"bridge_name": "datadog",
"profile_name": "customer_support",
}'
-
Line 1. The cURL call. We specified “–request POST” so we can send data to Lucidum. The URL is host name plus the endpoint for the connector API.
-
Line 1. The The “\” (backslash) at the end of a line indicates to continue the cURL command on the next line and process all the lines as a single request.
-
Line 2. The header specifies to return results in JSON.
-
Line 3. The header specifies to use a Bearer Token for authentication and provides the bearer token.
-
Line 4. The data to send to Lucidum.
-
Line 5. “connector_name”: “api” is required. This parameter is identical for all connectors.
-
Line 6. “bridge_name”: “datadog” This parameter specifies the connector to create a profile for.
NOTE: To find the bridge_name of a connector, you can use the /CMDB/v2/connector endpoint and search the results for the connector you are interested in.
-
Line 7. profile_name: “api profile 1”. This parameter specifies the profile to delete.
NOTE: To find the profile_name for a connector, you can use the /CMDB/v2/connector/profile endpoint and search the results for the connector you are interested in.
Example Response #
Viewing Test Results: /CMDB/v2/connector/test/result #
This endpoint tests a single connector using a single profile.
Method | Parameters in URL | |
---|---|---|
/CMDB/v2/connector/test/result | GET |
|
NOTE: To find the traceID for test results, you can use the /CMDB/v2/connector/test/async endpoint. This endpoint returns the traceID.
Example cURL Request #
curl --location 'https://test.dev.luciduminc.net/CMDB/v2/connector/test/result?traceId=66f418ec69a1e873b8ef4f57' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer **********' \
-
Line 1. The cURL call. If no method is specified, the method defaults to GET. The URL is host name plus the endpoint for the connector API.
-
Line 1. The “?” (question mark) character specifies that all the text to the right of the character is a parameter.
-
Line 1. traceId=66f418ec69a1e873b8ef4f57. This parameter specifies the test results to display.
NOTE: To find the traceID for test results, you can use the /CMDB/v2/connector/test/async endpoint. This endpoint returns the traceID.
-
The The “\” (backslash) at the end of a line indicates to continue the cURL command on the next line and process all the lines as a single request.
-
Line 2. The header specifies to return results in JSON.
-
Line 3. The header specifies to use a Bearer Token for authentication and provides the bearer token.
Example Response #
Enable or Disable a Connector Service: /CMDB/v2/connector/profile/service #
This endpoint disables or enables a service for a specified profile and connector combination.
Method | Parameters in URL | |
---|---|---|
/CMDB/v2/connector/profile/service | PUT |
|
NOTE: To find the bridge_name of a connector, you can use the /CMDB/v2/connector endpoint and search the results for the connector you are interested in.
NOTE: To find the profile_name for a connector, you can use the /CMDB/v2/connector/profile endpoint and search the results for the profile you are interested in.
NOTE: To find the services_list for a connector, you can use the /CMDB/v2/connector/profile endpoint and search the results for the profile you are interested in. Not all connectors have multiple services.
Example cURL Request #
curl --location --request PUT 'https://dogfood.lucidum.cloud/CMDB/v2/connector/profile/service' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer **********' \
--data '{
"profile_name": "Test",
"bridge_name": "crowdstrike",
"connector_name": "api",
"services_list": [
{
"service": "crowdstrike_host",
"activity": false
}
]
}'
-
Line 1. The cURL call. We specified “–request PUT” so we can update data to Lucidum. The URL is host name plus the endpoint for the connector API.
-
Line 1. The The “\” (backslash) at the end of a line indicates to continue the cURL command on the next line and process all the lines as a single request.
-
Line 2. The header specifies to return results in JSON.
-
Line 3. The header specifies to use a Bearer Token for authentication and provides the bearer token.
-
Line 4. The data to send to Lucidum.
-
Line 5. “profile_name”: “Test “. The name of the profile for this instance of the connector.
-
Line 6. “bridge_name”: “crowdstrike” This parameter specifies the connector for which we want to start or stop a service.
-
Line 7. “connector_name”: “api” is required. This parameter is identical for all connectors.
-
Line 8. “services_list”: specifies one or more services to start of stop.
-
Line 9. “service”: “crowdstrike_host” specifies the service to start or stop.
-
Line 10 “activity”: false specifies to stop the service. Setting “activity” to true starts the service.
Example Response #
In the JSON response, we can see that the Connector Profile was updated so that the service CrowdStrike Host was disabled. This is the same action as toggling off the services in the Lucidum UI.