aaaa
TeejLab APIs

Authentication

API Base URL

    https://apidiscovery.teejlab.com/edsn/api/
            
The TeejLab APIDiscovery API uses api-key to authenticate all API requests.

Please log in and check your api_key

Endpoint Request


# Here is a curl example
curl -X POST \
  'https://apidiscovery.teejlab.com/edsn/api/
  gateway?endpoint_id=ZMVbc' \
  -H 'api-key: *************************'
  -d '{"i":"canada","timeout":"5"}'
            
This endpoint allows the user to call an endpoint in the platform. POSThttps://apidiscovery.teejlab.com/edsn/api/gateway

Result example :

"Canada is a country in the northern part of North America."

            

PARAMETERS

Field Placement Description Required
endpoint_id Query String Endpoint ID True
[Parameters of the target API] Body Parameters in JSON format True

Endpoint list


# Here is a curl example
curl -X GET \
  'https://apidiscovery.teejlab.com/edsn/api/
  benchmark/endpoint_list' \
  -H 'api-key: *************************'
            
This endpoint retrieves all the endpoint information accessible in the platform. GEThttps://apidiscovery.teejlab.com/edsn/api/benchmark/endpoint_list

Result example :

[
    {
        "id": 21,
        "endpoint": "http://api.openweathermap.org/data/2.5/weather",
        "method": "get",
        "description": "Access current weather data for any location on Earth including over 200,000 cities."
    },
    {
        "id": 16,
        "endpoint": "http://api.wolframalpha.com/v1/result",
        "method": "get",
        "description": "The Short Answers API returns a single plain text result directly from Wolfram|Alpha. In general, this text is taken directly from the Result pod of Wolfram|Alpha output. This API type is designed to deliver brief answers in the most basic format possible."
    }
]

            

Endpoint Parameter


# Here is a curl example
curl -X GET \
  'https://apidiscovery.teejlab.com/edsn/api/
  benchmark/endpoint_parameter?endpoint_id=ZMVbc' \
  -H 'api-key: *************************'
            
This endpoint returns the parameters needed to make a request of an endpoint. GEThttps://apidiscovery.teejlab.com/edsn/api/benchmark/endpoint_parameter

Result example :

{
    "parameter": [
        {
            "parameter_example_value": "5",
            "is_required": false,
            "parameter_default_value": "5",
            "parameter_placement": "query",
            "parameter_name": "timeout",
            "parameter_description": "Specifies the maximum amount of time (in seconds) allowed to process the query, with a default value of \"5\". Although it is primarily used to optimize response times in applications, the timeout parameter may occasionally affect what value is returned by the Short Answers API."
        }
    ],
    "description": "The Short Answers API returns a single plain text result directly from Wolfram|Alpha. In general, this text is taken directly from the Result pod of Wolfram|Alpha output. This API type is designed to deliver brief answers in the most basic format possible.",
    "endpoint_name": "http://api.wolframalpha.com/v1/result",
    "method": "get"
}

            

PARAMETERS

Field Placement Description Required
endpoint_id Query String the id of the endpoint True

Endpoint Example


# Here is a curl example
curl -X GET \
  'https://apidiscovery.teejlab.com/edsn/api/
  benchmark/data_example?endpoint_id=ZMVbc' \
  -H 'api-key: *************************'
            
This endpoint returns an example response of an endpoint. GEThttps://apidiscovery.teejlab.com/edsn/api/benchmark/data_example

Result example :

{
    "output_response": "Canada is a country in the northern part of North America." ,
    "endpoint_id": "ZMVbc",
    "input_parameters": {
        "i": "Canada",
        "timeout": "5"
    }
}

            

PARAMETERS

Field Placement Description Required
endpoint_id Query String Endpoint ID True

Upload Swagger


    # Here is a curl example
curl -X POST \
  'https://apidiscovery.teejlab.com/edsn/api/
  benchmark/upload_swagger' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'api-key: *************************' \
  -H 'vendor=Test_org_vendor' \
  -H 'category=Finance & Banking' \
  -F 'file=@/Users/Downloads/swagger.json' 

            
This endpoint imports an API by uploading a swagger file containing existing vendor and category information. POSThttps://apidiscovery.teejlab.com/edsn/api/benchmark/upload_swagger

    Result example :

    {"info": "", "result": "Success"}

                

PARAMETERS

Field Placement Description Required
Content-Type Request Header This value should be application/x-www-form-urlencoded True
file Request Body The swagger file (form-data) True
vendor Request Header Vendor name True
category Request Header Category name True

CVE Vendors


# Here is a curl example
curl -X GET \
  'https://apidiscovery.teejlab.com/edsn/api/
  cvesearch/vendors/' \
  -H 'api-key: ************************' 
            
