SecurityHive API Documentation

Postman collection → OpenAPI spec →

Introduction

This documentation aims to provide all the information you need to work with our API.

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_PERSONAL_ACCESS_TOKEN}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can retrieve your token by visiting the dashboard and clicking Generate new token at your profile.

Applications

Manage the applications that have been discovered on your assets.

List applications.

GET
https://api.securityhive.io
/v1/applications
requires authentication

Retrieve all applications for the current company. Look at the 'Retrieve an application' endpoint for more details on the application object.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Query Parameters

filter[vendor]
Filter applications by vendor.
Example:
microsoft
filter[product]
Filter applications by product.
Example:
windows
filter[version]
Filter applications by version.
Example:
1.2.0
sort
The column(s) to sort by. Prefix with - for descending order. Eg sort=-vendor
Must be one of:
  • cpe
  • vendor
  • product
  • version
Example:
cpe
include
Include additional relationships (comma separated).
Must be one of:
  • assets
Example:
assets
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/applications?filter%5Bvendor%5D=microsoft&filter%5Bproduct%5D=windows&filter%5Bversion%5D=1.2.0&sort=cpe&include=assets" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "a04676c8-d859-4956-8536-ed25a5ad54ed",
            "cpe": "cpe:2.3:a:adobe:indesign:*:*:*:*:*:*:*:*",
            "vendor": "Adobe",
            "product": "InDesign",
            "version": "8.25.9147",
            "update": "sp2",
            "created_at": "2025-11-04T08:30:10.000000Z",
            "updated_at": "2025-11-04T08:30:10.000000Z"
        },
        {
            "id": "a04676c8-d9d4-4144-8e18-3943c89c4d9e",
            "cpe": "cpe:2.3:a:adobe:acrobat:*:*:*:*:*:*:*:*",
            "vendor": "Adobe",
            "product": "Acrobat",
            "version": "13.48.2741",
            "update": "hotfix1",
            "created_at": "2025-11-04T08:30:10.000000Z",
            "updated_at": "2025-11-04T08:30:10.000000Z"
        }
    ],
    "links": {
        "first": "/?page=1",
        "last": "/?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "page": null,
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "page": 1,
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "page": null,
                "active": false
            }
        ],
        "path": "/",
        "per_page": 10,
        "to": 2,
        "total": 2
    }
}

Export applications.

GET
https://api.securityhive.io
/v1/applications/export
requires authentication

Export all applications for the current company in CSV or XLSX format.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Query Parameters

type
The type of export to generate
required
Must be one of:
  • csv
  • xlsx
Example:
csv
filter[vendor]
Filter applications by vendor.
Example:
microsoft
filter[product]
Filter applications by product.
Example:
windows
filter[version]
Filter applications by version.
Example:
1.2.0
sort
The column(s) to sort by. Prefix with - for descending order. Eg sort=-vendor
Must be one of:
  • cpe
  • vendor
  • product
  • version
Example:
product

Body Parameters

Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/applications/export?type=csv&filter%5Bvendor%5D=microsoft&filter%5Bproduct%5D=windows&filter%5Bversion%5D=1.2.0&sort=product" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"csv\"
}"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
content-security-policy-report-only: default-src 'self'; script-src 'self' 'nonce-RoPbQm9dcePIqJ5VrBDVFmgwEEda2mwMndLWL9Aw' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com; script-src-elem 'self' 'nonce-RoPbQm9dcePIqJ5VrBDVFmgwEEda2mwMndLWL9Aw' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com; script-src-attr 'none'; style-src 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com; style-src-elem 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com; img-src 'self' data: blob: https://*.intercomcdn.com https://www.gravatar.com; font-src 'self' https://fonts.bunny.net https://*.intercomcdn.com; connect-src 'self' https://um.securityhive.io https://*.intercom.io wss://*.intercom.io wss://localhost; frame-src 'self' https://um.securityhive.io https://js.chargebee.com https://securityhive.chargebee.com https://intercom-sheets.com; frame-ancestors 'none'; form-action 'self'; base-uri 'self'; object-src 'none'; worker-src 'self'; manifest-src 'self'; media-src 'self' data:; upgrade-insecure-requests
content-security-policy: frame-src 'self' https://um.securityhive.io https://js.chargebee.com https://securityhive.chargebee.com https://intercom-sheets.com; frame-ancestors 'none';
permissions-policy: geolocation=(), microphone=(), camera=(), fullscreen=()
x-content-type-options: nosniff
cross-origin-resource-policy: same-site
referrer-policy: strict-origin-when-cross-origin
vary: Origin
{
    "message": "Unauthenticated."
}

Retrieve an application.

GET
https://api.securityhive.io
/v1/applications/{id}
requires authentication

Retrieves an by its ID.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

id
string
required

The ID of the application.

Example:
fugiat

Query Parameters

include
Include additional relationships (comma separated).
Must be one of:
  • assets
Example:
assets
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/applications/fugiat?include=assets" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a04676c8-de28-4cf2-a963-00dbe5722014",
        "cpe": "cpe:2.3:a:ibm:spss:*:*:*:*:*:*:*:*",
        "vendor": "IBM",
        "product": "SPSS",
        "version": "3.35.5733",
        "update": "build9858",
        "created_at": "2025-11-04T08:30:10.000000Z",
        "updated_at": "2025-11-04T08:30:10.000000Z"
    }
}

Assets

Manage assets that have been discovered on your network.

List assets.

GET
https://api.securityhive.io
/v1/assets
requires authentication

Retrieve all assets for the current company. Look at the 'Retrieve an asset' endpoint for more details on the asset object.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Query Parameters

filter[name]
Filter assets by name.
Example:
Laptop-1
filter[host]
Filter assets by their IP-address.
Example:
192.168.1.1
filter[mac_address]
Filter assets by their MAC-address.
Example:
3A:5E:D6:95:BF
filter[hostname]
Filter assets by their hostname.
Example:
laptop-1.local
filter[tags][]
Filter assets by their tags.
Example:
New,Old
filter[licensed]
Filter assets by licensed status.
Example:
true,false
sort
The column(s) to sort by. Prefix with - for descending order. Eg sort=-name
Must be one of:
  • name
  • host
  • last_seen
  • licensed
Example:
licensed
include
Include additional relationships (comma separated).
Must be one of:
  • certificates
  • software
  • tags
  • scans
Example:
tags
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/assets?filter%5Bname%5D=Laptop-1&filter%5Bhost%5D=192.168.1.1&filter%5Bmac_address%5D=3A%3A5E%3AD6%3A95%3ABF&filter%5Bhostname%5D=laptop-1.local&filter%5Btags%5D%5B%5D=New%2COld&filter%5Blicensed%5D=true%2Cfalse&sort=licensed&include=tags" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "a04676c8-9074-447f-8ff6-da58b04fe189",
            "company_id": "4963690",
            "name": "Michel Heidenreich",
            "identifier": "F2:93:C6:57:E0:FF",
            "host": "99.13.8.245",
            "mac_address": "F2:93:C6:57:E0:FF",
            "hostname": "labadie.com",
            "operating_system": "hic",
            "operating_system_name": "fuga",
            "first_seen": "2006-03-20T15:05:28.000000Z",
            "last_seen": "2002-06-05T11:23:31.000000Z",
            "open_tcp_ports": "80,443",
            "open_udp_ports": "53,123",
            "traceroute": [],
            "ssh_key": null,
            "average_scan_duration": 0,
            "licensed": true,
            "change_license_at": null
        },
        {
            "id": "a04676c8-93fd-4250-a720-b472c3e98342",
            "company_id": "4492034",
            "name": "Barbara Auer",
            "identifier": "CD:5F:D6:1B:42:A8",
            "host": "10.128.219.4",
            "mac_address": "CD:5F:D6:1B:42:A8",
            "hostname": "von.com",
            "operating_system": "dolorem",
            "operating_system_name": "est",
            "first_seen": "2024-07-20T12:46:12.000000Z",
            "last_seen": "1982-04-13T23:31:28.000000Z",
            "open_tcp_ports": "80,443",
            "open_udp_ports": "53,123",
            "traceroute": [],
            "ssh_key": null,
            "average_scan_duration": 0,
            "licensed": false,
            "change_license_at": "2025-11-09T08:45:34.000000Z"
        }
    ],
    "links": {
        "first": "/?page=1",
        "last": "/?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "page": null,
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "page": 1,
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "page": null,
                "active": false
            }
        ],
        "path": "/",
        "per_page": 10,
        "to": 2,
        "total": 2
    }
}

Bulk asset action.

PATCH
https://api.securityhive.io
/v1/assets/actions
requires authentication

Will perform a bulk action on assets (Add Tags, Remove Tags or delete).

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/assets/actions" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"data\": [
        {
            \"action\": \"removeTags\",
            \"id\": \"et\",
            \"data\": []
        }
    ]
}"
Example response:
[Empty response]

Create asset.

POST
https://api.securityhive.io
/v1/assets
requires authentication

Will create a new asset for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Body Parameters

Example request:
curl --request POST \
    "https://api.securityhive.io/v1/assets" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"saotlmnbgsteyurplcd\",
    \"host\": \"consequuntur\",
    \"licensed\": true
}"
Example response:
{
    "data": {
        "id": "a04676c8-9c6b-4230-9d27-257398bce9ae",
        "company_id": "6427674",
        "name": "Kari Kub",
        "identifier": "44:06:13:EE:99:4F",
        "host": "108.87.96.61",
        "mac_address": "44:06:13:EE:99:4F",
        "hostname": "breitenberg.com",
        "operating_system": "iure",
        "operating_system_name": "numquam",
        "first_seen": "1970-10-08T17:27:53.000000Z",
        "last_seen": "1976-02-04T23:53:27.000000Z",
        "open_tcp_ports": "80,443",
        "open_udp_ports": "53,123",
        "traceroute": [],
        "ssh_key": null,
        "average_scan_duration": 0,
        "licensed": false,
        "change_license_at": "2025-11-18T11:48:28.000000Z"
    }
}
{
    "message": "host must be unique"
}

