NAV Navigation
Python cUrl

LookingGlass scoutINSPECT Developer v2

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

This is the developer api for LookingGlass scoutINSPECT

Base URLs:

Authentication

Inventory

Search inventory

search all inventory

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/inventory", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/inventory \
  --header 'accept: application/json'

GET /inventory

The inventory endpoint allows you to access all of your inventory

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number
after query string false return results after date (ex:2020-09-15)
before query string false return results before date (ex:2020-09-15)
name query string false return results matching asset name
type query string false return results matching asset type

Example responses

200 Response

[
  {
    "type": "CNAME",
    "value": "www.domain.com"
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

search all new inventory

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/inventory/new", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/inventory/new \
  --header 'accept: application/json'

GET /inventory/new

The inventory endpoint allows you to access all new discovered inventory

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number
after query string false return results after date (ex:2020-09-15)
before query string false return results before date (ex:2020-09-15)
name query string false return results matching asset name
type query string false return results matching asset type

Example responses

200 Response

[
  {
    "type": "CNAME",
    "value": "www.domain.com"
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

search inventory by id

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/inventory/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/inventory/ \
  --header 'accept: application/json'

GET /inventory/{id}

Example responses

200 Response

{
  "type": "CNAME",
  "value": "www.domain.com"
}

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Domains

Search for Domains inventory

search all domains

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/domains", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/domains \
  --header 'accept: application/json'

GET /domains

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "type": "CNAME",
    "value": "www.domain.com"
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [DnsRecord] false none none
» type string true none none
» value string true none none

search domains by id

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/domains/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/domains/ \
  --header 'accept: application/json'

GET /domains/{id}

Example responses

200 Response

{
  "type": "CNAME",
  "value": "www.domain.com"
}

Responses

Status Meaning Description Schema
200 OK successful operation DnsRecord
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

search domains by fqdn

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/domains/name/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/domains/name/ \
  --header 'accept: application/json'

GET /domains/name/{fqdn}

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

{
  "type": "CNAME",
  "value": "www.domain.com"
}

Responses

Status Meaning Description Schema
200 OK successful operation DnsRecord
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

search domains by record type

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/domains/type/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/domains/type/ \
  --header 'accept: application/json'

GET /domains/type/{type}

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

{
  "type": "CNAME",
  "value": "www.domain.com"
}

Responses

Status Meaning Description Schema
200 OK successful operation DnsRecord
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Software

search for Software inventory

search all software

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/software", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/software \
  --header 'accept: application/json'

GET /software

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Type Name",
        "description": "Description of this type of inventory",
        "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.111Z",
      "updated": "2022-02-25T19:32:58.111Z",
      "active": true
    },
    "category": "framework",
    "license": "oss",
    "vendor": "React",
    "developer": "React",
    "name": "react",
    "versions": [
      "16.13.1"
    ],
    "lastVersion": "16.13.1",
    "website": "https://www.reactjs.org"
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Software] false none none
» metadata InventoryMetadata true none none
»» id string(uuid) true none none
»» typeInfo InventoryTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» category string true none none
» license string true none none
» vendor string true none none
» developer string true none none
» name string true none none
» versions [string] true none none
» lastVersion string true none none
» website string true none none

search software by id

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/software/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/software/ \
  --header 'accept: application/json'

GET /software/{id}

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.116Z",
    "updated": "2022-02-25T19:32:58.116Z",
    "active": true
  },
  "category": "framework",
  "license": "oss",
  "vendor": "React",
  "developer": "React",
  "name": "react",
  "versions": [
    "16.13.1"
  ],
  "lastVersion": "16.13.1",
  "website": "https://www.reactjs.org"
}

Responses

Status Meaning Description Schema
200 OK successful operation Software
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

search software by vendor name

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/software/vendor/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/software/vendor/ \
  --header 'accept: application/json'

GET /software/vendor/{name}

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Type Name",
        "description": "Description of this type of inventory",
        "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.118Z",
      "updated": "2022-02-25T19:32:58.118Z",
      "active": true
    },
    "category": "framework",
    "license": "oss",
    "vendor": "React",
    "developer": "React",
    "name": "react",
    "versions": [
      "16.13.1"
    ],
    "lastVersion": "16.13.1",
    "website": "https://www.reactjs.org"
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Software] false none none
» metadata InventoryMetadata true none none
»» id string(uuid) true none none
»» typeInfo InventoryTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» category string true none none
» license string true none none
» vendor string true none none
» developer string true none none
» name string true none none
» versions [string] true none none
» lastVersion string true none none
» website string true none none

search software by product name

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/software/product/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/software/product/ \
  --header 'accept: application/json'

GET /software/product/{name}

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.120Z",
    "updated": "2022-02-25T19:32:58.120Z",
    "active": true
  },
  "category": "framework",
  "license": "oss",
  "vendor": "React",
  "developer": "React",
  "name": "react",
  "versions": [
    "16.13.1"
  ],
  "lastVersion": "16.13.1",
  "website": "https://www.reactjs.org"
}

Responses

Status Meaning Description Schema
200 OK successful operation Software
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

search software by product version

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/software/product/version/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/software/product/version/ \
  --header 'accept: application/json'

GET /software/product/version/{version}

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.122Z",
    "updated": "2022-02-25T19:32:58.122Z",
    "active": true
  },
  "category": "framework",
  "license": "oss",
  "vendor": "React",
  "developer": "React",
  "name": "react",
  "versions": [
    "16.13.1"
  ],
  "lastVersion": "16.13.1",
  "website": "https://www.reactjs.org"
}

Responses

Status Meaning Description Schema
200 OK successful operation Software
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

search software by product category

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/software/category/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/software/category/ \
  --header 'accept: application/json'

GET /software/category/{name}

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Type Name",
        "description": "Description of this type of inventory",
        "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.125Z",
      "updated": "2022-02-25T19:32:58.125Z",
      "active": true
    },
    "category": "framework",
    "license": "oss",
    "vendor": "React",
    "developer": "React",
    "name": "react",
    "versions": [
      "16.13.1"
    ],
    "lastVersion": "16.13.1",
    "website": "https://www.reactjs.org"
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Software] false none none
» metadata InventoryMetadata true none none
»» id string(uuid) true none none
»» typeInfo InventoryTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» category string true none none
» license string true none none
» vendor string true none none
» developer string true none none
» name string true none none
» versions [string] true none none
» lastVersion string true none none
» website string true none none

Networks

Search for Networks inventory

search all networks

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/networks", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/networks \
  --header 'accept: application/json'

GET /networks

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Type Name",
        "description": "Description of this type of inventory",
        "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.128Z",
      "updated": "2022-02-25T19:32:58.128Z",
      "active": true
    },
    "parent": "123456789012",
    "description": "Cloudflare, Inc",
    "asn": 13335,
    "address": "8.6.112.22/32",
    "lat": "32.7787,",
    "long": -96.8217
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [NetworkRecord] false none none
» metadata InventoryMetadata true none none
»» id string(uuid) true none none
»» typeInfo InventoryTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» parent string true none none
» description string true none none
» asn number true none none
» address string true none none
» lat number(float) true none none
» long number(float) true none none

search network by id

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/networks/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/networks/ \
  --header 'accept: application/json'