GEThttps://apidiscovery.teejlab.com/edsn/api/cvesearch/vendors/

Result example :

{
    "vendors": [
        "priorswood",
        "clever_components",
        "todoomasters",
        "overlay_weaver",
        "dominic_gamble",
        "foxmail",
        "niushop",
        "redirection",
        .....
    ]
}

            
This endpoint returns all the vendors in the NIST CVE.

CVE Products by Vendor


# Here is a curl example
curl -X GET \
  'https://apidiscovery.teejlab.com/edsn/api/
  cvesearch/vendor/products?vendor=Microsoft' \
  -H 'api-key: ************************'
            
GEThttps://apidiscovery.teejlab.com/edsn/api/cvesearch/vendor/products

Result example :
{
    "products": [
        "office",
        "wins",
        "active_directory_lightweight_directory_service",
        "adam",
        "organization_chart",
        "windows_2003_server",
        "sql_server_2016",
        "security_essentials",
        "microsoft.aspnetcore.mvc.webapicompatshim",
        "office_communicator",
        "sharepoint_enterprise_server",
        "forefront_endpoint_protection",
        "office_word_viewer",
        "digital_image",
        "web_applications",
        "windows_data_access_components",
        "host_integration_server_2000",
        .......
    ]
}
            
This endpoint returns all the CVE products for a vendor.

PARAMETERS

Field Placement Description Required
vendor Query String Vendor name True

Products by CVE ID


# Here is a curl example
curl -X GET \
  'https://apidiscovery.teejlab.com/edsn/api/
  cvesearch/cve/products?cve_id=CVE-2019-10140' \
  -H 'api-key: ************************'
            
GEThttps://apidiscovery.teejlab.com/edsn/api/cvesearch/cve/products

Result example :

{
    "associated_products": [
        "linux linux_kernel 2.6.16.60",
        "linux linux_kernel 2.6.16.19",
        "linux linux_kernel 3.0.94",
        "linux linux_kernel 3.0.49",
        "linux linux_kernel 3.0.4",
        "linux linux_kernel 2.6.14",
        "linux linux_kernel 2.5.66",
        "linux linux_kernel 2.5.60",
        "linux linux_kernel 2.5.21",
        "linux linux_kernel 2.4.22",
        "linux linux_kernel 2.3.31",
        "linux linux_kernel 2.6.25.12",
        "linux linux_kernel 2.6.20.8",
        "linux linux_kernel 2.2.16",
        "linux linux_kernel 2.2.2",
        "linux linux_kernel 2.0.14",
        .....
    ]
}

            
This endpoint returns all the products associated with a CVE ID.

PARAMETERS

Field Placement Description Required
cve_id Query String CVE ID True


















Gateway Scan Details


# Here is a curl example
curl -X GET \
  'https://apidiscovery.teejlab.com/edsn/api/
  networkscan/user_scans/' \
  -H 'api-key: ************************'
            
GEThttps://apidiscovery.teejlab.com/edsn/api/networkscan/user_scans/

Result example :

{
    "scan_details": [
        {
            "instance_id": "gAAAAABkmi4aMBfcdnuzFurEE8ZmxhSR3Qj5a90BZZVLtoEDcAAZ21krhjuiI-oXJ12AhyPL-ebyVvzvniP8S6X7bKpiDidzCg==",
            "repo_id": "gAAAAABkmi4a6xhHTxTZpmavLwPADbR8tjN9MqfZgelFRik9z7Po-_XeFibdQtaw9UCmSu3i46EIEc_7S2cgQhHxB2zj4zdf7w==",
            "start_time": "2023-06-27 00:02:08.259053+00:00",
            "end_time": "2023-06-27 00:04:56+00:00",
            "network_name": "TestGateway",
            "project_name": "TestProject",
            "organization": "test-org-admin",
            "nic_ip": "/fe80:0:0:0:c7f:d052:b6a6:27af /2001:569:76f6:7c00:f8:5149:a1d9:f90c /2001:569:76f6:7c00:5d67:d573:58b9:eb31 /192.168.1.77 ",
            "nic_name": "en0",
            "mac_address": "a4:83:e7:7c:ae:8b ",
            "scan_status": "interrupted",
            "scan_data_send_freq": "00:01:00",
            "review_status": "not_started",
            "is_approved": "not_analyzed"
        },
        .....
    ]
}



            
This endpoint returns the details of the scanned gateway scanned by the scanner client.

Gateway Scan Mappings