Retrieve an asset.

GET
https://api.securityhive.io
/v1/assets/{id}
requires authentication

Retrieves an asset by its ID.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

id
string
required

The ID of the asset.

Example:
quaerat

Query Parameters

include
Include additional relationships (comma separated).
Must be one of:
  • certificates
  • software
  • tags
  • scans
Example:
certificates
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/assets/quaerat?include=certificates" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a04676c8-a2ad-4fa6-b84d-73a09369a45f",
        "company_id": "3406096",
        "name": "Mrs. Alverta Maggio",
        "identifier": "B9:7A:FC:57:55:65",
        "host": "76.97.215.193",
        "mac_address": "B9:7A:FC:57:55:65",
        "hostname": "feeney.info",
        "operating_system": "molestiae",
        "operating_system_name": "dolor",
        "first_seen": "1997-09-10T18:39:50.000000Z",
        "last_seen": "2007-03-15T15:43:18.000000Z",
        "open_tcp_ports": "80,443",
        "open_udp_ports": "53,123",
        "traceroute": [],
        "ssh_key": null,
        "average_scan_duration": 0,
        "licensed": false,
        "change_license_at": "2025-11-30T02:07:17.000000Z"
    }
}

Update asset.

PATCH
https://api.securityhive.io
/v1/assets/{id}
requires authentication

Will update an existing asset

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

id
string
required

The ID of the asset.

Example:
et

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/assets/et" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"dglidrmm\",
    \"licensed\": false
}"
Example response:
{
    "data": {
        "id": "a04676c8-a79c-4379-9031-fc866b195a63",
        "company_id": "8577504",
        "name": "Destini Wehner",
        "identifier": "46:4E:B9:87:A4:DF",
        "host": "149.49.236.16",
        "mac_address": "46:4E:B9:87:A4:DF",
        "hostname": "fay.com",
        "operating_system": "est",
        "operating_system_name": "et",
        "first_seen": "2024-08-27T03:02:21.000000Z",
        "last_seen": "1989-08-02T15:26:14.000000Z",
        "open_tcp_ports": "80,443",
        "open_udp_ports": "53,123",
        "traceroute": [],
        "ssh_key": null,
        "average_scan_duration": 0,
        "licensed": true,
        "change_license_at": "2025-11-22T21:36:57.000000Z"
    }
}
{
    "message": "name is required"
}

Delete asset.

DELETE
https://api.securityhive.io
/v1/assets/{id}
requires authentication

Will delete an existing asset

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

id
string
required

The ID of the asset.

Example:
magni
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/assets/magni" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[Empty response]

Certificates

Manage certificates that have been discovered on your network.

List certificates.

GET
https://api.securityhive.io
/v1/certificates
requires authentication

Retrieve all certificates for the current company. Look at the 'Retrieve a certificate' endpoint for more details on the certificate object.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Query Parameters

filter[common_name]
Filter certificates by their common name.
Example:
test.nl
filter[organization]
Filter certificates by their organization name.
Example:
Test B.V.
sort
The column(s) to sort by. Prefix with - for descending order. Eg sort=-not_valid_before
Must be one of:
  • not_valid_after
Example:
not_valid_after
include
Include additional relationships (comma separated).
Must be one of:
  • certificates
  • applications
  • tags
  • scans
Example:
scans
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/certificates?filter%5Bcommon_name%5D=test.nl&filter%5Borganization%5D=Test+B.V.&sort=not_valid_after&include=scans" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "a04676c8-b09f-407c-accc-deee4d4bb578",
            "company_id": "1259221",
            "common_name": "hartmann.com",
            "organization": null,
            "organizational_unit": "Ltd",
            "locality": "North Marina",
            "state": "Wisconsin",
            "country": "TK",
            "serial": "QNACP4WQQGWFQ8AKEBKW92AOLSCSHTJE",
            "not_valid_before": "20231115T192944Z",
            "not_valid_after": "20251110T155819Z",
            "value": "-----BEGIN CERTIFICATE-----\nenzDdlql+ltiK2hl/53Jl4hHgiFQ3N7PgyVmRZUN+RV4u5JKqrHzRo20IipGnsSX\nd7zwzKCWV0DfNSSuvpo9Cu1seHk7onHSdONhLnTbtim0g+jMMRpRGsMmZ+05LqXc\n9XUPGqd24G/JrdButwAatMgS3usniw2Y2yl0InNQouT5WhO6o2jaCOSGs+LAT+9o\nmCA0aJ+pmXh5e4oYWGeWJmBf4LeKs5T/yXuzfSAaghWL46axgFe2vNERM0ire6jl\nUsOls748T1N7FMcPHSOGwJNJwuqGa3tYVKgkAx8sXSs4d8mQz63fBanP2VVYU+1w\nqnsrphTQwWv99hhJ/X/NhqVzWijpqiYHY6/DSWzX8gOLkQRtKD5Lc8q/IkNH3RJn\nxgFIploo8PPetEsJY3/lgccCgUrhhPJsmxWhkIetHPuqpp2qVIe6fQBfyx3R+7qL\nxbD8+XDgCAiKlzkIVU0goDMyF/uYjmfNV0aSgHwOoxl4mdyTwbGgAfadnbQhz+ga\nie/QzkufezWUO1OLpZviHL3KCBmwSbUoACTOLy9naiWxkoitMuQTx7TF6ZHLLcRh\nOX158pKEGGyKjwtAk5IILdvfbuSDpB4YZS2vAgvtBSDuO1vEt46xfzEDNXrGN2zy\ngGnT3CnIMvJxDbH9cLNTJ1VMKv42X8A0WB6sr1Fo2+vlsR7wC+/l5WBjWR/3SbvP\nIT2yeSAhnoHyOyQctHN46WYP8nf8qXAph/9hZ0PX3kHsjF3Ie7Rhu0FlROrp/cri\nq6Zi5B9QMNzdIAURgNdvtNG+hERCybk2gyCVh1F0FhPO1I/c7FHJqSarl/tEc5/O\nU6s2E8qgex+r1saIekn6Wws4yeEsulsZ/zQ9aLkxTvIdDn65YsZ2JKWj1zXK97wL\nJa/6R1HqX+IW7S/pDu+FgodNdhMXPsoTG1AUk+wKpOC6o3l0gWcEUhtelF/orIzL\nKldSIUpGEb8tsXLsmSc2wH+Rou8PRgJbJIVCIs5Jy+PV/NJIX3HkdZ/dQGBYdVNf\nH2T4oDWWEqt7KIOHe/arbjJfOohI6VKycIKuFD+tgZklS80AtZwIyUnaMS1gezHh\nAn4tydXVfurMJp5ijSxvAAtHCVna9GIeTZdYmqJtQagpv0kq3C4VCFIsIVk0enPT\nL+3NptBCTk+7kSsAkjvDxxzuzepA9EuiW8gpMsWEHeQrHIh4Ibr5thTf8MLNcphQ\nnvOE8uTEUTWVbo2U6Yj1YiLDH/fB5nkKEZqEHjGFIR67HbnTJ3iYpFxQE20eSDO5\nqXTRNjxwmVkiz2aBXVa9+mLyAgXvBkZRUsddQIB73ipmLJxYzTI3c6rZKHzEk4YE\nq0lpV0bw23EQ97MyGkLBuQ==\n\n-----END CERTIFICATE-----",
            "first_seen": "2024-03-14T00:56:20.000000Z",
            "last_seen": "2024-08-08T02:18:24.000000Z",
            "created_at": "2025-11-04T08:30:10.000000Z",
            "updated_at": "2025-11-04T08:30:10.000000Z"
        },
        {
            "id": "a04676c8-b3b2-444d-9d32-fa9ee4cb7fb4",
            "company_id": "6555194",
            "common_name": "will.com",
            "organization": "Bergstrom PLC",
            "organizational_unit": "Group",
            "locality": "Erikview",
            "state": null,
            "country": "PH",
            "serial": "N8MRBLTZDTDDIW3KC2EG1FBIYV4SZTLX",
            "not_valid_before": "20241026T094638Z",
            "not_valid_after": "20271016T224202Z",
            "value": "-----BEGIN CERTIFICATE-----\nZKMTajmMFWf5yweczfoJG1Fu26FhZrxXubU97icn1wRhfne/QsbP67NX7aEPPyHi\nihakLkwe6fRxQsfkZS7RvugUY8KH9MZcTjhGIHABl0e59qxHlQuYlNpDC2JDlh7u\nJcLrq0mlx6FP2J+pS5c7SvJTDV+CP2qN3bPBVoGR4jkWLnGYg5CHWGq8Z2MBrKUT\nOBvMbQpixn4hsFVxfH0ALMdZUVRbLLoy1JWrKqen3Q+rcW81YFJ++6rgw49VnOQn\n0cOHbCH6o2/5DnwMySpuV8GeE1wNvHSmVZ7sCDlc6t5Yz3h+9vDxM3/8ILC86f2A\nmK8XiWIYDjyxcP+RNMEokNtaWtIlR8taJJuXJGaHJxervmHcBrgtiDdDeO+frjyk\ntN7G3hhfQUkwSDqCMXgCZdhpCEFC8mtk+doCHM2qgomSXMhEBDq0IgaigaS77YoL\nP85TLC8XAHj21/D8ctSZqJ1FHR3LSkrxsKtusfmpL1m+lB8dEHs1WttDIzs5mUVx\nYiWo7ULwrw33c4lI1UwtW0cobeB2mE7S1UYvA6YzaoWxDkEiTVjqhSMcnEqlBDZ6\nUl4uqpuy0I+LFa4VMcxMEylopYfyEWmZU+68POpMivLgLrm6zEvYxMMydvvCsUYp\nDDn2qlfXbKEeMeWVplNuo8QDIZtEo4hJHbChPxdGV6/dqgI4IkRoSbZL1ShSKHVo\nLxyJxxxDfhRkKOz4KVBikf3se2fIg3/QPywMjnRevUcT09rk3H7pxPnRX7gy9rbe\nXeax07xoDZAw8QrfaCO5LSwvhXfnzW7GYWnXNXwIhEIzZlNgNNHvQeDFJFwaETkQ\nfK6AqU8rBzrbg2JrtORDDWdsQETGjKtI6L35u0VGIvphYsmYnSTVln0ACa+79cRp\nlxFWhk+iihlmlTUzQLuMx+Kn6zBqkoWKMWL0rAzdRH1zIBLzlDFxZCcAoajyg6/Z\n5hexXeKIgzUt0W02foRS6clD/K2Vb/TewZBK0a24+ZLgU7IqZWhva28D//xKWtv/\n2ZkTiz1afn+aMVwsIcCMBE+LDLRjKvlOMTl/3vtGVGtP0ErSPKCwEp3oTQXfSEn4\nkA8iODqR3rlUcAJsvtE4AQrqQZuVEdZs7xJ14TkiA97yjjeSuZsqlTQ7vuKcRjJ5\nSJF/TmpcHDRDaYxsGpEucu9hUg3LmZSFGtdzkNKibEA3RyV6ibObeYzNi4C2c80Y\nkTgDa0ecI5qTdyGhQriJImwEQoYjYgrdZVO/gIB1iLOChqmanguTFwOYJTD5vGJb\nua9TlJijhsCz0GuLr4u9afq6g75rC/fIG/1GXg/Akt+lxxntgn+MaOjpUnjyfVJj\nO+xc+4QoLZzsqjalYH0PqA==\n\n-----END CERTIFICATE-----",
            "first_seen": "2024-11-22T20:03:14.000000Z",
            "last_seen": "2024-11-30T17:52:58.000000Z",
            "created_at": "2025-11-04T08:30:10.000000Z",
            "updated_at": "2025-11-04T08:30:10.000000Z"
        }
    ],
    "links": {
        "first": "/?page=1",
        "last": "/?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "page": null,
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "page": 1,
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "page": null,
                "active": false
            }
        ],
        "path": "/",
        "per_page": 10,
        "to": 2,
        "total": 2
    }
}