GET /networks/{id}

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.131Z",
    "updated": "2022-02-25T19:32:58.131Z",
    "active": true
  },
  "parent": "123456789012",
  "description": "Cloudflare, Inc",
  "asn": 13335,
  "address": "8.6.112.22/32",
  "lat": "32.7787,",
  "long": -96.8217
}

Responses

Status Meaning Description Schema
200 OK successful operation NetworkRecord
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

search networks by ip address

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/networks/address/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/networks/address/ \
  --header 'accept: application/json'

GET /networks/address/{address}

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.135Z",
    "updated": "2022-02-25T19:32:58.135Z",
    "active": true
  },
  "parent": "123456789012",
  "description": "Cloudflare, Inc",
  "asn": 13335,
  "address": "8.6.112.22/32",
  "lat": "32.7787,",
  "long": -96.8217
}

Responses

Status Meaning Description Schema
200 OK successful operation NetworkRecord
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Resources

Search for Resources inventory

search all resources

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/resources", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/resources \
  --header 'accept: application/json'

GET /resources

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Type Name",
        "description": "Description of this type of inventory",
        "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.137Z",
      "updated": "2022-02-25T19:32:58.137Z",
      "active": true
    },
    "serial": "7:0C:71:A0:CC:C2:CB:A4:41:39:E3:18:25:C9:E3:25:05:BC:F9",
    "hash": "ikPc65n7WM7U9sU95JXy+pJrOLku5yfugNd1i+E4cB4=",
    "validFrom": "2022-02-25T19:32:58.137Z",
    "validTo": "2022-02-25T19:32:58.137Z",
    "subject": "C=US, O=Company.com, LLC, L=Miami Beach, ST=Florida, CN=*.company.com",
    "issuer": "C=US, O=Trustwave Holdings, Inc., L=Chicago, ST=Illinois, CN=Trustwave OV SHA256 Pre-Certificate CA",
    "altNames": [
      "hyperoffice.company.com"
    ]
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» metadata InventoryMetadata true none none
»» id string(uuid) true none none
»» typeInfo InventoryTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» serial string true none none
» hash string true none none
» validFrom string(date-time) true none none
» validTo string(date-time) true none none
» subject string true none none
» issuer string true none none
» altNames [string] true none none

search resources by id

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/resources/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/resources/ \
  --header 'accept: application/json'

GET /resources/{id}

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.139Z",
    "updated": "2022-02-25T19:32:58.139Z",
    "active": true
  },
  "serial": "7:0C:71:A0:CC:C2:CB:A4:41:39:E3:18:25:C9:E3:25:05:BC:F9",
  "hash": "ikPc65n7WM7U9sU95JXy+pJrOLku5yfugNd1i+E4cB4=",
  "validFrom": "2022-02-25T19:32:58.139Z",
  "validTo": "2022-02-25T19:32:58.139Z",
  "subject": "C=US, O=Company.com, LLC, L=Miami Beach, ST=Florida, CN=*.company.com",
  "issuer": "C=US, O=Trustwave Holdings, Inc., L=Chicago, ST=Illinois, CN=Trustwave OV SHA256 Pre-Certificate CA",
  "altNames": [
    "hyperoffice.company.com"
  ]
}

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» metadata InventoryMetadata true none none
»» id string(uuid) true none none
»» typeInfo InventoryTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» serial string true none none
» hash string true none none
» validFrom string(date-time) true none none
» validTo string(date-time) true none none
» subject string true none none
» issuer string true none none
» altNames [string] true none none

search resources by security certificate

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/resources/security/certificate", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/resources/security/certificate \
  --header 'accept: application/json'

GET /resources/security/certificate

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.142Z",
    "updated": "2022-02-25T19:32:58.142Z",
    "active": true
  },
  "serial": "7:0C:71:A0:CC:C2:CB:A4:41:39:E3:18:25:C9:E3:25:05:BC:F9",
  "hash": "ikPc65n7WM7U9sU95JXy+pJrOLku5yfugNd1i+E4cB4=",
  "validFrom": "2022-02-25T19:32:58.142Z",
  "validTo": "2022-02-25T19:32:58.142Z",
  "subject": "C=US, O=Company.com, LLC, L=Miami Beach, ST=Florida, CN=*.company.com",
  "issuer": "C=US, O=Trustwave Holdings, Inc., L=Chicago, ST=Illinois, CN=Trustwave OV SHA256 Pre-Certificate CA",
  "altNames": [
    "hyperoffice.company.com"
  ]
}

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» metadata InventoryMetadata true none none
»» id string(uuid) true none none
»» typeInfo InventoryTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» serial string true none none
» hash string true none none
» validFrom string(date-time) true none none
» validTo string(date-time) true none none
» subject string true none none
» issuer string true none none
» altNames [string] true none none

Services

Search for Services inventory

search all services

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/services", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/services \
  --header 'accept: application/json'

GET /services

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Type Name",
        "description": "Description of this type of inventory",
        "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.146Z",
      "updated": "2022-02-25T19:32:58.146Z",
      "active": true
    },
    "serviceType": {
      "id": 2,
      "name": "HTTP",
      "commonPorts": [
        80
      ],
      "description": "HTTP service hosts webpages",
      "reference": "https://docs.docs.alphawave.co/inventory/service/network/http"
    },
    "port": 80
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» metadata InventoryMetadata true none none
»» id string(uuid) true none none
»» typeInfo InventoryTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» serviceType NetworkServiceTypeInfo true none none
»» id number false none none
»» name string false none none
»» commonPorts [number] false none none
»» description string false none none
»» reference string false none none
» port number true none none

search service by id

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/services/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/services/ \
  --header 'accept: application/json'

GET /services/{id}

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.148Z",
    "updated": "2022-02-25T19:32:58.148Z",
    "active": true
  },
  "serviceType": {
    "id": 2,
    "name": "HTTP",
    "commonPorts": [
      80
    ],
    "description": "HTTP service hosts webpages",
    "reference": "https://docs.docs.alphawave.co/inventory/service/network/http"
  },
  "port": 80
}

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» metadata InventoryMetadata true none none
»» id string(uuid) true none none
»» typeInfo InventoryTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» serviceType NetworkServiceTypeInfo true none none
»» id number false none none
»» name string false none none
»» commonPorts [number] false none none
»» description string false none none
»» reference string false none none
» port number true none none

search all network services

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/services/network", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/services/network \
  --header 'accept: application/json'

GET /services/network

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Type Name",
        "description": "Description of this type of inventory",
        "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.153Z",
      "updated": "2022-02-25T19:32:58.153Z",
      "active": true
    },
    "serviceType": {
      "id": 2,
      "name": "HTTP",
      "commonPorts": [
        80
      ],
      "description": "HTTP service hosts webpages",
      "reference": "https://docs.docs.alphawave.co/inventory/service/network/http"
    },
    "port": 80
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [NetworkService] false none none
» metadata InventoryMetadata true none none
»» id string(uuid) true none none
»» typeInfo InventoryTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» serviceType NetworkServiceTypeInfo true none none
»» id number false none none
»» name string false none none
»» commonPorts [number] false none none
»» description string false none none
»» reference string false none none
» port number true none none