# Here is a curl example
curl -X GET \
  'https://apidiscovery.teejlab.com/edsn/api/
  networkscan/user_scan_mappings/' \
  -H 'api-key: ************************' \
  -H 'Content-Type: application/form-data' \
  -F 'instance_id=iiib'
            
GEThttps://apidiscovery.teejlab.com/edsn/api/networkscan/user_scan_mappings/

Result example :

{
    "scan_mappings": {
        "network_name": "TestGateway",
        "project_name": "TestProject",
        "repo_id": "gAAAAABkmi_lQyFYWQRhyEznnXcDTHlW0UbxVYJmT-CCXFoTsrUB13aiSOc-tj92CRoiky_hIacHPQAltkVGywBhI_BGYhgnkg==",
        "instance_id": "gAAAAABkmi_lByzQKPitUeF22KID34NGgI0vtndHD3xyu5bGHEYi_XZwjCBaZ4882Oy_2JXx2-8wat2vWxstqoFI5yZXxtCa8w==",
        "start_time": "2023-06-26 23:54:06.736457+00:00",
        "end_time": "2023-06-26 23:58:44+00:00",
        "nic_ip": "/fe80:0:0:0:c7f:d052:b6a6:27af /2001:569:76f6:7c00:f8:5149:a1d9:f90c /2001:569:76f6:7c00:5d67:d573:58b9:eb31 /192.168.1.77 ",
        "nic_name": "en0",
        "mac_address": "a4:83:e7:7c:ae:8b ",
        "scan_status": "complete",
        "scan_data_send_freq": "00:01:00",
        "review_status": "not_started",
        "is_approved": "not_analyzed",
        "analyzed_datetime": "2023-06-26 23:56:24.261498+00:00",
        "mappings": [
            {
                "captured_ip": "15.156.111.204",
                "direction": "Outgoing",
                "capture_datetime": "2023-06-26 23:54:09+00:00",
                "endpoint_geolocation": "Unavailable Unavailable [Unavailable]"
            },
            {
                "captured_ip": "142.251.33.106",
                "direction": "Outgoing",
                "capture_datetime": "2023-06-26 23:54:23+00:00",
                "api_name": "Google Books Volume API",
                "api_url": "https://developers.google.com/books/docs/v1/reference/volumes#resource",
                "vendor_name": "Google",
                "vendor_url": "https://www.google.com",
                "endpoint": "get https://www.googleapis.com/books/v1/volumes",
                "endpoint_auth_type": "query",
                "endpoint_geolocation": "Toronto Canada [Unavailable]"
            },
            .....
        }
    }
}



            
This endpoint returns the mappings of a gateway scan instance.

PARAMETERS

Field Placement Description Required
instance_id Request Body Scan instance ID (form-data) True

Rate Limit Test


# Here is a curl example
curl -X POST \
  'https://apidiscovery.teejlab.com/edsn/api/
  benchmark/rate_limiting_test' \
  -H 'api-key: ************************' \
  -H 'content-type: multipart/form-data;' \
  --form endpoint_id=ZMVbc
            
This test is designed to check whether an API is protected against excessive amount of calls or being choked by excessive payload sizes. This test can take a while to perform. This endpoint performs the rate limiting test on an endpoint. POSThttps://apidiscovery.teejlab.com/edsn/api/benchmark/rate_limiting_test

Result example :

{
    "result": "Added successfully. Please check the result later.",
    "info": 22
}

            

PARAMETERS

Field Placement Description Required
endpoint_id Request Body Endpoint ID True


















Rate Limit Results


# Here is a curl example
curl -X POST \
  'https://apidiscovery.teejlab.com/edsn/api/
  benchmark/rate_limiting_result' \
  -H 'api-key: ************************' \
  -H 'content-type: multipart/form-data;' \
  -F endpoint_id=ZMVbc
            
This endpoint returns the rate limit test result of an endpoint. POST https://apidiscovery.teejlab.com/edsn/api/benchmark/rate_limiting_result

Result example :

{
    "datetime": "06/02/2020",
    "result": "the API server does not have a limitation",
    "test_case": "5 requests in total  ,  58.32 requests per second"
}

            

PARAMETERS

Field Placement Description Required
endpoint_id Request Body Endpoint ID True

Projects


# Here is a curl example
curl -X GET \
  'https://apidiscovery.teejlab.com/edsn/api/
  benchmark/projects?project_id=iiib' \
  -H 'api-key: ************************'

            
This endpoint returns the details of the scanned project scanned by the scanner client. GET https://apidiscovery.teejlab.com/edsn/api/benchmark/projects

Result example :