Export certificates.

GET
https://api.securityhive.io
/v1/certificates/export
requires authentication

Export all certificates for the current company in CSV or XLSX format.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Query Parameters

type
The type of export to generate
required
Must be one of:
  • csv
  • xlsx
Example:
csv
filter[common_name]
Filter certificates by their common name.
Example:
test.nl
filter[organization]
Filter certificates by their organization name.
Example:
Test B.V.
sort
The column(s) to sort by. Prefix with - for descending order. Eg sort=-not_valid_before
Must be one of:
  • not_valid_after
Example:
not_valid_after
filter
The column(s) to filter by. Eg filter=common_name:test.nl
Must be one of:
  • common_name
  • organization
Example:
common_name
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/certificates/export?type=csv&filter%5Bcommon_name%5D=test.nl&filter%5Borganization%5D=Test+B.V.&sort=not_valid_after&filter=common_name" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
content-security-policy-report-only: default-src 'self'; script-src 'self' 'nonce-hCbgLEffKTJzoVGxLvdAsnYjyzWF9vR3slJFz1S4' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com; script-src-elem 'self' 'nonce-hCbgLEffKTJzoVGxLvdAsnYjyzWF9vR3slJFz1S4' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com; script-src-attr 'none'; style-src 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com; style-src-elem 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com; img-src 'self' data: blob: https://*.intercomcdn.com https://www.gravatar.com; font-src 'self' https://fonts.bunny.net https://*.intercomcdn.com; connect-src 'self' https://um.securityhive.io https://*.intercom.io wss://*.intercom.io wss://localhost; frame-src 'self' https://um.securityhive.io https://js.chargebee.com https://securityhive.chargebee.com https://intercom-sheets.com; frame-ancestors 'none'; form-action 'self'; base-uri 'self'; object-src 'none'; worker-src 'self'; manifest-src 'self'; media-src 'self' data:; upgrade-insecure-requests
content-security-policy: frame-src 'self' https://um.securityhive.io https://js.chargebee.com https://securityhive.chargebee.com https://intercom-sheets.com; frame-ancestors 'none';
permissions-policy: geolocation=(), microphone=(), camera=(), fullscreen=()
x-content-type-options: nosniff
cross-origin-resource-policy: same-site
referrer-policy: strict-origin-when-cross-origin
vary: Origin
{
    "message": "Unauthenticated."
}

Retrieve a certificate.

GET
https://api.securityhive.io
/v1/certificates/{id}
requires authentication

Retrieves an by its ID.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

id
string
required

The ID of the certificate.

Example:
architecto

Query Parameters

include
Include additional relationships (comma separated).
Must be one of:
  • certificates
  • applications
  • tags
  • scans
Example:
certificates
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/certificates/architecto?include=certificates" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a04676c8-ba1a-4dd4-b262-0f10e4e58eda",
        "company_id": "6673776",
        "common_name": "rogahn.com",
        "organization": null,
        "organizational_unit": null,
        "locality": null,
        "state": "Montana",
        "country": null,
        "serial": "ZV6CXWOLRHXQ0ZKQLMQBSKKN0BMMQLSS",
        "not_valid_before": "20250406T012258Z",
        "not_valid_after": "20260915T155330Z",
        "value": "-----BEGIN CERTIFICATE-----\nX16Btex2sVfN+I7ESSTsPHeQ8TQsJgpVt1dT0vrDNABKIQ9dhPs2JmMXUplEd8ij\nkZzkOokO/Dkh2xqT92/gjeMGfTnOP4oYGZBx9Kkdn6m7MtdUJze71KlY9fU2uJuF\ncR30VvI+X1H1qdCivD5NAdwM2yJDy2Arno84jZY1uiLExiK7vwKa/1MobFJ+++/o\nHg0Ct9JVPht1gcK74fWO5TCW5IsQYuMcqNHhl+rAlNwYCq3wmSIw8m1z3eu5f2Eu\ntrknsG4J5/LLuhkKV6Ka4Goe9sWi1Qx6GSDCBHVzV3w1lbGM+BYlS+y8y4Qku+Le\njqjSr8sAphPsXLauP8an0nBnO2BdAySZFSIYVLhQn9g8RYbJJpQN88RKrf7VwwCb\npsxwabyK5FqaL+xInWMUAfvL+Xaey13NPP/egLU5OUJwe13eep8xu7phSPleUEAf\nOToMmDLxOff6sOSzVgAGspQagYercDzQ/0bagQaUAS25TMKItVLfFD1M3kDMqw57\ng97JpOAoNFWHD5jgb07FVi2rrndH6ZiG+1lXukap1lu6ZkLizgBR+2EaPrnqTlQQ\nlZYvuCqKK96zTTWezlh/LBbw/m8EGHbmIt3S2IXeiY2H47eMq6k7VNWDcubM7hMK\n/arss040KbW1+cgiAV4l6kxLkehpP4uYyOVkbPqSRV8ts7T3XFH7NYulS5mFik+8\nxvfQfJvIL1ZHNbiiBBWeX9MldnHEl3cSRzGI4oexDOkLV9pC1jpisWuh6LKPxeOW\nf3QRlxm+DvmAsIEe6PLW4y7qrHidgt5z1X0Jwk/8hL8dDweh3haonhgxPL8n3jYq\nGXwGm3CxQjEr09ISEg+22vPtE1H8RaJLcIOWvQws17B/z7PeD0tX8CEU6gIcxvcx\neNmPQGfz+7AxutaqUOb389alkMzt0W2ohXjUByFQ48cWRWAZhgRkghoqTgLbiBEu\nwjjk6upfwvrz+11AMLCC/rxBBE9aiwATnsJv6pm1WWPEQTS9lNZjMulGB4WmGeqX\nDQg9sL5GNilrcMLLSBFJdM5lEOSUOEU4qDO343FyAtq3K0lcwQEJXIP/c+h02qcM\nT8613Wrj8MD1zQzT5xlYKTDwkSF3a8YgvAgzQcbLkFmw1TiS5m8APdUyiuWHsqZI\nnl1PczwFXqEu9b2SmOi6v8DlSiko7nw+79tzqiSKME5MVtSkn++ABV6S0Jw07BK0\njYEgQLAjYHg42W/IxJZpRBdTJEnPZGu9Fd0Fjt6c9On62RTxYfhPaq4frGlhQoOZ\narUJXJkjOwyFh2lLezPThxo1PyLJi8XnD1YIKvJU6Jbprd+k2zxuww9hoKPXspWp\nQayn7FOpQkRBunuuzr5+ZQ==\n\n-----END CERTIFICATE-----",
        "first_seen": "2025-06-30T22:24:14.000000Z",
        "last_seen": "2025-09-03T12:22:08.000000Z",
        "created_at": "2025-11-04T08:30:10.000000Z",
        "updated_at": "2025-11-04T08:30:10.000000Z"
    }
}

Delete certificate.

DELETE
https://api.securityhive.io
/v1/certificates/{id}
requires authentication

Will delete an existing certificate

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

id
string
required

The ID of the certificate.

Example:
nam
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/certificates/nam" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[Empty response]

Endpoints

List integration logs