search network services by ip address

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/services/network/address/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/services/network/address/ \
  --header 'accept: application/json'

GET /services/network/address/{address}

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Type Name",
        "description": "Description of this type of inventory",
        "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.157Z",
      "updated": "2022-02-25T19:32:58.157Z",
      "active": true
    },
    "serviceType": {
      "id": 2,
      "name": "HTTP",
      "commonPorts": [
        80
      ],
      "description": "HTTP service hosts webpages",
      "reference": "https://docs.docs.alphawave.co/inventory/service/network/http"
    },
    "port": 80
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [NetworkService] false none none
» metadata InventoryMetadata true none none
»» id string(uuid) true none none
»» typeInfo InventoryTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» serviceType NetworkServiceTypeInfo true none none
»» id number false none none
»» name string false none none
»» commonPorts [number] false none none
»» description string false none none
»» reference string false none none
» port number true none none

search network service by protocol

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/services/network/protocol/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/services/network/protocol/ \
  --header 'accept: application/json'

GET /services/network/protocol/{protocol}

search network service by protocol

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Type Name",
        "description": "Description of this type of inventory",
        "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.159Z",
      "updated": "2022-02-25T19:32:58.159Z",
      "active": true
    },
    "serviceType": {
      "id": 2,
      "name": "HTTP",
      "commonPorts": [
        80
      ],
      "description": "HTTP service hosts webpages",
      "reference": "https://docs.docs.alphawave.co/inventory/service/network/http"
    },
    "port": 80
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [NetworkService] false none none
» metadata InventoryMetadata true none none
»» id string(uuid) true none none
»» typeInfo InventoryTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» serviceType NetworkServiceTypeInfo true none none
»» id number false none none
»» name string false none none
»» commonPorts [number] false none none
»» description string false none none
»» reference string false none none
» port number true none none

search network service by port

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/services/network/port/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/services/network/port/ \
  --header 'accept: application/json'

GET /services/network/port/{port}

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Type Name",
        "description": "Description of this type of inventory",
        "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.162Z",
      "updated": "2022-02-25T19:32:58.162Z",
      "active": true
    },
    "serviceType": {
      "id": 2,
      "name": "HTTP",
      "commonPorts": [
        80
      ],
      "description": "HTTP service hosts webpages",
      "reference": "https://docs.docs.alphawave.co/inventory/service/network/http"
    },
    "port": 80
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [NetworkService] false none none
» metadata InventoryMetadata true none none
»» id string(uuid) true none none
»» typeInfo InventoryTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» serviceType NetworkServiceTypeInfo true none none
»» id number false none none
»» name string false none none
»» commonPorts [number] false none none
»» description string false none none
»» reference string false none none
» port number true none none

search service by service name

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/services/network/name/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/services/network/name/ \
  --header 'accept: application/json'

GET /services/network/name/{name}

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.166Z",
    "updated": "2022-02-25T19:32:58.166Z",
    "active": true
  },
  "serviceType": {
    "id": 2,
    "name": "HTTP",
    "commonPorts": [
      80
    ],
    "description": "HTTP service hosts webpages",
    "reference": "https://docs.docs.alphawave.co/inventory/service/network/http"
  },
  "port": 80
}

Responses

Status Meaning Description Schema
200 OK successful operation NetworkService
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Exposures

Search for all exposures

search all exposures

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/exposures", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/exposures \
  --header 'accept: application/json'

GET /exposures

search for all discovered exposures

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Exposure Name",
        "description": "Description of this type of exposure",
        "reference": "https://docs.alphawave.co/exposure/exposurenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.168Z",
      "updated": "2022-02-25T19:32:58.168Z",
      "active": true
    },
    "inventory": {
      "metadata": {
        "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
        "typeInfo": {
          "id": 123,
          "name": "Readable Type Name",
          "description": "Description of this type of inventory",
          "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
        },
        "orgId": "123456789012",
        "created": "2022-02-25T19:32:58.169Z",
        "updated": "2022-02-25T19:32:58.169Z",
        "active": true
      },
      "category": "framework",
      "license": "oss",
      "vendor": "React",
      "developer": "React",
      "name": "react",
      "versions": [
        "16.13.1"
      ],
      "lastVersion": "16.13.1",
      "website": "https://www.reactjs.org"
    },
    "description": "A cross-site scripting attack occurs when the attacker tricks a legitimate web-based application or site to accept a request as originating from a trusted source.",
    "affectedVersions": [
      "0.14.1"
    ],
    "references": [
      "https://github.com/facebook/react/issues/3473"
    ],
    "cve": "CVE-2020-12345",
    "cwe": "CWE-79"
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

search all new exposures

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/exposures/new", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/exposures/new \
  --header 'accept: application/json'

GET /exposures/new

search for all newly discovered exposures

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Exposure Name",
        "description": "Description of this type of exposure",
        "reference": "https://docs.alphawave.co/exposure/exposurenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.171Z",
      "updated": "2022-02-25T19:32:58.171Z",
      "active": true
    },
    "inventory": {
      "metadata": {
        "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
        "typeInfo": {
          "id": 123,
          "name": "Readable Type Name",
          "description": "Description of this type of inventory",
          "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
        },
        "orgId": "123456789012",
        "created": "2022-02-25T19:32:58.171Z",
        "updated": "2022-02-25T19:32:58.171Z",
        "active": true
      },
      "category": "framework",
      "license": "oss",
      "vendor": "React",
      "developer": "React",
      "name": "react",
      "versions": [
        "16.13.1"
      ],
      "lastVersion": "16.13.1",
      "website": "https://www.reactjs.org"
    },
    "description": "A cross-site scripting attack occurs when the attacker tricks a legitimate web-based application or site to accept a request as originating from a trusted source.",
    "affectedVersions": [
      "0.14.1"
    ],
    "references": [
      "https://github.com/facebook/react/issues/3473"
    ],
    "cve": "CVE-2020-12345",
    "cwe": "CWE-79"
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

search exposures by id

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/exposures/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/exposures/ \
  --header 'accept: application/json'

GET /exposures/{id}

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Exposure Name",
      "description": "Description of this type of exposure",
      "reference": "https://docs.alphawave.co/exposure/exposurenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.177Z",
    "updated": "2022-02-25T19:32:58.177Z",
    "active": true
  },
  "inventory": {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Type Name",
        "description": "Description of this type of inventory",
        "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.177Z",
      "updated": "2022-02-25T19:32:58.177Z",
      "active": true
    },
    "category": "framework",
    "license": "oss",
    "vendor": "React",
    "developer": "React",
    "name": "react",
    "versions": [
      "16.13.1"
    ],
    "lastVersion": "16.13.1",
    "website": "https://www.reactjs.org"
  },
  "description": "A cross-site scripting attack occurs when the attacker tricks a legitimate web-based application or site to accept a request as originating from a trusted source.",
  "affectedVersions": [
    "0.14.1"
  ],
  "references": [
    "https://github.com/facebook/react/issues/3473"
  ],
  "cve": "CVE-2020-12345",
  "cwe": "CWE-79"
}

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Vulnerabilities

Search for Vulnerability exposures

search all vulnerabilities

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/exposures/vulnerabilities", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/exposures/vulnerabilities \
  --header 'accept: application/json'