{
    "project_id": "gAAAAABkmhm5Bm1jwLk7zNTj_RtSsLfdRBaVqFlqrFcu2L5_N0LiIC5t-z4zhIRamhQna6PEyaQ34jekFXsUtd6yUi35pGei1Q==",
    "project_name": "laravel",
    "datetime_created": "2023-06-26 22:56",
    "scan_details": [
        {
            "endpoint_url": "https://laravel-news.com/",
            "api_name": "Laravel-News API",
            "api_version": "1.0",
            "vendor_name": "Laravel-News",
            "endpoint_method": "get",
            "response_metadata": {
                "Via": "1.1 vegur",
                "Date": "Mon, 07 Mar 2022 19:24:05 GMT",
                "Allow": "GET, HEAD, OPTIONS",
                "Server": "gunicorn",
                "Connection": "keep-alive",
                "Content-Type": "application/json",
                "Content-Length": "52",
                "Referrer-Policy": "same-origin",
                "X-Frame-Options": "DENY",
                "X-Content-Type-Options": "nosniff"
            },
            "agreements": [
                {
                    "name": "license2",
                    "link": "https://laravel.com/docs/11.x"
                },
                {
                    "name": "license",
                    "link": "https://laravel.com/docs/10.x"
                },
                {
                    "name": "license3",
                    "link": "https://laravel.com/docs/12.x"
                }
            ],
            "server_info": {
                "server": "gunicorn",
                "hostcity": "Ashburn",
                "hostcountry": "United States",
                "hostregion": "Virginia",
                "hostisp": "Amazon.com, Inc.",
                "timezone": "America/New_York"
            }
        },
        {
            "endpoint_url": "https://www.w3.org/",
            "api_name": "W3C Payment Request  API",
            "api_version": "N/A",
            "vendor_name": "w3",
            "endpoint_method": "get",
            "response_metadata": {},
            "agreements": [],
            "server_info": {
                "server": "unavailable",
                "hostcity": "unavailable",
                "hostcountry": "unavailable",
                "hostregion": "unavailable",
                "hostisp": "unavailable",
                "timezone": "unavailable"
            }
        },
        {
            "endpoint_url": "http://sqs.us-east-2.amazonaws.com",
            "api_name": "Amazon Queue Service API",
            "api_version": "N/A",
            "vendor_name": "Amazon Web Services, Inc.",
            "endpoint_method": "get",
            "response_metadata": {},
            "agreements": [],
            "server_info": {
                "server": "unavailable",
                "hostcity": "unavailable",
                "hostcountry": "unavailable",
                "hostregion": "unavailable",
                "hostisp": "unavailable",
                "timezone": "unavailable"
            }
        },
        .....
    ],
    "review status": "not_started"
}



            

PARAMETERS

Field Placement Description Required
project_id Query String Project ID False
name Query String Project name False
vendor Query String Vendor name False
version Query String Version False
num_projects Query String Number of projects to return (default: 5) False

Categories


# Here is a curl example
curl -X GET \
  'https://apidiscovery.teejlab.com/edsn/api/
  benchmark/categories' \
  -H 'api-key: ************************'

            
This endpoint returns the information about the API categories in our platform. GET https://apidiscovery.teejlab.com/edsn/api/benchmark/categories

Result example :

[
    "Artificial Intelligence & Data Science",
    "Business & Technology",
    "eCommerce & Trade",
    "Environment & Weather",
    "Finance & Banking",
    "GeoInformatics & Navigation",
    "Government & Public Services",
    "Health Science & Medicine",
    "Information & Science",
    "Justice & Public Safety",
    "Logistics & Infrastrcture",
    "Natural Resources & Energy",
    "News & Media",
    "Religion & spirituality",
    "Research & Education",
    "Sales & Marketing",
    "Security & Technology",
    "Skills & Career Development",
    "Social Media & Technology",
    "Software & Services",
    "Sports & Entertainment",
    "Transportation & Automobile",
    "Work & Personal Assistance"
]

            

Agreements


# Here is a curl example
curl -X GET \
  'https://apidiscovery.teejlab.com/edsn/api/
  benchmark/agreements?api_id=iiBab'  \
  -H 'api-key: ************************'

            
This endpoint returns the agreements of the given API. GET https://apidiscovery.teejlab.com/edsn/api/benchmark/agreements

Result example :

[
    {
        "license_name": "User Data Policy",
        "license_url": "https://developers.google.com/terms/api-services-user-data-policy"
    },
    {
        "license_name": "Yahoo APIs Terms of Use",
        "license_url": "https://info.yahoo.com/legal/us/yahoo/api/api-2140.html"
    },
    {
        "license_name": "Terms of Service",
        "license_url": "https://developers.google.com/terms/site-terms"
    }
]

            

PARAMETERS

Field Placement Description Required
api_id Query String API ID True