GET
https://api.securityhive.io
/v1/integrations/{integration_id}/logs
requires authentication

Retrieves all logs for a specific integration.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

integration_id
string
required

The ID of the integration.

Example:
illo
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/integrations/illo/logs" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
content-security-policy-report-only: default-src 'self'; script-src 'self' 'nonce-b4fczD9Ok3EUdVLHBzlGStVw0zDuJ0Xtuc7Mp7U3' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com; script-src-elem 'self' 'nonce-b4fczD9Ok3EUdVLHBzlGStVw0zDuJ0Xtuc7Mp7U3' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com; script-src-attr 'none'; style-src 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com; style-src-elem 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com; img-src 'self' data: blob: https://*.intercomcdn.com https://www.gravatar.com; font-src 'self' https://fonts.bunny.net https://*.intercomcdn.com; connect-src 'self' https://um.securityhive.io https://*.intercom.io wss://*.intercom.io wss://localhost; frame-src 'self' https://um.securityhive.io https://js.chargebee.com https://securityhive.chargebee.com https://intercom-sheets.com; frame-ancestors 'none'; form-action 'self'; base-uri 'self'; object-src 'none'; worker-src 'self'; manifest-src 'self'; media-src 'self' data:; upgrade-insecure-requests
content-security-policy: frame-src 'self' https://um.securityhive.io https://js.chargebee.com https://securityhive.chargebee.com https://intercom-sheets.com; frame-ancestors 'none';
permissions-policy: geolocation=(), microphone=(), camera=(), fullscreen=()
x-content-type-options: nosniff
cross-origin-resource-policy: same-site
referrer-policy: strict-origin-when-cross-origin
vary: Origin
{
    "message": "Unauthenticated."
}

Integrations

APIs for managing integrations

List Integrations

GET
https://api.securityhive.io
/v1/integrations
requires authentication

Retrieve all enabled integrations for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/integrations" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[{"autotask": {...}, "another_integration": {...}}]

Enable Integration

POST
https://api.securityhive.io
/v1/integrations/{integration}
requires authentication

Enable a new integration for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

integration
string
required

The name of the integration to enable.

Example:
autotask
Example request:
curl --request POST \
    "https://api.securityhive.io/v1/integrations/autotask" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "message": "Integration enabled successfully"
}
{
    "error": "Failed to enable integration"
}
{
    "error": "Integration not found"
}
{
    "message": "The given data was invalid."
}

Show Integration

GET
https://api.securityhive.io
/v1/integrations/{integration}
requires authentication

Retrieve details of a specific enabled integration for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

integration
string
required

The name of the integration to retrieve.

Example:
autotask
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/integrations/autotask" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{"id": 1, "company_id": "uuid", "name": "autotask", "config": {...}}
{
    "error": "Integration not found"
}
{
    "error": "Integration not enabled"
}

Update Integration

PATCH
https://api.securityhive.io
/v1/integrations/{integration}
requires authentication

Update the configuration of an enabled integration for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

integration
string
required

The name of the integration to update.

Example:
autotask
Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/integrations/autotask" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "message": "Integration updated successfully"
}
{
    "error": "Failed to update integration"
}
{
    "error": "Integration not found"
}
{
    "message": "The given data was invalid."
}

Disable Integration

DELETE
https://api.securityhive.io
/v1/integrations/{integration}
requires authentication

Disable a specific integration for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

integration
string
required

The name of the integration to disable.

Example:
autotask
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/integrations/autotask" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[Empty response]
{
    "error": "Failed to disable integration"
}

Me

APIs for managing the authenticated user

Retrieve the authenticated user

GET
https://api.securityhive.io
/v1/me
requires authentication

Retrieves the authenticated user and its metadata.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Query Parameters

include
string

Include additional relationships (comma separated).

Must be one of:
  • company
  • company.type
  • company.partner
  • managingCompany
  • managingCompany.type
  • managingCompany.partner
Example:
managingCompany.type
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/me?include=managingCompany.type" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "3d287c42-5b95-4c33-b8a2-9b07ffe24624",
        "company_id": "4758549",
        "managing_company_id": "4758549",
        "first_name": "Paolo",
        "last_name": "Mayert",
        "two_factor_enabled": false,
        "two_factor_configured": false,
        "email": "[email protected]",
        "email_verified_at": "2025-11-04T08:30:09Z",
        "phonenumber": "+1-470-741-2420",
        "phonenumber_verified_at": "2025-11-04T08:30:09Z",
        "report_interval": "weekly",
        "manageable_companies": [
            {
                "id": "4758549",
                "uuid": "53fdacd5-46fc-41de-b6c3-216172089b99",
                "name": "Corwin-Breitenberg"
            }
        ],
        "role": {
            "name": "norole",
            "title": "No role assigned"
        },
        "abilities": [],
        "need_to_configure_2fa": false,
        "terms_agreed_at": "2025-11-04T08:30:09Z",
        "sso_provider": null,
        "created_at": "2025-11-04T08:30:09Z",
        "updated_at": "2025-11-04T08:30:09Z"
    },
    "links": {
        "self": "http://api.securityhive.io/v1/me"
    }
}

Update the authenticated user

PATCH
https://api.securityhive.io
/v1/me
requires authentication

Updates the authenticated user

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/me" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"John\",
    \"last_name\": \"Doe\",
    \"phonenumber\": \"+31612345678\",
    \"managing_company_id\": \"1\",
    \"report_interval\": \"weekly\",
    \"terms_agreed_at\": \"2025-11-04T08:30:09\",
    \"role\": \"admin\"
}"
Example response:
[Empty response]
{
    "message": "phonenumber field contains invalid characters"
}

Tags

Tags can be used to categorize assets.

List tags.

GET
https://api.securityhive.io
/v1/tags
requires authentication

Retrieve all tags for the current company. Look at the 'Retrieve a tag' endpoint for more details on the tag object.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Query Parameters

filter[name]
Filter by tag name.
Example:
illum
filter[business_impact]
Filter by business impact.
Example:
high
filter[system_tag]
Filter tags that are default.
Example:
true
sort
The column(s) to sort by. Prefix with - for descending order. Eg sort=business_impact
Must be one of:
  • business_impact
  • name
  • created_at
Example:
business_impact
include
Include additional relationships (comma separated).
Must be one of:
  • assets
Example:
assets
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/tags?filter%5Bname%5D=illum&filter%5Bbusiness_impact%5D=high&filter%5Bsystem_tag%5D=1&sort=business_impact&include=assets" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "a04676c8-c218-4296-85a1-d46478182c79",
            "company_id": "4210491",
            "name": "71f35649-4ae0-3c64-8da0-3e138ab33b65",
            "description": "Quos amet sunt praesentium harum enim. Cumque nisi voluptatem dolor ullam incidunt.",
            "business_impact": "medium",
            "system_tag": false,
            "asset_count": 0,
            "created_at": "2025-11-04T08:30:10.000000Z",
            "updated_at": "2025-11-04T08:30:10.000000Z"
        },
        {
            "id": "a04676c8-c4ec-4170-8011-25a669471052",
            "company_id": "8452048",
            "name": "591e9dec-429c-3c5d-8f69-8b7d4b1929ba",
            "description": "Dicta qui dignissimos voluptas voluptate dolorem aut. Dolores omnis autem et. Quae odit ut natus consequuntur quam accusamus facere.",
            "business_impact": "low",
            "system_tag": false,
            "asset_count": 0,
            "created_at": "2025-11-04T08:30:10.000000Z",
            "updated_at": "2025-11-04T08:30:10.000000Z"
        }
    ],
    "links": {
        "first": "/?page=1",
        "last": "/?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "page": null,
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "page": 1,
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "page": null,
                "active": false
            }
        ],
        "path": "/",
        "per_page": 10,
        "to": 2,
        "total": 2
    }
}

Create tag.

POST
https://api.securityhive.io
/v1/tags
requires authentication

Will create a new tag for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Body Parameters

Example request:
curl --request POST \
    "https://api.securityhive.io/v1/tags" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"msuifpruyh\",
    \"description\": \"Voluptatem repellat voluptatibus tempore modi aut error velit.\",
    \"business_impact\": \"critical\"
}"
Example response:
{
    "data": {
        "id": "a04676c8-c9ed-4081-8402-fea962f9195b",
        "company_id": "6535756",
        "name": "885b4239-f24e-3d1c-bd50-68770e1a732a",
        "description": "Maxime ea harum assumenda labore ut explicabo. Est nihil asperiores vel quos eius. Quasi sit repellendus corrupti voluptas facere possimus. Ut rerum ut esse rerum.",
        "business_impact": "low",
        "system_tag": true,
        "asset_count": 0,
        "created_at": "2025-11-04T08:30:10.000000Z",
        "updated_at": "2025-11-04T08:30:10.000000Z"
    }
}
{
    "message": "name is required"
}

Retrieve a tag.

GET
https://api.securityhive.io
/v1/tags/{id}
requires authentication

Retrieves an tag by its ID.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

id
string
required

The ID of the tag.

Example:
sed

Query Parameters

include
Include additional relationships (comma separated).
Must be one of:
  • assets
Example:
assets
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/tags/sed?include=assets" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a04676c8-cdc6-4aa3-84d8-65468d460354",
        "company_id": "2061220",
        "name": "c7aa7009-f056-3164-bd23-eda9b3cda287",
        "description": "Atque ipsa suscipit distinctio illum molestiae. Sequi neque recusandae ullam accusantium cumque assumenda magnam. Atque quis nesciunt aut aut. Nostrum est ut sapiente vel sunt error provident.",
        "business_impact": "medium",
        "system_tag": false,
        "asset_count": 0,
        "created_at": "2025-11-04T08:30:10.000000Z",
        "updated_at": "2025-11-04T08:30:10.000000Z"
    }
}