GET /exposures/vulnerabilities

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Exposure Name",
        "description": "Description of this type of exposure",
        "reference": "https://docs.alphawave.co/exposure/exposurenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.180Z",
      "updated": "2022-02-25T19:32:58.180Z",
      "active": true
    },
    "inventory": {
      "metadata": {
        "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
        "typeInfo": {
          "id": 123,
          "name": "Readable Type Name",
          "description": "Description of this type of inventory",
          "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
        },
        "orgId": "123456789012",
        "created": "2022-02-25T19:32:58.180Z",
        "updated": "2022-02-25T19:32:58.180Z",
        "active": true
      },
      "category": "framework",
      "license": "oss",
      "vendor": "React",
      "developer": "React",
      "name": "react",
      "versions": [
        "16.13.1"
      ],
      "lastVersion": "16.13.1",
      "website": "https://www.reactjs.org"
    },
    "description": "A cross-site scripting attack occurs when the attacker tricks a legitimate web-based application or site to accept a request as originating from a trusted source.",
    "affectedVersions": [
      "0.14.1"
    ],
    "references": [
      "https://github.com/facebook/react/issues/3473"
    ],
    "cve": "CVE-2020-12345",
    "cwe": "CWE-79"
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Vulnerability] false none none
» metadata ExposureMetadata true none none
»» id string(uuid) false none none
»» typeInfo ExposureTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» inventory any true none none

anyOf

Name Type Required Restrictions Description
»» anonymous Software false none none
»»» metadata InventoryMetadata true none none
»»»» id string(uuid) true none none
»»»» typeInfo InventoryTypeInfo true none none
»»»»» id number false none none
»»»»» name string false none none
»»»»» description string false none none
»»»»» reference string false none none
»»»» orgId string true none none
»»»» created string(date-time) false none none
»»»» updated string(date-time) false none none
»»»» active boolean false none none
»»» category string true none none
»»» license string true none none
»»» vendor string true none none
»»» developer string true none none
»»» name string true none none
»»» versions [string] true none none
»»» lastVersion string true none none
»»» website string true none none

or

Name Type Required Restrictions Description
»» anonymous NetworkService false none none
»»» metadata InventoryMetadata true none none
»»» serviceType NetworkServiceTypeInfo true none none
»»»» id number false none none
»»»» name string false none none
»»»» commonPorts [number] false none none
»»»» description string false none none
»»»» reference string false none none
»»» port number true none none

continued

Name Type Required Restrictions Description
»» description string true none none
»» affectedVersions [string] true none none
»» references [string] false none none
»» cve string false none none
»» cwe string false none none

Organizations

Search and manage your organizations

get all organizations

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/organizations", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/organizations \
  --header 'accept: application/json'

GET /organizations

Example responses

200 Response

[
  {
    "metadata": {
      "orgId": "123456789012",
      "active": true,
      "created": "2022-02-25T19:32:58.182Z",
      "updated": "2022-02-25T19:32:58.182Z",
      "deleted": "2022-02-25T19:32:58.182Z"
    },
    "owner_name": "Bob Ross",
    "owner_email": "bobross@domain.com",
    "plan": "basic",
    "trial": false,
    "name": "Bob Ross Paintings",
    "homepage": "domain.com",
    "description": "This company sells bob ross paintings",
    "city": "Austin",
    "region": "Texas",
    "country": "United States",
    "domains": [
      "600d1675-e5cf-41cc-ac42-0e326b8bd175"
    ],
    "networks": [
      "600d1675-e5cf-41cc-ac42-0e326b8bd175"
    ],
    "asns": [
      1234
    ],
    "prefixes": [
      "1.1.1.1/32"
    ],
    "users": [
      "Bob Ross"
    ],
    "emails": [
      "bobross@domain.com"
    ],
    "collection_time": "2022-02-25T19:32:58.182Z",
    "collection_success": true
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [Organization] false none none
» metadata OrganizationMetadata true none none
»» orgId string true none none
»» active boolean true none none
»» created string(date-time) true none none
»» updated string(date-time) true none none
»» deleted string(date-time) false none none
» owner_name string false none none
» owner_email string false none none
» plan string false none none
» trial boolean false none none
» name string false none none
» homepage string false none none
» description string false none none
» city string false none none
» region string false none none
» country string false none none
» domains [string] false none none
» networks [string] false none none
» asns [integer] false none none
» prefixes [string] false none none
» users [string] false none none
» emails [string] false none none
» collection_time string(date-time) false none none
» collection_success boolean false none none

add a new network to an organization

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

payload = "{\"address\":\"10.1.1.0/24\",\"description\":\"Our external network\",\"owner\":\"bob@ross.com\",\"tags\":\"production\"}"

headers = {
    'content-type': "application/json",
    'accept': "application/json"
    }

conn.request("POST", "/organizations/networks", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request POST \
  --url https://api.alphawave.co/organizations/networks \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"address":"10.1.1.0/24","description":"Our external network","owner":"bob@ross.com","tags":"production"}'

POST /organizations/networks

Body parameter

{
  "address": "10.1.1.0/24",
  "description": "Our external network",
  "owner": "bob@ross.com",
  "tags": "production"
}

Parameters

Name In Type Required Description
body body NetworkRequest true a new network object to add
» address body string true none
» description body string true none
» owner body string true none
» tags body string true none

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "active": true,
    "created": "2022-02-25T19:32:58.185Z",
    "updated": "2022-02-25T19:32:58.185Z",
    "deleted": "2022-02-25T19:32:58.185Z"
  },
  "address": "1.1.1.0/24",
  "description": "Our colo network",
  "owner": "bobross@domain.com",
  "tags": [
    "colo",
    "production"
  ]
}

Responses

Status Meaning Description Schema
200 OK created new domain Network
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

List networks associated with organization

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/organizations/networks", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/organizations/networks \
  --header 'accept: application/json'

GET /organizations/networks

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "active": true,
    "created": "2022-02-25T19:32:58.187Z",
    "updated": "2022-02-25T19:32:58.187Z",
    "deleted": "2022-02-25T19:32:58.187Z"
  },
  "address": "1.1.1.0/24",
  "description": "Our colo network",
  "owner": "bobross@domain.com",
  "tags": [
    "colo",
    "production"
  ]
}

Responses

Status Meaning Description Schema
200 OK all network entries Network
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

get organizations network by id

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/organizations/networks/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/organizations/networks/ \
  --header 'accept: application/json'

GET /organizations/networks/{id}

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "active": true,
    "created": "2022-02-25T19:32:58.189Z",
    "updated": "2022-02-25T19:32:58.189Z",
    "deleted": "2022-02-25T19:32:58.189Z"
  },
  "address": "1.1.1.0/24",
  "description": "Our colo network",
  "owner": "bobross@domain.com",
  "tags": [
    "colo",
    "production"
  ]
}

Responses

Status Meaning Description Schema
200 OK successful operation Network
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

modify a network to an organization

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

payload = "{\"address\":\"10.1.1.0/24\",\"description\":\"Our external network\",\"owner\":\"bob@ross.com\",\"tags\":\"production\"}"

headers = {
    'content-type': "application/json",
    'accept': "application/json"
    }

