BigID API/Add Data Source Tutorial: Difference between revisions

From BigID Developer Portal
Line 13: Line 13:
== Discovering Data Sources ==
== Discovering Data Sources ==


You can see what data source connectors are installed in your environment through the BigID UI, but since we're focused on the API (and because all actions in the UI can be performed in the API, we are going to use the API to retrieve them.
You can see what data source connectors are installed in your environment through the BigID UI, but since we're focused on the API (and because all actions in the UI can be performed in the API), we are going to use the API to retrieve them.


Below you'll see the POST request we'll use to authenticate. The body of the request contains our username and password and we're directing the request to the sessions endpoint in our BigID Sandbox system. Press {{Key|Send}} to get a session token.
Press {{Key|Send}} on the request below to get a listing of the data source connectors installed on our test BigID system.


<html>
<html>
Line 21: Line 21:
</html>
</html>


In the response, there's a bunch of information about the logged in user. For our purposes, we just care about line 4, the auth_token. This token is what we'll use the authenticate with the other BigID APIs. We've placed a sample below with the auth token highlighted. '''Copy the auth token from the request you placed above. We'll need it in just a second.'''
You'll see our test system has around 70 different data source connectors installed. If you don't see a data source you want to use, [Connectors you can develop your own] or it might already exist just not on our system. [https://docs.bigid.com See the BigID docs for an exhaustive list.]
 
<syntaxhighlight lang="JSON" line highlight="4">
{
    "success": true,
    "message": "Enjoy your token!",
    "auth_token": "eyJhbGciOiJ<don't copy me! I'm just an example!>...",
    "username": "bigid",
    "firstName": "BigID Admin",
    "permissions": [
        "admin",
        "permission.tasks.edit",
        "permission.tasks.read_task_list",
    ...
</syntaxhighlight>


== Calling an API ==
== Calling an API ==

Revision as of 19:58, 27 October 2021

In this article, you'll learn:

  • How to list available data source connectors within a system
  • Where to find parameters required for a given data source
  • How to add a data source using the BigID API


scenarioYou have a custom system that maintains an inventory of your databases and have just purchased BigID to better understand what's inside those databases for an internal AI initiative. Your executive staff says this will "bring your organization into the modern age". Use the BigID API to add a data source to start your integration with the inventory system.

In this tutorial, we'll use SAMPLE as our session token. This is unique to the training sandbox and will not work in other environments. See BigID API/Tutorial for information on authenticating with BigID.

Discovering Data Sources

You can see what data source connectors are installed in your environment through the BigID UI, but since we're focused on the API (and because all actions in the UI can be performed in the API), we are going to use the API to retrieve them.

Press Send on the request below to get a listing of the data source connectors installed on our test BigID system.

You'll see our test system has around 70 different data source connectors installed. If you don't see a data source you want to use, [Connectors you can develop your own] or it might already exist just not on our system. See the BigID docs for an exhaustive list.

Calling an API

Now that you have a session token we can directly call BigID APIs. Documentation for these APIs is available at https://www.docs.bigid.com/bigid/reference/api-getting-started . Since we're just trying to perform a simple task, we don't need the docs here, just to know that GET /ds-connections is the endpoint to retrieve a list of data source connections.

Add a new header named "Authorization" and paste the session token you got in the previous request to authenticate yourself.

In that API call, we can see a list of data sources and all the information for each data source.

{
    "status": "success",
    "statusCode": 200,
    "data": {
        "ds_connections": [
            "<data source info here>"
         ]
    }
}