Update tag.

PATCH
https://api.securityhive.io
/v1/tags/{id}
requires authentication

Will update an existing tag

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

id
string
required

The ID of the tag.

Example:
aut

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/tags/aut" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"wtqyric\",
    \"description\": \"Eum atque alias distinctio sunt expedita similique quae.\",
    \"business_impact\": \"low\"
}"
Example response:
{
    "data": {
        "id": "a04676c8-d25b-491f-b42d-a8107e57acd7",
        "company_id": "1234653",
        "name": "4fad6282-7f49-3aa1-80e2-91fb016b06b1",
        "description": "Et ratione consequatur delectus dolores aliquam sit. Sapiente cumque eum itaque. Inventore fuga quaerat tempore consequatur temporibus.",
        "business_impact": "high",
        "system_tag": true,
        "asset_count": 0,
        "created_at": "2025-11-04T08:30:10.000000Z",
        "updated_at": "2025-11-04T08:30:10.000000Z"
    }
}
{
    "message": "name is required"
}

Delete tag.

DELETE
https://api.securityhive.io
/v1/tags/{id}
requires authentication

Will delete an existing tag

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

id
string
required

The ID of the tag.

Example:
ullam
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/tags/ullam" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[Empty response]

Users

APIs for managing users

List Users

GET
https://api.securityhive.io
/v1/users
requires authentication

Retrieve all users for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Query Parameters

include
string

Include additional relationships (comma separated).

Must be one of:
  • company
  • company.type
  • company.partner
  • managingCompany
  • managingCompany.type
  • managingCompany.partner
Example:
managingCompany.type
sort
string

Sort the results by column(s) (comma separated).

Must be one of:
  • first_name
  • last_name
  • email
  • phonenumber
  • report_interval
  • created_at
  • two_factor_enabled
  • role.title
Example:
first_name,-last_name
filter
string

Filter the results by column(s) (comma separated).

Must be one of:
  • first_name
  • last_name
  • email
  • phonenumber
  • report_interval
Example:
first_name:John,last_name:Doe
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/users?include=managingCompany.type&sort=first_name%2C-last_name&filter=first_name%3AJohn%2Clast_name%3ADoe" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "5da34a37-c3fe-44ba-8445-a196897e4cf6",
            "company_id": "881024",
            "managing_company_id": "881024",
            "first_name": "Anabel",
            "last_name": "Schamberger",
            "two_factor_enabled": false,
            "email": "[email protected]",
            "email_verified_at": "2025-11-04T08:30:10.000000Z",
            "phonenumber": "1-231-271-0549",
            "phonenumber_verified_at": "2025-11-04T08:30:10.000000Z",
            "report_interval": "weekly",
            "manageable_companies": [
                {
                    "id": "881024",
                    "uuid": "5a3a6dbb-a4dc-450a-a405-17771149c131",
                    "name": "Stracke PLC"
                }
            ],
            "role": {
                "name": "norole",
                "title": "No role assigned"
            },
            "terms_agreed_at": "2025-11-04T08:30:10.000000Z",
            "sso_provider": null,
            "created_at": "2025-11-04T08:30:10.000000Z",
            "updated_at": "2025-11-04T08:30:10.000000Z"
        },
        {
            "id": "686bee89-b31a-442e-acf6-06bece8a374b",
            "company_id": "9660208",
            "managing_company_id": "9660208",
            "first_name": "Liliane",
            "last_name": "Blanda",
            "two_factor_enabled": false,
            "email": "[email protected]",
            "email_verified_at": "2025-11-04T08:30:10.000000Z",
            "phonenumber": "+1.928.994.3595",
            "phonenumber_verified_at": "2025-11-04T08:30:10.000000Z",
            "report_interval": "weekly",
            "manageable_companies": [
                {
                    "id": "9660208",
                    "uuid": "bb1aeae7-62d0-42e1-bb4a-ef74b926edee",
                    "name": "Schneider PLC"
                }
            ],
            "role": {
                "name": "norole",
                "title": "No role assigned"
            },
            "terms_agreed_at": "2025-11-04T08:30:10.000000Z",
            "sso_provider": null,
            "created_at": "2025-11-04T08:30:10.000000Z",
            "updated_at": "2025-11-04T08:30:10.000000Z"
        }
    ],
    "links": {
        "first": "/?page=1",
        "last": "/?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "page": null,
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "page": 1,
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "page": null,
                "active": false
            }
        ],
        "path": "/",
        "per_page": 10,
        "to": 2,
        "total": 2
    }
}

Create User

POST
https://api.securityhive.io
/v1/users
requires authentication

Create a new user for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Body Parameters

Example request:
curl --request POST \
    "https://api.securityhive.io/v1/users" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"yanqog\",
    \"last_name\": \"mmhxmdkkrzmvfvryqudhnnhf\",
    \"email\": \"[email protected]\",
    \"phonenumber\": \"+31612345678\",
    \"report_interval\": \"monthly\",
    \"role\": \"admin\"
}"
Example response:
{
    "data": {
        "id": 1,
        "uuid": "00000000-0000-0000-0000-000000000000"
    }
}
{
    "message": "role not found"
}
{
    "message": "phonenumber field contains invalid characters"
}

Retrieve an user

GET
https://api.securityhive.io
/v1/users/{user_uuid}
requires authentication

Retrieves an user for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

user_uuid
string
required

string The id of the user

Example:
56865b71-d015-3e1a-90cb-a82723132d54

Query Parameters

include
string

Include additional relationships (comma separated).

Must be one of:
  • company
  • company.type
  • company.partner
  • managingCompany
  • managingCompany.type
  • managingCompany.partner
Example:
managingCompany
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/users/56865b71-d015-3e1a-90cb-a82723132d54?include=managingCompany" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "d7686498-61fe-4a10-9189-d8174d8e092c",
        "company_id": "685242",
        "managing_company_id": "685242",
        "first_name": "Estefania",
        "last_name": "Gleichner",
        "two_factor_enabled": false,
        "email": "[email protected]",
        "email_verified_at": "2025-11-04T08:30:10.000000Z",
        "phonenumber": "1-651-279-5479",
        "phonenumber_verified_at": "2025-11-04T08:30:10.000000Z",
        "report_interval": "weekly",
        "manageable_companies": [
            {
                "id": "685242",
                "uuid": "12d6c2f7-de19-4cf8-b6fc-0294803b140d",
                "name": "Wolff, Sipes and Block"
            }
        ],
        "role": {
            "name": "norole",
            "title": "No role assigned"
        },
        "terms_agreed_at": "2025-11-04T08:30:10.000000Z",
        "sso_provider": null,
        "created_at": "2025-11-04T08:30:10.000000Z",
        "updated_at": "2025-11-04T08:30:11.000000Z"
    }
}
{
    "message": "user not found"
}

Update an user

PATCH
https://api.securityhive.io
/v1/users/{user_uuid}
requires authentication

Updates an user for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

user_uuid
string
required

string The id of the user

Example:
d8cb62c1-c0f1-340d-b407-6288b7d34886

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/users/d8cb62c1-c0f1-340d-b407-6288b7d34886" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"first_name\": \"John\",
    \"last_name\": \"Doe\",
    \"email\": \"[email protected]\",
    \"phonenumber\": \"+31612345678\",
    \"report_interval\": \"weekly\",
    \"role\": \"admin\"
}"
Example response:
[Empty response]
{
    "message": "The old password is incorrect."
}
{
    "message": "You are not allowed to change the password of another user."
}
{
    "message": "user not found"
}
{
    "message": "phonenumber field contains invalid characters"
}

Vulnerabilities

Manage vulnerabilities that have been discovered on your network.

List vulnerabilities.

GET
https://api.securityhive.io
/v1/vulnerabilities
requires authentication

Retrieve all vulnerabilities for the current company. Look at the 'Retrieve a vulnerability' endpoint for more details on the vulnerability object.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Query Parameters

filter[name]
Filter vulnerabilities by their name
Example:
SQL
filter[host]
Filter vulnerabilities found on host
Example:
192.168.1.1
filter[hostname]
Filter vulnerabilities found on hostname
Example:
laptop-1.local
filter[status]
Filter vulnerabilities by their status
Must be one of:
  • Resolved
  • Unresolved
  • Accepted
  • Detected
  • Expired
Example:
Expired
filter[threat]
Filter vulnerabilities by their threat level
Must be one of:
  • Log
  • Low
  • Medium
  • High
  • Critical
Example:
Low
filter[scan_id]
Filter vulnerabilities found by given scan_id
Example:
123
filter[family]
Filter vulnerabilities by their family
Example:
SQL Injection
sort
The column(s) to sort by. Prefix with - for descending order. Eg sort=-name
Must be one of:
  • name
  • port
  • cvss_base_score
  • epss_score
  • qod_type
  • last_seen
Example:
port