conn.request("PATCH", "/organizations/networks/", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request PATCH \
  --url https://api.alphawave.co/organizations/networks/ \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"address":"10.1.1.0/24","description":"Our external network","owner":"bob@ross.com","tags":"production"}'

PATCH /organizations/networks/{id}

Body parameter

{
  "address": "10.1.1.0/24",
  "description": "Our external network",
  "owner": "bob@ross.com",
  "tags": "production"
}

Parameters

Name In Type Required Description
body body NetworkRequest true a network object to modify
» address body string true none
» description body string true none
» owner body string true none
» tags body string true none

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "active": true,
    "created": "2022-02-25T19:32:58.194Z",
    "updated": "2022-02-25T19:32:58.194Z",
    "deleted": "2022-02-25T19:32:58.194Z"
  },
  "address": "1.1.1.0/24",
  "description": "Our colo network",
  "owner": "bobross@domain.com",
  "tags": [
    "colo",
    "production"
  ]
}

Responses

Status Meaning Description Schema
200 OK updated existing network Network
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

delete an organizations network by id

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("DELETE", "/organizations/networks/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request DELETE \
  --url https://api.alphawave.co/organizations/networks/ \
  --header 'accept: application/json'

DELETE /organizations/networks/{id}

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "active": true,
    "created": "2022-02-25T19:32:58.197Z",
    "updated": "2022-02-25T19:32:58.197Z",
    "deleted": "2022-02-25T19:32:58.197Z"
  },
  "address": "1.1.1.0/24",
  "description": "Our colo network",
  "owner": "bobross@domain.com",
  "tags": [
    "colo",
    "production"
  ]
}

Responses

Status Meaning Description Schema
200 OK successful operation Network
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

add a new domain to an organization

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

payload = "{\"name\":\"alphawave.co\",\"description\":\"Our labs domain\",\"owner\":\"bob@ross.com\",\"tags\":[\"production\",\"staging\"]}"

headers = {
    'content-type': "application/json",
    'accept': "application/json"
    }

conn.request("POST", "/organizations/domains", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request POST \
  --url https://api.alphawave.co/organizations/domains \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"name":"alphawave.co","description":"Our labs domain","owner":"bob@ross.com","tags":["production","staging"]}'

POST /organizations/domains

Body parameter

{
  "name": "alphawave.co",
  "description": "Our labs domain",
  "owner": "bob@ross.com",
  "tags": [
    "production",
    "staging"
  ]
}

Parameters

Name In Type Required Description
body body DomainRequest true a new domain object to add
» name body string true none
» description body string true none
» owner body string true none
» tags body array true none

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "active": true,
    "created": "2022-02-25T19:32:58.199Z",
    "updated": "2022-02-25T19:32:58.199Z",
    "deleted": "2022-02-25T19:32:58.199Z"
  },
  "name": "domain.com",
  "description": "Our root domain",
  "owner": "bobross@domain.com",
  "tags": [
    "production",
    "staging"
  ]
}

Responses

Status Meaning Description Schema
200 OK created new domain Domain
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

List domains associated with organization

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/organizations/domains", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/organizations/domains \
  --header 'accept: application/json'

GET /organizations/domains

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "active": true,
    "created": "2022-02-25T19:32:58.201Z",
    "updated": "2022-02-25T19:32:58.201Z",
    "deleted": "2022-02-25T19:32:58.201Z"
  },
  "name": "domain.com",
  "description": "Our root domain",
  "owner": "bobross@domain.com",
  "tags": [
    "production",
    "staging"
  ]
}

Responses

Status Meaning Description Schema
200 OK all domain entries Domain
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

get organizations domain by id

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/organizations/domains/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/organizations/domains/ \
  --header 'accept: application/json'

GET /organizations/domains/{id}

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "active": true,
    "created": "2022-02-25T19:32:58.203Z",
    "updated": "2022-02-25T19:32:58.203Z",
    "deleted": "2022-02-25T19:32:58.203Z"
  },
  "name": "domain.com",
  "description": "Our root domain",
  "owner": "bobross@domain.com",
  "tags": [
    "production",
    "staging"
  ]
}

Responses

Status Meaning Description Schema
200 OK successful operation Domain
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

modify a domain to an organization

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

payload = "{\"name\":\"alphawave.co\",\"description\":\"Our labs domain\",\"owner\":\"bob@ross.com\",\"tags\":[\"production\",\"staging\"]}"

headers = {
    'content-type': "application/json",
    'accept': "application/json"
    }

conn.request("PATCH", "/organizations/domains/", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request PATCH \
  --url https://api.alphawave.co/organizations/domains/ \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"name":"alphawave.co","description":"Our labs domain","owner":"bob@ross.com","tags":["production","staging"]}'

PATCH /organizations/domains/{id}

Body parameter

{
  "name": "alphawave.co",
  "description": "Our labs domain",
  "owner": "bob@ross.com",
  "tags": [
    "production",
    "staging"
  ]
}

Parameters

Name In Type Required Description
body body DomainRequest true a domain object to modify
» name body string true none
» description body string true none
» owner body string true none
» tags body array true none

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "active": true,
    "created": "2022-02-25T19:32:58.205Z",
    "updated": "2022-02-25T19:32:58.205Z",
    "deleted": "2022-02-25T19:32:58.205Z"
  },
  "name": "domain.com",
  "description": "Our root domain",
  "owner": "bobross@domain.com",
  "tags": [
    "production",
    "staging"
  ]
}

Responses

Status Meaning Description Schema
200 OK updated existing network Domain
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

delete an organizations domain by id

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("DELETE", "/organizations/domains/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request DELETE \
  --url https://api.alphawave.co/organizations/domains/ \
  --header 'accept: application/json'

DELETE /organizations/domains/{id}

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "active": true,
    "created": "2022-02-25T19:32:58.207Z",
    "updated": "2022-02-25T19:32:58.207Z",
    "deleted": "2022-02-25T19:32:58.207Z"
  },
  "name": "domain.com",
  "description": "Our root domain",
  "owner": "bobross@domain.com",
  "tags": [
    "production",
    "staging"
  ]
}

Responses

Status Meaning Description Schema
200 OK successful operation Domain
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Pipelines

Search and manage your integration pipelines

Get pipeline by id

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/pipelines/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/pipelines/ \
  --header 'accept: application/json'

GET /pipelines/{id}

Get a specific pipeline by id

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.209Z",
    "updated": "2022-02-25T19:32:58.209Z"
  },
  "type": "aws",
  "direction": "input",
  "accessId": "AKIAIOSFODNN7EXAMPLE",
  "secretKeyId": "****************"
}

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» metadata PipelineMetadata true none none
»» id string true none none
»» orgId string true none none
»» created string(date-time) true none none
»» updated string(date-time) true none none
» type string true none none
» direction string true none none
» accessId string true none none
» secretKeyId string true none none

