Skip to main content

EDL API (0.19.0)

Download OpenAPI specification:Download

APIs for Enterprise Data Layer

KDP

Query KDP dataset

Query KDP dataset

Authorizations:
(bearerAuthkoverseAuth)
Request Body schema: application/json
required
expression
string

Query expression

limit
integer
Default: 10

Maximum number of results to return

offset
integer
Default: 0

Number of results to skip

datasetId
required
string <uuid>

UUID of the dataset to query

orderedResults
boolean
Default: true

Whether to return ordered results

Responses

Request samples

Content type
application/json
{
  • "expression": "",
  • "limit": 100,
  • "offset": 0,
  • "datasetId": null,
  • "orderedResults": true
}

Response samples

Content type
application/json
{
  • "records": [
    ],
  • "schema": {
    },
  • "more": false,
  • "partialCount": false,
  • "total": 10
}

Query KDP dataset schema

Retrieve KDP dataset schema

Authorizations:
(bearerAuthkoverseAuth)
query Parameters
datasetId
required
string

KDP dataset id

includeSecurityField
boolean
Default: false

whether to include the security field (_koverse_security_label) for each schema entry.

includeNestedFields
boolean
Default: false

whether to include nested fields of the schema such as the child fields of an object or map.

Responses

Response samples

Content type
application/json
{
  • "name": {
    },
  • "id": {
    },
  • "date": {
    }
}

List KDP datasets

Retrieve list of datasets from the KDP to which authenticated user has access

Authorizations:
(bearerAuthkoverseAuth)
query Parameters
limit
integer

Number of results to return

skip
integer

Number of results to skip

Responses

Response samples

Content type
application/json
{
  • "total": 1,
  • "limit": 10,
  • "skip": 0,
  • "data": [
    ]
}

Authenticate KDP user

Authenticate a user and retrieve access token and user information

Authorizations:
bearerAuth
query Parameters
workspaceId
required
string

KDP workspace id

Responses

Response samples

Content type
application/json
{
  • "accessToken": "",
  • "authentication": {
    },
  • "user": {
    }
}

Query KDP user

Query KDP user

Authorizations:
(bearerAuthkoverseAuth)
query Parameters
userId
required
string

KDP user id

Responses

Response samples

Content type
application/json
{
  • "id": "6bf7c1e5-xxx-xxx-xxxx-a4cc287941f6",
  • "email": "xxx@saic.com",
  • "workspaceId": "myworkspace",
  • "role": "admin",
  • "firstName": "edl",
  • "lastName": "test",
  • "avatar": null,
  • "githubId": null,
  • "googleId": null,
  • "keycloakId": "8a47c064-xxxx-xxxx-xxxx-a396255d5379",
  • "microsoftId": null,
  • "oktaId": null,
  • "stripeCustomerId": null,
  • "stripeLatestCharge": null,
  • "stripeSubscriptionId": null,
  • "changeEmailTokenExpiration": null,
  • "usedFreeTrial": false,
  • "verified": true,
  • "createdAt": "2024-06-25T19:59:50.326Z",
  • "updatedAt": "2024-07-29T20:59:45.546Z",
  • "deletedAt": null,
  • "linkedAccounts": [
    ],
  • "displayName": "edl test"
}

User Authentication

User authentication

User authentication

Authorizations:
bearerAuth
query Parameters
workspaceId
string

KDP workspace id is required when callback is set to /kdp

callback
required
string
Enum: "/kdp" "/elasticsearch" "/neo4j" "/"

callback path

Responses

User Logout

User logout

Authorizations:
(bearerAuthidTokenAuth)

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Elasticsearch

Create Elasticsearch Index

Create Index in Elasticsearch

Authorizations:
bearerAuth
Request Body schema: application/json
required
indexName
required
string

Name of the index

required
object (ElasticsearchIndexConfig)

Responses

Request samples

Content type
application/json
{
  • "indexName": "string",
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "acknowledged": true,
  • "shards_acknowledged": true,
  • "index": "idx01"
}

Search Elasticsearch Documents

Search documents in Elasticsearch

Authorizations:
bearerAuth
Request Body schema: application/json
required
indexName
required
string

Name of the index

data
required
object

Responses

Request samples

Content type
application/json
{
  • "indexName": "sanctions",
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "took": 0,
  • "timed_out": false,
  • "shared": {
    },
  • "hits": {
    },
  • "total": {
    }
}

Search Elasticsearch Document using template

Search documents in Elasticsearch using template

Authorizations:
bearerAuth
Request Body schema: application/json
required
templateName
required
string

Name of the template

data
required
object

Responses

Request samples