Body Parameters

Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/vulnerabilities?filter%5Bname%5D=SQL&filter%5Bhost%5D=192.168.1.1&filter%5Bhostname%5D=laptop-1.local&filter%5Bstatus%5D=Expired&filter%5Bthreat%5D=Low&filter%5Bscan_id%5D=123&filter%5Bfamily%5D=SQL+Injection&sort=port" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"filter\": {
        \"name\": \"nkdbaimlvvwga\",
        \"threat_level\": \"Low\",
        \"host\": \"focdqxxjqehaqawp\",
        \"hostname\": \"wblqyjlxfiu\",
        \"status\": \"Expired\",
        \"scan_id\": \"450b6fad-4e7c-36ba-bea6-d7dacb8774f8\"
    },
    \"per_page\": 11
}"
Example response:
{
    "data": [
        {
            "id": "a04676c8-6d56-4b0b-a35f-9e1c919c1b5c",
            "asset_id": "a04676c8-625e-40fb-96f1-cb21d82e813d",
            "company_id": "3182423",
            "vulnerability_definition_id": "a04676c8-6c84-4daf-964f-a1bfe0198a0c",
            "vulnerability_definition": {
                "id": "a04676c8-6c84-4daf-964f-a1bfe0198a0c",
                "name": "Remote File Inclusion affecting voluptate functionality",
                "description": "Autem nihil ut qui non. Tempora ea magnam inventore animi et non. Praesentium consequatur facilis qui temporibus veritatis est tenetur. Debitis sit quis facilis amet. Rerum eos ut ipsam sint quae. Molestiae iusto sed fugiat quis facilis.",
                "solution": "Distinctio quam et excepturi ad. Aperiam reprehenderit cum quam consequuntur. Impedit nihil dolores tempore qui dolor dicta. Soluta omnis temporibus soluta.",
                "category": "Remote File Inclusion",
                "threat_level": "Medium",
                "definition_type": "openvas",
                "definition": {
                    "id": "a04676c8-6a05-4a87-9405-134d8d0b6548",
                    "o_id": "04ebfc49-3753-3cb7-9b3f-afc2bde91e8e",
                    "name": "Remote File Inclusion affecting voluptate functionality",
                    "family": "Remote File Inclusion",
                    "reference_urls": "http://johnston.biz/temporibus-id-sed-laboriosam-illo-ut-et-exercitationem, http://www.powlowski.biz/",
                    "reference_cves": "CVE-2017-6038, CVE-2015-1275",
                    "solution_type": "WorkAround",
                    "solution_description": "Distinctio quam et excepturi ad. Aperiam reprehenderit cum quam consequuntur. Impedit nihil dolores tempore qui dolor dicta. Soluta omnis temporibus soluta.",
                    "summary": "Autem nihil ut qui non. Tempora ea magnam inventore animi et non. Praesentium consequatur facilis qui temporibus veritatis est tenetur. Debitis sit quis facilis amet. Rerum eos ut ipsam sint quae. Molestiae iusto sed fugiat quis facilis.",
                    "insight": "Aut iste beatae aut fuga occaecati reprehenderit. Consequatur ut voluptas vero iusto. Excepturi et culpa est ut molestias itaque perspiciatis. Debitis asperiores et qui numquam perspiciatis explicabo natus rerum.",
                    "affected": "Error nobis et dolor in aut. Qui sunt in explicabo impedit sed optio. Animi molestias quisquam cum et hic.",
                    "impact": "Veritatis adipisci tempora omnis rem temporibus. Officiis architecto porro recusandae ab sequi.",
                    "vuldetect": "Officiis aut adipisci officiis est quo ratione ab voluptatum. Ut qui qui velit dolor. Omnis explicabo et aut est. Tempore omnis eos sed fuga ut nulla non.",
                    "priority": "Low",
                    "qod_type": "registry",
                    "qod_value": 2
                },
                "cvss_base_score": 9,
                "cvss_base_vector": "AV:A/AC:L/Au:M/C:P/I:P/A:N",
                "epss": null,
                "created_at": "2025-11-04T08:30:10.000000Z",
                "updated_at": "2025-11-04T08:30:10.000000Z"
            },
            "host": "194.65.255.148",
            "hostname": "quitzon.com",
            "port": "5432/tcp",
            "details": "Assumenda eius commodi et a aliquid quos odit. Quo quidem ducimus dolorum error possimus numquam. Quisquam aliquid velit laudantium odio nesciunt illo.",
            "status": "Expired",
            "first_seen": "2025-05-29T08:26:26.000000Z",
            "last_seen": "2025-11-02T20:45:59.000000Z",
            "created_at": "2025-11-04T08:30:10.000000Z",
            "updated_at": "2025-11-04T08:30:10.000000Z",
            "name": "Remote File Inclusion affecting voluptate functionality",
            "description": "Assumenda eius commodi et a aliquid quos odit. Quo quidem ducimus dolorum error possimus numquam. Quisquam aliquid velit laudantium odio nesciunt illo.",
            "cvss_base_score": 9,
            "cvss_base_vector": "AV:A/AC:L/Au:M/C:P/I:P/A:N",
            "qod_type": "registry",
            "qod_value": 2,
            "threat": "Medium",
            "scanner_id": null,
            "scanner_hostname": null,
            "plugin": {
                "id": "a04676c8-6a05-4a87-9405-134d8d0b6548",
                "o_id": "04ebfc49-3753-3cb7-9b3f-afc2bde91e8e",
                "name": "Remote File Inclusion affecting voluptate functionality",
                "family": "Remote File Inclusion",
                "reference_urls": "http://johnston.biz/temporibus-id-sed-laboriosam-illo-ut-et-exercitationem, http://www.powlowski.biz/",
                "reference_cves": "CVE-2017-6038, CVE-2015-1275",
                "solution_type": "WorkAround",
                "solution_description": "Distinctio quam et excepturi ad. Aperiam reprehenderit cum quam consequuntur. Impedit nihil dolores tempore qui dolor dicta. Soluta omnis temporibus soluta.",
                "summary": "Autem nihil ut qui non. Tempora ea magnam inventore animi et non. Praesentium consequatur facilis qui temporibus veritatis est tenetur. Debitis sit quis facilis amet. Rerum eos ut ipsam sint quae. Molestiae iusto sed fugiat quis facilis.",
                "insight": "Aut iste beatae aut fuga occaecati reprehenderit. Consequatur ut voluptas vero iusto. Excepturi et culpa est ut molestias itaque perspiciatis. Debitis asperiores et qui numquam perspiciatis explicabo natus rerum.",
                "affected": "Error nobis et dolor in aut. Qui sunt in explicabo impedit sed optio. Animi molestias quisquam cum et hic.",
                "impact": "Veritatis adipisci tempora omnis rem temporibus. Officiis architecto porro recusandae ab sequi.",
                "vuldetect": "Officiis aut adipisci officiis est quo ratione ab voluptatum. Ut qui qui velit dolor. Omnis explicabo et aut est. Tempore omnis eos sed fuga ut nulla non.",
                "priority": "Low",
                "qod_type": "registry",
                "qod_value": 2
            }
        },
        {
            "id": "a04676c8-76f3-43a1-a532-e0ddd2ed55f8",
            "asset_id": "a04676c8-724a-4721-8399-0754259e7c1a",
            "company_id": "2290927",
            "vulnerability_definition_id": "a04676c8-766a-4fce-a0f8-9300caae1b21",
            "vulnerability_definition": {
                "id": "a04676c8-766a-4fce-a0f8-9300caae1b21",
                "name": "2 in quia",
                "description": "Quo fugiat nisi impedit dolorum. Voluptas non est et nisi. Quis maiores consectetur veritatis non. Quasi et fugit quia voluptatum veritatis odit eos.",
                "solution": "Iure dolores ea tenetur ratione officia eos et atque. Eum deserunt dignissimos et porro. Necessitatibus ipsum qui asperiores et quo.",
                "category": "2",
                "threat_level": "Critical",
                "definition_type": "openvas",
                "definition": {
                    "id": "a04676c8-750b-4d0f-8c1b-e8e63218c6bb",
                    "o_id": "86b6d791-b8ea-3410-9e78-5847efa684c0",
                    "name": "2 in quia",
                    "family": "2",
                    "reference_urls": "http://www.lesch.info/, https://www.moen.biz/doloremque-sit-autem-mollitia-aut",
                    "reference_cves": "CVE-2017-9436, CVE-2019-9314",
                    "solution_type": "Configuration Change",
                    "solution_description": "Iure dolores ea tenetur ratione officia eos et atque. Eum deserunt dignissimos et porro. Necessitatibus ipsum qui asperiores et quo.",
                    "summary": "Quo fugiat nisi impedit dolorum. Voluptas non est et nisi. Quis maiores consectetur veritatis non. Quasi et fugit quia voluptatum veritatis odit eos.",
                    "insight": "Nemo aut aut vitae odio. Qui rerum omnis laborum vel voluptas dolores consequatur.",
                    "affected": "Id vero repellendus ipsum dolor consequatur error. Ut quae aut eaque recusandae aut. Ut ut illum sed aut architecto iste. Voluptatem repellendus nihil beatae corrupti quo.",
                    "impact": "Quis sint ducimus exercitationem dolorem eum numquam. Repudiandae ut voluptas nisi non odit est numquam. Eos tenetur dolores consequatur in reprehenderit quis et.",
                    "vuldetect": "Eius laborum ad quia quas. Est soluta id aut est voluptas.",
                    "priority": "Low",
                    "qod_type": "exploit",
                    "qod_value": 46
                },
                "cvss_base_score": 5.8,
                "cvss_base_vector": "AV:A/AC:H/Au:S/C:N/I:P/A:P",
                "epss": null,
                "created_at": "2025-11-04T08:30:10.000000Z",
                "updated_at": "2025-11-04T08:30:10.000000Z"
            },
            "host": "150.64.116.63",
            "hostname": "denesik.com",
            "port": "general/tcp",
            "details": "Eum odio occaecati omnis quos cumque est. Consequuntur veniam est sequi reprehenderit architecto debitis doloribus vel. Error omnis ipsa nulla qui iure consectetur. Aspernatur praesentium aut accusantium quos nesciunt.",
            "status": "Accepted",
            "first_seen": "2025-09-05T19:04:42.000000Z",
            "last_seen": "2025-09-23T20:43:54.000000Z",
            "created_at": "2025-11-04T08:30:10.000000Z",
            "updated_at": "2025-11-04T08:30:10.000000Z",
            "name": "2 in quia",
            "description": "Eum odio occaecati omnis quos cumque est. Consequuntur veniam est sequi reprehenderit architecto debitis doloribus vel. Error omnis ipsa nulla qui iure consectetur. Aspernatur praesentium aut accusantium quos nesciunt.",
            "cvss_base_score": 5.8,
            "cvss_base_vector": "AV:A/AC:H/Au:S/C:N/I:P/A:P",
            "qod_type": "exploit",
            "qod_value": 46,
            "threat": "Critical",
            "scanner_id": null,
            "scanner_hostname": null,
            "plugin": {
                "id": "a04676c8-750b-4d0f-8c1b-e8e63218c6bb",
                "o_id": "86b6d791-b8ea-3410-9e78-5847efa684c0",
                "name": "2 in quia",
                "family": "2",
                "reference_urls": "http://www.lesch.info/, https://www.moen.biz/doloremque-sit-autem-mollitia-aut",
                "reference_cves": "CVE-2017-9436, CVE-2019-9314",
                "solution_type": "Configuration Change",
                "solution_description": "Iure dolores ea tenetur ratione officia eos et atque. Eum deserunt dignissimos et porro. Necessitatibus ipsum qui asperiores et quo.",
                "summary": "Quo fugiat nisi impedit dolorum. Voluptas non est et nisi. Quis maiores consectetur veritatis non. Quasi et fugit quia voluptatum veritatis odit eos.",
                "insight": "Nemo aut aut vitae odio. Qui rerum omnis laborum vel voluptas dolores consequatur.",
                "affected": "Id vero repellendus ipsum dolor consequatur error. Ut quae aut eaque recusandae aut. Ut ut illum sed aut architecto iste. Voluptatem repellendus nihil beatae corrupti quo.",
                "impact": "Quis sint ducimus exercitationem dolorem eum numquam. Repudiandae ut voluptas nisi non odit est numquam. Eos tenetur dolores consequatur in reprehenderit quis et.",
                "vuldetect": "Eius laborum ad quia quas. Est soluta id aut est voluptas.",
                "priority": "Low",
                "qod_type": "exploit",
                "qod_value": 46
            }
        }
    ],
    "links": {
        "first": "/?page=1",
        "last": "/?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "page": null,
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "page": 1,
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "page": null,
                "active": false
            }
        ],
        "path": "/",
        "per_page": 10,
        "to": 2,
        "total": 2
    }
}