Delete pipeline by id

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("DELETE", "/pipelines/", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request DELETE \
  --url https://api.alphawave.co/pipelines/ \
  --header 'accept: application/json'

DELETE /pipelines/{id}

Delete a specific pipeline by id

Example responses

200 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.211Z",
    "updated": "2022-02-25T19:32:58.211Z"
  },
  "type": "aws",
  "direction": "input",
  "accessId": "AKIAIOSFODNN7EXAMPLE",
  "secretKeyId": "****************"
}

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» metadata PipelineMetadata true none none
»» id string true none none
»» orgId string true none none
»» created string(date-time) true none none
»» updated string(date-time) true none none
» type string true none none
» direction string true none none
» accessId string true none none
» secretKeyId string true none none

Scans

The Scan endpoint allows you to scan new networks and domains in real time. This is particularly useful when deploying new infrastructure and networks. One particularly useful integration is with build pipelines that want to ensure they are not exposing vulnerable systems to the internet when deploying code.

get configured pipelines

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/pipelines", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/pipelines \
  --header 'accept: application/json'

GET /pipelines

This endpoint allows you to get your configured pipelines

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.214Z",
      "updated": "2022-02-25T19:32:58.214Z"
    },
    "type": "aws",
    "direction": "input",
    "accessId": "AKIAIOSFODNN7EXAMPLE",
    "secretKeyId": "****************"
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» metadata PipelineMetadata true none none
»» id string true none none
»» orgId string true none none
»» created string(date-time) true none none
»» updated string(date-time) true none none
» type string true none none
» direction string true none none
» accessId string true none none
» secretKeyId string true none none

Configure an AWS input pipeline

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

payload = "{\"accessId\":\"AKIAIOSFODNN7EXAMPLE\",\"secretKeyId\":\"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\",\"description\":\"aws iam user for listing services\"}"

headers = {
    'content-type': "application/json",
    'accept': "application/json"
    }

conn.request("POST", "/pipelines/input/aws", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request POST \
  --url https://api.alphawave.co/pipelines/input/aws \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"accessId":"AKIAIOSFODNN7EXAMPLE","secretKeyId":"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY","description":"aws iam user for listing services"}'

POST /pipelines/input/aws

Configure an AWS input pipeline with IAM credentials

Body parameter

{
  "accessId": "AKIAIOSFODNN7EXAMPLE",
  "secretKeyId": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "description": "aws iam user for listing services"
}

Parameters

Name In Type Required Description
body body PipelineInputAwsRequest true A PipelineInputAws request object
» accessId body string true none
» secretKeyId body string true none
» description body string true none

Example responses

201 Response

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.217Z",
    "updated": "2022-02-25T19:32:58.217Z"
  },
  "type": "aws",
  "direction": "input",
  "accessId": "AKIAIOSFODNN7EXAMPLE",
  "secretKeyId": "****************"
}

Responses

Status Meaning Description Schema
201 Created successful operation PipelineInputAws
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

RiskyServices

search all risky services

Code samples

import http.client

conn = http.client.HTTPSConnection("api.alphawave.co")

headers = { 'accept': "application/json" }

conn.request("GET", "/exposures/riskyservices", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl --request GET \
  --url https://api.alphawave.co/exposures/riskyservices \
  --header 'accept: application/json'

GET /exposures/riskyservices

Parameters

Name In Type Required Description
limit query number false limit request results
start query number false start results at number
stop query number false end results at number

Example responses

200 Response

[
  {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Exposure Name",
        "description": "Description of this type of exposure",
        "reference": "https://docs.alphawave.co/exposure/exposurenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.220Z",
      "updated": "2022-02-25T19:32:58.220Z",
      "active": true
    },
    "inventory": {
      "metadata": {
        "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
        "typeInfo": {
          "id": 123,
          "name": "Readable Type Name",
          "description": "Description of this type of inventory",
          "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
        },
        "orgId": "123456789012",
        "created": "2022-02-25T19:32:58.220Z",
        "updated": "2022-02-25T19:32:58.220Z",
        "active": true
      },
      "serviceType": {
        "id": 2,
        "name": "HTTP",
        "commonPorts": [
          80
        ],
        "description": "HTTP service hosts webpages",
        "reference": "https://docs.docs.alphawave.co/inventory/service/network/http"
      },
      "port": 80
    }
  }
]

Responses

Status Meaning Description Schema
200 OK successful operation Inline
400 Bad Request bad input parameter None
500 Internal Server Error internal service error None

Response Schema

Status Code 200

Name Type Required Restrictions Description
anonymous [RiskyService] false none none
» metadata ExposureMetadata true none none
»» id string(uuid) false none none
»» typeInfo ExposureTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» description string false none none
»»» reference string false none none
»» orgId string true none none
»» created string(date-time) false none none
»» updated string(date-time) false none none
»» active boolean false none none
» inventory NetworkService true none none
»» metadata InventoryMetadata true none none
»»» id string(uuid) true none none
»»» typeInfo InventoryTypeInfo true none none
»»»» id number false none none
»»»» name string false none none
»»»» description string false none none
»»»» reference string false none none
»»» orgId string true none none
»»» created string(date-time) false none none
»»» updated string(date-time) false none none
»»» active boolean false none none
»» serviceType NetworkServiceTypeInfo true none none
»»» id number false none none
»»» name string false none none
»»» commonPorts [number] false none none
»»» description string false none none
»»» reference string false none none
»» port number true none none

Schemas

DnsRecord

{
  "type": "CNAME",
  "value": "www.domain.com"
}

Properties

Name Type Required Restrictions Description
type string true none none
value string true none none

Domain

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "active": true,
    "created": "2022-02-25T19:32:58.221Z",
    "updated": "2022-02-25T19:32:58.221Z",
    "deleted": "2022-02-25T19:32:58.221Z"
  },
  "name": "domain.com",
  "description": "Our root domain",
  "owner": "bobross@domain.com",
  "tags": [
    "production",
    "staging"
  ]
}

Properties

Name Type Required Restrictions Description
metadata DomainMetadata true none none
name string true none none
description string true none none
owner string false none none
tags array false none none

DomainRequest

{
  "name": "alphawave.co",
  "description": "Our labs domain",
  "owner": "bob@ross.com",
  "tags": [
    "production",
    "staging"
  ]
}

Properties

Name Type Required Restrictions Description
name string true none none
description string true none none
owner string true none none
tags array true none none

DomainMetadata

{
  "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
  "orgId": "123456789012",
  "active": true,
  "created": "2022-02-25T19:32:58.221Z",
  "updated": "2022-02-25T19:32:58.221Z",
  "deleted": "2022-02-25T19:32:58.221Z"
}

Properties

Name Type Required Restrictions Description
id string true none none
orgId string true none none
active boolean false none none
created string(date-time) true none none
updated string(date-time) true none none
deleted string(date-time) false none none

Software

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.221Z",
    "updated": "2022-02-25T19:32:58.221Z",
    "active": true
  },
  "category": "framework",
  "license": "oss",
  "vendor": "React",
  "developer": "React",
  "name": "react",
  "versions": [
    "16.13.1"
  ],
  "lastVersion": "16.13.1",
  "website": "https://www.reactjs.org"
}

Properties

Name Type Required Restrictions Description
metadata InventoryMetadata true none none
category string true none none
license string true none none
vendor string true none none
developer string true none none
name string true none none
versions [string] true none none
lastVersion string true none none
website string true none none