Content type
application/json
{
  • "indexName": "script1",
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "took": 0,
  • "timed_out": false,
  • "shared": {
    },
  • "hits": {
    },
  • "total": {
    }
}

Get Elasticsearch Index

Get index in Elasticsearch

Authorizations:
bearerAuth
path Parameters
index_name
required
string

The name of the index to retrieve information for or '_all' for all indexes

Responses

Response samples

Content type
application/json
{
  • "sanctions": {
    }
}

Get Elasticsearch Index Names

Get Index names in Elasticsearch

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "edl_1": { },
  • "data.edl": { },
  • "electric_vehicle_population": { },
  • "sanctions": { }
}

Create Elasticsearch Pipeline

Create Pipeline in Elasticsearch

Authorizations:
bearerAuth
Request Body schema: application/json
required
pipelineName
required
string

Name of the pipeline

data
required
object

Responses

Request samples

Content type
application/json
{
  • "pipelineName": "attachments",
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "acknowledged": true
}

Get Elasticsearch Pipeline

Get Pipeline in Elasticsearch

Authorizations:
bearerAuth
path Parameters
pipeline_name
required
string

The name of the pipeline

Responses

Response samples

Content type
application/json
{
  • "attachments": {
    }
}

Get Elasticsearch Pipeline Names

Get Pipeline names in Elasticsearch

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "attachments": { }
}

Index Elasticsearch Document

Index Document in Elasticsearch

Authorizations:
bearerAuth
Request Body schema: application/json
required
indexName
required
string

Name of the index

pipelineName
required
string

Name of the pipeline

docId
string

optional document id to use

data
required
object

Responses

Request samples

Content type
application/json
{
  • "indexName": "string",
  • "pipelineName": "string",
  • "docId": "string",
  • "data": { }
}

Response samples

Content type
application/json
{
  • "index": "idx01",
  • "version": 1,
  • "result": "Updated",
  • "docId": "123"
}

Bulk Index Elasticsearch Document

Bulk Index Document in Elasticsearch

Authorizations:
bearerAuth
Request Body schema: application/json
required
Array
Array (>= 2 items)
One of
required
object
_index
string

index name

_id
string

optional document id. If not provided, a new id will be generated.

pipeline
string

pipeline name

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Create/Update Elasticsearch Script

Create/Update Script in Elasticsearch

Authorizations:
bearerAuth
Request Body schema:
required
scripts
string <json>

JSON string containing script metadata

file
Array of strings <binary> [ items <binary > ]

Script files to be uploaded

Responses

Response samples

Content type
application/json
{
  • "script2": {
    },
  • "script1": {
    }
}

Get Elasticsearch Script

Get Script in Elasticsearch

Authorizations:
bearerAuth
path Parameters
script_name
required
string

The name of the script

SQL query search Elasticsearch Documents

SQL query search documents in Elasticsearch

Authorizations:
bearerAuth
Request Body schema: application/json
required
format
string
Default: "json"
Enum: "json" "txt" "csv" "tsv" "yaml" "cbor" "smile"

Response format

data
required
object

Responses

Request samples

Content type
application/json
{
  • "format": "json",
  • "data": {
    }
}

Response samples

Content type
{
  • "columns": [
    ],
  • "rows": [
    ],
  • "cursor": "spCTBERGTACEkMFOAjEQhjt1EwQ1xAs34xOQENTEK2LQoIagG1EvTd2W3a5Li9sSXC6+golvYnwM30nbBQyrMc5pOvP3/9sP7hBECANy9WmrmncIVQAqQ8ETRrRKjUeYCj7nKlfwDmsIY9vkV8u2y6tsJ84FSlgwhDe5NMJkRNIR1whvaSoDI5QkJhtzhKuUsZRrTQI1kSbNEN5RaUilmNFcxbWh94nQEWeEUcNhV5tUBCY/EDV2IpoQI0bcRkil8fZ3gr1miGA2dWPxiHkmZG8vrx6Ul0JdO4paYYOc7F2F/ML3o5uzx3g26KNar5nU9wdx7Lcn0+Ztp9086LZ64eKfH8c1en3ux93upX9aH0/600582Bo3+gj+MrRMl4xLMLR8wEuUtIYwLHACz/An48ZFXlB64NlUpcytfqIrLP+huO7wOWjO6DexgtUqvNXFM0JfAAAA//8DAA=="
}

Keycloak

Query Keycloak user

Query Keycloak user

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "sub": "8a47c064-xxxx-xxxx-xxxx-a396255d5379",
  • "email_verified": true,
  • "name": "edl test",
  • "preferred_username": "edltest01",
  • "given_name": "edl",
  • "family_name": "test",
  • "email": "edltest01@saic.com"
}