Retrieve a vulnerability.

GET
https://api.securityhive.io
/v1/vulnerabilities/{id}
requires authentication

Retrieves a vulnerability by its ID.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

id
string
required

The ID of the vulnerability.

Example:
atque
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/vulnerabilities/atque" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a04676c8-84e3-4a01-9e28-d85ea7372a94",
        "asset_id": "a04676c8-8052-42c7-84b4-993b09db45df",
        "company_id": "184263",
        "vulnerability_definition_id": "a04676c8-845b-4e60-b462-c5886f9f058d",
        "vulnerability_definition": {
            "id": "a04676c8-845b-4e60-b462-c5886f9f058d",
            "name": "Insecure Direct Object References in laudantium",
            "description": "Repudiandae hic possimus assumenda deleniti. Doloribus et voluptate aliquid error sit inventore. Minima cum dolores temporibus id eos. Totam dolores iure omnis eveniet eos architecto animi nostrum.",
            "solution": "Rerum exercitationem asperiores possimus est dolor. Reiciendis quia harum vitae ut sapiente. Quasi ad ratione error et ut ut voluptatem. Et est labore animi et illo rerum.",
            "category": "Insecure Direct Object References",
            "threat_level": "Low",
            "definition_type": "openvas",
            "definition": {
                "id": "a04676c8-8326-446a-9382-8f845fa1a3b5",
                "o_id": "f775abb2-8c18-3dee-a697-7d9caf085d66",
                "name": "Insecure Direct Object References in laudantium",
                "family": "Insecure Direct Object References",
                "reference_urls": "http://schiller.net/sint-quisquam-magni-maxime-nesciunt-nulla-tempora.html, http://www.labadie.com/beatae-reiciendis-inventore-est-velit.html",
                "reference_cves": "CVE-2019-7937, CVE-2020-8887",
                "solution_type": "Configuration Change",
                "solution_description": "Rerum exercitationem asperiores possimus est dolor. Reiciendis quia harum vitae ut sapiente. Quasi ad ratione error et ut ut voluptatem. Et est labore animi et illo rerum.",
                "summary": "Repudiandae hic possimus assumenda deleniti. Doloribus et voluptate aliquid error sit inventore. Minima cum dolores temporibus id eos. Totam dolores iure omnis eveniet eos architecto animi nostrum.",
                "insight": "Laudantium debitis magnam impedit officiis. Sapiente error accusantium officia error quisquam quidem. Qui nisi eius fuga nesciunt ipsa ea a.",
                "affected": "Et quia corporis id optio vitae eaque. Atque enim dolor recusandae vero eligendi illo quasi. Beatae enim facilis quo reiciendis dicta iure. Dolores laboriosam aut impedit in ex et similique. Est aut inventore sapiente molestiae.",
                "impact": "Qui odio laborum dignissimos illum reprehenderit consequatur possimus. Impedit veniam doloremque necessitatibus aliquam et. Et nam delectus voluptatem repellat quia et quia.",
                "vuldetect": "Nam magni tempore aut cum dolorem omnis odit. Aut perferendis adipisci cum qui. Doloribus nemo nihil accusamus. Necessitatibus neque consequatur autem non.",
                "priority": "Critical",
                "qod_type": "remote_banner",
                "qod_value": 22
            },
            "cvss_base_score": 2.1,
            "cvss_base_vector": "AV:L/AC:L/Au:S/C:C/I:C/A:N",
            "epss": null,
            "created_at": "2025-11-04T08:30:10.000000Z",
            "updated_at": "2025-11-04T08:30:10.000000Z"
        },
        "host": "197.42.118.23",
        "hostname": "dooley.info",
        "port": "25/tcp",
        "details": "Quis et et dignissimos et illum est ipsam. Id nobis accusamus laborum voluptatem dolorum soluta voluptas. Voluptas quo aspernatur occaecati dolorum.",
        "status": "Detected",
        "first_seen": "2025-09-18T03:06:21.000000Z",
        "last_seen": "2025-09-20T07:37:24.000000Z",
        "created_at": "2025-11-04T08:30:10.000000Z",
        "updated_at": "2025-11-04T08:30:10.000000Z",
        "name": "Insecure Direct Object References in laudantium",
        "description": "Quis et et dignissimos et illum est ipsam. Id nobis accusamus laborum voluptatem dolorum soluta voluptas. Voluptas quo aspernatur occaecati dolorum.",
        "cvss_base_score": 2.1,
        "cvss_base_vector": "AV:L/AC:L/Au:S/C:C/I:C/A:N",
        "qod_type": "remote_banner",
        "qod_value": 22,
        "threat": "Low",
        "scanner_id": null,
        "scanner_hostname": null,
        "plugin": {
            "id": "a04676c8-8326-446a-9382-8f845fa1a3b5",
            "o_id": "f775abb2-8c18-3dee-a697-7d9caf085d66",
            "name": "Insecure Direct Object References in laudantium",
            "family": "Insecure Direct Object References",
            "reference_urls": "http://schiller.net/sint-quisquam-magni-maxime-nesciunt-nulla-tempora.html, http://www.labadie.com/beatae-reiciendis-inventore-est-velit.html",
            "reference_cves": "CVE-2019-7937, CVE-2020-8887",
            "solution_type": "Configuration Change",
            "solution_description": "Rerum exercitationem asperiores possimus est dolor. Reiciendis quia harum vitae ut sapiente. Quasi ad ratione error et ut ut voluptatem. Et est labore animi et illo rerum.",
            "summary": "Repudiandae hic possimus assumenda deleniti. Doloribus et voluptate aliquid error sit inventore. Minima cum dolores temporibus id eos. Totam dolores iure omnis eveniet eos architecto animi nostrum.",
            "insight": "Laudantium debitis magnam impedit officiis. Sapiente error accusantium officia error quisquam quidem. Qui nisi eius fuga nesciunt ipsa ea a.",
            "affected": "Et quia corporis id optio vitae eaque. Atque enim dolor recusandae vero eligendi illo quasi. Beatae enim facilis quo reiciendis dicta iure. Dolores laboriosam aut impedit in ex et similique. Est aut inventore sapiente molestiae.",
            "impact": "Qui odio laborum dignissimos illum reprehenderit consequatur possimus. Impedit veniam doloremque necessitatibus aliquam et. Et nam delectus voluptatem repellat quia et quia.",
            "vuldetect": "Nam magni tempore aut cum dolorem omnis odit. Aut perferendis adipisci cum qui. Doloribus nemo nihil accusamus. Necessitatibus neque consequatur autem non.",
            "priority": "Critical",
            "qod_type": "remote_banner",
            "qod_value": 22
        }
    }
}

Webhook Events

APIs for managing webhook events

List all webhook events

GET
https://api.securityhive.io
/v1/webhook-events
requires authentication

Lists all webhook events for the authenticated user's company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Query Parameters

sort
string

Sort the results by column(s) (comma separated).

Must be one of:
  • webhook_id
  • event
  • status
  • next_retry_at
Example:
webhook_id
filter
string

Filter the results by column(s) (comma separated).

Must be one of:
  • webhook_id
  • event
  • status