NetworkRecord

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.222Z",
    "updated": "2022-02-25T19:32:58.222Z",
    "active": true
  },
  "parent": "123456789012",
  "description": "Cloudflare, Inc",
  "asn": 13335,
  "address": "8.6.112.22/32",
  "lat": "32.7787,",
  "long": -96.8217
}

Properties

Name Type Required Restrictions Description
metadata InventoryMetadata true none none
parent string true none none
description string true none none
asn number true none none
address string true none none
lat number(float) true none none
long number(float) true none none

Network

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "active": true,
    "created": "2022-02-25T19:32:58.222Z",
    "updated": "2022-02-25T19:32:58.222Z",
    "deleted": "2022-02-25T19:32:58.222Z"
  },
  "address": "1.1.1.0/24",
  "description": "Our colo network",
  "owner": "bobross@domain.com",
  "tags": [
    "colo",
    "production"
  ]
}

Properties

Name Type Required Restrictions Description
metadata NetworkMetadata true none none
address string true none none
description string true none none
owner string false none none
tags array false none none

NetworkRequest

{
  "address": "10.1.1.0/24",
  "description": "Our external network",
  "owner": "bob@ross.com",
  "tags": "production"
}

Properties

Name Type Required Restrictions Description
address string true none none
description string true none none
owner string true none none
tags string true none none

NetworkMetadata

{
  "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
  "orgId": "123456789012",
  "active": true,
  "created": "2022-02-25T19:32:58.222Z",
  "updated": "2022-02-25T19:32:58.222Z",
  "deleted": "2022-02-25T19:32:58.222Z"
}

Properties

Name Type Required Restrictions Description
id string true none none
orgId string true none none
active boolean false none none
created string(date-time) true none none
updated string(date-time) true none none
deleted string(date-time) false none none

SecurityCertificate

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.222Z",
    "updated": "2022-02-25T19:32:58.222Z",
    "active": true
  },
  "serial": "7:0C:71:A0:CC:C2:CB:A4:41:39:E3:18:25:C9:E3:25:05:BC:F9",
  "hash": "ikPc65n7WM7U9sU95JXy+pJrOLku5yfugNd1i+E4cB4=",
  "validFrom": "2022-02-25T19:32:58.222Z",
  "validTo": "2022-02-25T19:32:58.222Z",
  "subject": "C=US, O=Company.com, LLC, L=Miami Beach, ST=Florida, CN=*.company.com",
  "issuer": "C=US, O=Trustwave Holdings, Inc., L=Chicago, ST=Illinois, CN=Trustwave OV SHA256 Pre-Certificate CA",
  "altNames": [
    "hyperoffice.company.com"
  ]
}

Properties

Name Type Required Restrictions Description
metadata InventoryMetadata true none none
serial string true none none
hash string true none none
validFrom string(date-time) true none none
validTo string(date-time) true none none
subject string true none none
issuer string true none none
altNames [string] true none none

PipelineInputAws

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.223Z",
    "updated": "2022-02-25T19:32:58.223Z"
  },
  "type": "aws",
  "direction": "input",
  "accessId": "AKIAIOSFODNN7EXAMPLE",
  "secretKeyId": "****************"
}

Properties

Name Type Required Restrictions Description
metadata PipelineMetadata true none none
type string true none none
direction string true none none
accessId string true none none
secretKeyId string true none none

PipelineInputAwsRequest

{
  "accessId": "AKIAIOSFODNN7EXAMPLE",
  "secretKeyId": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "description": "aws iam user for listing services"
}

Properties

Name Type Required Restrictions Description
accessId string true none none
secretKeyId string true none none
description string true none none

PipelineMetadata

{
  "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
  "orgId": "123456789012",
  "created": "2022-02-25T19:32:58.223Z",
  "updated": "2022-02-25T19:32:58.223Z"
}

Properties

Name Type Required Restrictions Description
id string true none none
orgId string true none none
created string(date-time) true none none
updated string(date-time) true none none

CloudStorage

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.223Z",
    "updated": "2022-02-25T19:32:58.223Z",
    "active": true
  },
  "provider": "Amazon Web Services",
  "service": "s3",
  "name": "bucket.name.organization",
  "isPublic": true,
  "created": "2022-02-25T19:32:58.223Z",
  "timestamp": "2022-02-25T19:32:58.223Z"
}

Properties

Name Type Required Restrictions Description
metadata InventoryMetadata true none none
provider string true none none
service string true none none
name string true none none
isPublic boolean true none none
created string(date-time) true none none
timestamp string(date-time) true none none

CloudFunction

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.224Z",
    "updated": "2022-02-25T19:32:58.224Z",
    "active": true
  },
  "provider": "Amazon Web Services",
  "service": "lambda",
  "name": "function-api-develop-server",
  "runtime": "nodejs10.x",
  "vpcId": "vpc-0536bdc4c19a39acf",
  "subnetIds": [
    "subnet-0d88afc03d189ed21"
  ],
  "timestamp": "2022-02-25T19:32:58.224Z"
}

Properties

Name Type Required Restrictions Description
metadata InventoryMetadata true none none
provider string true none none
service string true none none
name string true none none
runtime string true none none
vpcId string true none none
subnetIds [string] false none none
timestamp string(date-time) true none none

CloudCompute

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.225Z",
    "updated": "2022-02-25T19:32:58.225Z",
    "active": true
  },
  "imageId": "ami-02bfc6c4f07e959b5",
  "instanceId": "i-09c778845bbf4cc67",
  "instanceType": "t3a.large",
  "launchDate": "2022-02-25T19:32:58.225Z",
  "privateDns": "ip-10-200-3-45.ec2.internal",
  "privateAddress": "10.200.3.45",
  "publicDns": "ec2-11-101-81-16.compute-1.amazonaws.com",
  "publicAddress": "11.101.81.16",
  "subnetId": "subnet-0d88afc03d189ed21",
  "vpcId": "vpc-0536bdc4c19a39acf",
  "tags": [
    "production"
  ],
  "timestamp": "2022-02-25T19:32:58.225Z"
}

Properties

Name Type Required Restrictions Description
metadata InventoryMetadata true none none
imageId string true none none
instanceId string true none none
instanceType string true none none
launchDate string(date-time) true none none
privateDns string true none none
privateAddress string true none none
publicDns string true none none
publicAddress string true none none
subnetId string true none none
vpcId string true none none
tags [string] false none none
timestamp string(date-time) true none none

NetworkServiceTypeInfo

{
  "id": 2,
  "name": "HTTP",
  "commonPorts": [
    80
  ],
  "description": "HTTP service hosts webpages",
  "reference": "https://docs.docs.alphawave.co/inventory/service/network/http"
}

Properties

Name Type Required Restrictions Description
id number false none none
name string false none none
commonPorts [number] false none none
description string false none none
reference string false none none

NetworkService

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Type Name",
      "description": "Description of this type of inventory",
      "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.225Z",
    "updated": "2022-02-25T19:32:58.225Z",
    "active": true
  },
  "serviceType": {
    "id": 2,
    "name": "HTTP",
    "commonPorts": [
      80
    ],
    "description": "HTTP service hosts webpages",
    "reference": "https://docs.docs.alphawave.co/inventory/service/network/http"
  },
  "port": 80
}

Properties