Example:
webhook_id
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/webhook-events?sort=webhook_id&filter=webhook_id" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "a04676c8-4343-4569-99c6-c6429b1c0aa2",
            "webhook_id": "a04676c8-4231-479c-ab4e-c1fc5ebe6767",
            "event": "sed",
            "payload": {
                "key": "value"
            },
            "status": "pending",
            "retries": 0,
            "next_retry_at": null,
            "last_sent_at": null,
            "created_at": "2025-11-04T08:30:09.000000Z",
            "updated_at": "2025-11-04T08:30:09.000000Z"
        },
        {
            "id": "a04676c8-4735-4887-bb92-99a98c2a1a74",
            "webhook_id": "a04676c8-467c-442f-b488-3a4d692e9f4c",
            "event": "distinctio",
            "payload": {
                "key": "value"
            },
            "status": "pending",
            "retries": 0,
            "next_retry_at": null,
            "last_sent_at": null,
            "created_at": "2025-11-04T08:30:09.000000Z",
            "updated_at": "2025-11-04T08:30:09.000000Z"
        }
    ],
    "links": {
        "first": "/?page=1",
        "last": "/?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "page": null,
                "active": false
            },
            {
                "url": "/?page=1",
                "label": "1",
                "page": 1,
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "page": null,
                "active": false
            }
        ],
        "path": "/",
        "per_page": 10,
        "to": 2,
        "total": 2
    }
}

List all available webhook event types

GET
https://api.securityhive.io
/v1/webhook-events/types
requires authentication

Lists all webhook event types that can be used.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/webhook-events/types" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
Headers
cache-control: no-cache, private
content-type: application/json
content-security-policy-report-only: default-src 'self'; script-src 'self' 'nonce-HsN9DBAtIO4t6BWI48iUZzLXCVWDErVm3NlNFpXf' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com; script-src-elem 'self' 'nonce-HsN9DBAtIO4t6BWI48iUZzLXCVWDErVm3NlNFpXf' https://js.chargebee.com https://*.intercom.io https://*.intercomcdn.com https://static.cloudflareinsights.com; script-src-attr 'none'; style-src 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com; style-src-elem 'self' 'unsafe-inline' https://fonts.bunny.net https://*.intercomcdn.com; img-src 'self' data: blob: https://*.intercomcdn.com https://www.gravatar.com; font-src 'self' https://fonts.bunny.net https://*.intercomcdn.com; connect-src 'self' https://um.securityhive.io https://*.intercom.io wss://*.intercom.io wss://localhost; frame-src 'self' https://um.securityhive.io https://js.chargebee.com https://securityhive.chargebee.com https://intercom-sheets.com; frame-ancestors 'none'; form-action 'self'; base-uri 'self'; object-src 'none'; worker-src 'self'; manifest-src 'self'; media-src 'self' data:; upgrade-insecure-requests
content-security-policy: frame-src 'self' https://um.securityhive.io https://js.chargebee.com https://securityhive.chargebee.com https://intercom-sheets.com; frame-ancestors 'none';
permissions-policy: geolocation=(), microphone=(), camera=(), fullscreen=()
x-content-type-options: nosniff
cross-origin-resource-policy: same-site
referrer-policy: strict-origin-when-cross-origin
vary: Origin
{
    "message": "Unauthenticated."
}

Retrieve an webhook event

GET
https://api.securityhive.io
/v1/webhook-events/{webhookEvent_id}
requires authentication

Retrieves an webhook event for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

webhookEvent_id
string
required

The ID of the webhookEvent.

Example:
a04676c8-4343-4569-99c6-c6429b1c0aa2
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/webhook-events/a04676c8-4343-4569-99c6-c6429b1c0aa2" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a04676c8-5421-4876-940c-c31ef8afec8a",
        "webhook_id": "a04676c8-5367-4a7a-83b4-a905ef109902",
        "event": "dicta",
        "payload": {
            "key": "value"
        },
        "status": "pending",
        "retries": 0,
        "next_retry_at": null,
        "last_sent_at": null,
        "created_at": "2025-11-04T08:30:09.000000Z",
        "updated_at": "2025-11-04T08:30:09.000000Z"
    }
}
{
    "message": "webhook event not found"
}

Webhooks

APIs for managing webhooks

List all webhooks

GET
https://api.securityhive.io
/v1/webhooks
requires authentication

Lists all webhooks for the authenticated user's company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/webhooks" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": [
        {
            "id": "a04676c8-2558-4852-9dd2-cf857634a794",
            "company_id": "1c475e6c-d7e2-4369-a177-2f53227ec9c1",
            "url": "https://sporer.com",
            "description": null,
            "events": [],
            "secret": "a17cc08c575397a4e0cfe0180789988ef99b3a2d16a8ac6ee187b3d57d4af253",
            "last_sent_at": null,
            "created_at": "2025-11-04T08:30:09.000000Z",
            "updated_at": "2025-11-04T08:30:09.000000Z"
        },
        {
            "id": "a04676c8-29f4-4093-a8d0-618e0d7bc36b",
            "company_id": "ba07a76b-73a7-4747-9027-b4c4d64dcaeb",
            "url": "https://keebler.com",
            "description": null,
            "events": [],
            "secret": "d3c05835995b20440af0b088fb7fa067141dc0513eba3795c2cad3162b19c673",
            "last_sent_at": null,
            "created_at": "2025-11-04T08:30:09.000000Z",
            "updated_at": "2025-11-04T08:30:09.000000Z"
        }
    ]
}

Create Webhook

POST
https://api.securityhive.io
/v1/webhooks
requires authentication

Create a new webhook for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

Body Parameters

Example request:
curl --request POST \
    "https://api.securityhive.io/v1/webhooks" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"https:\\/\\/www.botsford.biz\\/ab-perferendis-explicabo-perferendis-pariatur\",
    \"description\": \"Nam et veritatis quasi illum voluptatem nobis nihil.\"
}"
Example response:
{
    "data": {
        "id": "00000000-0000-0000-0000-000000000000"
    }
}
{
    "message": "The url has already been taken."
}
{
    "message": "invalid url"
}

Retrieve a webhook

GET
https://api.securityhive.io
/v1/webhooks/{webhook_id}
requires authentication

Retrieves a webhook for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

webhook_id
string
required

The ID of the webhook.

Example:
a04676c8-2558-4852-9dd2-cf857634a794
Example request:
curl --request GET \
    --get "https://api.securityhive.io/v1/webhooks/a04676c8-2558-4852-9dd2-cf857634a794" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a04676c8-31db-4fd4-aa3a-f35aa5d727f9",
        "company_id": "c42a733e-8b38-4f72-a755-0d926d602cc3",
        "url": "https://lehner.com",
        "description": null,
        "events": [],
        "secret": "d48d356db657af86592fe096f1cbbbe4b92023416ae8380ce6b861734faa18cf",
        "last_sent_at": null,
        "created_at": "2025-11-04T08:30:09.000000Z",
        "updated_at": "2025-11-04T08:30:09.000000Z"
    }
}
{
    "message": "webhook not found"
}

Rotate webhook secret

POST
https://api.securityhive.io
/v1/webhooks/{webhook_id}/rotate-secret
requires authentication

Rotates the secret for the webhook.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

webhook_id
string
required

The ID of the webhook.

Example:
a04676c8-2558-4852-9dd2-cf857634a794
Example request:
curl --request POST \
    "https://api.securityhive.io/v1/webhooks/a04676c8-2558-4852-9dd2-cf857634a794/rotate-secret" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
{
    "data": {
        "id": "a04676c8-3628-42cd-b4a2-0f4aa4491bc7",
        "company_id": "11f3859a-04bf-42d0-8182-5176dbc166ac",
        "url": "https://ernser.com",
        "description": null,
        "events": [],
        "secret": "7281377d5b27d1cd183c1999c242d569dda62192318bb8b56d2e4d297ccb0b28",
        "last_sent_at": null,
        "created_at": "2025-11-04T08:30:09.000000Z",
        "updated_at": "2025-11-04T08:30:09.000000Z"
    }
}
{
    "message": "webhook not found"
}

Test a webhook

POST
https://api.securityhive.io
/v1/webhooks/{webhook_id}/test
requires authentication

Tests the webhook by sending a test event.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

webhook_id
string
required

The ID of the webhook.

Example:
a04676c8-2558-4852-9dd2-cf857634a794
Example request:
curl --request POST \
    "https://api.securityhive.io/v1/webhooks/a04676c8-2558-4852-9dd2-cf857634a794/test" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[Empty response]
{
    "message": "webhook not found"
}

Update a webhook

PATCH
https://api.securityhive.io
/v1/webhooks/{webhook_id}
requires authentication

Updates a webhook for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

webhook_id
string
required

The ID of the webhook.

Example:
a04676c8-2558-4852-9dd2-cf857634a794

Body Parameters

Example request:
curl --request PATCH \
    "https://api.securityhive.io/v1/webhooks/a04676c8-2558-4852-9dd2-cf857634a794" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"url\": \"http:\\/\\/www.kemmer.com\\/inventore-doloribus-magni-dolores-ipsam.html\",
    \"description\": \"Ut voluptas laborum explicabo exercitationem amet.\"
}"
Example response:
{
    "message": "webhook not found"
}
{
    "message": "The url has already been taken."
}
{
    "message": "invalid url"
}

Delete an webhook

DELETE
https://api.securityhive.io
/v1/webhooks/{webhook_id}
requires authentication

Deletes an webhook for the current company.

Headers

Authorization
Example:
Bearer {YOUR_PERSONAL_ACCESS_TOKEN}
Content-Type
Example:
application/json
Accept
Example:
application/json

URL Parameters

webhook_id
string
required

The ID of the webhook.

Example:
a04676c8-2558-4852-9dd2-cf857634a794
Example request:
curl --request DELETE \
    "https://api.securityhive.io/v1/webhooks/a04676c8-2558-4852-9dd2-cf857634a794" \
    --header "Authorization: Bearer {YOUR_PERSONAL_ACCESS_TOKEN}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
Example response:
[Empty response]
{
    "message": "webhook not found"
}