Name Type Required Restrictions Description
metadata InventoryMetadata true none none
serviceType NetworkServiceTypeInfo true none none
port number true none none

Vulnerability

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Exposure Name",
      "description": "Description of this type of exposure",
      "reference": "https://docs.alphawave.co/exposure/exposurenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.225Z",
    "updated": "2022-02-25T19:32:58.225Z",
    "active": true
  },
  "inventory": {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Type Name",
        "description": "Description of this type of inventory",
        "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.225Z",
      "updated": "2022-02-25T19:32:58.225Z",
      "active": true
    },
    "category": "framework",
    "license": "oss",
    "vendor": "React",
    "developer": "React",
    "name": "react",
    "versions": [
      "16.13.1"
    ],
    "lastVersion": "16.13.1",
    "website": "https://www.reactjs.org"
  },
  "description": "A cross-site scripting attack occurs when the attacker tricks a legitimate web-based application or site to accept a request as originating from a trusted source.",
  "affectedVersions": [
    "0.14.1"
  ],
  "references": [
    "https://github.com/facebook/react/issues/3473"
  ],
  "cve": "CVE-2020-12345",
  "cwe": "CWE-79"
}

Properties

Name Type Required Restrictions Description
metadata ExposureMetadata true none none
inventory any true none none

anyOf

Name Type Required Restrictions Description
» anonymous Software false none none

or

Name Type Required Restrictions Description
» anonymous NetworkService false none none

continued

Name Type Required Restrictions Description
description string true none none
affectedVersions [string] true none none
references [string] false none none
cve string false none none
cwe string false none none

RiskyService

{
  "metadata": {
    "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
    "typeInfo": {
      "id": 123,
      "name": "Readable Exposure Name",
      "description": "Description of this type of exposure",
      "reference": "https://docs.alphawave.co/exposure/exposurenamehelpdocs"
    },
    "orgId": "123456789012",
    "created": "2022-02-25T19:32:58.226Z",
    "updated": "2022-02-25T19:32:58.226Z",
    "active": true
  },
  "inventory": {
    "metadata": {
      "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
      "typeInfo": {
        "id": 123,
        "name": "Readable Type Name",
        "description": "Description of this type of inventory",
        "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
      },
      "orgId": "123456789012",
      "created": "2022-02-25T19:32:58.226Z",
      "updated": "2022-02-25T19:32:58.226Z",
      "active": true
    },
    "serviceType": {
      "id": 2,
      "name": "HTTP",
      "commonPorts": [
        80
      ],
      "description": "HTTP service hosts webpages",
      "reference": "https://docs.docs.alphawave.co/inventory/service/network/http"
    },
    "port": 80
  }
}

Properties

Name Type Required Restrictions Description
metadata ExposureMetadata true none none
inventory NetworkService true none none

Organization

{
  "metadata": {
    "orgId": "123456789012",
    "active": true,
    "created": "2022-02-25T19:32:58.226Z",
    "updated": "2022-02-25T19:32:58.226Z",
    "deleted": "2022-02-25T19:32:58.226Z"
  },
  "owner_name": "Bob Ross",
  "owner_email": "bobross@domain.com",
  "plan": "basic",
  "trial": false,
  "name": "Bob Ross Paintings",
  "homepage": "domain.com",
  "description": "This company sells bob ross paintings",
  "city": "Austin",
  "region": "Texas",
  "country": "United States",
  "domains": [
    "600d1675-e5cf-41cc-ac42-0e326b8bd175"
  ],
  "networks": [
    "600d1675-e5cf-41cc-ac42-0e326b8bd175"
  ],
  "asns": [
    1234
  ],
  "prefixes": [
    "1.1.1.1/32"
  ],
  "users": [
    "Bob Ross"
  ],
  "emails": [
    "bobross@domain.com"
  ],
  "collection_time": "2022-02-25T19:32:58.226Z",
  "collection_success": true
}

Properties

Name Type Required Restrictions Description
metadata OrganizationMetadata true none none
owner_name string false none none
owner_email string false none none
plan string false none none
trial boolean false none none
name string false none none
homepage string false none none
description string false none none
city string false none none
region string false none none
country string false none none
domains [string] false none none
networks [string] false none none
asns [integer] false none none
prefixes [string] false none none
users [string] false none none
emails [string] false none none
collection_time string(date-time) false none none
collection_success boolean false none none

OrganizationMetadata

{
  "orgId": "123456789012",
  "active": true,
  "created": "2022-02-25T19:32:58.227Z",
  "updated": "2022-02-25T19:32:58.227Z",
  "deleted": "2022-02-25T19:32:58.227Z"
}

Properties

Name Type Required Restrictions Description
orgId string true none none
active boolean true none none
created string(date-time) true none none
updated string(date-time) true none none
deleted string(date-time) false none none

Scan

{
  "id": 123456789012,
  "status": "starting",
  "error": "ok",
  "source": "network",
  "data": "string"
}

Properties

Name Type Required Restrictions Description
id string true none none
status string true none none
error string true none none
source string true none none
data string true none none

Enumerated Values

Property Value
status starting
status started
status finishing
status finished
error ok
error failed
source network
source domain

ScanRequest

{
  "type": "network",
  "data": "127.0.0.1/24 or alphawave.co",
  "description": "scan our cloud network"
}

Properties

Name Type Required Restrictions Description
type string true none none
data string true none none
description string false none none

Enumerated Values

Property Value
type network
type domain

InventoryTypeInfo

{
  "id": 123,
  "name": "Readable Type Name",
  "description": "Description of this type of inventory",
  "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
}

Properties

Name Type Required Restrictions Description
id number false none none
name string false none none
description string false none none
reference string false none none

InventoryMetadata

{
  "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
  "typeInfo": {
    "id": 123,
    "name": "Readable Type Name",
    "description": "Description of this type of inventory",
    "reference": "https://docs.alphawave.co/inventory/typenamehelpdocs"
  },
  "orgId": "123456789012",
  "created": "2022-02-25T19:32:58.227Z",
  "updated": "2022-02-25T19:32:58.227Z",
  "active": true
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none none
typeInfo InventoryTypeInfo true none none
orgId string true none none
created string(date-time) false none none
updated string(date-time) false none none
active boolean false none none

ExposureTypeInfo

{
  "id": 123,
  "name": "Readable Exposure Name",
  "description": "Description of this type of exposure",
  "reference": "https://docs.alphawave.co/exposure/exposurenamehelpdocs"
}

Properties

Name Type Required Restrictions Description
id number false none none
name string false none none
description string false none none
reference string false none none

ExposureMetadata

{
  "id": "600d1675-e5cf-41cc-ac42-0e326b8bd175",
  "typeInfo": {
    "id": 123,
    "name": "Readable Exposure Name",
    "description": "Description of this type of exposure",
    "reference": "https://docs.alphawave.co/exposure/exposurenamehelpdocs"
  },
  "orgId": "123456789012",
  "created": "2022-02-25T19:32:58.228Z",
  "updated": "2022-02-25T19:32:58.228Z",
  "active": true
}

Properties

Name Type Required Restrictions Description
id string(uuid) false none none
typeInfo ExposureTypeInfo true none none
orgId string true none none
created string(date-time) false none none
updated string(date-time) false none none
active boolean false none none